From 03e75142c1c5b4e5ac41e5f17e4fc6a28db64b2a Mon Sep 17 00:00:00 2001 From: Amanda Tarafa Mas Date: Thu, 12 Oct 2023 01:19:17 -0700 Subject: [PATCH] Update discovery documents and generated code automatically_generated_update --- DiscoveryJson/accesscontextmanager_v1.json | 4 +- DiscoveryJson/admin_directory_v1.json | 5 +- .../admin_directory_v1.json.original | 5 +- DiscoveryJson/adsense_v2.json | 189 +- DiscoveryJson/aiplatform_v1.json | 29 +- DiscoveryJson/aiplatform_v1beta1.json | 33 +- DiscoveryJson/alloydb_v1.json | 120 +- DiscoveryJson/androidmanagement_v1.json | 10 +- DiscoveryJson/androidpublisher_v3.json | 17 +- DiscoveryJson/cloudasset_v1.json | 4 +- DiscoveryJson/cloudtasks_v2.json | 77 +- DiscoveryJson/cloudtasks_v2beta2.json | 16 +- DiscoveryJson/cloudtasks_v2beta3.json | 16 +- DiscoveryJson/containeranalysis_v1.json | 24 +- DiscoveryJson/containeranalysis_v1alpha1.json | 6 +- DiscoveryJson/dataplex_v1.json | 76 +- DiscoveryJson/dataproc_v1.json | 11 +- DiscoveryJson/discoveryengine_v1alpha.json | 67 +- DiscoveryJson/discoveryengine_v1beta.json | 62 +- DiscoveryJson/displayvideo_v1.json | 73 +- DiscoveryJson/displayvideo_v2.json | 91 +- DiscoveryJson/displayvideo_v3.json | 21774 +++++++++++ DiscoveryJson/firebaseappcheck_v1.json | 18 +- DiscoveryJson/gkebackup_v1.json | 6 +- DiscoveryJson/gkeonprem_v1.json | 21 +- DiscoveryJson/healthcare_v1.json | 252 +- DiscoveryJson/healthcare_v1beta1.json | 254 +- DiscoveryJson/recaptchaenterprise_v1.json | 236 +- DiscoveryJson/recommender_v1beta1.json | 13 +- DiscoveryJson/retail_v2alpha.json | 128 +- DiscoveryJson/securitycenter_v1.json | 4 +- DiscoveryJson/securitycenter_v1beta1.json | 4 +- DiscoveryJson/securitycenter_v1beta2.json | 4 +- DiscoveryJson/sqladmin_v1.json | 83 +- DiscoveryJson/sqladmin_v1beta4.json | 85 +- DiscoveryJson/youtube_v3.json | 7 +- EnumStorage/displayvideo_v3.json | 1207 + .../Google.Apis.AccessContextManager.v1.cs | 5 +- ...Google.Apis.AccessContextManager.v1.csproj | 6 +- ...oogle.Apis.Admin.Directory.directory_v1.cs | 6 +- ...e.Apis.Admin.Directory.directory_v1.csproj | 6 +- .../Google.Apis.Adsense.v2.cs | 284 + .../Google.Apis.Adsense.v2.csproj | 6 +- .../Google.Apis.Aiplatform.v1.cs | 50 +- .../Google.Apis.Aiplatform.v1.csproj | 2 +- .../Google.Apis.Aiplatform.v1beta1.cs | 58 +- .../Google.Apis.Aiplatform.v1beta1.csproj | 2 +- .../Google.Apis.AndroidManagement.v1.cs | 24 +- .../Google.Apis.AndroidManagement.v1.csproj | 2 +- .../Google.Apis.AndroidPublisher.v3.cs | 3 +- .../Google.Apis.AndroidPublisher.v3.csproj | 2 +- .../Google.Apis.BackupforGKE.v1.cs | 5 +- .../Google.Apis.BackupforGKE.v1.csproj | 2 +- .../Google.Apis.CloudAlloyDBAdmin.v1.cs | 28 +- .../Google.Apis.CloudAlloyDBAdmin.v1.csproj | 2 +- .../Google.Apis.CloudAsset.v1.cs | 25 +- .../Google.Apis.CloudAsset.v1.csproj | 2 +- .../Google.Apis.CloudDataplex.v1.cs | 37 + .../Google.Apis.CloudDataplex.v1.csproj | 2 +- .../Google.Apis.CloudHealthcare.v1.cs | 384 + .../Google.Apis.CloudHealthcare.v1.csproj | 2 +- .../Google.Apis.CloudHealthcare.v1beta1.cs | 384 + ...Google.Apis.CloudHealthcare.v1beta1.csproj | 2 +- .../Google.Apis.CloudRetail.v2alpha.cs | 191 + .../Google.Apis.CloudRetail.v2alpha.csproj | 6 +- .../Google.Apis.CloudTasks.v2.cs | 159 + .../Google.Apis.CloudTasks.v2.csproj | 6 +- .../Google.Apis.CloudTasks.v2beta2.cs | 42 +- .../Google.Apis.CloudTasks.v2beta2.csproj | 6 +- .../Google.Apis.CloudTasks.v2beta3.cs | 42 +- .../Google.Apis.CloudTasks.v2beta3.csproj | 2 +- .../Google.Apis.ContainerAnalysis.v1.cs | 12 +- .../Google.Apis.ContainerAnalysis.v1.csproj | 2 +- .../Google.Apis.ContainerAnalysis.v1alpha1.cs | 4 + ...gle.Apis.ContainerAnalysis.v1alpha1.csproj | 2 +- .../Google.Apis.Dataproc.v1.cs | 16 + .../Google.Apis.Dataproc.v1.csproj | 2 +- .../Google.Apis.DiscoveryEngine.v1alpha.cs | 148 + ...Google.Apis.DiscoveryEngine.v1alpha.csproj | 2 +- .../Google.Apis.DiscoveryEngine.v1beta.cs | 144 + .../Google.Apis.DiscoveryEngine.v1beta.csproj | 2 +- .../Google.Apis.DisplayVideo.v1.cs | 68 +- .../Google.Apis.DisplayVideo.v1.csproj | 6 +- .../Google.Apis.DisplayVideo.v2.cs | 96 +- .../Google.Apis.DisplayVideo.v2.csproj | 6 +- .../Google.Apis.DisplayVideo.v3.cs | 31062 ++++++++++++++++ .../Google.Apis.DisplayVideo.v3.csproj | 64 + .../Google.Apis.Firebaseappcheck.v1.cs | 40 +- .../Google.Apis.Firebaseappcheck.v1.csproj | 6 +- .../Google.Apis.GKEOnPrem.v1.cs | 19 +- .../Google.Apis.GKEOnPrem.v1.csproj | 2 +- .../Google.Apis.RecaptchaEnterprise.v1.cs | 339 +- .../Google.Apis.RecaptchaEnterprise.v1.csproj | 6 +- .../Google.Apis.Recommender.v1beta1.cs | 8 + .../Google.Apis.Recommender.v1beta1.csproj | 6 +- .../Google.Apis.SQLAdmin.v1.cs | 139 +- .../Google.Apis.SQLAdmin.v1.csproj | 6 +- .../Google.Apis.SQLAdmin.v1beta4.cs | 143 +- .../Google.Apis.SQLAdmin.v1beta4.csproj | 6 +- .../Google.Apis.SecurityCommandCenter.v1.cs | 4 +- ...oogle.Apis.SecurityCommandCenter.v1.csproj | 2 +- ...ogle.Apis.SecurityCommandCenter.v1beta1.cs | 4 +- ....Apis.SecurityCommandCenter.v1beta1.csproj | 2 +- ...ogle.Apis.SecurityCommandCenter.v1beta2.cs | 4 +- ....Apis.SecurityCommandCenter.v1beta2.csproj | 2 +- .../Google.Apis.YouTube.v3.cs | 12 + .../Google.Apis.YouTube.v3.csproj | 6 +- 107 files changed, 58339 insertions(+), 869 deletions(-) create mode 100644 DiscoveryJson/displayvideo_v3.json create mode 100644 EnumStorage/displayvideo_v3.json create mode 100644 Src/Generated/Google.Apis.DisplayVideo.v3/Google.Apis.DisplayVideo.v3.cs create mode 100644 Src/Generated/Google.Apis.DisplayVideo.v3/Google.Apis.DisplayVideo.v3.csproj diff --git a/DiscoveryJson/accesscontextmanager_v1.json b/DiscoveryJson/accesscontextmanager_v1.json index d146e9f9516..f34f7291e57 100644 --- a/DiscoveryJson/accesscontextmanager_v1.json +++ b/DiscoveryJson/accesscontextmanager_v1.json @@ -1235,7 +1235,7 @@ } } }, - "revision": "20230910", + "revision": "20231011", "rootUrl": "https://accesscontextmanager.googleapis.com/", "schemas": { "AccessContextManagerOperationMetadata": { @@ -1793,7 +1793,7 @@ "type": "object" }, "GcpUserAccessBindingOperationMetadata": { - "description": "Currently, a completed operation means nothing. In the future, this metadata and a completed operation may indicate that the binding has taken effect and is affecting access decisions for all users.", + "description": "Metadata of GCP Access Binding Long Running Operations.", "id": "GcpUserAccessBindingOperationMetadata", "properties": {}, "type": "object" diff --git a/DiscoveryJson/admin_directory_v1.json b/DiscoveryJson/admin_directory_v1.json index 288c8849534..709359951c9 100644 --- a/DiscoveryJson/admin_directory_v1.json +++ b/DiscoveryJson/admin_directory_v1.json @@ -4643,7 +4643,7 @@ } } }, - "revision": "20230918", + "revision": "20231005", "rootUrl": "https://admin.googleapis.com/", "schemas": { "Alias": { @@ -6812,7 +6812,8 @@ "id": "OrgUnit", "properties": { "blockInheritance": { - "description": "Determines if a sub-organizational unit can inherit the settings of the parent organization. The default value is `false`, meaning a sub-organizational unit inherits the settings of the nearest parent organizational unit. We recommend using the default value because setting `block_inheritance` to `true` can have _unintended consequences_. For more information about inheritance and users in an organization structure, see the [administration help center](https://support.google.com/a/answer/4352075).", + "deprecated": true, + "description": "Determines if a sub-organizational unit can inherit the settings of the parent organization. The default value is `false`, meaning a sub-organizational unit inherits the settings of the nearest parent organizational unit. This field is deprecated. Setting it to `true` is no longer supported and can have _unintended consequences_. For more information about inheritance and users in an organization structure, see the [administration help center](https://support.google.com/a/answer/4352075).", "type": "boolean" }, "description": { diff --git a/DiscoveryJson/admin_directory_v1.json.original b/DiscoveryJson/admin_directory_v1.json.original index 35a2f07bad4..13b3922b735 100644 --- a/DiscoveryJson/admin_directory_v1.json.original +++ b/DiscoveryJson/admin_directory_v1.json.original @@ -4643,7 +4643,7 @@ } } }, - "revision": "20230822", + "revision": "20231005", "rootUrl": "https://admin.googleapis.com/", "schemas": { "Alias": { @@ -6812,7 +6812,8 @@ "id": "OrgUnit", "properties": { "blockInheritance": { - "description": "Determines if a sub-organizational unit can inherit the settings of the parent organization. The default value is `false`, meaning a sub-organizational unit inherits the settings of the nearest parent organizational unit. We recommend using the default value because setting `block_inheritance` to `true` can have _unintended consequences_. For more information about inheritance and users in an organization structure, see the [administration help center](https://support.google.com/a/answer/4352075).", + "deprecated": true, + "description": "Determines if a sub-organizational unit can inherit the settings of the parent organization. The default value is `false`, meaning a sub-organizational unit inherits the settings of the nearest parent organizational unit. This field is deprecated. Setting it to `true` is no longer supported and can have _unintended consequences_. For more information about inheritance and users in an organization structure, see the [administration help center](https://support.google.com/a/answer/4352075).", "type": "boolean" }, "description": { diff --git a/DiscoveryJson/adsense_v2.json b/DiscoveryJson/adsense_v2.json index 3cf470e4411..0a8e6aebb35 100644 --- a/DiscoveryJson/adsense_v2.json +++ b/DiscoveryJson/adsense_v2.json @@ -837,6 +837,72 @@ } } }, + "policyIssues": { + "methods": { + "get": { + "description": "Gets information about the selected policy issue.", + "flatPath": "v2/accounts/{accountsId}/policyIssues/{policyIssuesId}", + "httpMethod": "GET", + "id": "adsense.accounts.policyIssues.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the policy issue. Format: accounts/{account}/policyIssues/{policy_issue}", + "location": "path", + "pattern": "^accounts/[^/]+/policyIssues/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "PolicyIssue" + }, + "scopes": [ + "https://www.googleapis.com/auth/adsense" + ] + }, + "list": { + "description": "Lists all the policy issues for the specified account.", + "flatPath": "v2/accounts/{accountsId}/policyIssues", + "httpMethod": "GET", + "id": "adsense.accounts.policyIssues.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of policy issues to include in the response, used for paging. If unspecified, at most 10000 policy issues will be returned. The maximum value is 10000; values above 10000 will be coerced to 10000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListPolicyIssues` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListPolicyIssues` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The account for which policy issues are being retrieved. Format: accounts/{account}", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/policyIssues", + "response": { + "$ref": "ListPolicyIssuesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/adsense", + "https://www.googleapis.com/auth/adsense.readonly" + ] + } + } + }, "reports": { "methods": { "generate": { @@ -1844,7 +1910,7 @@ } } }, - "revision": "20230704", + "revision": "20231011", "rootUrl": "https://adsense.googleapis.com/", "schemas": { "Account": { @@ -2391,6 +2457,24 @@ }, "type": "object" }, + "ListPolicyIssuesResponse": { + "description": "Response definition for the policy issues list rpc. Policy issues are reported only if the publisher has at least one AFC ad client in READY or GETTING_READY state. If the publisher has no such AFC ad client, the response will be an empty list.", + "id": "ListPolicyIssuesResponse", + "properties": { + "nextPageToken": { + "description": "Continuation token used to page through policy issues. To retrieve the next page of the results, set the next request's \"page_token\" value to this.", + "type": "string" + }, + "policyIssues": { + "description": "The policy issues returned in the list response.", + "items": { + "$ref": "PolicyIssue" + }, + "type": "array" + } + }, + "type": "object" + }, "ListSavedReportsResponse": { "description": "Response definition for the saved reports list rpc.", "id": "ListSavedReportsResponse", @@ -2467,6 +2551,109 @@ }, "type": "object" }, + "PolicyIssue": { + "description": "Representation of a policy issue for a single entity (site, site-section, or page). All issues for a single entity are represented by a single PolicyIssue resource, though that PolicyIssue can have multiple causes (or \"topics\") that can change over time. Policy issues are removed if there are no issues detected recently or if there's a recent successful appeal for the entity.", + "id": "PolicyIssue", + "properties": { + "action": { + "description": "Required. The most severe action taken on the entity over the past seven days.", + "enum": [ + "ENFORCEMENT_ACTION_UNSPECIFIED", + "WARNED", + "AD_SERVING_RESTRICTED", + "AD_SERVING_DISABLED", + "AD_SERVED_WITH_CLICK_CONFIRMATION" + ], + "enumDescriptions": [ + "The action is unspecified.", + "No ad serving enforcement is currently present, but enforcement will start on the `warning_escalation_date` if the issue is not resolved.", + "Ad serving demand has been restricted on the entity.", + "Ad serving has been disabled on the entity.", + "Ads are being served for the entity but Confirmed Click is being applied to the ads. See https://support.google.com/adsense/answer/10025624." + ], + "type": "string" + }, + "adClients": { + "description": "Optional. List of ad clients associated with the policy issue (either as the primary ad client or an associated host/secondary ad client). In the latter case, this will be an ad client that is not owned by the current account.", + "items": { + "type": "string" + }, + "type": "array" + }, + "adRequestCount": { + "description": "Required. Total number of ad requests affected by the policy violations over the past seven days.", + "format": "int64", + "type": "string" + }, + "entityType": { + "description": "Required. Type of the entity indicating if the entity is a site, site-section, or page.", + "enum": [ + "ENTITY_TYPE_UNSPECIFIED", + "SITE", + "SITE_SECTION", + "PAGE" + ], + "enumDescriptions": [ + "The entity type is unspecified.", + "The enforced entity is an entire website.", + "The enforced entity is a particular section of a website. All the pages with this prefix are enforced.", + "The enforced entity is a single web page." + ], + "type": "string" + }, + "firstDetectedDate": { + "$ref": "Date", + "description": "Required. The date (in the America/Los_Angeles timezone) when policy violations were first detected on the entity." + }, + "lastDetectedDate": { + "$ref": "Date", + "description": "Required. The date (in the America/Los_Angeles timezone) when policy violations were last detected on the entity." + }, + "name": { + "description": "Required. Resource name of the entity with policy issues. Format: accounts/{account}/policyIssues/{policy_issue}", + "type": "string" + }, + "policyTopics": { + "description": "Required. Unordered list. The policy topics that this entity was found to violate over the past seven days.", + "items": { + "$ref": "PolicyTopic" + }, + "type": "array" + }, + "site": { + "description": "Required. Hostname/domain of the entity (for example \"foo.com\" or \"www.foo.com\"). This _should_ be a bare domain/host name without any protocol. This will be present for all policy issues.", + "type": "string" + }, + "siteSection": { + "description": "Optional. Prefix of the site-section having policy issues (For example \"foo.com/bar-section\"). This will be present if the `entity_type` is `SITE_SECTION` and will be absent for other entity types.", + "type": "string" + }, + "uri": { + "description": "Optional. URI of the page having policy violations (for example \"foo.com/bar\" or \"www.foo.com/bar\"). This will be present if the `entity_type` is `PAGE` and will be absent for other entity types.", + "type": "string" + }, + "warningEscalationDate": { + "$ref": "Date", + "description": "Optional. The date (in the America/Los_Angeles timezone) when the entity will have ad serving demand restricted or ad serving disabled. This is present only for issues with a `WARNED` enforcement action. See https://support.google.com/adsense/answer/11066888." + } + }, + "type": "object" + }, + "PolicyTopic": { + "description": "Information about a particular policy topic. A policy topic represents a single class of policy issue that can impact ad serving for your site. For example, sexual content or having ads that obscure your content. A single policy issue can have multiple policy topics for a single entity.", + "id": "PolicyTopic", + "properties": { + "mustFix": { + "description": "Required. Indicates if this is a policy violation or not. When the value is true, issues that are instances of this topic must be addressed to remain in compliance with the partner's agreements with Google. A false value indicates that it's not mandatory to fix the issues but advertising demand might be restricted.", + "type": "boolean" + }, + "topic": { + "description": "Required. The policy topic. For example, \"sexual-content\" or \"ads-obscuring-content\".\"", + "type": "string" + } + }, + "type": "object" + }, "ReportResult": { "description": "Result of a generated report.", "id": "ReportResult", diff --git a/DiscoveryJson/aiplatform_v1.json b/DiscoveryJson/aiplatform_v1.json index 8f2c9eb9f7c..2baeb15653a 100644 --- a/DiscoveryJson/aiplatform_v1.json +++ b/DiscoveryJson/aiplatform_v1.json @@ -12997,7 +12997,7 @@ } } }, - "revision": "20230929", + "revision": "20231002", "rootUrl": "https://aiplatform.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -16466,10 +16466,6 @@ "description": "An expression for filtering what part of the Dataset is to be exported. Only Annotations that match this filter will be exported. The filter syntax is the same as in ListAnnotations.", "type": "string" }, - "filterSplit": { - "$ref": "GoogleCloudAiplatformV1ExportFilterSplit", - "description": "Split based on the provided filters for each set." - }, "fractionSplit": { "$ref": "GoogleCloudAiplatformV1ExportFractionSplit", "description": "Split based on fractions defining the size of each set." @@ -16602,25 +16598,6 @@ "properties": {}, "type": "object" }, - "GoogleCloudAiplatformV1ExportFilterSplit": { - "description": "Assigns input data to training, validation, and test sets based on the given filters, data pieces not matched by any filter are ignored. Currently only supported for Datasets containing DataItems. If any of the filters in this message are to match nothing, then they can be set as '-' (the minus sign). Supported only for unstructured Datasets.", - "id": "GoogleCloudAiplatformV1ExportFilterSplit", - "properties": { - "testFilter": { - "description": "Required. A filter on DataItems of the Dataset. DataItems that match this filter are used to test the Model. A filter with same syntax as the one used in DatasetService.ListDataItems may be used. If a single DataItem is matched by more than one of the FilterSplit filters, then it is assigned to the first set that applies to it in the training, validation, test order.", - "type": "string" - }, - "trainingFilter": { - "description": "Required. A filter on DataItems of the Dataset. DataItems that match this filter are used to train the Model. A filter with same syntax as the one used in DatasetService.ListDataItems may be used. If a single DataItem is matched by more than one of the FilterSplit filters, then it is assigned to the first set that applies to it in the training, validation, test order.", - "type": "string" - }, - "validationFilter": { - "description": "Required. A filter on DataItems of the Dataset. DataItems that match this filter are used to validate the Model. A filter with same syntax as the one used in DatasetService.ListDataItems may be used. If a single DataItem is matched by more than one of the FilterSplit filters, then it is assigned to the first set that applies to it in the training, validation, test order.", - "type": "string" - } - }, - "type": "object" - }, "GoogleCloudAiplatformV1ExportFractionSplit": { "description": "Assigns the input data to training, validation, and test sets as per the given fractions. Any of `training_fraction`, `validation_fraction` and `test_fraction` may optionally be provided, they must sum to up to 1. If the provided ones sum to less than 1, the remainder is assigned to sets as decided by Vertex AI. If none of the fractions are set, by default roughly 80% of data is used for training, 10% for validation, and 10% for test.", "id": "GoogleCloudAiplatformV1ExportFractionSplit", @@ -18934,6 +18911,10 @@ "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.", "type": "string" + }, + "tpuTopology": { + "description": "Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: \"2x2x1\").", + "type": "string" } }, "type": "object" diff --git a/DiscoveryJson/aiplatform_v1beta1.json b/DiscoveryJson/aiplatform_v1beta1.json index b10717edb7d..441c301b38d 100644 --- a/DiscoveryJson/aiplatform_v1beta1.json +++ b/DiscoveryJson/aiplatform_v1beta1.json @@ -16092,7 +16092,7 @@ } } }, - "revision": "20230929", + "revision": "20231002", "rootUrl": "https://aiplatform.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -19770,10 +19770,6 @@ "description": "An expression for filtering what part of the Dataset is to be exported. Only Annotations that match this filter will be exported. The filter syntax is the same as in ListAnnotations.", "type": "string" }, - "filterSplit": { - "$ref": "GoogleCloudAiplatformV1beta1ExportFilterSplit", - "description": "Split based on the provided filters for each set." - }, "fractionSplit": { "$ref": "GoogleCloudAiplatformV1beta1ExportFractionSplit", "description": "Split based on fractions defining the size of each set." @@ -19939,25 +19935,6 @@ "properties": {}, "type": "object" }, - "GoogleCloudAiplatformV1beta1ExportFilterSplit": { - "description": "Assigns input data to training, validation, and test sets based on the given filters, data pieces not matched by any filter are ignored. Currently only supported for Datasets containing DataItems. If any of the filters in this message are to match nothing, then they can be set as '-' (the minus sign). Supported only for unstructured Datasets.", - "id": "GoogleCloudAiplatformV1beta1ExportFilterSplit", - "properties": { - "testFilter": { - "description": "Required. A filter on DataItems of the Dataset. DataItems that match this filter are used to test the Model. A filter with same syntax as the one used in DatasetService.ListDataItems may be used. If a single DataItem is matched by more than one of the FilterSplit filters, then it is assigned to the first set that applies to it in the training, validation, test order.", - "type": "string" - }, - "trainingFilter": { - "description": "Required. A filter on DataItems of the Dataset. DataItems that match this filter are used to train the Model. A filter with same syntax as the one used in DatasetService.ListDataItems may be used. If a single DataItem is matched by more than one of the FilterSplit filters, then it is assigned to the first set that applies to it in the training, validation, test order.", - "type": "string" - }, - "validationFilter": { - "description": "Required. A filter on DataItems of the Dataset. DataItems that match this filter are used to validate the Model. A filter with same syntax as the one used in DatasetService.ListDataItems may be used. If a single DataItem is matched by more than one of the FilterSplit filters, then it is assigned to the first set that applies to it in the training, validation, test order.", - "type": "string" - } - }, - "type": "object" - }, "GoogleCloudAiplatformV1beta1ExportFractionSplit": { "description": "Assigns the input data to training, validation, and test sets as per the given fractions. Any of `training_fraction`, `validation_fraction` and `test_fraction` may optionally be provided, they must sum to up to 1. If the provided ones sum to less than 1, the remainder is assigned to sets as decided by Vertex AI. If none of the fractions are set, by default roughly 80% of data is used for training, 10% for validation, and 10% for test.", "id": "GoogleCloudAiplatformV1beta1ExportFractionSplit", @@ -20188,7 +20165,7 @@ "properties": { "bigQuery": { "$ref": "GoogleCloudAiplatformV1beta1FeatureGroupBigQuery", - "description": "Indicates that features for this group come from BigQuery." + "description": "Indicates that features for this group come from BigQuery Table/View. By default treats the source as a sparse time series source, which is required to have an entity_id and a feature_timestamp column in the source." }, "createTime": { "description": "Output only. Timestamp when this FeatureGroup was created.", @@ -20624,7 +20601,7 @@ "type": "array" }, "uri": { - "description": "Required. The Bigquery View URI that will be materialized on each sync trigger based on FeatureView.SyncConfig.", + "description": "Required. The BigQuery view URI that will be materialized on each sync trigger based on FeatureView.SyncConfig.", "type": "string" } }, @@ -22931,6 +22908,10 @@ "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.", "type": "string" + }, + "tpuTopology": { + "description": "Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: \"2x2x1\").", + "type": "string" } }, "type": "object" diff --git a/DiscoveryJson/alloydb_v1.json b/DiscoveryJson/alloydb_v1.json index 030c553ac60..2195011d7c5 100644 --- a/DiscoveryJson/alloydb_v1.json +++ b/DiscoveryJson/alloydb_v1.json @@ -1489,7 +1489,7 @@ } } }, - "revision": "20230918", + "revision": "20231006", "rootUrl": "https://alloydb.googleapis.com/", "schemas": { "AutomatedBackupPolicy": { @@ -2369,7 +2369,7 @@ }, "readPoolConfig": { "$ref": "ReadPoolConfig", - "description": "Read pool specific config." + "description": "Read pool instance configuration. This is required if the value of instanceType is READ_POOL." }, "reconciling": { "description": "Output only. Reconciling (https://google.aip.dev/128#reconciliation). Set to true if the current state of Instance does not match the user's intended state, and the service is actively updating the resource to reconcile them. This can happen due to user-triggered updates or system actions like failover or maintenance.", @@ -2622,7 +2622,7 @@ "id": "NetworkConfig", "properties": { "allocatedIpRange": { - "description": "Optional. Name of the allocated IP range for the private IP AlloyDB cluster, for example: \"google-managed-services-default\". If set, the instance IPs for this cluster will be created in the allocated range. The range name must comply with RFC 1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])?. Field name is intended to be consistent with CloudSQL.", + "description": "Optional. Name of the allocated IP range for the private IP AlloyDB cluster, for example: \"google-managed-services-default\". If set, the instance IPs for this cluster will be created in the allocated range. The range name must comply with RFC 1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. Field name is intended to be consistent with Cloud SQL.", "type": "string" }, "network": { @@ -3129,7 +3129,7 @@ "type": "string" }, "eventTime": { - "description": "The last time at which the event described by this signal took place", + "description": "Required. The last time at which the event described by this signal took place", "format": "google-datetime", "type": "string" }, @@ -3138,7 +3138,7 @@ "type": "string" }, "name": { - "description": "The name of the signal, ex: PUBLIC_SQL_INSTANCE, SQL_LOG_ERROR_VERBOSITY etc.", + "description": "Required. The name of the signal, ex: PUBLIC_SQL_INSTANCE, SQL_LOG_ERROR_VERBOSITY etc.", "type": "string" }, "provider": { @@ -3168,11 +3168,11 @@ "type": "string" }, "resourceName": { - "description": "Database resource name associated with the signal. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel", + "description": "Required. Database resource name associated with the signal. Resource name to follow CAIS resource_name format as noted here go/condor-common-datamodel", "type": "string" }, "signalClass": { - "description": "The class of the signal, such as if it's a THREAT or VULNERABILITY.", + "description": "Required. The class of the signal, such as if it's a THREAT or VULNERABILITY.", "enum": [ "CLASS_UNSPECIFIED", "THREAT", @@ -3192,7 +3192,109 @@ "type": "string" }, "signalId": { - "description": "Unique identifier for the signal. This is an unique id which would be mainatined by partner to identify a signal.", + "description": "Required. Unique identifier for the signal. This is an unique id which would be mainatined by partner to identify a signal.", + "type": "string" + }, + "signalType": { + "description": "Required. Type of signal, for example, `AVAILABLE_IN_MULTIPLE_ZONES`, `LOGGING_MOST_ERRORS`, etc.", + "enum": [ + "SIGNAL_TYPE_UNSPECIFIED", + "SIGNAL_TYPE_NOT_AVAILABLE_IN_MULTIPLE_ZONES", + "SIGNAL_TYPE_NOT_AVAILABLE_IN_MULTIPLE_REGIONS", + "SIGNAL_TYPE_NO_PROMOTABLE_REPLICA", + "SIGNAL_TYPE_NO_AUTOMATED_BACKUP_POLICY", + "SIGNAL_TYPE_SHORT_BACKUP_RETENTION", + "SIGNAL_TYPE_LAST_BACKUP_FAILED", + "SIGNAL_TYPE_LAST_BACKUP_OLD", + "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_2_0", + "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_3", + "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_2", + "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_1", + "SIGNAL_TYPE_VIOLATES_CIS_GCP_FOUNDATION_1_0", + "SIGNAL_TYPE_VIOLATES_NIST_800_53", + "SIGNAL_TYPE_VIOLATES_ISO_27001", + "SIGNAL_TYPE_VIOLATES_PCI_DSS_V3_2_1", + "SIGNAL_TYPE_LOGS_NOT_OPTIMIZED_FOR_TROUBLESHOOTING", + "SIGNAL_TYPE_QUERY_DURATIONS_NOT_LOGGED", + "SIGNAL_TYPE_VERBOSE_ERROR_LOGGING", + "SIGNAL_TYPE_QUERY_LOCK_WAITS_NOT_LOGGED", + "SIGNAL_TYPE_LOGGING_MOST_ERRORS", + "SIGNAL_TYPE_LOGGING_ONLY_CRITICAL_ERRORS", + "SIGNAL_TYPE_MINIMAL_ERROR_LOGGING", + "SIGNAL_TYPE_QUERY_STATISTICS_LOGGED", + "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_CLIENT_HOSTNAME", + "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PARSER_STATISTICS", + "SIGNAL_TYPE_EXCESSIVE_LOGGING_OF_PLANNER_STATISTICS", + "SIGNAL_TYPE_NOT_LOGGING_ONLY_DDL_STATEMENTS", + "SIGNAL_TYPE_LOGGING_QUERY_STATISTICS", + "SIGNAL_TYPE_NOT_LOGGING_TEMPORARY_FILES", + "SIGNAL_TYPE_CONNECTION_MAX_NOT_CONFIGURED", + "SIGNAL_TYPE_USER_OPTIONS_CONFIGURED", + "SIGNAL_TYPE_EXPOSED_TO_PUBLIC_ACCESS", + "SIGNAL_TYPE_UNENCRYPTED_CONNECTIONS", + "SIGNAL_TYPE_NO_ROOT_PASSWORD", + "SIGNAL_TYPE_WEAK_ROOT_PASSWORD", + "SIGNAL_TYPE_ENCRYPTION_KEY_NOT_CUSTOMER_MANAGED", + "SIGNAL_TYPE_SERVER_AUTHENTICATION_NOT_REQUIRED", + "SIGNAL_TYPE_EXPOSED_BY_OWNERSHIP_CHAINING", + "SIGNAL_TYPE_EXPOSED_TO_EXTERNAL_SCRIPTS", + "SIGNAL_TYPE_EXPOSED_TO_LOCAL_DATA_LOADS", + "SIGNAL_TYPE_CONNECTION_ATTEMPTS_NOT_LOGGED", + "SIGNAL_TYPE_DISCONNECTIONS_NOT_LOGGED", + "SIGNAL_TYPE_LOGGING_EXCESSIVE_STATEMENT_INFO", + "SIGNAL_TYPE_EXPOSED_TO_REMOTE_ACCESS", + "SIGNAL_TYPE_DATABASE_NAMES_EXPOSED", + "SIGNAL_TYPE_SENSITIVE_TRACE_INFO_NOT_MASKED" + ], + "enumDescriptions": [ + "Unspecified.", + "Represents if the resource is available in multiple zones or not.", + "Represents if a resource is available in multiple regions.", + "Represents if a resource has a promotable replica.", + "Represents if a resource has an automated backup policy.", + "Represents if a resources has a short backup retention period.", + "Represents if the last backup of a resource failed.", + "Represents if the last backup of a resource is older than some threshold value.", + "Represents if a resource violates CIS GCP Foundation 2.0.", + "Represents if a resource violates CIS GCP Foundation 1.3.", + "Represents if a resource violates CIS GCP Foundation 1.2.", + "Represents if a resource violates CIS GCP Foundation 1.1.", + "Represents if a resource violates CIS GCP Foundation 1.0.", + "Represents if a resource violates NIST 800-53.", + "Represents if a resource violates ISO-27001.", + "Represents if a resource violates PCI-DSS v3.2.1.", + "LINT.IfChange(scc_signals) Represents if log_checkpoints database flag for a Cloud SQL for PostgreSQL instance is not set to on.", + "Represents if the log_duration database flag for a Cloud SQL for PostgreSQL instance is not set to on.", + "Represents if the log_error_verbosity database flag for a Cloud SQL for PostgreSQL instance is not set to default or stricter (default or terse).", + "Represents if the log_lock_waits database flag for a Cloud SQL for PostgreSQL instance is not set to on.", + "Represents if the log_min_error_statement database flag for a Cloud SQL for PostgreSQL instance is not set appropriately.", + "Represents if the log_min_error_statement database flag for a Cloud SQL for PostgreSQL instance does not have an appropriate severity level.", + "Represents if the log_min_messages database flag for a Cloud SQL for PostgreSQL instance is not set to warning or another recommended value.", + "Represents if the databaseFlags property of instance metadata for the log_executor_status field is set to on.", + "Represents if the log_hostname database flag for a Cloud SQL for PostgreSQL instance is not set to off.", + "Represents if the log_parser_stats database flag for a Cloud SQL for PostgreSQL instance is not set to off.", + "Represents if the log_planner_stats database flag for a Cloud SQL for PostgreSQL instance is not set to off.", + "Represents if the log_statement database flag for a Cloud SQL for PostgreSQL instance is not set to DDL (all data definition statements).", + "Represents if the log_statement_stats database flag for a Cloud SQL for PostgreSQL instance is not set to off.", + "Represents if the log_temp_files database flag for a Cloud SQL for PostgreSQL instance is not set to \"0\". (NOTE: 0 = ON)", + "Represents if the user connections database flag for a Cloud SQL for SQL Server instance is configured.", + "Represents if the user options database flag for Cloud SQL SQL Server instance is configured or not.", + "Represents if a resource is exposed to public access.", + "Represents if a resources requires all incoming connections to use SSL or not.", + "Represents if a Cloud SQL database has a password configured for the root account or not.", + "Represents if a Cloud SQL database has a weak password configured for the root account.", + "Represents if a SQL database instance is not encrypted with customer-managed encryption keys (CMEK).", + "Represents if The contained database authentication database flag for a Cloud SQL for SQL Server instance is not set to off.", + "Represents if the cross_db_ownership_chaining database flag for a Cloud SQL for SQL Server instance is not set to off.", + "Represents if he external scripts enabled database flag for a Cloud SQL for SQL Server instance is not set to off.", + "Represents if the local_infile database flag for a Cloud SQL for MySQL instance is not set to off.", + "Represents if the log_connections database flag for a Cloud SQL for PostgreSQL instance is not set to on.", + "Represents if the log_disconnections database flag for a Cloud SQL for PostgreSQL instance is not set to on.", + "Represents if the log_min_duration_statement database flag for a Cloud SQL for PostgreSQL instance is not set to -1.", + "Represents if the remote access database flag for a Cloud SQL for SQL Server instance is not set to off.", + "Represents if the skip_show_database database flag for a Cloud SQL for MySQL instance is not set to on.", + "Represents if the 3625 (trace flag) database flag for a Cloud SQL for SQL Server instance is not set to on. LINT.ThenChange(//depot/google3/storage/databasecenter/ingestion/borgjob/message_adapter/health_signal_feed/health_signal_mapping.h)" + ], "type": "string" }, "state": { @@ -3332,12 +3434,14 @@ "enum": [ "INSTANCE_TYPE_UNSPECIFIED", "PRIMARY", + "SECONDARY", "READ_REPLICA", "OTHER" ], "enumDescriptions": [ "", "A regular primary database instance.", + "A cluster or an instance acting as a secondary.", "An instance acting as a read-replica.", "For rest of the other categories." ], diff --git a/DiscoveryJson/androidmanagement_v1.json b/DiscoveryJson/androidmanagement_v1.json index a3a8703ebec..8cb5752ab5e 100644 --- a/DiscoveryJson/androidmanagement_v1.json +++ b/DiscoveryJson/androidmanagement_v1.json @@ -1095,7 +1095,7 @@ } } }, - "revision": "20231004", + "revision": "20231002", "rootUrl": "https://androidmanagement.googleapis.com/", "schemas": { "AdbShellCommandEvent": { @@ -4347,7 +4347,7 @@ ], "enumDescriptions": [ "Unspecified. Defaults to AVAILABLE.", - "The app is blocked and can't be installed in the personal profile.", + "The app is blocked and can't be installed in the personal profile. If the app was previously installed in the device, it will be uninstalled.", "The app is available to install in the personal profile." ], "type": "string" @@ -4375,7 +4375,7 @@ "type": "boolean" }, "maxDaysWithWorkOff": { - "description": "Controls how long the work profile can stay off. The duration must be at least 3 days.", + "description": "Controls how long the work profile can stay off. The minimum duration must be at least 3 days. Other details are as follows: - If the duration is set to 0, the feature is turned off. - If the duration is set to any value between 1-2 days, the feature is automatically set to 3 days. *Note:* If you want to avoid personal profiles being suspended during long periods of off-time, you can temporarily set a large value for this parameter.", "format": "int32", "type": "integer" }, @@ -5261,7 +5261,7 @@ "type": "object" }, "SigninDetail": { - "description": "A resource containing sign in details for an enterprise. Use enterprises to manage SigninDetails for a given enterprise. For an enterprise, we can have any number of SigninDetails that is uniquely identified by combination of the following three fields (signin_url, allow_personal_usage, token_tag). One cannot create two SigninDetails with the same (signin_url, allow_personal_usage, token_tag). (token_tag is an optional field) Patch: The operation updates the current list of SigninDetails with the new list of SigninDetails. If the stored SigninDetail configuration is passed, it returns the same signin_enrollment_token and qr_code. If we pass multiple identical SigninDetail configurations that are not stored, it will store the first one amongst those SigninDetail configurations and if the configuration already exists we cannot request it more than once in a particular patch API call, otherwise it will give a duplicate key error and the whole operation will fail. If we remove certain SigninDetail configuration from the request then it will get removed from the storage. And then we can request for another signin_enrollment_token and qr_code for the same SigninDetail configuration.", + "description": "A resource containing sign in details for an enterprise. Use enterprises to manage SigninDetails for a given enterprise.For an enterprise, we can have any number of SigninDetails that is uniquely identified by combination of the following three fields (signin_url, allow_personal_usage, token_tag). One cannot create two SigninDetails with the same (signin_url, allow_personal_usage, token_tag). (token_tag is an optional field).Patch: The operation updates the current list of SigninDetails with the new list of SigninDetails. If the stored SigninDetail configuration is passed, it returns the same signin_enrollment_token and qr_code. If we pass multiple identical SigninDetail configurations that are not stored, it will store the first one amongst those SigninDetail configurations. if the configuration already exists we cannot request it more than once in a particular patch API call, otherwise it will give a duplicate key error and the whole operation will fail. If we remove certain SigninDetail configuration from the request then it will get removed from the storage. We can then request another signin_enrollment_token and qr_code for the same SigninDetail configuration.", "id": "SigninDetail", "properties": { "allowPersonalUsage": { @@ -5291,7 +5291,7 @@ "type": "string" }, "tokenTag": { - "description": "An EMM-specified tag to distinguish between instances of SigninDetail.", + "description": "An EMM-specified metadata to distinguish between instances of SigninDetail.", "type": "string" } }, diff --git a/DiscoveryJson/androidpublisher_v3.json b/DiscoveryJson/androidpublisher_v3.json index bd4aa49703a..e044e77bcab 100644 --- a/DiscoveryJson/androidpublisher_v3.json +++ b/DiscoveryJson/androidpublisher_v3.json @@ -4047,7 +4047,7 @@ } } }, - "revision": "20231003", + "revision": "20231010", "rootUrl": "https://androidpublisher.googleapis.com/", "schemas": { "Abi": { @@ -5413,7 +5413,8 @@ "CAN_MANAGE_ORDERS", "CAN_MANAGE_APP_CONTENT", "CAN_VIEW_NON_FINANCIAL_DATA", - "CAN_VIEW_APP_QUALITY" + "CAN_VIEW_APP_QUALITY", + "CAN_MANAGE_DEEPLINKS" ], "enumDeprecated": [ false, @@ -5429,6 +5430,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -5445,7 +5447,8 @@ "Manage orders and subscriptions.", "Manage policy related pages.", "View app information (read-only).", - "View app quality data such as Vitals, Crashes etc." + "View app quality data such as Vitals, Crashes etc.", + "Manage the deep links setup of an app." ], "type": "string" }, @@ -6854,7 +6857,7 @@ "id": "SubscriptionItemPriceChangeDetails", "properties": { "expectedNewPriceChargeTime": { - "description": "The renewal time at which the price change will become effective for the user. This is subject to change(to a future time) due to cases where the renewal time shifts like pause.", + "description": "The renewal time at which the price change will become effective for the user. This is subject to change(to a future time) due to cases where the renewal time shifts like pause. This field is only populated if the price change has not taken effect.", "format": "google-datetime", "type": "string" }, @@ -7759,7 +7762,8 @@ "CAN_MANAGE_ORDERS_GLOBAL", "CAN_MANAGE_APP_CONTENT_GLOBAL", "CAN_VIEW_NON_FINANCIAL_DATA_GLOBAL", - "CAN_VIEW_APP_QUALITY_GLOBAL" + "CAN_VIEW_APP_QUALITY_GLOBAL", + "CAN_MANAGE_DEEPLINKS_GLOBAL" ], "enumDescriptions": [ "Unknown or unspecified permission.", @@ -7779,7 +7783,8 @@ "Manage orders and subscriptions.", "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." + "View app quality information for all apps for the developer.", + "Manage the deep links setup for all apps for the developer." ], "type": "string" }, diff --git a/DiscoveryJson/cloudasset_v1.json b/DiscoveryJson/cloudasset_v1.json index 91a0f5a8deb..47434e63521 100644 --- a/DiscoveryJson/cloudasset_v1.json +++ b/DiscoveryJson/cloudasset_v1.json @@ -1066,7 +1066,7 @@ "type": "string" }, "query": { - "description": "Optional. The query statement. See [how to construct a query](https://cloud.google.com/asset-inventory/docs/searching-resources#how_to_construct_a_query) for more information. If not specified or empty, it will search all the resources within the specified `scope`. Examples: * `name:Important` to find Google Cloud resources whose name contains `Important` as a word. * `name=Important` to find the Google Cloud resource whose name is exactly `Important`. * `displayName:Impor*` to find Google Cloud resources whose display name contains `Impor` as a prefix of any word in the field. * `location:us-west*` to find Google Cloud resources whose location contains both `us` and `west` as prefixes. * `labels:prod` to find Google Cloud resources whose labels contain `prod` as a key or value. * `labels.env:prod` to find Google Cloud resources that have a label `env` and its value is `prod`. * `labels.env:*` to find Google Cloud resources that have a label `env`. * `tagKeys:env` to find Google Cloud resources that have directly attached tags where the [`TagKey`](https://cloud.google.com/resource-manager/reference/rest/v3/tagKeys#resource:-tagkey) .`namespacedName` contains `env`. * `tagValues:prod*` to find Google Cloud resources that have directly attached tags where the [`TagValue`](https://cloud.google.com/resource-manager/reference/rest/v3/tagValues#resource:-tagvalue) .`namespacedName` contains a word prefixed by `prod`. * `tagValueIds=tagValues/123` to find Google Cloud resources that have directly attached tags where the [`TagValue`](https://cloud.google.com/resource-manager/reference/rest/v3/tagValues#resource:-tagvalue) .`name` is exactly `tagValues/123`. * `effectiveTagKeys:env` to find Google Cloud resources that have directly attached or inherited tags where the [`TagKey`](https://cloud.google.com/resource-manager/reference/rest/v3/tagKeys#resource:-tagkey) .`namespacedName` contains `env`. * `effectiveTagValues:prod*` to find Google Cloud resources that have directly attached or inherited tags where the [`TagValue`](https://cloud.google.com/resource-manager/reference/rest/v3/tagValues#resource:-tagvalue) .`namespacedName` contains a word prefixed by `prod`. * `effectiveTagValueIds=tagValues/123` to find Google Cloud resources that have directly attached or inherited tags where the [`TagValue`](https://cloud.google.com/resource-manager/reference/rest/v3/tagValues#resource:-tagvalue) .`name` is exactly `tagValues/123`. * `kmsKey:key` to find Google Cloud resources encrypted with a customer-managed encryption key whose name contains `key` as a word. This field is deprecated. Please use the `kmsKeys` field to retrieve Cloud KMS key information. * `kmsKeys:key` to find Google Cloud resources encrypted with customer-managed encryption keys whose name contains the word `key`. * `relationships:instance-group-1` to find Google Cloud resources that have relationships with `instance-group-1` in the related resource name. * `relationships:INSTANCE_TO_INSTANCEGROUP` to find Compute Engine instances that have relationships of type `INSTANCE_TO_INSTANCEGROUP`. * `relationships.INSTANCE_TO_INSTANCEGROUP:instance-group-1` to find Compute Engine instances that have relationships with `instance-group-1` in the Compute Engine instance group resource name, for relationship type `INSTANCE_TO_INSTANCEGROUP`. * `state:ACTIVE` to find Google Cloud resources whose state contains `ACTIVE` as a word. * `NOT state:ACTIVE` to find Google Cloud resources whose state doesn't contain `ACTIVE` as a word. * `createTime<1609459200` to find Google Cloud resources that were created before `2021-01-01 00:00:00 UTC`. `1609459200` is the epoch timestamp of `2021-01-01 00:00:00 UTC` in seconds. * `updateTime>1609459200` to find Google Cloud resources that were updated after `2021-01-01 00:00:00 UTC`. `1609459200` is the epoch timestamp of `2021-01-01 00:00:00 UTC` in seconds. * `Important` to find Google Cloud resources that contain `Important` as a word in any of the searchable fields. * `Impor*` to find Google Cloud resources that contain `Impor` as a prefix of any word in any of the searchable fields. * `Important location:(us-west1 OR global)` to find Google Cloud resources that contain `Important` as a word in any of the searchable fields and are also located in the `us-west1` region or the `global` location.", + "description": "Optional. The query statement. See [how to construct a query](https://cloud.google.com/asset-inventory/docs/searching-resources#how_to_construct_a_query) for more information. If not specified or empty, it will search all the resources within the specified `scope`. Examples: * `name:Important` to find Google Cloud resources whose name contains `Important` as a word. * `name=Important` to find the Google Cloud resource whose name is exactly `Important`. * `displayName:Impor*` to find Google Cloud resources whose display name contains `Impor` as a prefix of any word in the field. * `location:us-west*` to find Google Cloud resources whose location contains both `us` and `west` as prefixes. * `labels:prod` to find Google Cloud resources whose labels contain `prod` as a key or value. * `labels.env:prod` to find Google Cloud resources that have a label `env` and its value is `prod`. * `labels.env:*` to find Google Cloud resources that have a label `env`. * `tagKeys:env` to find Google Cloud resources that have directly attached tags where the [`TagKey`](https://cloud.google.com/resource-manager/reference/rest/v3/tagKeys#resource:-tagkey) .`namespacedName` contains `env`. * `tagValues:prod*` to find Google Cloud resources that have directly attached tags where the [`TagValue`](https://cloud.google.com/resource-manager/reference/rest/v3/tagValues#resource:-tagvalue) .`namespacedName` contains a word prefixed by `prod`. * `tagValueIds=tagValues/123` to find Google Cloud resources that have directly attached tags where the [`TagValue`](https://cloud.google.com/resource-manager/reference/rest/v3/tagValues#resource:-tagvalue) .`name` is exactly `tagValues/123`. * `effectiveTagKeys:env` to find Google Cloud resources that have directly attached or inherited tags where the [`TagKey`](https://cloud.google.com/resource-manager/reference/rest/v3/tagKeys#resource:-tagkey) .`namespacedName` contains `env`. * `effectiveTagValues:prod*` to find Google Cloud resources that have directly attached or inherited tags where the [`TagValue`](https://cloud.google.com/resource-manager/reference/rest/v3/tagValues#resource:-tagvalue) .`namespacedName` contains a word prefixed by `prod`. * `effectiveTagValueIds=tagValues/123` to find Google Cloud resources that have directly attached or inherited tags where the [`TagValue`](https://cloud.google.com/resource-manager/reference/rest/v3/tagValues#resource:-tagvalue) .`name` is exactly `tagValues/123`. * `kmsKey:key` to find Google Cloud resources encrypted with a customer-managed encryption key whose name contains `key` as a word. This field is deprecated. Please use the `kmsKeys` field to retrieve Cloud KMS key information. * `kmsKeys:key` to find Google Cloud resources encrypted with customer-managed encryption keys whose name contains the word `key`. * `relationships:instance-group-1` to find Google Cloud resources that have relationships with `instance-group-1` in the related resource name. * `relationships:INSTANCE_TO_INSTANCEGROUP` to find Compute Engine instances that have relationships of type `INSTANCE_TO_INSTANCEGROUP`. * `relationships.INSTANCE_TO_INSTANCEGROUP:instance-group-1` to find Compute Engine instances that have relationships with `instance-group-1` in the Compute Engine instance group resource name, for relationship type `INSTANCE_TO_INSTANCEGROUP`. * `sccSecurityMarks.key=value` to find Cloud resources that are attached with security marks whose key is `key` and value is `value'. * `sccSecurityMarks.key:*` to find Cloud resources that are attached with security marks whose key is `key`. * `state:ACTIVE` to find Google Cloud resources whose state contains `ACTIVE` as a word. * `NOT state:ACTIVE` to find Google Cloud resources whose state doesn't contain `ACTIVE` as a word. * `createTime<1609459200` to find Google Cloud resources that were created before `2021-01-01 00:00:00 UTC`. `1609459200` is the epoch timestamp of `2021-01-01 00:00:00 UTC` in seconds. * `updateTime>1609459200` to find Google Cloud resources that were updated after `2021-01-01 00:00:00 UTC`. `1609459200` is the epoch timestamp of `2021-01-01 00:00:00 UTC` in seconds. * `Important` to find Google Cloud resources that contain `Important` as a word in any of the searchable fields. * `Impor*` to find Google Cloud resources that contain `Impor` as a prefix of any word in any of the searchable fields. * `Important location:(us-west1 OR global)` to find Google Cloud resources that contain `Important` as a word in any of the searchable fields and are also located in the `us-west1` region or the `global` location.", "location": "query", "type": "string" }, @@ -1095,7 +1095,7 @@ } } }, - "revision": "20230922", + "revision": "20231006", "rootUrl": "https://cloudasset.googleapis.com/", "schemas": { "AccessSelector": { diff --git a/DiscoveryJson/cloudtasks_v2.json b/DiscoveryJson/cloudtasks_v2.json index 8f8d6b5161c..1f7f6fde5b4 100644 --- a/DiscoveryJson/cloudtasks_v2.json +++ b/DiscoveryJson/cloudtasks_v2.json @@ -134,6 +134,31 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "getCmekConfig": { + "description": "Gets the CMEK config. Gets the Customer Managed Encryption Key configured with the Cloud Tasks lcoation. By default there is no kms_key configured.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/cmekConfig", + "httpMethod": "GET", + "id": "cloudtasks.projects.locations.getCmekConfig", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The config. For example: projects/PROJECT_ID/locations/LOCATION_ID/CmekConfig`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/cmekConfig$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "CmekConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "list": { "description": "Lists information about the supported locations for this service.", "flatPath": "v2/projects/{projectsId}/locations", @@ -174,6 +199,40 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "updateCmekConfig": { + "description": "Creates or Updates a CMEK config. Updates the Customer Managed Encryption Key assotiated with the Cloud Tasks location (Creates if the key does not already exist). All new tasks created in the location will be encrypted at-rest with the KMS-key provided in the config.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/cmekConfig", + "httpMethod": "PATCH", + "id": "cloudtasks.projects.locations.updateCmekConfig", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The config resource name which includes the project and location and must end in 'cmekConfig', in the format projects/PROJECT_ID/locations/LOCATION_ID/cmekConfig`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/cmekConfig$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "List of fields to be updated in this request.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+name}", + "request": { + "$ref": "CmekConfig" + }, + "response": { + "$ref": "CmekConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } }, "resources": { @@ -685,7 +744,7 @@ } } }, - "revision": "20230906", + "revision": "20230929", "rootUrl": "https://cloudtasks.googleapis.com/", "schemas": { "AppEngineHttpRequest": { @@ -810,6 +869,22 @@ }, "type": "object" }, + "CmekConfig": { + "description": "CMEK, or Customer Managed Encryption Keys, enables GCP products to put control over encryption and key management in their customer\u2019s hands.", + "id": "CmekConfig", + "properties": { + "kmsKey": { + "description": "Resource name of the Cloud KMS key, of the form `projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KEY_RING_ID/cryptoKeys/KEY_ID`, that will be used to encrypt the Queues & Tasks in the region. Setting this as blank will turn off CMEK encryption.", + "type": "string" + }, + "name": { + "description": "Output only. The config resource name which includes the project and location and must end in 'cmekConfig', in the format projects/PROJECT_ID/locations/LOCATION_ID/cmekConfig`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "CreateTaskRequest": { "description": "Request message for CreateTask.", "id": "CreateTaskRequest", diff --git a/DiscoveryJson/cloudtasks_v2beta2.json b/DiscoveryJson/cloudtasks_v2beta2.json index daadb2e720d..df286fa594d 100644 --- a/DiscoveryJson/cloudtasks_v2beta2.json +++ b/DiscoveryJson/cloudtasks_v2beta2.json @@ -238,17 +238,13 @@ "httpMethod": "PATCH", "id": "cloudtasks.projects.locations.updateCmekConfig", "parameterOrder": [ - "projectsId", - "locationsId" + "name" ], "parameters": { - "locationsId": { - "location": "path", - "required": true, - "type": "string" - }, - "projectsId": { + "name": { + "description": "Output only. The config resource name which includes the project and location and must end in 'cmekConfig', in the format projects/PROJECT_ID/locations/LOCATION_ID/cmekConfig`", "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/cmekConfig$", "required": true, "type": "string" }, @@ -259,7 +255,7 @@ "type": "string" } }, - "path": "v2beta2/projects/{projectsId}/locations/{locationsId}/cmekConfig", + "path": "v2beta2/{+name}", "request": { "$ref": "CmekConfig" }, @@ -939,7 +935,7 @@ } } }, - "revision": "20230906", + "revision": "20230929", "rootUrl": "https://cloudtasks.googleapis.com/", "schemas": { "AcknowledgeTaskRequest": { diff --git a/DiscoveryJson/cloudtasks_v2beta3.json b/DiscoveryJson/cloudtasks_v2beta3.json index 6397fb06895..0cd5b4b77ec 100644 --- a/DiscoveryJson/cloudtasks_v2beta3.json +++ b/DiscoveryJson/cloudtasks_v2beta3.json @@ -206,17 +206,13 @@ "httpMethod": "PATCH", "id": "cloudtasks.projects.locations.updateCmekConfig", "parameterOrder": [ - "projectsId", - "locationsId" + "name" ], "parameters": { - "locationsId": { - "location": "path", - "required": true, - "type": "string" - }, - "projectsId": { + "name": { + "description": "Output only. The config resource name which includes the project and location and must end in 'cmekConfig', in the format projects/PROJECT_ID/locations/LOCATION_ID/cmekConfig`", "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/cmekConfig$", "required": true, "type": "string" }, @@ -227,7 +223,7 @@ "type": "string" } }, - "path": "v2beta3/projects/{projectsId}/locations/{locationsId}/cmekConfig", + "path": "v2beta3/{+name}", "request": { "$ref": "CmekConfig" }, @@ -795,7 +791,7 @@ } } }, - "revision": "20230927", + "revision": "20230929", "rootUrl": "https://cloudtasks.googleapis.com/", "schemas": { "AppEngineHttpQueue": { diff --git a/DiscoveryJson/containeranalysis_v1.json b/DiscoveryJson/containeranalysis_v1.json index eeaa0a0c511..d57affba934 100644 --- a/DiscoveryJson/containeranalysis_v1.json +++ b/DiscoveryJson/containeranalysis_v1.json @@ -755,7 +755,7 @@ } } }, - "revision": "20230922", + "revision": "20231006", "rootUrl": "https://containeranalysis.googleapis.com/", "schemas": { "AliasContext": { @@ -2913,6 +2913,20 @@ "object": { "description": "Cloud Storage object containing the source. This object must be a zipped (`.zip`) or gzipped archive file (`.tar.gz`) containing source to build.", "type": "string" + }, + "sourceFetcher": { + "description": "Optional. Option to specify the tool to fetch the source file for the build.", + "enum": [ + "SOURCE_FETCHER_UNSPECIFIED", + "GSUTIL", + "GCS_FETCHER" + ], + "enumDescriptions": [ + "Unspecified defaults to GSUTIL.", + "Use the \"gsutil\" tool to download the source file.", + "Use the Cloud Storage Fetcher tool to download the source file." + ], + "type": "string" } }, "type": "object" @@ -5492,10 +5506,6 @@ }, "type": "array" }, - "extraDetails": { - "description": "Occurrence-specific extra details about the vulnerability.", - "type": "string" - }, "severity": { "description": "The note provider assigned severity of this vulnerability.", "enum": [ @@ -5582,6 +5592,10 @@ ], "type": "string" }, + "extraDetails": { + "description": "Occurrence-specific extra details about the vulnerability.", + "type": "string" + }, "fixAvailable": { "description": "Output only. Whether at least one of the affected packages has a fix available.", "type": "boolean" diff --git a/DiscoveryJson/containeranalysis_v1alpha1.json b/DiscoveryJson/containeranalysis_v1alpha1.json index 091cebb0c66..0ae9eb8bfc8 100644 --- a/DiscoveryJson/containeranalysis_v1alpha1.json +++ b/DiscoveryJson/containeranalysis_v1alpha1.json @@ -1233,7 +1233,7 @@ } } }, - "revision": "20230922", + "revision": "20230929", "rootUrl": "https://containeranalysis.googleapis.com/", "schemas": { "AnalysisCompleted": { @@ -6670,6 +6670,10 @@ ], "type": "string" }, + "extraDetails": { + "description": "Occurrence-specific extra details about the vulnerability.", + "type": "string" + }, "packageIssue": { "description": "The set of affected locations and their fixes (if available) within the associated resource.", "items": { diff --git a/DiscoveryJson/dataplex_v1.json b/DiscoveryJson/dataplex_v1.json index 8c2dd89634a..ad358cf5e77 100644 --- a/DiscoveryJson/dataplex_v1.json +++ b/DiscoveryJson/dataplex_v1.json @@ -4360,7 +4360,7 @@ } } }, - "revision": "20230922", + "revision": "20231007", "rootUrl": "https://dataplex.googleapis.com/", "schemas": { "Empty": { @@ -7031,6 +7031,80 @@ }, "type": "object" }, + "GoogleCloudDataplexV1GovernanceEvent": { + "description": "Payload associated with Governance related log events.", + "id": "GoogleCloudDataplexV1GovernanceEvent", + "properties": { + "entity": { + "$ref": "GoogleCloudDataplexV1GovernanceEventEntity", + "description": "Entity resource information if the log event is associated with a specific entity." + }, + "eventType": { + "description": "The type of the event.", + "enum": [ + "EVENT_TYPE_UNSPECIFIED", + "RESOURCE_IAM_POLICY_UPDATE", + "BIGQUERY_TABLE_CREATE", + "BIGQUERY_TABLE_UPDATE", + "BIGQUERY_TABLE_DELETE", + "BIGQUERY_CONNECTION_CREATE", + "BIGQUERY_CONNECTION_UPDATE", + "BIGQUERY_CONNECTION_DELETE", + "BIGQUERY_TAXONOMY_CREATE", + "BIGQUERY_POLICY_TAG_CREATE", + "BIGQUERY_POLICY_TAG_DELETE", + "BIGQUERY_POLICY_TAG_SET_IAM_POLICY", + "ACCESS_POLICY_UPDATE" + ], + "enumDescriptions": [ + "An unspecified event type.", + "Resource IAM policy update event.", + "BigQuery table create event.", + "BigQuery table update event.", + "BigQuery table delete event.", + "BigQuery connection create event.", + "BigQuery connection update event.", + "BigQuery connection delete event.", + "BigQuery taxonomy created.", + "BigQuery policy tag created.", + "BigQuery policy tag deleted.", + "BigQuery set iam policy for policy tag.", + "Access policy update event." + ], + "type": "string" + }, + "message": { + "description": "The log message.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1GovernanceEventEntity": { + "description": "Information about Entity resource that the log event is associated with.", + "id": "GoogleCloudDataplexV1GovernanceEventEntity", + "properties": { + "entity": { + "description": "The Entity resource the log event is associated with. Format: projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{entity_id}", + "type": "string" + }, + "entityType": { + "description": "Type of entity.", + "enum": [ + "ENTITY_TYPE_UNSPECIFIED", + "TABLE", + "FILESET" + ], + "enumDescriptions": [ + "An unspecified Entity type.", + "Table entity type.", + "Fileset entity type." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDataplexV1Job": { "description": "A job represents an instance of a task.", "id": "GoogleCloudDataplexV1Job", diff --git a/DiscoveryJson/dataproc_v1.json b/DiscoveryJson/dataproc_v1.json index 0b609e6b701..4379b050e84 100644 --- a/DiscoveryJson/dataproc_v1.json +++ b/DiscoveryJson/dataproc_v1.json @@ -2028,6 +2028,11 @@ "required": true, "type": "string" }, + "parentOperationId": { + "description": "Optional. operation id of the parent operation sending the create request", + "location": "query", + "type": "string" + }, "requestId": { "description": "Optional. A unique ID used to identify the request. If the server receives two CreateNodeGroupRequest (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.CreateNodeGroupRequests) with the same ID, the second request is ignored and the first google.longrunning.Operation created and stored in the backend is returned.Recommendation: 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.", "location": "query", @@ -3001,7 +3006,7 @@ } } }, - "revision": "20230926", + "revision": "20231002", "rootUrl": "https://dataproc.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -5957,6 +5962,10 @@ "format": "google-duration", "type": "string" }, + "parentOperationId": { + "description": "Optional. operation id of the parent operation sending the resize request", + "type": "string" + }, "requestId": { "description": "Optional. A unique ID used to identify the request. If the server receives two ResizeNodeGroupRequest (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.ResizeNodeGroupRequests) with the same ID, the second request is ignored and the first google.longrunning.Operation created and stored in the backend is returned.Recommendation: 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.", "type": "string" diff --git a/DiscoveryJson/discoveryengine_v1alpha.json b/DiscoveryJson/discoveryengine_v1alpha.json index deb1b6fc8ec..9e3bb421c5e 100644 --- a/DiscoveryJson/discoveryengine_v1alpha.json +++ b/DiscoveryJson/discoveryengine_v1alpha.json @@ -1564,6 +1564,66 @@ ] } } + }, + "servingConfigs": { + "methods": { + "recommend": { + "description": "Makes a recommendation, which requires a contextual user event.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/servingConfigs/{servingConfigsId}:recommend", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.collections.engines.servingConfigs.recommend", + "parameterOrder": [ + "servingConfig" + ], + "parameters": { + "servingConfig": { + "description": "Required. Full resource name of the format: `projects/*/locations/global/collections/*/dataStores/*/servingConfigs/*` Before you can request recommendations from your model, you must create at least one serving config for it.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/servingConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+servingConfig}:recommend", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1alphaRecommendRequest" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1alphaRecommendResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "search": { + "description": "Performs a search.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/servingConfigs/{servingConfigsId}:search", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.collections.engines.servingConfigs.search", + "parameterOrder": [ + "servingConfig" + ], + "parameters": { + "servingConfig": { + "description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/servingConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+servingConfig}:search", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequest" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } } } }, @@ -2832,7 +2892,7 @@ } } }, - "revision": "20230928", + "revision": "20231003", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -5702,6 +5762,11 @@ "readOnly": true, "type": "boolean" }, + "minimumDataTermAccepted": { + "description": "Output only. Whether the customer accepted data use terms.", + "readOnly": true, + "type": "boolean" + }, "name": { "description": "Immutable. The full resource name of the widget config. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/widgetConfigs/{widget_config_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", "type": "string" diff --git a/DiscoveryJson/discoveryengine_v1beta.json b/DiscoveryJson/discoveryengine_v1beta.json index 409078563f3..cba78152fe4 100644 --- a/DiscoveryJson/discoveryengine_v1beta.json +++ b/DiscoveryJson/discoveryengine_v1beta.json @@ -1390,6 +1390,66 @@ ] } } + }, + "servingConfigs": { + "methods": { + "recommend": { + "description": "Makes a recommendation, which requires a contextual user event.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/servingConfigs/{servingConfigsId}:recommend", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.collections.engines.servingConfigs.recommend", + "parameterOrder": [ + "servingConfig" + ], + "parameters": { + "servingConfig": { + "description": "Required. Full resource name of the format: `projects/*/locations/global/collections/*/dataStores/*/servingConfigs/*` Before you can request recommendations from your model, you must create at least one serving config for it.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/servingConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+servingConfig}:recommend", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1betaRecommendRequest" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1betaRecommendResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "search": { + "description": "Performs a search.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/servingConfigs/{servingConfigsId}:search", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.collections.engines.servingConfigs.search", + "parameterOrder": [ + "servingConfig" + ], + "parameters": { + "servingConfig": { + "description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/servingConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+servingConfig}:search", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1betaSearchRequest" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1betaSearchResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } } } }, @@ -2598,7 +2658,7 @@ } } }, - "revision": "20230928", + "revision": "20231003", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { "GoogleApiHttpBody": { diff --git a/DiscoveryJson/displayvideo_v1.json b/DiscoveryJson/displayvideo_v1.json index e72a147a436..233117555c4 100644 --- a/DiscoveryJson/displayvideo_v1.json +++ b/DiscoveryJson/displayvideo_v1.json @@ -3345,7 +3345,7 @@ "assignedLocations": { "methods": { "bulkEdit": { - "description": "Bulk edits multiple assignments between locations and a single location list. The operation will delete the assigned locations provided in BulkEditAssignedLocationsRequest.deleted_assigned_locations and then create the assigned locations provided in BulkEditAssignedLocationsRequest.created_assigned_locations.", + "description": "Bulk edits multiple assignments between locations and a single location list. The operation will delete the assigned locations provided in deletedAssignedLocations and then create the assigned locations provided in createdAssignedLocations.", "flatPath": "v1/advertisers/{advertiserId}/locationLists/{locationListsId}/assignedLocations:bulkEdit", "httpMethod": "POST", "id": "displayvideo.advertisers.locationLists.assignedLocations.bulkEdit", @@ -8146,7 +8146,7 @@ } } }, - "revision": "20230914", + "revision": "20231009", "rootUrl": "https://displayvideo.googleapis.com/", "schemas": { "ActivateManualTriggerRequest": { @@ -8488,7 +8488,7 @@ "id": "AgeRangeAssignedTargetingOptionDetails", "properties": { "ageRange": { - "description": "The age range of an audience. We only support targeting a continuous age range of an audience. Thus, the age range represented in this field can be 1) targeted solely, or, 2) part of a larger continuous age range. The reach of a continuous age range targeting can be expanded by also targeting an audience of an unknown age. Output only in v1. Required in v2.", + "description": "Required. The age range of an audience. We only support targeting a continuous age range of an audience. Thus, the age range represented in this field can be 1) targeted solely, or, 2) part of a larger continuous age range. The reach of a continuous age range targeting can be expanded by also targeting an audience of an unknown age.", "enum": [ "AGE_RANGE_UNSPECIFIED", "AGE_RANGE_18_24", @@ -8724,7 +8724,7 @@ "type": "object" }, "AssignedLocation": { - "description": "An assignment between a location list and a relevant targeting option. Currently, geo region targeting options are the only supported option for assignment.", + "description": "An assignment between a location list and a relevant targeting option.", "id": "AssignedLocation", "properties": { "assignedLocationId": { @@ -8739,7 +8739,7 @@ "type": "string" }, "targetingOptionId": { - "description": "Required. The ID of the targeting option assigned to the location list. Assigned locations can only be modified in TARGETING_LOCATION_TYPE_REGIONAL location lists. When creating or deleting assigned locations, this value must be of type TARGETING_TYPE_GEO_REGION.", + "description": "Required. The ID of the targeting option assigned to the location list.", "type": "string" } }, @@ -9153,7 +9153,7 @@ "id": "AudioContentTypeAssignedTargetingOptionDetails", "properties": { "audioContentType": { - "description": "The audio content type. Output only in v1. Required in v2.", + "description": "Required. The audio content type.", "enum": [ "AUDIO_CONTENT_TYPE_UNSPECIFIED", "AUDIO_CONTENT_TYPE_UNKNOWN", @@ -9481,14 +9481,14 @@ "id": "BulkEditAssignedLocationsRequest", "properties": { "createdAssignedLocations": { - "description": "The assigned locations to create in bulk, specified as a list of AssignedLocations.", + "description": "The assigned locations to create in bulk, specified as a list of AssignedLocation resources.", "items": { "$ref": "AssignedLocation" }, "type": "array" }, "deletedAssignedLocations": { - "description": "The IDs of the assigned locations to delete in bulk, specified as a list of assigned_location_ids.", + "description": "The IDs of the assigned locations to delete in bulk, specified as a list of assignedLocationId values.", "items": { "format": "int64", "type": "string" @@ -9499,7 +9499,6 @@ "type": "object" }, "BulkEditAssignedLocationsResponse": { - "description": "Response message for AssignedLocationService.BulkEditAssignedLocations.", "id": "BulkEditAssignedLocationsResponse", "properties": { "assignedLocations": { @@ -10502,7 +10501,7 @@ "type": "string" }, "contentInstreamPosition": { - "description": "The content instream position for video or audio ads. Output only in v1. Required in v2.", + "description": "Required. The content instream position for video or audio ads.", "enum": [ "CONTENT_INSTREAM_POSITION_UNSPECIFIED", "CONTENT_INSTREAM_POSITION_PRE_ROLL", @@ -10574,7 +10573,7 @@ "type": "string" }, "contentOutstreamPosition": { - "description": "The content outstream position. Output only in v1. Required in v2.", + "description": "Required. The content outstream position.", "enum": [ "CONTENT_OUTSTREAM_POSITION_UNSPECIFIED", "CONTENT_OUTSTREAM_POSITION_UNKNOWN", @@ -11491,7 +11490,7 @@ "type": "string" }, "errors": { - "description": "Output only. Error details of a rejected custom bidding script. This field will only be populated when Script.state is REJECTED.", + "description": "Output only. Error details of a rejected custom bidding script. This field will only be populated when state is REJECTED.", "items": { "$ref": "ScriptError" }, @@ -11836,7 +11835,7 @@ "id": "DeviceTypeAssignedTargetingOptionDetails", "properties": { "deviceType": { - "description": "The display name of the device type. Output only in v1. Required in v2.", + "description": "Required. The display name of the device type.", "enum": [ "DEVICE_TYPE_UNSPECIFIED", "DEVICE_TYPE_COMPUTER", @@ -11846,10 +11845,10 @@ ], "enumDescriptions": [ "Default value when device type is not specified in this version. This enum is a placeholder for default value and does not represent a real device type option.", - "The device type is computer.", - "The device type is connected TV.", - "The device type is smart phone..", - "The device type is tablet." + "Computer.", + "Connected TV.", + "Smart phone.", + "Tablet." ], "type": "string" }, @@ -11875,10 +11874,10 @@ ], "enumDescriptions": [ "Default value when device type is not specified in this version. This enum is a placeholder for default value and does not represent a real device type option.", - "The device type is computer.", - "The device type is connected TV.", - "The device type is smart phone..", - "The device type is tablet." + "Computer.", + "Connected TV.", + "Smart phone.", + "Tablet." ], "readOnly": true, "type": "string" @@ -12445,7 +12444,7 @@ "id": "EnvironmentAssignedTargetingOptionDetails", "properties": { "environment": { - "description": "The serving environment. Output only in v1. Required in v2.", + "description": "Required. The serving environment.", "enum": [ "ENVIRONMENT_UNSPECIFIED", "ENVIRONMENT_WEB_OPTIMIZED", @@ -13443,7 +13442,7 @@ "id": "GenderAssignedTargetingOptionDetails", "properties": { "gender": { - "description": "The gender of the audience. Output only in v1. Required in v2.", + "description": "Required. The gender of the audience.", "enum": [ "GENDER_UNSPECIFIED", "GENDER_MALE", @@ -13527,8 +13526,8 @@ "Video ads served on mobile app inventory. Line items of this type and their targeting cannot be created or updated using the API.", "RTB Audio ads sold for a variety of environments.", "Over-the-top ads present in OTT insertion orders. This type is only applicable to line items with an insertion order of insertion_order_type `OVER_THE_TOP`.", - "Digital display out of home. Line items of this type and their targeting cannot be created or updated using the API.", - "Digital video out of home. 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." ], "type": "string" }, @@ -14090,7 +14089,7 @@ "id": "HouseholdIncomeAssignedTargetingOptionDetails", "properties": { "householdIncome": { - "description": "The household income of the audience. Output only in v1. Required in v2.", + "description": "Required. The household income of the audience.", "enum": [ "HOUSEHOLD_INCOME_UNSPECIFIED", "HOUSEHOLD_INCOME_UNKNOWN", @@ -14364,9 +14363,9 @@ ], "enumDescriptions": [ "Insertion order automation option is not specified or is unknown in this version.", - "Automatic budget allocation. Allow the system to automatically shift budget to owning line items to optimize performance defined by performance_goal. No automation on bid settings.", + "Automatic budget allocation. Allow the system to automatically shift budget to owning line items to optimize performance defined by kpi. No automation on bid settings.", "No automation of bid or budget on insertion order level. Bid and budget must be manually configured at the line item level.", - "Allow the system to automatically adjust bids and shift budget to owning line items to optimize performance defined by performance_goal." + "Allow the system to automatically adjust bids and shift budget to owning line items to optimize performance defined by kpi." ], "type": "string" }, @@ -15421,8 +15420,8 @@ "Video ads served on mobile app inventory. Line items of this type and their targeting cannot be created or updated using the API.", "RTB Audio ads sold for a variety of environments.", "Over-the-top ads present in OTT insertion orders. This type is only applicable to line items with an insertion order of insertion_order_type `OVER_THE_TOP`.", - "Digital display out of home. Line items of this type and their targeting cannot be created or updated using the API.", - "Digital video out of home. 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." ], "type": "string" }, @@ -16399,7 +16398,7 @@ "id": "NativeContentPositionAssignedTargetingOptionDetails", "properties": { "contentPosition": { - "description": "The content position. Output only in v1. Required in v2.", + "description": "Required. The content position.", "enum": [ "NATIVE_CONTENT_POSITION_UNSPECIFIED", "NATIVE_CONTENT_POSITION_UNKNOWN", @@ -16573,7 +16572,7 @@ "id": "OmidAssignedTargetingOptionDetails", "properties": { "omid": { - "description": "The type of Open Measurement enabled inventory. Output only in v1. Required in v2.", + "description": "Required. The type of Open Measurement enabled inventory.", "enum": [ "OMID_UNSPECIFIED", "OMID_FOR_MOBILE_DISPLAY_ADS" @@ -16762,7 +16761,7 @@ "type": "string" }, "pacingPeriod": { - "description": "Required. The time period in which the pacing budget will be spent. When automatic budget allocation is enabled at the insertion order via auto_budget_allocation, this field is output only and defaults to `PACING_PERIOD_FLIGHT`.", + "description": "Required. The time period in which the pacing budget will be spent. When automatic budget allocation is enabled at the insertion order via automationType, this field is output only and defaults to `PACING_PERIOD_FLIGHT`.", "enum": [ "PACING_PERIOD_UNSPECIFIED", "PACING_PERIOD_DAILY", @@ -16861,7 +16860,7 @@ "id": "ParentalStatusAssignedTargetingOptionDetails", "properties": { "parentalStatus": { - "description": "The parental status of the audience. Output only in v1. Required in v2.", + "description": "Required. The parental status of the audience.", "enum": [ "PARENTAL_STATUS_UNSPECIFIED", "PARENTAL_STATUS_PARENT", @@ -17159,7 +17158,7 @@ "type": "object" }, "PerformanceGoal": { - "description": "Settings that control the performance goal of a campaign or insertion order.", + "description": "Settings that control the performance goal of a campaign.", "id": "PerformanceGoal", "properties": { "performanceGoalAmountMicros": { @@ -18653,7 +18652,7 @@ "type": "string" }, "videoPlayerSize": { - "description": "The video player size. Output only in v1. Required in v2.", + "description": "Required. The video player size.", "enum": [ "VIDEO_PLAYER_SIZE_UNSPECIFIED", "VIDEO_PLAYER_SIZE_SMALL", @@ -18708,7 +18707,7 @@ "type": "string" }, "viewability": { - "description": "The predicted viewability percentage. Output only in v1. Required in v2.", + "description": "Required. The predicted viewability percentage.", "enum": [ "VIEWABILITY_UNSPECIFIED", "VIEWABILITY_10_PERCENT_OR_MORE", diff --git a/DiscoveryJson/displayvideo_v2.json b/DiscoveryJson/displayvideo_v2.json index 64c55b0efbf..64a1aeb852e 100644 --- a/DiscoveryJson/displayvideo_v2.json +++ b/DiscoveryJson/displayvideo_v2.json @@ -3750,7 +3750,7 @@ "assignedLocations": { "methods": { "bulkEdit": { - "description": "Bulk edits multiple assignments between locations and a single location list. The operation will delete the assigned locations provided in BulkEditAssignedLocationsRequest.deleted_assigned_locations and then create the assigned locations provided in BulkEditAssignedLocationsRequest.created_assigned_locations.", + "description": "Bulk edits multiple assignments between locations and a single location list. The operation will delete the assigned locations provided in deletedAssignedLocations and then create the assigned locations provided in createdAssignedLocations.", "flatPath": "v2/advertisers/{advertiserId}/locationLists/{locationListsId}/assignedLocations:bulkEdit", "httpMethod": "POST", "id": "displayvideo.advertisers.locationLists.assignedLocations.bulkEdit", @@ -5236,7 +5236,7 @@ "youtubeAdGroups": { "methods": { "bulkListAdGroupAssignedTargetingOptions": { - "description": "Lists assigned targeting options for multiple YouTube ad groups across targeting types. Inherieted assigned targeting options are not included.", + "description": "Lists assigned targeting options for multiple YouTube ad groups across targeting types. Inherited assigned targeting options are not included.", "flatPath": "v2/advertisers/{advertisersId}/youtubeAdGroups:bulkListAdGroupAssignedTargetingOptions", "httpMethod": "GET", "id": "displayvideo.advertisers.youtubeAdGroups.bulkListAdGroupAssignedTargetingOptions", @@ -5258,7 +5258,7 @@ "type": "string" }, "orderBy": { - "description": "Optional. Field by which to sort the list. Acceptable values are: * `youtubeAdGroupId` (acceptable in v2) * `adGroupId` (acceptable in v3) * `assignedTargetingOption.targetingType` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `targetingType desc`.", + "description": "Optional. Field by which to sort the list. Acceptable values are: * `adGroupId` (default) * `assignedTargetingOption.targetingType` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `targetingType desc`.", "location": "query", "type": "string" }, @@ -9172,7 +9172,7 @@ } } }, - "revision": "20230921", + "revision": "20231009", "rootUrl": "https://displayvideo.googleapis.com/", "schemas": { "ActivateManualTriggerRequest": { @@ -9377,7 +9377,7 @@ }, "billingConfig": { "$ref": "AdvertiserBillingConfig", - "description": "Billing related settings of the advertiser." + "description": "Required. Billing related settings of the advertiser." }, "creativeConfig": { "$ref": "AdvertiserCreativeConfig", @@ -9466,7 +9466,7 @@ "id": "AdvertiserBillingConfig", "properties": { "billingProfileId": { - "description": "The ID of a billing profile assigned to the advertiser. This field will default to the default billing profile ID of the advertiser's parent partner if a value is not provided.", + "description": "The ID of a billing profile assigned to the advertiser.", "format": "int64", "type": "string" } @@ -9559,7 +9559,7 @@ "id": "AgeRangeAssignedTargetingOptionDetails", "properties": { "ageRange": { - "description": "The age range of an audience. We only support targeting a continuous age range of an audience. Thus, the age range represented in this field can be 1) targeted solely, or, 2) part of a larger continuous age range. The reach of a continuous age range targeting can be expanded by also targeting an audience of an unknown age. Output only in v1. Required in v2.", + "description": "Required. The age range of an audience. We only support targeting a continuous age range of an audience. Thus, the age range represented in this field can be 1) targeted solely, or, 2) part of a larger continuous age range. The reach of a continuous age range targeting can be expanded by also targeting an audience of an unknown age.", "enum": [ "AGE_RANGE_UNSPECIFIED", "AGE_RANGE_18_24", @@ -9831,7 +9831,7 @@ "type": "object" }, "AssignedLocation": { - "description": "An assignment between a location list and a relevant targeting option. Currently, geo region targeting options are the only supported option for assignment.", + "description": "An assignment between a location list and a relevant targeting option.", "id": "AssignedLocation", "properties": { "assignedLocationId": { @@ -9846,7 +9846,7 @@ "type": "string" }, "targetingOptionId": { - "description": "Required. The ID of the targeting option assigned to the location list. Assigned locations can only be modified in TARGETING_LOCATION_TYPE_REGIONAL location lists. When creating or deleting assigned locations, this value must be of type TARGETING_TYPE_GEO_REGION.", + "description": "Required. The ID of the targeting option assigned to the location list.", "type": "string" } }, @@ -10306,7 +10306,7 @@ "id": "AudioContentTypeAssignedTargetingOptionDetails", "properties": { "audioContentType": { - "description": "The audio content type. Output only in v1. Required in v2.", + "description": "Required. The audio content type.", "enum": [ "AUDIO_CONTENT_TYPE_UNSPECIFIED", "AUDIO_CONTENT_TYPE_UNKNOWN", @@ -10630,14 +10630,14 @@ "id": "BulkEditAssignedLocationsRequest", "properties": { "createdAssignedLocations": { - "description": "The assigned locations to create in bulk, specified as a list of AssignedLocations.", + "description": "The assigned locations to create in bulk, specified as a list of AssignedLocation resources.", "items": { "$ref": "AssignedLocation" }, "type": "array" }, "deletedAssignedLocations": { - "description": "The IDs of the assigned locations to delete in bulk, specified as a list of assigned_location_ids.", + "description": "The IDs of the assigned locations to delete in bulk, specified as a list of assignedLocationId values.", "items": { "format": "int64", "type": "string" @@ -10648,7 +10648,6 @@ "type": "object" }, "BulkEditAssignedLocationsResponse": { - "description": "Response message for AssignedLocationService.BulkEditAssignedLocations.", "id": "BulkEditAssignedLocationsResponse", "properties": { "assignedLocations": { @@ -10873,7 +10872,7 @@ "id": "BulkListAdGroupAssignedTargetingOptionsResponse", "properties": { "nextPageToken": { - "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent call to `BulkListAdGroupAssignedTargetingOptions` to fetch the next page of results. This token will be absent if there are no more youtube_ad_group_assigned_targeting_options or ad_group_assigned_targeting_options to return.", + "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent call to `BulkListAdGroupAssignedTargetingOptions` to fetch the next page of results. This token will be absent if there are no more AdGroupAssignedTargetingOption resources to return.", "type": "string" }, "youtubeAdGroupAssignedTargetingOptions": { @@ -11802,7 +11801,7 @@ "type": "string" }, "contentInstreamPosition": { - "description": "The content instream position for video or audio ads. Output only in v1. Required in v2.", + "description": "Required. The content instream position for video or audio ads.", "enum": [ "CONTENT_INSTREAM_POSITION_UNSPECIFIED", "CONTENT_INSTREAM_POSITION_PRE_ROLL", @@ -11870,7 +11869,7 @@ "type": "string" }, "contentOutstreamPosition": { - "description": "The content outstream position. Output only in v1. Required in v2.", + "description": "Required. The content outstream position.", "enum": [ "CONTENT_OUTSTREAM_POSITION_UNSPECIFIED", "CONTENT_OUTSTREAM_POSITION_UNKNOWN", @@ -12789,7 +12788,7 @@ "type": "string" }, "errors": { - "description": "Output only. Error details of a rejected custom bidding script. This field will only be populated when Script.state is REJECTED.", + "description": "Output only. Error details of a rejected custom bidding script. This field will only be populated when state is REJECTED.", "items": { "$ref": "ScriptError" }, @@ -13171,7 +13170,7 @@ "id": "DeviceTypeAssignedTargetingOptionDetails", "properties": { "deviceType": { - "description": "The display name of the device type. Output only in v1. Required in v2.", + "description": "Required. The display name of the device type.", "enum": [ "DEVICE_TYPE_UNSPECIFIED", "DEVICE_TYPE_COMPUTER", @@ -13181,10 +13180,10 @@ ], "enumDescriptions": [ "Default value when device type is not specified in this version. This enum is a placeholder for default value and does not represent a real device type option.", - "The device type is computer.", - "The device type is connected TV.", - "The device type is smart phone..", - "The device type is tablet." + "Computer.", + "Connected TV.", + "Smart phone.", + "Tablet." ], "type": "string" }, @@ -13212,10 +13211,10 @@ ], "enumDescriptions": [ "Default value when device type is not specified in this version. This enum is a placeholder for default value and does not represent a real device type option.", - "The device type is computer.", - "The device type is connected TV.", - "The device type is smart phone..", - "The device type is tablet." + "Computer.", + "Connected TV.", + "Smart phone.", + "Tablet." ], "readOnly": true, "type": "string" @@ -13815,7 +13814,7 @@ "id": "EnvironmentAssignedTargetingOptionDetails", "properties": { "environment": { - "description": "The serving environment. Output only in v1. Required in v2.", + "description": "Required. The serving environment.", "enum": [ "ENVIRONMENT_UNSPECIFIED", "ENVIRONMENT_WEB_OPTIMIZED", @@ -14968,7 +14967,7 @@ "id": "GenderAssignedTargetingOptionDetails", "properties": { "gender": { - "description": "The gender of the audience. Output only in v1. Required in v2.", + "description": "Required. The gender of the audience.", "enum": [ "GENDER_UNSPECIFIED", "GENDER_MALE", @@ -15070,8 +15069,8 @@ "Connected TV default YouTube video ads. Only include in-stream ad-format. Line items of this type and their targeting cannot be created or updated using the API.", "The goal of this line item type is to show the YouTube ads target number of times to the same person in a certain period of time. Line items of this type and their targeting cannot be created or updated using the API.", "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.", - "Digital display out of home. Line items of this type and their targeting cannot be created or updated using the API.", - "Digital video out of home. 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." ], "type": "string" }, @@ -15633,7 +15632,7 @@ "id": "HouseholdIncomeAssignedTargetingOptionDetails", "properties": { "householdIncome": { - "description": "The household income of the audience. Output only in v1. Required in v2.", + "description": "Required. The household income of the audience.", "enum": [ "HOUSEHOLD_INCOME_UNSPECIFIED", "HOUSEHOLD_INCOME_UNKNOWN", @@ -15945,9 +15944,9 @@ ], "enumDescriptions": [ "Insertion order automation option is not specified or is unknown in this version.", - "Automatic budget allocation. Allow the system to automatically shift budget to owning line items to optimize performance defined by performance_goal. No automation on bid settings.", + "Automatic budget allocation. Allow the system to automatically shift budget to owning line items to optimize performance defined by kpi. No automation on bid settings.", "No automation of bid or budget on insertion order level. Bid and budget must be manually configured at the line item level.", - "Allow the system to automatically adjust bids and shift budget to owning line items to optimize performance defined by performance_goal." + "Allow the system to automatically adjust bids and shift budget to owning line items to optimize performance defined by kpi." ], "type": "string" }, @@ -17016,8 +17015,8 @@ "Connected TV default YouTube video ads. Only include in-stream ad-format. Line items of this type and their targeting cannot be created or updated using the API.", "The goal of this line item type is to show the YouTube ads target number of times to the same person in a certain period of time. Line items of this type and their targeting cannot be created or updated using the API.", "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.", - "Digital display out of home. Line items of this type and their targeting cannot be created or updated using the API.", - "Digital video out of home. 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." ], "type": "string" }, @@ -18116,7 +18115,7 @@ "id": "NativeContentPositionAssignedTargetingOptionDetails", "properties": { "contentPosition": { - "description": "The content position. Output only in v1. Required in v2.", + "description": "Required. The content position.", "enum": [ "NATIVE_CONTENT_POSITION_UNSPECIFIED", "NATIVE_CONTENT_POSITION_UNKNOWN", @@ -18304,7 +18303,7 @@ "id": "OmidAssignedTargetingOptionDetails", "properties": { "omid": { - "description": "The type of Open Measurement enabled inventory. Output only in v1. Required in v2.", + "description": "Required. The type of Open Measurement enabled inventory.", "enum": [ "OMID_UNSPECIFIED", "OMID_FOR_MOBILE_DISPLAY_ADS" @@ -18489,7 +18488,7 @@ "type": "string" }, "pacingPeriod": { - "description": "Required. The time period in which the pacing budget will be spent. When automatic budget allocation is enabled at the insertion order via auto_budget_allocation, this field is output only and defaults to `PACING_PERIOD_FLIGHT`.", + "description": "Required. The time period in which the pacing budget will be spent. When automatic budget allocation is enabled at the insertion order via automationType, this field is output only and defaults to `PACING_PERIOD_FLIGHT`.", "enum": [ "PACING_PERIOD_UNSPECIFIED", "PACING_PERIOD_DAILY", @@ -18588,7 +18587,7 @@ "id": "ParentalStatusAssignedTargetingOptionDetails", "properties": { "parentalStatus": { - "description": "The parental status of the audience. Output only in v1. Required in v2.", + "description": "Required. The parental status of the audience.", "enum": [ "PARENTAL_STATUS_UNSPECIFIED", "PARENTAL_STATUS_PARENT", @@ -18882,7 +18881,7 @@ "type": "object" }, "PerformanceGoal": { - "description": "Settings that control the performance goal of a campaign or insertion order.", + "description": "Settings that control the performance goal of a campaign.", "id": "PerformanceGoal", "properties": { "performanceGoalAmountMicros": { @@ -20717,7 +20716,7 @@ "id": "VideoPlayerSizeAssignedTargetingOptionDetails", "properties": { "videoPlayerSize": { - "description": "The video player size. Output only in v1. Required in v2.", + "description": "Required. The video player size.", "enum": [ "VIDEO_PLAYER_SIZE_UNSPECIFIED", "VIDEO_PLAYER_SIZE_SMALL", @@ -20768,7 +20767,7 @@ "id": "ViewabilityAssignedTargetingOptionDetails", "properties": { "viewability": { - "description": "The predicted viewability percentage. Output only in v1. Required in v2.", + "description": "Required. The predicted viewability percentage.", "enum": [ "VIEWABILITY_UNSPECIFIED", "VIEWABILITY_10_PERCENT_OR_MORE", @@ -21020,7 +21019,7 @@ "type": "object" }, "YoutubeAdGroupAssignedTargetingOption": { - "description": "Wrapper object associating an assigned_targeting_option resource and the youtube ad group it is assigned to.", + "description": "Wrapper object associating an AssignedTargetingOption resource and the youtube ad group it is assigned to.", "id": "YoutubeAdGroupAssignedTargetingOption", "properties": { "assignedTargetingOption": { @@ -21040,7 +21039,7 @@ "id": "YoutubeAndPartnersBiddingStrategy", "properties": { "adGroupEffectiveTargetCpaSource": { - "description": "Output only. Source of the effective targetCpa value for AdGroup.", + "description": "Output only. Source of the effective target CPA value for ad group.", "enum": [ "BIDDING_SOURCE_UNSPECIFIED", "BIDDING_SOURCE_LINE_ITEM", @@ -21049,13 +21048,13 @@ "enumDescriptions": [ "Bidding source is not specified or unknown.", "Bidding value is inherited from the line item.", - "Bidding value is defined on the ad group." + "Bidding value is defined in the ad group." ], "readOnly": true, "type": "string" }, "adGroupEffectiveTargetCpaValue": { - "description": "Output only. The effective targetCpa for AdGroup, in micros of advertiser's currency.", + "description": "Output only. The effective target CPA for ad group, in micros of advertiser's currency.", "format": "int64", "readOnly": true, "type": "string" diff --git a/DiscoveryJson/displayvideo_v3.json b/DiscoveryJson/displayvideo_v3.json new file mode 100644 index 00000000000..ebfe1d474b1 --- /dev/null +++ b/DiscoveryJson/displayvideo_v3.json @@ -0,0 +1,21774 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/display-video": { + "description": "Create, see, edit, and permanently delete your Display & Video 360 entities and reports" + }, + "https://www.googleapis.com/auth/display-video-mediaplanning": { + "description": "Create, see, and edit Display & Video 360 Campaign entities and see billing invoices" + }, + "https://www.googleapis.com/auth/display-video-user-management": { + "description": "Private Service: https://www.googleapis.com/auth/display-video-user-management" + }, + "https://www.googleapis.com/auth/doubleclickbidmanager": { + "description": "View and manage your reports in DoubleClick Bid Manager" + } + } + } + }, + "basePath": "", + "baseUrl": "https://displayvideo.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Display Video", + "description": "Display & Video 360 API allows users to automate complex Display & Video 360 workflows, such as creating insertion orders and setting targeting options for individual line items.", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/display-video/", + "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": "displayvideo:v3", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://displayvideo.mtls.googleapis.com/", + "name": "displayvideo", + "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": { + "advertisers": { + "methods": { + "audit": { + "description": "Audits an advertiser. Returns the counts of used entities per resource type under the advertiser provided. Used entities count towards their respective resource limit. See https://support.google.com/displayvideo/answer/6071450.", + "flatPath": "v3/advertisers/{advertisersId}:audit", + "httpMethod": "GET", + "id": "displayvideo.advertisers.audit", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser to audit.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "readMask": { + "description": "Optional. The specific fields to return. If no mask is specified, all fields in the response proto will be filled. Valid values are: * usedLineItemsCount * usedInsertionOrdersCount * usedCampaignsCount * channelsCount * negativelyTargetedChannelsCount * negativeKeywordListsCount * adGroupCriteriaCount * campaignCriteriaCount", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}:audit", + "response": { + "$ref": "AuditAdvertiserResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "create": { + "description": "Creates a new advertiser. Returns the newly created advertiser if successful. This method can take up to 180 seconds to complete.", + "flatPath": "v3/advertisers", + "httpMethod": "POST", + "id": "displayvideo.advertisers.create", + "parameterOrder": [], + "parameters": {}, + "path": "v3/advertisers", + "request": { + "$ref": "Advertiser" + }, + "response": { + "$ref": "Advertiser" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes an advertiser. Deleting an advertiser will delete all of its child resources, for example, campaigns, insertion orders and line items. A deleted advertiser cannot be recovered.", + "flatPath": "v3/advertisers/{advertisersId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.delete", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser we need to delete.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "editAssignedTargetingOptions": { + "description": "Edits targeting options under a single advertiser. The operation will delete the assigned targeting options provided in BulkEditAdvertiserAssignedTargetingOptionsRequest.delete_requests and then create the assigned targeting options provided in BulkEditAdvertiserAssignedTargetingOptionsRequest.create_requests .", + "flatPath": "v3/advertisers/{advertisersId}:editAssignedTargetingOptions", + "httpMethod": "POST", + "id": "displayvideo.advertisers.editAssignedTargetingOptions", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}:editAssignedTargetingOptions", + "request": { + "$ref": "BulkEditAdvertiserAssignedTargetingOptionsRequest" + }, + "response": { + "$ref": "BulkEditAdvertiserAssignedTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets an advertiser.", + "flatPath": "v3/advertisers/{advertisersId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.get", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}", + "response": { + "$ref": "Advertiser" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists advertisers that are accessible to the current user. The order is defined by the order_by parameter. A single partner_id is required. Cross-partner listing is not supported.", + "flatPath": "v3/advertisers", + "httpMethod": "GET", + "id": "displayvideo.advertisers.list", + "parameterOrder": [], + "parameters": { + "filter": { + "description": "Allows filtering by advertiser fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. * A restriction has the form of `{field} {operator} {value}`. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS (=)` operator. Supported fields: * `advertiserId` * `displayName` * `entityStatus` * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All active advertisers under a partner: `entityStatus=\"ENTITY_STATUS_ACTIVE\"` * All advertisers with an update time less than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime<=\"2020-11-04T18:54:47Z\"` * All advertisers with an update time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime>=\"2020-11-04T18:54:47Z\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) * `entityStatus` * `updateTime` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. For example, `displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListAdvertisers` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "Required. The ID of the partner that the fetched advertisers should all belong to. The system only supports listing advertisers for one partner at a time.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/advertisers", + "response": { + "$ref": "ListAdvertisersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "listAssignedTargetingOptions": { + "description": "Lists assigned targeting options of an advertiser across targeting types.", + "flatPath": "v3/advertisers/{advertisersId}:listAssignedTargetingOptions", + "httpMethod": "GET", + "id": "displayvideo.advertisers.listAssignedTargetingOptions", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the line item belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the `OR` logical operator. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=) operator`. Supported fields: * `targetingType` Examples: * targetingType with value TARGETING_TYPE_CHANNEL `targetingType=\"TARGETING_TYPE_CHANNEL\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `targetingType` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `targetingType desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. The size must be an integer between `1` and `5000`. If unspecified, the default is '5000'. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token that lets the client fetch the next page of results. Typically, this is the value of next_page_token returned from the previous call to `BulkListAdvertiserAssignedTargetingOptions` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}:listAssignedTargetingOptions", + "response": { + "$ref": "BulkListAdvertiserAssignedTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates an existing advertiser. Returns the updated advertiser if successful.", + "flatPath": "v3/advertisers/{advertisersId}", + "httpMethod": "PATCH", + "id": "displayvideo.advertisers.patch", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser. Assigned by the system.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}", + "request": { + "$ref": "Advertiser" + }, + "response": { + "$ref": "Advertiser" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + }, + "resources": { + "adGroupAds": { + "methods": { + "get": { + "description": "Gets an ad group ad.", + "flatPath": "v3/advertisers/{advertisersId}/adGroupAds/{adGroupAdsId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.adGroupAds.get", + "parameterOrder": [ + "advertiserId", + "adGroupAdId" + ], + "parameters": { + "adGroupAdId": { + "description": "Required. The ID of the ad group ad to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "advertiserId": { + "description": "Required. The ID of the advertiser this ad group ad belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/adGroupAds/{+adGroupAdId}", + "response": { + "$ref": "AdGroupAd" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists ad group ads.", + "flatPath": "v3/advertisers/{advertisersId}/adGroupAds", + "httpMethod": "GET", + "id": "displayvideo.advertisers.adGroupAds.list", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the ad groups belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Optional. Allows filtering by custom ad group ad fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` and `OR`. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `adGroupId` * `displayName` * `entityStatus` * `adGroupAdId` Examples: * All ad group ads under an ad group: `adGroupId=\"1234\"` * All ad group ads under an ad group with an entityStatus of `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED`: `(entityStatus=\"ENTITY_STATUS_ACTIVE\" OR entityStatus=\"ENTITY_STATUS_PAUSED\") AND adGroupId=\"12345\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field by which to sort the list. Acceptable values are: * `displayName` (default) * `entityStatus` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListAdGroupAds` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/adGroupAds", + "response": { + "$ref": "ListAdGroupAdsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + }, + "adGroups": { + "methods": { + "bulkListAdGroupAssignedTargetingOptions": { + "description": "Lists assigned targeting options for multiple ad groups across targeting types. Inherited assigned targeting options are not included.", + "flatPath": "v3/advertisers/{advertisersId}/adGroups:bulkListAdGroupAssignedTargetingOptions", + "httpMethod": "GET", + "id": "displayvideo.advertisers.adGroups.bulkListAdGroupAssignedTargetingOptions", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "adGroupIds": { + "description": "Required. The IDs of the ad groups to list assigned targeting options for.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "advertiserId": { + "description": "Required. The ID of the advertiser the line items belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Optional. Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `targetingType` Examples: * `AssignedTargetingOption` resources of targeting type `TARGETING_TYPE_YOUTUBE_VIDEO` or `TARGETING_TYPE_YOUTUBE_CHANNEL`: `targetingType=\"TARGETING_TYPE_YOUTUBE_VIDEO\" OR targetingType=\"TARGETING_TYPE_YOUTUBE_CHANNEL\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field by which to sort the list. Acceptable values are: * `adGroupId` (default) * `assignedTargetingOption.targetingType` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `targetingType desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. The size must be an integer between `1` and `5000`. If unspecified, the default is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A token that lets the client fetch the next page of results. Typically, this is the value of next_page_token returned from the previous call to the `BulkListAdGroupAssignedTargetingOptions` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/adGroups:bulkListAdGroupAssignedTargetingOptions", + "response": { + "$ref": "BulkListAdGroupAssignedTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets an ad group.", + "flatPath": "v3/advertisers/{advertisersId}/adGroups/{adGroupsId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.adGroups.get", + "parameterOrder": [ + "advertiserId", + "adGroupId" + ], + "parameters": { + "adGroupId": { + "description": "Required. The ID of the ad group to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "advertiserId": { + "description": "Required. The ID of the advertiser this ad group belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/adGroups/{+adGroupId}", + "response": { + "$ref": "AdGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists ad groups.", + "flatPath": "v3/advertisers/{advertisersId}/adGroups", + "httpMethod": "GET", + "id": "displayvideo.advertisers.adGroups.list", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the ad groups belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Optional. Allows filtering by custom ad group fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` and `OR`. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported properties: * `adGroupId` * `displayName` * `entityStatus` * `lineItemId` * `adGroupFormat` Examples: * All ad groups under an line item: `lineItemId=\"1234\"` * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` `AD_GROUP_FORMAT_IN_STREAM` ad groups under an advertiser: `(entityStatus=\"ENTITY_STATUS_ACTIVE\" OR entityStatus=\"ENTITY_STATUS_PAUSED\") AND adGroupFormat=\"AD_GROUP_FORMAT_IN_STREAM\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field by which to sort the list. Acceptable values are: * `displayName` (default) * `entityStatus` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListAdGroups` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/adGroups", + "response": { + "$ref": "ListAdGroupsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + }, + "resources": { + "targetingTypes": { + "resources": { + "assignedTargetingOptions": { + "methods": { + "get": { + "description": "Gets a single targeting option assigned to an ad group. Inherited assigned targeting options are not included.", + "flatPath": "v3/advertisers/{advertisersId}/adGroups/{adGroupsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.adGroups.targetingTypes.assignedTargetingOptions.get", + "parameterOrder": [ + "advertiserId", + "adGroupId", + "targetingType", + "assignedTargetingOptionId" + ], + "parameters": { + "adGroupId": { + "description": "Required. The ID of the ad group the assigned targeting option belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "advertiserId": { + "description": "Required. The ID of the advertiser the ad group belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "assignedTargetingOptionId": { + "description": "Required. An identifier unique to the targeting type in this line item that identifies the assigned targeting option being requested.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SESSION_POSITION` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_YOUTUBE_VIDEO`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/adGroups/{+adGroupId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}", + "response": { + "$ref": "AssignedTargetingOption" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists the targeting options assigned to an ad group. Inherited assigned targeting options are not included.", + "flatPath": "v3/advertisers/{advertisersId}/adGroups/{adGroupsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions", + "httpMethod": "GET", + "id": "displayvideo.advertisers.adGroups.targetingTypes.assignedTargetingOptions.list", + "parameterOrder": [ + "advertiserId", + "adGroupId", + "targetingType" + ], + "parameters": { + "adGroupId": { + "description": "Required. The ID of the ad group to list assigned targeting options for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "advertiserId": { + "description": "Required. The ID of the advertiser the ad group belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Optional. Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` Examples: * `AssignedTargetingOption` resources with ID 1 or 2: `assignedTargetingOptionId=\"1\" OR assignedTargetingOptionId=\"2\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `assignedTargetingOptionId desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListAdGroupAssignedTargetingOptions` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of assigned targeting options to list. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SESSION_POSITION` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_YOUTUBE_VIDEO`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/adGroups/{+adGroupId}/targetingTypes/{+targetingType}/assignedTargetingOptions", + "response": { + "$ref": "ListAdGroupAssignedTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } + } + } + }, + "assets": { + "methods": { + "upload": { + "description": "Uploads an asset. Returns the ID of the newly uploaded asset if successful. The asset file size should be no more than 10 MB for images, 200 MB for ZIP files, and 1 GB for videos. Must be used within the [multipart media upload process](/display-video/api/guides/how-tos/upload#multipart). Examples using provided client libraries can be found in our [Creating Creatives guide](/display-video/api/guides/creating-creatives/overview#upload_an_asset).", + "flatPath": "v3/advertisers/{advertisersId}/assets", + "httpMethod": "POST", + "id": "displayvideo.advertisers.assets.upload", + "mediaUpload": { + "accept": [ + "*/*" + ], + "protocols": { + "simple": { + "multipart": true, + "path": "/upload/v3/advertisers/{+advertiserId}/assets" + } + } + }, + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser this asset belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/assets", + "request": { + "$ref": "CreateAssetRequest" + }, + "response": { + "$ref": "CreateAssetResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ], + "supportsMediaUpload": true + } + } + }, + "campaigns": { + "methods": { + "create": { + "description": "Creates a new campaign. Returns the newly created campaign if successful.", + "flatPath": "v3/advertisers/{advertisersId}/campaigns", + "httpMethod": "POST", + "id": "displayvideo.advertisers.campaigns.create", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the campaign belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/campaigns", + "request": { + "$ref": "Campaign" + }, + "response": { + "$ref": "Campaign" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video", + "https://www.googleapis.com/auth/display-video-mediaplanning" + ] + }, + "delete": { + "description": "Permanently deletes a campaign. A deleted campaign cannot be recovered. The campaign should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to delete it.", + "flatPath": "v3/advertisers/{advertisersId}/campaigns/{campaignsId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.campaigns.delete", + "parameterOrder": [ + "advertiserId", + "campaignId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser this campaign belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "campaignId": { + "description": "The ID of the campaign we need to delete.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/campaigns/{+campaignId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video", + "https://www.googleapis.com/auth/display-video-mediaplanning" + ] + }, + "get": { + "description": "Gets a campaign.", + "flatPath": "v3/advertisers/{advertisersId}/campaigns/{campaignsId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.campaigns.get", + "parameterOrder": [ + "advertiserId", + "campaignId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser this campaign belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "campaignId": { + "description": "Required. The ID of the campaign to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/campaigns/{+campaignId}", + "response": { + "$ref": "Campaign" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video", + "https://www.googleapis.com/auth/display-video-mediaplanning" + ] + }, + "list": { + "description": "Lists campaigns in an advertiser. The order is defined by the order_by parameter. If a filter by entity_status is not specified, campaigns with `ENTITY_STATUS_ARCHIVED` will not be included in the results.", + "flatPath": "v3/advertisers/{advertisersId}/campaigns", + "httpMethod": "GET", + "id": "displayvideo.advertisers.campaigns.list", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser to list campaigns for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by campaign fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS (=)` operator. Supported fields: * `campaignId` * `displayName` * `entityStatus` * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` campaigns under an advertiser: `(entityStatus=\"ENTITY_STATUS_ACTIVE\" OR entityStatus=\"ENTITY_STATUS_PAUSED\")` * All campaigns with an update time less than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime<=\"2020-11-04T18:54:47Z\"` * All campaigns with an update time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime>=\"2020-11-04T18:54:47Z\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) * `entityStatus` * `updateTime` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCampaigns` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/campaigns", + "response": { + "$ref": "ListCampaignsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video", + "https://www.googleapis.com/auth/display-video-mediaplanning" + ] + }, + "listAssignedTargetingOptions": { + "description": "Lists assigned targeting options of a campaign across targeting types.", + "flatPath": "v3/advertisers/{advertisersId}/campaigns/{campaignsId}:listAssignedTargetingOptions", + "httpMethod": "GET", + "id": "displayvideo.advertisers.campaigns.listAssignedTargetingOptions", + "parameterOrder": [ + "advertiserId", + "campaignId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the campaign belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "campaignId": { + "description": "Required. The ID of the campaign to list assigned targeting options for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the `OR` logical operator. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `targetingType` * `inheritance` Examples: * `AssignedTargetingOption` resources of targeting type `TARGETING_TYPE_LANGUAGE` or `TARGETING_TYPE_GENDER`: `targetingType=\"TARGETING_TYPE_LANGUAGE\" OR targetingType=\"TARGETING_TYPE_GENDER\"` * `AssignedTargetingOption` resources with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER`: `inheritance=\"NOT_INHERITED\" OR inheritance=\"INHERITED_FROM_PARTNER\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `targetingType` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `targetingType desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. The size must be an integer between `1` and `5000`. If unspecified, the default is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token that lets the client fetch the next page of results. Typically, this is the value of next_page_token returned from the previous call to `BulkListCampaignAssignedTargetingOptions` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/campaigns/{+campaignId}:listAssignedTargetingOptions", + "response": { + "$ref": "BulkListCampaignAssignedTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates an existing campaign. Returns the updated campaign if successful.", + "flatPath": "v3/advertisers/{advertisersId}/campaigns/{campaignsId}", + "httpMethod": "PATCH", + "id": "displayvideo.advertisers.campaigns.patch", + "parameterOrder": [ + "advertiserId", + "campaignId" + ], + "parameters": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the campaign belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "campaignId": { + "description": "Output only. The unique ID of the campaign. Assigned by the system.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/campaigns/{+campaignId}", + "request": { + "$ref": "Campaign" + }, + "response": { + "$ref": "Campaign" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video", + "https://www.googleapis.com/auth/display-video-mediaplanning" + ] + } + }, + "resources": { + "targetingTypes": { + "resources": { + "assignedTargetingOptions": { + "methods": { + "get": { + "description": "Gets a single targeting option assigned to a campaign.", + "flatPath": "v3/advertisers/{advertisersId}/campaigns/{campaignsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.campaigns.targetingTypes.assignedTargetingOptions.get", + "parameterOrder": [ + "advertiserId", + "campaignId", + "targetingType", + "assignedTargetingOptionId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the campaign belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "assignedTargetingOptionId": { + "description": "Required. An identifier unique to the targeting type in this campaign that identifies the assigned targeting option being requested.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "campaignId": { + "description": "Required. The ID of the campaign the assigned targeting option belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_VIEWABILITY`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/campaigns/{+campaignId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}", + "response": { + "$ref": "AssignedTargetingOption" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists the targeting options assigned to a campaign for a specified targeting type.", + "flatPath": "v3/advertisers/{advertisersId}/campaigns/{campaignsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions", + "httpMethod": "GET", + "id": "displayvideo.advertisers.campaigns.targetingTypes.assignedTargetingOptions.list", + "parameterOrder": [ + "advertiserId", + "campaignId", + "targetingType" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the campaign belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "campaignId": { + "description": "Required. The ID of the campaign to list assigned targeting options for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the `OR` logical operator. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` * `inheritance` Examples: * `AssignedTargetingOption` resources with ID 1 or 2 `assignedTargetingOptionId=\"1\" OR assignedTargetingOptionId=\"2\"` * `AssignedTargetingOption` resources with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER` `inheritance=\"NOT_INHERITED\" OR inheritance=\"INHERITED_FROM_PARTNER\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `assignedTargetingOptionId desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCampaignAssignedTargetingOptions` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of assigned targeting options to list. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_VIEWABILITY`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/campaigns/{+campaignId}/targetingTypes/{+targetingType}/assignedTargetingOptions", + "response": { + "$ref": "ListCampaignAssignedTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } + } + } + }, + "channels": { + "methods": { + "create": { + "description": "Creates a new channel. Returns the newly created channel if successful.", + "flatPath": "v3/advertisers/{advertisersId}/channels", + "httpMethod": "POST", + "id": "displayvideo.advertisers.channels.create", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the created channel.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the created channel.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/channels", + "request": { + "$ref": "Channel" + }, + "response": { + "$ref": "Channel" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a channel for a partner or advertiser.", + "flatPath": "v3/advertisers/{advertisersId}/channels/{channelsId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.channels.get", + "parameterOrder": [ + "advertiserId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the fetched channel.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the channel to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the fetched channel.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/channels/{+channelId}", + "response": { + "$ref": "Channel" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists channels for a partner or advertiser.", + "flatPath": "v3/advertisers/{advertisersId}/channels", + "httpMethod": "GET", + "id": "displayvideo.advertisers.channels.list", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the channels.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by channel fields. Supported syntax: * Filter expressions for channel can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * All channels for which the display name contains \"google\": `displayName : \"google\"`. The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) * `channelId` The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be added to the field name. Example: `displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListChannels` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the channels.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/channels", + "response": { + "$ref": "ListChannelsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates a channel. Returns the updated channel if successful.", + "flatPath": "v3/advertisers/{advertisersId}/channels/{channelId}", + "httpMethod": "PATCH", + "id": "displayvideo.advertisers.channels.patch", + "parameterOrder": [ + "advertiserId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the created channel.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "channelId": { + "description": "Output only. The unique ID of the channel. Assigned by the system.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the created channel.", + "format": "int64", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/channels/{channelId}", + "request": { + "$ref": "Channel" + }, + "response": { + "$ref": "Channel" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + }, + "resources": { + "sites": { + "methods": { + "bulkEdit": { + "description": "Bulk edits sites under a single channel. The operation will delete the sites provided in BulkEditSitesRequest.deleted_sites and then create the sites provided in BulkEditSitesRequest.created_sites.", + "flatPath": "v3/advertisers/{advertiserId}/channels/{channelsId}/sites:bulkEdit", + "httpMethod": "POST", + "id": "displayvideo.advertisers.channels.sites.bulkEdit", + "parameterOrder": [ + "advertiserId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the parent channel to which the sites belong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{advertiserId}/channels/{+channelId}/sites:bulkEdit", + "request": { + "$ref": "BulkEditSitesRequest" + }, + "response": { + "$ref": "BulkEditSitesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "create": { + "description": "Creates a site in a channel.", + "flatPath": "v3/advertisers/{advertiserId}/channels/{channelsId}/sites", + "httpMethod": "POST", + "id": "displayvideo.advertisers.channels.sites.create", + "parameterOrder": [ + "advertiserId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the parent channel in which the site will be created.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent channel.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/advertisers/{advertiserId}/channels/{+channelId}/sites", + "request": { + "$ref": "Site" + }, + "response": { + "$ref": "Site" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes a site from a channel.", + "flatPath": "v3/advertisers/{advertiserId}/channels/{channelsId}/sites/{sitesId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.channels.sites.delete", + "parameterOrder": [ + "advertiserId", + "channelId", + "urlOrAppId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the parent channel to which the site belongs.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent channel.", + "format": "int64", + "location": "query", + "type": "string" + }, + "urlOrAppId": { + "description": "Required. The URL or app ID of the site to delete.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{advertiserId}/channels/{+channelId}/sites/{+urlOrAppId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists sites in a channel.", + "flatPath": "v3/advertisers/{advertisersId}/channels/{channelsId}/sites", + "httpMethod": "GET", + "id": "displayvideo.advertisers.channels.sites.list", + "parameterOrder": [ + "advertiserId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the parent channel to which the requested sites belong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by site fields. Supported syntax: * Filter expressions for site retrieval can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `urlOrAppId` Examples: * All sites for which the URL or app ID contains \"google\": `urlOrAppId : \"google\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `urlOrAppId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be added to the field name. Example: `urlOrAppId desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `10000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListSites` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent channel.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/channels/{+channelId}/sites", + "response": { + "$ref": "ListSitesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "replace": { + "description": "Replaces all of the sites under a single channel. The operation will replace the sites under a channel with the sites provided in ReplaceSitesRequest.new_sites.", + "flatPath": "v3/advertisers/{advertiserId}/channels/{channelsId}/sites:replace", + "httpMethod": "POST", + "id": "displayvideo.advertisers.channels.sites.replace", + "parameterOrder": [ + "advertiserId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the parent channel whose sites will be replaced.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{advertiserId}/channels/{+channelId}/sites:replace", + "request": { + "$ref": "ReplaceSitesRequest" + }, + "response": { + "$ref": "ReplaceSitesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } + }, + "creatives": { + "methods": { + "create": { + "description": "Creates a new creative. Returns the newly created creative if successful.", + "flatPath": "v3/advertisers/{advertisersId}/creatives", + "httpMethod": "POST", + "id": "displayvideo.advertisers.creatives.create", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the creative belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/creatives", + "request": { + "$ref": "Creative" + }, + "response": { + "$ref": "Creative" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes a creative. Returns error code `NOT_FOUND` if the creative does not exist. The creative should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, before it can be deleted.", + "flatPath": "v3/advertisers/{advertisersId}/creatives/{creativesId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.creatives.delete", + "parameterOrder": [ + "advertiserId", + "creativeId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser this creative belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "creativeId": { + "description": "The ID of the creative to be deleted.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/creatives/{+creativeId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a creative.", + "flatPath": "v3/advertisers/{advertisersId}/creatives/{creativesId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.creatives.get", + "parameterOrder": [ + "advertiserId", + "creativeId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser this creative belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "creativeId": { + "description": "Required. The ID of the creative to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/creatives/{+creativeId}", + "response": { + "$ref": "Creative" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists creatives in an advertiser. The order is defined by the order_by parameter. If a filter by entity_status is not specified, creatives with `ENTITY_STATUS_ARCHIVED` will not be included in the results.", + "flatPath": "v3/advertisers/{advertisersId}/creatives", + "httpMethod": "GET", + "id": "displayvideo.advertisers.creatives.list", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser to list creatives for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by creative fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The `lineItemIds` field must use the `HAS (:)` operator. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS (=)` operator. * For `entityStatus`, `minDuration`, `maxDuration`, `updateTime`, and `dynamic` fields, there may be at most one restriction. Supported Fields: * `approvalStatus` * `creativeId` * `creativeType` * `dimensions` (input in the form of `{width}x{height}`) * `dynamic` * `entityStatus` * `exchangeReviewStatus` (input in the form of `{exchange}-{reviewStatus}`) * `lineItemIds` * `maxDuration` (input in the form of `{duration}s`. Only seconds are supported) * `minDuration` (input in the form of `{duration}s`. Only seconds are supported) * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Notes: * For `updateTime`, a creative resource's field value reflects the last time that a creative has been updated, which includes updates made by the system (e.g. creative review updates). Examples: * All native creatives: `creativeType=\"CREATIVE_TYPE_NATIVE\"` * All active creatives with 300x400 or 50x100 dimensions: `entityStatus=\"ENTITY_STATUS_ACTIVE\" AND (dimensions=\"300x400\" OR dimensions=\"50x100\")` * All dynamic creatives that are approved by AdX or AppNexus, with a minimum duration of 5 seconds and 200ms: `dynamic=\"true\" AND minDuration=\"5.2s\" AND (exchangeReviewStatus=\"EXCHANGE_GOOGLE_AD_MANAGER-REVIEW_STATUS_APPROVED\" OR exchangeReviewStatus=\"EXCHANGE_APPNEXUS-REVIEW_STATUS_APPROVED\")` * All video creatives that are associated with line item ID 1 or 2: `creativeType=\"CREATIVE_TYPE_VIDEO\" AND (lineItemIds:1 OR lineItemIds:2)` * Find creatives by multiple creative IDs: `creativeId=1 OR creativeId=2` * All creatives with an update time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime>=\"2020-11-04T18:54:47Z\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `creativeId` (default) * `createTime` * `mediaDuration` * `dimensions` (sorts by width first, then by height) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `createTime desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCreatives` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/creatives", + "response": { + "$ref": "ListCreativesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates an existing creative. Returns the updated creative if successful.", + "flatPath": "v3/advertisers/{advertisersId}/creatives/{creativesId}", + "httpMethod": "PATCH", + "id": "displayvideo.advertisers.creatives.patch", + "parameterOrder": [ + "advertiserId", + "creativeId" + ], + "parameters": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the creative belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "creativeId": { + "description": "Output only. The unique ID of the creative. Assigned by the system.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/creatives/{+creativeId}", + "request": { + "$ref": "Creative" + }, + "response": { + "$ref": "Creative" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + }, + "insertionOrders": { + "methods": { + "create": { + "description": "Creates a new insertion order. Returns the newly created insertion order if successful.", + "flatPath": "v3/advertisers/{advertisersId}/insertionOrders", + "httpMethod": "POST", + "id": "displayvideo.advertisers.insertionOrders.create", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the insertion order belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/insertionOrders", + "request": { + "$ref": "InsertionOrder" + }, + "response": { + "$ref": "InsertionOrder" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes an insertion order. Returns error code `NOT_FOUND` if the insertion order does not exist. The insertion order should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to delete it.", + "flatPath": "v3/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.insertionOrders.delete", + "parameterOrder": [ + "advertiserId", + "insertionOrderId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser this insertion order belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "insertionOrderId": { + "description": "The ID of the insertion order to delete.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets an insertion order. Returns error code `NOT_FOUND` if the insertion order does not exist.", + "flatPath": "v3/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.insertionOrders.get", + "parameterOrder": [ + "advertiserId", + "insertionOrderId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser this insertion order belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "insertionOrderId": { + "description": "Required. The ID of the insertion order to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}", + "response": { + "$ref": "InsertionOrder" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists insertion orders in an advertiser. The order is defined by the order_by parameter. If a filter by entity_status is not specified, insertion orders with `ENTITY_STATUS_ARCHIVED` will not be included in the results.", + "flatPath": "v3/advertisers/{advertisersId}/insertionOrders", + "httpMethod": "GET", + "id": "displayvideo.advertisers.insertionOrders.list", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser to list insertion orders for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by insertion order fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS (=)` operator. Supported fields: * `campaignId` * `displayName` * `entityStatus` * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All insertion orders under a campaign: `campaignId=\"1234\"` * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` insertion orders under an advertiser: `(entityStatus=\"ENTITY_STATUS_ACTIVE\" OR entityStatus=\"ENTITY_STATUS_PAUSED\")` * All insertion orders with an update time less than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime<=\"2020-11-04T18:54:47Z\"` * All insertion orders with an update time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime>=\"2020-11-04T18:54:47Z\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * \"displayName\" (default) * \"entityStatus\" * \"updateTime\" The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListInsertionOrders` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/insertionOrders", + "response": { + "$ref": "ListInsertionOrdersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "listAssignedTargetingOptions": { + "description": "Lists assigned targeting options of an insertion order across targeting types.", + "flatPath": "v3/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}:listAssignedTargetingOptions", + "httpMethod": "GET", + "id": "displayvideo.advertisers.insertionOrders.listAssignedTargetingOptions", + "parameterOrder": [ + "advertiserId", + "insertionOrderId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the insertion order belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `targetingType` * `inheritance` Examples: * `AssignedTargetingOption` resources of targeting type `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` or `TARGETING_TYPE_CHANNEL`: `targetingType=\"TARGETING_TYPE_PROXIMITY_LOCATION_LIST\" OR targetingType=\"TARGETING_TYPE_CHANNEL\"` * `AssignedTargetingOption` resources with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER`: `inheritance=\"NOT_INHERITED\" OR inheritance=\"INHERITED_FROM_PARTNER\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "insertionOrderId": { + "description": "Required. The ID of the insertion order to list assigned targeting options for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `targetingType` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `targetingType desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. The size must be an integer between `1` and `5000`. If unspecified, the default is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token that lets the client fetch the next page of results. Typically, this is the value of next_page_token returned from the previous call to `BulkListInsertionOrderAssignedTargetingOptions` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}:listAssignedTargetingOptions", + "response": { + "$ref": "BulkListInsertionOrderAssignedTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates an existing insertion order. Returns the updated insertion order if successful.", + "flatPath": "v3/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}", + "httpMethod": "PATCH", + "id": "displayvideo.advertisers.insertionOrders.patch", + "parameterOrder": [ + "advertiserId", + "insertionOrderId" + ], + "parameters": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the insertion order belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "insertionOrderId": { + "description": "Output only. The unique ID of the insertion order. Assigned by the system.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}", + "request": { + "$ref": "InsertionOrder" + }, + "response": { + "$ref": "InsertionOrder" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + }, + "resources": { + "targetingTypes": { + "resources": { + "assignedTargetingOptions": { + "methods": { + "create": { + "description": "Assigns a targeting option to an insertion order. Returns the assigned targeting option if successful. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIEWABILITY`", + "flatPath": "v3/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions", + "httpMethod": "POST", + "id": "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.create", + "parameterOrder": [ + "advertiserId", + "insertionOrderId", + "targetingType" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the insertion order belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "insertionOrderId": { + "description": "Required. The ID of the insertion order the assigned targeting option will belong to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIEWABILITY`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions", + "request": { + "$ref": "AssignedTargetingOption" + }, + "response": { + "$ref": "AssignedTargetingOption" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes an assigned targeting option from an insertion order. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIEWABILITY`", + "flatPath": "v3/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.delete", + "parameterOrder": [ + "advertiserId", + "insertionOrderId", + "targetingType", + "assignedTargetingOptionId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the insertion order belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "assignedTargetingOptionId": { + "description": "Required. The ID of the assigned targeting option to delete.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "insertionOrderId": { + "description": "Required. The ID of the insertion order the assigned targeting option belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIEWABILITY`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a single targeting option assigned to an insertion order.", + "flatPath": "v3/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.get", + "parameterOrder": [ + "advertiserId", + "insertionOrderId", + "targetingType", + "assignedTargetingOptionId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the insertion order belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "assignedTargetingOptionId": { + "description": "Required. An identifier unique to the targeting type in this insertion order that identifies the assigned targeting option being requested.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "insertionOrderId": { + "description": "Required. The ID of the insertion order the assigned targeting option belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}", + "response": { + "$ref": "AssignedTargetingOption" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists the targeting options assigned to an insertion order.", + "flatPath": "v3/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions", + "httpMethod": "GET", + "id": "displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.list", + "parameterOrder": [ + "advertiserId", + "insertionOrderId", + "targetingType" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the insertion order belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` * `inheritance` Examples: * `AssignedTargetingOption` resources with ID 1 or 2: `assignedTargetingOptionId=\"1\" OR assignedTargetingOptionId=\"2\"` * `AssignedTargetingOption` resources with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER`: `inheritance=\"NOT_INHERITED\" OR inheritance=\"INHERITED_FROM_PARTNER\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "insertionOrderId": { + "description": "Required. The ID of the insertion order to list assigned targeting options for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `assignedTargetingOptionId desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListInsertionOrderAssignedTargetingOptions` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of assigned targeting options to list. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions", + "response": { + "$ref": "ListInsertionOrderAssignedTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } + } + } + }, + "invoices": { + "methods": { + "list": { + "description": "Lists invoices posted for an advertiser in a given month. Invoices generated by billing profiles with a \"Partner\" invoice level are not retrievable through this method.", + "flatPath": "v3/advertisers/{advertisersId}/invoices", + "httpMethod": "GET", + "id": "displayvideo.advertisers.invoices.list", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser to list invoices for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "issueMonth": { + "description": "The month to list the invoices for. If not set, the request will retrieve invoices for the previous month. Must be in the format YYYYMM.", + "location": "query", + "type": "string" + }, + "loiSapinInvoiceType": { + "description": "Select type of invoice to retrieve for Loi Sapin advertisers. Only applicable to Loi Sapin advertisers. Will be ignored otherwise.", + "enum": [ + "LOI_SAPIN_INVOICE_TYPE_UNSPECIFIED", + "LOI_SAPIN_INVOICE_TYPE_MEDIA", + "LOI_SAPIN_INVOICE_TYPE_PLATFORM" + ], + "enumDescriptions": [ + "Value is not specified.", + "Invoices with Media cost.", + "Invoices with Platform fee." + ], + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListInvoices` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/invoices", + "response": { + "$ref": "ListInvoicesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video", + "https://www.googleapis.com/auth/display-video-mediaplanning" + ] + }, + "lookupInvoiceCurrency": { + "description": "Retrieves the invoice currency used by an advertiser in a given month.", + "flatPath": "v3/advertisers/{advertisersId}/invoices:lookupInvoiceCurrency", + "httpMethod": "GET", + "id": "displayvideo.advertisers.invoices.lookupInvoiceCurrency", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser to lookup currency for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "invoiceMonth": { + "description": "Month for which the currency is needed. If not set, the request will return existing currency settings for the advertiser. Must be in the format YYYYMM.", + "location": "query", + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/invoices:lookupInvoiceCurrency", + "response": { + "$ref": "LookupInvoiceCurrencyResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video", + "https://www.googleapis.com/auth/display-video-mediaplanning" + ] + } + } + }, + "lineItems": { + "methods": { + "bulkEditAssignedTargetingOptions": { + "description": "Bulk edits targeting options under multiple line items. The operation will delete the assigned targeting options provided in BulkEditAssignedTargetingOptionsRequest.delete_requests and then create the assigned targeting options provided in BulkEditAssignedTargetingOptionsRequest.create_requests. Requests to this endpoint cannot be made concurrently with the following requests updating the same line item: * lineItems.bulkUpdate * lineItems.patch * assignedTargetingOptions.create * assignedTargetingOptions.delete", + "flatPath": "v3/advertisers/{advertisersId}/lineItems:bulkEditAssignedTargetingOptions", + "httpMethod": "POST", + "id": "displayvideo.advertisers.lineItems.bulkEditAssignedTargetingOptions", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the line items belong to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/lineItems:bulkEditAssignedTargetingOptions", + "request": { + "$ref": "BulkEditAssignedTargetingOptionsRequest" + }, + "response": { + "$ref": "BulkEditAssignedTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "bulkListAssignedTargetingOptions": { + "description": "Lists assigned targeting options for multiple line items across targeting types.", + "flatPath": "v3/advertisers/{advertisersId}/lineItems:bulkListAssignedTargetingOptions", + "httpMethod": "GET", + "id": "displayvideo.advertisers.lineItems.bulkListAssignedTargetingOptions", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the line items belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR` on the same field. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `targetingType` * `inheritance` Examples: * `AssignedTargetingOption` resources of targeting type `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` or `TARGETING_TYPE_CHANNEL`: `targetingType=\"TARGETING_TYPE_PROXIMITY_LOCATION_LIST\" OR targetingType=\"TARGETING_TYPE_CHANNEL\"` * `AssignedTargetingOption` resources with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER`: `inheritance=\"NOT_INHERITED\" OR inheritance=\"INHERITED_FROM_PARTNER\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "lineItemIds": { + "description": "Required. The IDs of the line items to list assigned targeting options for.", + "format": "int64", + "location": "query", + "repeated": true, + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `lineItemId` (default) * `assignedTargetingOption.targetingType` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `targetingType desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. The size must be an integer between `1` and `5000`. If unspecified, the default is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token that lets the client fetch the next page of results. Typically, this is the value of next_page_token returned from the previous call to the `BulkListAssignedTargetingOptions` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/lineItems:bulkListAssignedTargetingOptions", + "response": { + "$ref": "BulkListAssignedTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "bulkUpdate": { + "description": "Updates multiple line items. Requests to this endpoint cannot be made concurrently with the following requests updating the same line item: * BulkEditAssignedTargetingOptions * UpdateLineItem * assignedTargetingOptions.create * assignedTargetingOptions.delete", + "flatPath": "v3/advertisers/{advertisersId}/lineItems:bulkUpdate", + "httpMethod": "POST", + "id": "displayvideo.advertisers.lineItems.bulkUpdate", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser this line item belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/lineItems:bulkUpdate", + "request": { + "$ref": "BulkUpdateLineItemsRequest" + }, + "response": { + "$ref": "BulkUpdateLineItemsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "create": { + "description": "Creates a new line item. Returns the newly created line item if successful.", + "flatPath": "v3/advertisers/{advertisersId}/lineItems", + "httpMethod": "POST", + "id": "displayvideo.advertisers.lineItems.create", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the line item belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/lineItems", + "request": { + "$ref": "LineItem" + }, + "response": { + "$ref": "LineItem" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes a line item. Returns error code `NOT_FOUND` if the line item does not exist. The line item should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to delete it.", + "flatPath": "v3/advertisers/{advertisersId}/lineItems/{lineItemsId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.lineItems.delete", + "parameterOrder": [ + "advertiserId", + "lineItemId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser this line item belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "lineItemId": { + "description": "The ID of the line item to delete.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/lineItems/{+lineItemId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "duplicate": { + "description": "Duplicates a line item. Returns the ID of the created line item if successful.", + "flatPath": "v3/advertisers/{advertisersId}/lineItems/{lineItemsId}:duplicate", + "httpMethod": "POST", + "id": "displayvideo.advertisers.lineItems.duplicate", + "parameterOrder": [ + "advertiserId", + "lineItemId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser this line item belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "lineItemId": { + "description": "Required. The ID of the line item to duplicate.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/lineItems/{+lineItemId}:duplicate", + "request": { + "$ref": "DuplicateLineItemRequest" + }, + "response": { + "$ref": "DuplicateLineItemResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "generateDefault": { + "description": "Creates a new line item with settings (including targeting) inherited from the insertion order and an `ENTITY_STATUS_DRAFT` entity_status. Returns the newly created line item if successful. There are default values based on the three fields: * The insertion order's insertion_order_type * The insertion order's automation_type * The given line_item_type", + "flatPath": "v3/advertisers/{advertisersId}/lineItems:generateDefault", + "httpMethod": "POST", + "id": "displayvideo.advertisers.lineItems.generateDefault", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser this line item belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/lineItems:generateDefault", + "request": { + "$ref": "GenerateDefaultLineItemRequest" + }, + "response": { + "$ref": "LineItem" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a line item.", + "flatPath": "v3/advertisers/{advertisersId}/lineItems/{lineItemsId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.lineItems.get", + "parameterOrder": [ + "advertiserId", + "lineItemId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser this line item belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "lineItemId": { + "description": "Required. The ID of the line item to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/lineItems/{+lineItemId}", + "response": { + "$ref": "LineItem" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists line items in an advertiser. The order is defined by the order_by parameter. If a filter by entity_status is not specified, line items with `ENTITY_STATUS_ARCHIVED` will not be included in the results.", + "flatPath": "v3/advertisers/{advertisersId}/lineItems", + "httpMethod": "GET", + "id": "displayvideo.advertisers.lineItems.list", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser to list line items for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by line item fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS (=)` operator. Supported fields: * `campaignId` * `displayName` * `entityStatus` * `insertionOrderId` * `lineItemId` * `lineItemType` * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All line items under an insertion order: `insertionOrderId=\"1234\"` * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` and `LINE_ITEM_TYPE_DISPLAY_DEFAULT` line items under an advertiser: `(entityStatus=\"ENTITY_STATUS_ACTIVE\" OR entityStatus=\"ENTITY_STATUS_PAUSED\") AND lineItemType=\"LINE_ITEM_TYPE_DISPLAY_DEFAULT\"` * All line items with an update time less than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime<=\"2020-11-04T18:54:47Z\"` * All line items with an update time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime>=\"2020-11-04T18:54:47Z\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) * `entityStatus` * `updateTime` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListLineItems` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/lineItems", + "response": { + "$ref": "ListLineItemsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates an existing line item. Returns the updated line item if successful. Requests to this endpoint cannot be made concurrently with the following requests updating the same line item: * BulkEditAssignedTargetingOptions * BulkUpdateLineItems * assignedTargetingOptions.create * assignedTargetingOptions.delete", + "flatPath": "v3/advertisers/{advertisersId}/lineItems/{lineItemsId}", + "httpMethod": "PATCH", + "id": "displayvideo.advertisers.lineItems.patch", + "parameterOrder": [ + "advertiserId", + "lineItemId" + ], + "parameters": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the line item belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "lineItemId": { + "description": "Output only. The unique ID of the line item. Assigned by the system.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/lineItems/{+lineItemId}", + "request": { + "$ref": "LineItem" + }, + "response": { + "$ref": "LineItem" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + }, + "resources": { + "targetingTypes": { + "resources": { + "assignedTargetingOptions": { + "methods": { + "create": { + "description": "Assigns a targeting option to a line item. Returns the assigned targeting option if successful. Requests to this endpoint cannot be made concurrently with the following requests updating the same line item: * lineItems.bulkEditAssignedTargetingOptions * lineItems.bulkUpdate * lineItems.patch * DeleteLineItemAssignedTargetingOption", + "flatPath": "v3/advertisers/{advertisersId}/lineItems/{lineItemsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions", + "httpMethod": "POST", + "id": "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.create", + "parameterOrder": [ + "advertiserId", + "lineItemId", + "targetingType" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the line item belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "lineItemId": { + "description": "Required. The ID of the line item the assigned targeting option will belong to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions", + "request": { + "$ref": "AssignedTargetingOption" + }, + "response": { + "$ref": "AssignedTargetingOption" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes an assigned targeting option from a line item. Requests to this endpoint cannot be made concurrently with the following requests updating the same line item: * lineItems.bulkEditAssignedTargetingOptions * lineItems.bulkUpdate * lineItems.patch * CreateLineItemAssignedTargetingOption", + "flatPath": "v3/advertisers/{advertisersId}/lineItems/{lineItemsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.delete", + "parameterOrder": [ + "advertiserId", + "lineItemId", + "targetingType", + "assignedTargetingOptionId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the line item belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "assignedTargetingOptionId": { + "description": "Required. The ID of the assigned targeting option to delete.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "lineItemId": { + "description": "Required. The ID of the line item the assigned targeting option belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a single targeting option assigned to a line item.", + "flatPath": "v3/advertisers/{advertisersId}/lineItems/{lineItemsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.get", + "parameterOrder": [ + "advertiserId", + "lineItemId", + "targetingType", + "assignedTargetingOptionId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the line item belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "assignedTargetingOptionId": { + "description": "Required. An identifier unique to the targeting type in this line item that identifies the assigned targeting option being requested.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "lineItemId": { + "description": "Required. The ID of the line item the assigned targeting option belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` * `TARGETING_TYPE_YOUTUBE_CHANNEL` (only for `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items) * `TARGETING_TYPE_YOUTUBE_VIDEO` (only for `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items)", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}", + "response": { + "$ref": "AssignedTargetingOption" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists the targeting options assigned to a line item.", + "flatPath": "v3/advertisers/{advertisersId}/lineItems/{lineItemsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions", + "httpMethod": "GET", + "id": "displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.list", + "parameterOrder": [ + "advertiserId", + "lineItemId", + "targetingType" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser the line item belongs to.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` * `inheritance` Examples: * `AssignedTargetingOption` resources with ID 1 or 2: `assignedTargetingOptionId=\"1\" OR assignedTargetingOptionId=\"2\"` * `AssignedTargetingOption` resources with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER`: `inheritance=\"NOT_INHERITED\" OR inheritance=\"INHERITED_FROM_PARTNER\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "lineItemId": { + "description": "Required. The ID of the line item to list assigned targeting options for.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `assignedTargetingOptionId desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListLineItemAssignedTargetingOptions` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of assigned targeting options to list. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` * `TARGETING_TYPE_YOUTUBE_CHANNEL` (only for `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items) * `TARGETING_TYPE_YOUTUBE_VIDEO` (only for `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items)", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions", + "response": { + "$ref": "ListLineItemAssignedTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } + } + } + }, + "locationLists": { + "methods": { + "create": { + "description": "Creates a new location list. Returns the newly created location list if successful.", + "flatPath": "v3/advertisers/{advertisersId}/locationLists", + "httpMethod": "POST", + "id": "displayvideo.advertisers.locationLists.create", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the location list belongs.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/locationLists", + "request": { + "$ref": "LocationList" + }, + "response": { + "$ref": "LocationList" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a location list.", + "flatPath": "v3/advertisers/{advertisersId}/locationLists/{locationListsId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.locationLists.get", + "parameterOrder": [ + "advertiserId", + "locationListId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the fetched location list belongs.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "locationListId": { + "description": "Required. The ID of the location list to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/locationLists/{+locationListId}", + "response": { + "$ref": "LocationList" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists location lists based on a given advertiser id.", + "flatPath": "v3/advertisers/{advertisersId}/locationLists", + "httpMethod": "GET", + "id": "displayvideo.advertisers.locationLists.list", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the fetched location lists belong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by location list fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `locationType` Examples: * All regional location list: `locationType=\"TARGETING_LOCATION_TYPE_REGIONAL\"` * All proximity location list: `locationType=\"TARGETING_LOCATION_TYPE_PROXIMITY\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `locationListId` (default) * `displayName` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. Defaults to `100` if not set. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListLocationLists` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/locationLists", + "response": { + "$ref": "ListLocationListsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates a location list. Returns the updated location list if successful.", + "flatPath": "v3/advertisers/{advertisersId}/locationLists/{locationListId}", + "httpMethod": "PATCH", + "id": "displayvideo.advertisers.locationLists.patch", + "parameterOrder": [ + "advertiserId", + "locationListId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the location lists belongs.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "locationListId": { + "description": "Output only. The unique ID of the location list. Assigned by the system.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/locationLists/{locationListId}", + "request": { + "$ref": "LocationList" + }, + "response": { + "$ref": "LocationList" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + }, + "resources": { + "assignedLocations": { + "methods": { + "bulkEdit": { + "description": "Bulk edits multiple assignments between locations and a single location list. The operation will delete the assigned locations provided in deletedAssignedLocations and then create the assigned locations provided in createdAssignedLocations.", + "flatPath": "v3/advertisers/{advertiserId}/locationLists/{locationListsId}/assignedLocations:bulkEdit", + "httpMethod": "POST", + "id": "displayvideo.advertisers.locationLists.assignedLocations.bulkEdit", + "parameterOrder": [ + "advertiserId", + "locationListId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the location list belongs.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "locationListId": { + "description": "Required. The ID of the location list to which these assignments are assigned.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{advertiserId}/locationLists/{+locationListId}/assignedLocations:bulkEdit", + "request": { + "$ref": "BulkEditAssignedLocationsRequest" + }, + "response": { + "$ref": "BulkEditAssignedLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "create": { + "description": "Creates an assignment between a location and a location list.", + "flatPath": "v3/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations", + "httpMethod": "POST", + "id": "displayvideo.advertisers.locationLists.assignedLocations.create", + "parameterOrder": [ + "advertiserId", + "locationListId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the location list belongs.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "locationListId": { + "description": "Required. The ID of the location list for which the assignment will be created.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations", + "request": { + "$ref": "AssignedLocation" + }, + "response": { + "$ref": "AssignedLocation" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes the assignment between a location and a location list.", + "flatPath": "v3/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations/{assignedLocationsId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.locationLists.assignedLocations.delete", + "parameterOrder": [ + "advertiserId", + "locationListId", + "assignedLocationId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the location list belongs.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "assignedLocationId": { + "description": "Required. The ID of the assigned location to delete.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "locationListId": { + "description": "Required. The ID of the location list to which this assignment is assigned.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations/{+assignedLocationId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists locations assigned to a location list.", + "flatPath": "v3/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations", + "httpMethod": "GET", + "id": "displayvideo.advertisers.locationLists.assignedLocations.list", + "parameterOrder": [ + "advertiserId", + "locationListId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the location list belongs.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by location list assignment fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the `OR` logical operator. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `assignedLocationId` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "locationListId": { + "description": "Required. The ID of the location list to which these assignments are assigned.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `assignedLocationId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be added to the field name. Example: `assignedLocationId desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListAssignedLocations` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v3/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations", + "response": { + "$ref": "ListAssignedLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } + }, + "negativeKeywordLists": { + "methods": { + "create": { + "description": "Creates a new negative keyword list. Returns the newly created negative keyword list if successful.", + "flatPath": "v3/advertisers/{advertisersId}/negativeKeywordLists", + "httpMethod": "POST", + "id": "displayvideo.advertisers.negativeKeywordLists.create", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the negative keyword list will belong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/negativeKeywordLists", + "request": { + "$ref": "NegativeKeywordList" + }, + "response": { + "$ref": "NegativeKeywordList" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes a negative keyword list given an advertiser ID and a negative keyword list ID.", + "flatPath": "v3/advertisers/{advertisersId}/negativeKeywordLists/{negativeKeywordListsId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.negativeKeywordLists.delete", + "parameterOrder": [ + "advertiserId", + "negativeKeywordListId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the negative keyword list belongs.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "negativeKeywordListId": { + "description": "Required. The ID of the negative keyword list to delete.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a negative keyword list given an advertiser ID and a negative keyword list ID.", + "flatPath": "v3/advertisers/{advertisersId}/negativeKeywordLists/{negativeKeywordListsId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.negativeKeywordLists.get", + "parameterOrder": [ + "advertiserId", + "negativeKeywordListId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the fetched negative keyword list belongs.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "negativeKeywordListId": { + "description": "Required. The ID of the negative keyword list to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}", + "response": { + "$ref": "NegativeKeywordList" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists negative keyword lists based on a given advertiser id.", + "flatPath": "v3/advertisers/{advertisersId}/negativeKeywordLists", + "httpMethod": "GET", + "id": "displayvideo.advertisers.negativeKeywordLists.list", + "parameterOrder": [ + "advertiserId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the fetched negative keyword lists belong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. Defaults to `100` if not set. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListNegativeKeywordLists` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/negativeKeywordLists", + "response": { + "$ref": "ListNegativeKeywordListsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates a negative keyword list. Returns the updated negative keyword list if successful.", + "flatPath": "v3/advertisers/{advertisersId}/negativeKeywordLists/{negativeKeywordListId}", + "httpMethod": "PATCH", + "id": "displayvideo.advertisers.negativeKeywordLists.patch", + "parameterOrder": [ + "advertiserId", + "negativeKeywordListId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the negative keyword list belongs.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "negativeKeywordListId": { + "description": "Output only. The unique ID of the negative keyword list. Assigned by the system.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/negativeKeywordLists/{negativeKeywordListId}", + "request": { + "$ref": "NegativeKeywordList" + }, + "response": { + "$ref": "NegativeKeywordList" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + }, + "resources": { + "negativeKeywords": { + "methods": { + "bulkEdit": { + "description": "Bulk edits negative keywords in a single negative keyword list. The operation will delete the negative keywords provided in BulkEditNegativeKeywordsRequest.deleted_negative_keywords and then create the negative keywords provided in BulkEditNegativeKeywordsRequest.created_negative_keywords. This operation is guaranteed to be atomic and will never result in a partial success or partial failure.", + "flatPath": "v3/advertisers/{advertiserId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords:bulkEdit", + "httpMethod": "POST", + "id": "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.bulkEdit", + "parameterOrder": [ + "advertiserId", + "negativeKeywordListId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "negativeKeywordListId": { + "description": "Required. The ID of the parent negative keyword list to which the negative keywords belong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords:bulkEdit", + "request": { + "$ref": "BulkEditNegativeKeywordsRequest" + }, + "response": { + "$ref": "BulkEditNegativeKeywordsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "create": { + "description": "Creates a negative keyword in a negative keyword list.", + "flatPath": "v3/advertisers/{advertiserId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords", + "httpMethod": "POST", + "id": "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.create", + "parameterOrder": [ + "advertiserId", + "negativeKeywordListId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "negativeKeywordListId": { + "description": "Required. The ID of the parent negative keyword list in which the negative keyword will be created.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords", + "request": { + "$ref": "NegativeKeyword" + }, + "response": { + "$ref": "NegativeKeyword" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes a negative keyword from a negative keyword list.", + "flatPath": "v3/advertisers/{advertiserId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords/{negativeKeywordsId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.delete", + "parameterOrder": [ + "advertiserId", + "negativeKeywordListId", + "keywordValue" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "keywordValue": { + "description": "Required. The keyword value of the negative keyword to delete.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "negativeKeywordListId": { + "description": "Required. The ID of the parent negative keyword list to which the negative keyword belongs.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords/{+keywordValue}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists negative keywords in a negative keyword list.", + "flatPath": "v3/advertisers/{advertisersId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords", + "httpMethod": "GET", + "id": "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.list", + "parameterOrder": [ + "advertiserId", + "negativeKeywordListId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by negative keyword fields. Supported syntax: * Filter expressions for negative keywords can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `keywordValue` Examples: * All negative keywords for which the keyword value contains \"google\": `keywordValue : \"google\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "negativeKeywordListId": { + "description": "Required. The ID of the parent negative keyword list to which the requested negative keywords belong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `keywordValue` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be added to the field name. Example: `keywordValue desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `1000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListNegativeKeywords` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords", + "response": { + "$ref": "ListNegativeKeywordsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "replace": { + "description": "Replaces all negative keywords in a single negative keyword list. The operation will replace the keywords in a negative keyword list with keywords provided in ReplaceNegativeKeywordsRequest.new_negative_keywords.", + "flatPath": "v3/advertisers/{advertiserId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords:replace", + "httpMethod": "POST", + "id": "displayvideo.advertisers.negativeKeywordLists.negativeKeywords.replace", + "parameterOrder": [ + "advertiserId", + "negativeKeywordListId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "negativeKeywordListId": { + "description": "Required. The ID of the parent negative keyword list to which the negative keywords belong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords:replace", + "request": { + "$ref": "ReplaceNegativeKeywordsRequest" + }, + "response": { + "$ref": "ReplaceNegativeKeywordsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } + }, + "targetingTypes": { + "resources": { + "assignedTargetingOptions": { + "methods": { + "create": { + "description": "Assigns a targeting option to an advertiser. Returns the assigned targeting option if successful.", + "flatPath": "v3/advertisers/{advertisersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions", + "httpMethod": "POST", + "id": "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.create", + "parameterOrder": [ + "advertiserId", + "targetingType" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions", + "request": { + "$ref": "AssignedTargetingOption" + }, + "response": { + "$ref": "AssignedTargetingOption" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes an assigned targeting option from an advertiser.", + "flatPath": "v3/advertisers/{advertisersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}", + "httpMethod": "DELETE", + "id": "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.delete", + "parameterOrder": [ + "advertiserId", + "targetingType", + "assignedTargetingOptionId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "assignedTargetingOptionId": { + "description": "Required. The ID of the assigned targeting option to delete.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a single targeting option assigned to an advertiser.", + "flatPath": "v3/advertisers/{advertisersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}", + "httpMethod": "GET", + "id": "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.get", + "parameterOrder": [ + "advertiserId", + "targetingType", + "assignedTargetingOptionId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "assignedTargetingOptionId": { + "description": "Required. An identifier unique to the targeting type in this advertiser that identifies the assigned targeting option being requested.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}", + "response": { + "$ref": "AssignedTargetingOption" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists the targeting options assigned to an advertiser.", + "flatPath": "v3/advertisers/{advertisersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions", + "httpMethod": "GET", + "id": "displayvideo.advertisers.targetingTypes.assignedTargetingOptions.list", + "parameterOrder": [ + "advertiserId", + "targetingType" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the `OR` logical operator. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` Examples: * `AssignedTargetingOption` with ID 123456: `assignedTargetingOptionId=\"123456\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `assignedTargetingOptionId desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListAdvertiserAssignedTargetingOptions` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of assigned targeting options to list. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions", + "response": { + "$ref": "ListAdvertiserAssignedTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } + } + } + }, + "combinedAudiences": { + "methods": { + "get": { + "description": "Gets a combined audience.", + "flatPath": "v3/combinedAudiences/{combinedAudiencesId}", + "httpMethod": "GET", + "id": "displayvideo.combinedAudiences.get", + "parameterOrder": [ + "combinedAudienceId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that has access to the fetched combined audience.", + "format": "int64", + "location": "query", + "type": "string" + }, + "combinedAudienceId": { + "description": "Required. The ID of the combined audience to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that has access to the fetched combined audience.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/combinedAudiences/{+combinedAudienceId}", + "response": { + "$ref": "CombinedAudience" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists combined audiences. The order is defined by the order_by parameter.", + "flatPath": "v3/combinedAudiences", + "httpMethod": "GET", + "id": "displayvideo.combinedAudiences.list", + "parameterOrder": [], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that has access to the fetched combined audiences.", + "format": "int64", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Allows filtering by combined audience fields. Supported syntax: * Filter expressions for combined audiences can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * All combined audiences for which the display name contains \"Google\": `displayName : \"Google\"`. The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `combinedAudienceId` (default) * `displayName` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCombinedAudiences` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that has access to the fetched combined audiences.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/combinedAudiences", + "response": { + "$ref": "ListCombinedAudiencesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + }, + "customBiddingAlgorithms": { + "methods": { + "create": { + "description": "Creates a new custom bidding algorithm. Returns the newly created custom bidding algorithm if successful.", + "flatPath": "v3/customBiddingAlgorithms", + "httpMethod": "POST", + "id": "displayvideo.customBiddingAlgorithms.create", + "parameterOrder": [], + "parameters": {}, + "path": "v3/customBiddingAlgorithms", + "request": { + "$ref": "CustomBiddingAlgorithm" + }, + "response": { + "$ref": "CustomBiddingAlgorithm" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a custom bidding algorithm.", + "flatPath": "v3/customBiddingAlgorithms/{customBiddingAlgorithmsId}", + "httpMethod": "GET", + "id": "displayvideo.customBiddingAlgorithms.get", + "parameterOrder": [ + "customBiddingAlgorithmId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the DV360 partner that has access to the custom bidding algorithm.", + "format": "int64", + "location": "query", + "type": "string" + }, + "customBiddingAlgorithmId": { + "description": "Required. The ID of the custom bidding algorithm to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the DV360 partner that has access to the custom bidding algorithm.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/customBiddingAlgorithms/{+customBiddingAlgorithmId}", + "response": { + "$ref": "CustomBiddingAlgorithm" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists custom bidding algorithms that are accessible to the current user and can be used in bidding stratgies. The order is defined by the order_by parameter.", + "flatPath": "v3/customBiddingAlgorithms", + "httpMethod": "GET", + "id": "displayvideo.customBiddingAlgorithms.list", + "parameterOrder": [], + "parameters": { + "advertiserId": { + "description": "The ID of the DV360 advertiser that has access to the custom bidding algorithm.", + "format": "int64", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Allows filtering by custom bidding algorithm fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND`. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The `customBiddingAlgorithmType` field must use the `EQUALS (=)` operator. * The `displayName` field must use the `HAS (:)` operator. Supported fields: * `customBiddingAlgorithmType` * `displayName` Examples: * All custom bidding algorithms for which the display name contains \"politics\": `displayName:\"politics\"`. * All custom bidding algorithms for which the type is \"SCRIPT_BASED\": `customBiddingAlgorithmType=SCRIPT_BASED` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCustomBiddingAlgorithms` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the DV360 partner that has access to the custom bidding algorithm.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/customBiddingAlgorithms", + "response": { + "$ref": "ListCustomBiddingAlgorithmsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates an existing custom bidding algorithm. Returns the updated custom bidding algorithm if successful.", + "flatPath": "v3/customBiddingAlgorithms/{customBiddingAlgorithmsId}", + "httpMethod": "PATCH", + "id": "displayvideo.customBiddingAlgorithms.patch", + "parameterOrder": [ + "customBiddingAlgorithmId" + ], + "parameters": { + "customBiddingAlgorithmId": { + "description": "Output only. The unique ID of the custom bidding algorithm. Assigned by the system.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v3/customBiddingAlgorithms/{+customBiddingAlgorithmId}", + "request": { + "$ref": "CustomBiddingAlgorithm" + }, + "response": { + "$ref": "CustomBiddingAlgorithm" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "uploadRules": { + "description": "Creates a rules reference object for an AlgorithmRules file. The resulting reference object provides a resource path where the AlgorithmRules file should be uploaded. This reference object should be included when creating a new CustomBiddingAlgorithmRules resource.", + "flatPath": "v3/customBiddingAlgorithms/{customBiddingAlgorithmsId}:uploadRules", + "httpMethod": "GET", + "id": "displayvideo.customBiddingAlgorithms.uploadRules", + "parameterOrder": [ + "customBiddingAlgorithmId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent custom bidding algorithm.", + "format": "int64", + "location": "query", + "type": "string" + }, + "customBiddingAlgorithmId": { + "description": "Required. The ID of the custom bidding algorithm that owns the rules resource.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent custom bidding algorithm.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/customBiddingAlgorithms/{+customBiddingAlgorithmId}:uploadRules", + "response": { + "$ref": "CustomBiddingAlgorithmRulesRef" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "uploadScript": { + "description": "Creates a custom bidding script reference object for a script file. The resulting reference object provides a resource path to which the script file should be uploaded. This reference object should be included in when creating a new custom bidding script object.", + "flatPath": "v3/customBiddingAlgorithms/{customBiddingAlgorithmsId}:uploadScript", + "httpMethod": "GET", + "id": "displayvideo.customBiddingAlgorithms.uploadScript", + "parameterOrder": [ + "customBiddingAlgorithmId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent custom bidding algorithm.", + "format": "int64", + "location": "query", + "type": "string" + }, + "customBiddingAlgorithmId": { + "description": "Required. The ID of the custom bidding algorithm owns the script.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent custom bidding algorithm. Only this partner will have write access to this custom bidding script.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/customBiddingAlgorithms/{+customBiddingAlgorithmId}:uploadScript", + "response": { + "$ref": "CustomBiddingScriptRef" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + }, + "resources": { + "rules": { + "methods": { + "create": { + "description": "Creates a new rules resource. Returns the newly created rules resource if successful.", + "flatPath": "v3/customBiddingAlgorithms/{customBiddingAlgorithmsId}/rules", + "httpMethod": "POST", + "id": "displayvideo.customBiddingAlgorithms.rules.create", + "parameterOrder": [ + "customBiddingAlgorithmId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent custom bidding algorithm.", + "format": "int64", + "location": "query", + "type": "string" + }, + "customBiddingAlgorithmId": { + "description": "Required. The ID of the custom bidding algorithm that owns the rules resource.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent custom bidding algorithm. Only this partner will have write access to this rules resource.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/customBiddingAlgorithms/{+customBiddingAlgorithmId}/rules", + "request": { + "$ref": "CustomBiddingAlgorithmRules" + }, + "response": { + "$ref": "CustomBiddingAlgorithmRules" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Retrieves a rules resource.", + "flatPath": "v3/customBiddingAlgorithms/{customBiddingAlgorithmsId}/rules/{rulesId}", + "httpMethod": "GET", + "id": "displayvideo.customBiddingAlgorithms.rules.get", + "parameterOrder": [ + "customBiddingAlgorithmId", + "customBiddingAlgorithmRulesId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent custom bidding algorithm.", + "format": "int64", + "location": "query", + "type": "string" + }, + "customBiddingAlgorithmId": { + "description": "Required. The ID of the custom bidding algorithm that owns the rules resource.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "customBiddingAlgorithmRulesId": { + "description": "Required. The ID of the rules resource to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent custom bidding algorithm.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/customBiddingAlgorithms/{+customBiddingAlgorithmId}/rules/{+customBiddingAlgorithmRulesId}", + "response": { + "$ref": "CustomBiddingAlgorithmRules" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists rules resources that belong to the given algorithm. The order is defined by the order_by parameter.", + "flatPath": "v3/customBiddingAlgorithms/{customBiddingAlgorithmsId}/rules", + "httpMethod": "GET", + "id": "displayvideo.customBiddingAlgorithms.rules.list", + "parameterOrder": [ + "customBiddingAlgorithmId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent custom bidding algorithm.", + "format": "int64", + "location": "query", + "type": "string" + }, + "customBiddingAlgorithmId": { + "description": "Required. The ID of the custom bidding algorithm that owns the rules resource.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `createTime desc` (default) The default sorting order is descending. To specify ascending order for a field, the suffix \"desc\" should be removed. Example: `createTime`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCustomBiddingAlgorithmRules` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent custom bidding algorithm.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/customBiddingAlgorithms/{+customBiddingAlgorithmId}/rules", + "response": { + "$ref": "ListCustomBiddingAlgorithmRulesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + }, + "scripts": { + "methods": { + "create": { + "description": "Creates a new custom bidding script. Returns the newly created script if successful.", + "flatPath": "v3/customBiddingAlgorithms/{customBiddingAlgorithmsId}/scripts", + "httpMethod": "POST", + "id": "displayvideo.customBiddingAlgorithms.scripts.create", + "parameterOrder": [ + "customBiddingAlgorithmId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent custom bidding algorithm.", + "format": "int64", + "location": "query", + "type": "string" + }, + "customBiddingAlgorithmId": { + "description": "Required. The ID of the custom bidding algorithm that owns the script.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent custom bidding algorithm. Only this partner will have write access to this custom bidding script.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/customBiddingAlgorithms/{+customBiddingAlgorithmId}/scripts", + "request": { + "$ref": "CustomBiddingScript" + }, + "response": { + "$ref": "CustomBiddingScript" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a custom bidding script.", + "flatPath": "v3/customBiddingAlgorithms/{customBiddingAlgorithmsId}/scripts/{scriptsId}", + "httpMethod": "GET", + "id": "displayvideo.customBiddingAlgorithms.scripts.get", + "parameterOrder": [ + "customBiddingAlgorithmId", + "customBiddingScriptId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent custom bidding algorithm.", + "format": "int64", + "location": "query", + "type": "string" + }, + "customBiddingAlgorithmId": { + "description": "Required. The ID of the custom bidding algorithm owns the script.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "customBiddingScriptId": { + "description": "Required. The ID of the custom bidding script to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent custom bidding algorithm. Only this partner will have write access to this custom bidding script.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/customBiddingAlgorithms/{+customBiddingAlgorithmId}/scripts/{+customBiddingScriptId}", + "response": { + "$ref": "CustomBiddingScript" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists custom bidding scripts that belong to the given algorithm. The order is defined by the order_by parameter.", + "flatPath": "v3/customBiddingAlgorithms/{customBiddingAlgorithmsId}/scripts", + "httpMethod": "GET", + "id": "displayvideo.customBiddingAlgorithms.scripts.list", + "parameterOrder": [ + "customBiddingAlgorithmId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent custom bidding algorithm.", + "format": "int64", + "location": "query", + "type": "string" + }, + "customBiddingAlgorithmId": { + "description": "Required. The ID of the custom bidding algorithm owns the script.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `createTime desc` (default) The default sorting order is descending. To specify ascending order for a field, the suffix \"desc\" should be removed. Example: `createTime`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCustomBiddingScripts` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent custom bidding algorithm. Only this partner will have write access to this custom bidding script.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/customBiddingAlgorithms/{+customBiddingAlgorithmId}/scripts", + "response": { + "$ref": "ListCustomBiddingScriptsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } + }, + "customLists": { + "methods": { + "get": { + "description": "Gets a custom list.", + "flatPath": "v3/customLists/{customListsId}", + "httpMethod": "GET", + "id": "displayvideo.customLists.get", + "parameterOrder": [ + "customListId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the DV360 advertiser that has access to the fetched custom lists.", + "format": "int64", + "location": "query", + "type": "string" + }, + "customListId": { + "description": "Required. The ID of the custom list to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/customLists/{+customListId}", + "response": { + "$ref": "CustomList" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists custom lists. The order is defined by the order_by parameter.", + "flatPath": "v3/customLists", + "httpMethod": "GET", + "id": "displayvideo.customLists.list", + "parameterOrder": [], + "parameters": { + "advertiserId": { + "description": "The ID of the DV360 advertiser that has access to the fetched custom lists.", + "format": "int64", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Allows filtering by custom list fields. Supported syntax: * Filter expressions for custom lists can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * All custom lists for which the display name contains \"Google\": `displayName:\"Google\"`. The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `customListId` (default) * `displayName` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCustomLists` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v3/customLists", + "response": { + "$ref": "ListCustomListsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + }, + "firstAndThirdPartyAudiences": { + "methods": { + "create": { + "description": "Creates a FirstAndThirdPartyAudience. Only supported for the following audience_type: * `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID`", + "flatPath": "v3/firstAndThirdPartyAudiences", + "httpMethod": "POST", + "id": "displayvideo.firstAndThirdPartyAudiences.create", + "parameterOrder": [], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the advertiser under whom the FirstAndThirdPartyAudience will be created.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/firstAndThirdPartyAudiences", + "request": { + "$ref": "FirstAndThirdPartyAudience" + }, + "response": { + "$ref": "FirstAndThirdPartyAudience" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "editCustomerMatchMembers": { + "description": "Updates the member list of a Customer Match audience. Only supported for the following audience_type: * `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID`", + "flatPath": "v3/firstAndThirdPartyAudiences/{firstAndThirdPartyAudiencesId}:editCustomerMatchMembers", + "httpMethod": "POST", + "id": "displayvideo.firstAndThirdPartyAudiences.editCustomerMatchMembers", + "parameterOrder": [ + "firstAndThirdPartyAudienceId" + ], + "parameters": { + "firstAndThirdPartyAudienceId": { + "description": "Required. The ID of the Customer Match FirstAndThirdPartyAudience whose members will be edited.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/firstAndThirdPartyAudiences/{+firstAndThirdPartyAudienceId}:editCustomerMatchMembers", + "request": { + "$ref": "EditCustomerMatchMembersRequest" + }, + "response": { + "$ref": "EditCustomerMatchMembersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a first and third party audience.", + "flatPath": "v3/firstAndThirdPartyAudiences/{firstAndThirdPartyAudiencesId}", + "httpMethod": "GET", + "id": "displayvideo.firstAndThirdPartyAudiences.get", + "parameterOrder": [ + "firstAndThirdPartyAudienceId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that has access to the fetched first and third party audience.", + "format": "int64", + "location": "query", + "type": "string" + }, + "firstAndThirdPartyAudienceId": { + "description": "Required. The ID of the first and third party audience to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that has access to the fetched first and third party audience.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/firstAndThirdPartyAudiences/{+firstAndThirdPartyAudienceId}", + "response": { + "$ref": "FirstAndThirdPartyAudience" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists first and third party audiences. The order is defined by the order_by parameter.", + "flatPath": "v3/firstAndThirdPartyAudiences", + "httpMethod": "GET", + "id": "displayvideo.firstAndThirdPartyAudiences.list", + "parameterOrder": [], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that has access to the fetched first and third party audiences.", + "format": "int64", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Allows filtering by first and third party audience fields. Supported syntax: * Filter expressions for first and third party audiences can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * All first and third party audiences for which the display name contains \"Google\": `displayName:\"Google\"`. The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `firstAndThirdPartyAudienceId` (default) * `displayName` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListFirstAndThirdPartyAudiences` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that has access to the fetched first and third party audiences.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/firstAndThirdPartyAudiences", + "response": { + "$ref": "ListFirstAndThirdPartyAudiencesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates an existing FirstAndThirdPartyAudience. Only supported for the following audience_type: * `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID`", + "flatPath": "v3/firstAndThirdPartyAudiences/{firstAndThirdPartyAudiencesId}", + "httpMethod": "PATCH", + "id": "displayvideo.firstAndThirdPartyAudiences.patch", + "parameterOrder": [ + "firstAndThirdPartyAudienceId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The ID of the owner advertiser of the updated FirstAndThirdPartyAudience.", + "format": "int64", + "location": "query", + "type": "string" + }, + "firstAndThirdPartyAudienceId": { + "description": "Output only. The unique ID of the first and third party audience. Assigned by the system.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update. Updates are only supported for the following fields: * `displayName` * `description` * `membershipDurationDays`", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v3/firstAndThirdPartyAudiences/{+firstAndThirdPartyAudienceId}", + "request": { + "$ref": "FirstAndThirdPartyAudience" + }, + "response": { + "$ref": "FirstAndThirdPartyAudience" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + }, + "floodlightGroups": { + "methods": { + "get": { + "description": "Gets a Floodlight group.", + "flatPath": "v3/floodlightGroups/{floodlightGroupsId}", + "httpMethod": "GET", + "id": "displayvideo.floodlightGroups.get", + "parameterOrder": [ + "floodlightGroupId" + ], + "parameters": { + "floodlightGroupId": { + "description": "Required. The ID of the Floodlight group to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "Required. The partner context by which the Floodlight group is being accessed.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/floodlightGroups/{+floodlightGroupId}", + "response": { + "$ref": "FloodlightGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates an existing Floodlight group. Returns the updated Floodlight group if successful.", + "flatPath": "v3/floodlightGroups/{floodlightGroupId}", + "httpMethod": "PATCH", + "id": "displayvideo.floodlightGroups.patch", + "parameterOrder": [ + "floodlightGroupId" + ], + "parameters": { + "floodlightGroupId": { + "description": "Output only. The unique ID of the Floodlight group. Assigned by the system.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "Required. The partner context by which the Floodlight group is being accessed.", + "format": "int64", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v3/floodlightGroups/{floodlightGroupId}", + "request": { + "$ref": "FloodlightGroup" + }, + "response": { + "$ref": "FloodlightGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + }, + "googleAudiences": { + "methods": { + "get": { + "description": "Gets a Google audience.", + "flatPath": "v3/googleAudiences/{googleAudiencesId}", + "httpMethod": "GET", + "id": "displayvideo.googleAudiences.get", + "parameterOrder": [ + "googleAudienceId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that has access to the fetched Google audience.", + "format": "int64", + "location": "query", + "type": "string" + }, + "googleAudienceId": { + "description": "Required. The ID of the Google audience to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that has access to the fetched Google audience.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/googleAudiences/{+googleAudienceId}", + "response": { + "$ref": "GoogleAudience" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists Google audiences. The order is defined by the order_by parameter.", + "flatPath": "v3/googleAudiences", + "httpMethod": "GET", + "id": "displayvideo.googleAudiences.list", + "parameterOrder": [], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that has access to the fetched Google audiences.", + "format": "int64", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Allows filtering by Google audience fields. Supported syntax: * Filter expressions for Google audiences can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * All Google audiences for which the display name contains \"Google\": `displayName:\"Google\"`. The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `googleAudienceId` (default) * `displayName` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListGoogleAudiences` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that has access to the fetched Google audiences.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/googleAudiences", + "response": { + "$ref": "ListGoogleAudiencesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + }, + "guaranteedOrders": { + "methods": { + "create": { + "description": "Creates a new guaranteed order. Returns the newly created guaranteed order if successful.", + "flatPath": "v3/guaranteedOrders", + "httpMethod": "POST", + "id": "displayvideo.guaranteedOrders.create", + "parameterOrder": [], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that the request is being made within.", + "format": "int64", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that the request is being made within.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/guaranteedOrders", + "request": { + "$ref": "GuaranteedOrder" + }, + "response": { + "$ref": "GuaranteedOrder" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "editGuaranteedOrderReadAccessors": { + "description": "Edits read advertisers of a guaranteed order.", + "flatPath": "v3/guaranteedOrders/{guaranteedOrdersId}:editGuaranteedOrderReadAccessors", + "httpMethod": "POST", + "id": "displayvideo.guaranteedOrders.editGuaranteedOrderReadAccessors", + "parameterOrder": [ + "guaranteedOrderId" + ], + "parameters": { + "guaranteedOrderId": { + "description": "Required. The ID of the guaranteed order to edit. The ID is of the format `{exchange}-{legacy_guaranteed_order_id}`", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/guaranteedOrders/{+guaranteedOrderId}:editGuaranteedOrderReadAccessors", + "request": { + "$ref": "EditGuaranteedOrderReadAccessorsRequest" + }, + "response": { + "$ref": "EditGuaranteedOrderReadAccessorsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a guaranteed order.", + "flatPath": "v3/guaranteedOrders/{guaranteedOrdersId}", + "httpMethod": "GET", + "id": "displayvideo.guaranteedOrders.get", + "parameterOrder": [ + "guaranteedOrderId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that has access to the guaranteed order.", + "format": "int64", + "location": "query", + "type": "string" + }, + "guaranteedOrderId": { + "description": "Required. The ID of the guaranteed order to fetch. The ID is of the format `{exchange}-{legacy_guaranteed_order_id}`", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that has access to the guaranteed order.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/guaranteedOrders/{+guaranteedOrderId}", + "response": { + "$ref": "GuaranteedOrder" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists guaranteed orders that are accessible to the current user. The order is defined by the order_by parameter. If a filter by entity_status is not specified, guaranteed orders with entity status `ENTITY_STATUS_ARCHIVED` will not be included in the results.", + "flatPath": "v3/guaranteedOrders", + "httpMethod": "GET", + "id": "displayvideo.guaranteedOrders.list", + "parameterOrder": [], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that has access to the guaranteed order.", + "format": "int64", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Allows filtering by guaranteed order fields. * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `guaranteed_order_id` * `exchange` * `display_name` * `status.entityStatus` Examples: * All active guaranteed orders: `status.entityStatus=\"ENTITY_STATUS_ACTIVE\"` * Guaranteed orders belonging to Google Ad Manager or Rubicon exchanges: `exchange=\"EXCHANGE_GOOGLE_AD_MANAGER\" OR exchange=\"EXCHANGE_RUBICON\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. For example, `displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListGuaranteedOrders` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that has access to the guaranteed order.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/guaranteedOrders", + "response": { + "$ref": "ListGuaranteedOrdersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates an existing guaranteed order. Returns the updated guaranteed order if successful.", + "flatPath": "v3/guaranteedOrders/{guaranteedOrdersId}", + "httpMethod": "PATCH", + "id": "displayvideo.guaranteedOrders.patch", + "parameterOrder": [ + "guaranteedOrderId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that the request is being made within.", + "format": "int64", + "location": "query", + "type": "string" + }, + "guaranteedOrderId": { + "description": "Output only. The unique identifier of the guaranteed order. The guaranteed order IDs have the format `{exchange}-{legacy_guaranteed_order_id}`.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that the request is being made within.", + "format": "int64", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v3/guaranteedOrders/{+guaranteedOrderId}", + "request": { + "$ref": "GuaranteedOrder" + }, + "response": { + "$ref": "GuaranteedOrder" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + }, + "inventorySourceGroups": { + "methods": { + "create": { + "description": "Creates a new inventory source group. Returns the newly created inventory source group if successful.", + "flatPath": "v3/inventorySourceGroups", + "httpMethod": "POST", + "id": "displayvideo.inventorySourceGroups.create", + "parameterOrder": [], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the inventory source group. The parent partner will not have access to this group.", + "format": "int64", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the inventory source group. Only this partner will have write access to this group. Only advertisers to which this group is explicitly shared will have read access to this group.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/inventorySourceGroups", + "request": { + "$ref": "InventorySourceGroup" + }, + "response": { + "$ref": "InventorySourceGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes an inventory source group.", + "flatPath": "v3/inventorySourceGroups/{inventorySourceGroupsId}", + "httpMethod": "DELETE", + "id": "displayvideo.inventorySourceGroups.delete", + "parameterOrder": [ + "inventorySourceGroupId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the inventory source group. The parent partner does not have access to this group.", + "format": "int64", + "location": "query", + "type": "string" + }, + "inventorySourceGroupId": { + "description": "Required. The ID of the inventory source group to delete.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the inventory source group. Only this partner has write access to this group.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/inventorySourceGroups/{+inventorySourceGroupId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets an inventory source group.", + "flatPath": "v3/inventorySourceGroups/{inventorySourceGroupsId}", + "httpMethod": "GET", + "id": "displayvideo.inventorySourceGroups.get", + "parameterOrder": [ + "inventorySourceGroupId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that has access to the inventory source group. If an inventory source group is partner-owned, only advertisers to which the group is explicitly shared can access the group.", + "format": "int64", + "location": "query", + "type": "string" + }, + "inventorySourceGroupId": { + "description": "Required. The ID of the inventory source group to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that has access to the inventory source group. A partner cannot access an advertiser-owned inventory source group.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/inventorySourceGroups/{+inventorySourceGroupId}", + "response": { + "$ref": "InventorySourceGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists inventory source groups that are accessible to the current user. The order is defined by the order_by parameter.", + "flatPath": "v3/inventorySourceGroups", + "httpMethod": "GET", + "id": "displayvideo.inventorySourceGroups.list", + "parameterOrder": [], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that has access to the inventory source group. If an inventory source group is partner-owned, only advertisers to which the group is explicitly shared can access the group.", + "format": "int64", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Allows filtering by inventory source group fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `inventorySourceGroupId` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) * `inventorySourceGroupId` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. For example, `displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListInventorySources` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that has access to the inventory source group. A partner cannot access advertiser-owned inventory source groups.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/inventorySourceGroups", + "response": { + "$ref": "ListInventorySourceGroupsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates an inventory source group. Returns the updated inventory source group if successful.", + "flatPath": "v3/inventorySourceGroups/{inventorySourceGroupId}", + "httpMethod": "PATCH", + "id": "displayvideo.inventorySourceGroups.patch", + "parameterOrder": [ + "inventorySourceGroupId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the inventory source group. The parent partner does not have access to this group.", + "format": "int64", + "location": "query", + "type": "string" + }, + "inventorySourceGroupId": { + "description": "Output only. The unique ID of the inventory source group. Assigned by the system.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the inventory source group. Only this partner has write access to this group.", + "format": "int64", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v3/inventorySourceGroups/{inventorySourceGroupId}", + "request": { + "$ref": "InventorySourceGroup" + }, + "response": { + "$ref": "InventorySourceGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + }, + "resources": { + "assignedInventorySources": { + "methods": { + "bulkEdit": { + "description": "Bulk edits multiple assignments between inventory sources and a single inventory source group. The operation will delete the assigned inventory sources provided in BulkEditAssignedInventorySourcesRequest.deleted_assigned_inventory_sources and then create the assigned inventory sources provided in BulkEditAssignedInventorySourcesRequest.created_assigned_inventory_sources.", + "flatPath": "v3/inventorySourceGroups/{inventorySourceGroupsId}/assignedInventorySources:bulkEdit", + "httpMethod": "POST", + "id": "displayvideo.inventorySourceGroups.assignedInventorySources.bulkEdit", + "parameterOrder": [ + "inventorySourceGroupId" + ], + "parameters": { + "inventorySourceGroupId": { + "description": "Required. The ID of the inventory source group to which the assignments are assigned.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources:bulkEdit", + "request": { + "$ref": "BulkEditAssignedInventorySourcesRequest" + }, + "response": { + "$ref": "BulkEditAssignedInventorySourcesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "create": { + "description": "Creates an assignment between an inventory source and an inventory source group.", + "flatPath": "v3/inventorySourceGroups/{inventorySourceGroupsId}/assignedInventorySources", + "httpMethod": "POST", + "id": "displayvideo.inventorySourceGroups.assignedInventorySources.create", + "parameterOrder": [ + "inventorySourceGroupId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent inventory source group. The parent partner will not have access to this assigned inventory source.", + "format": "int64", + "location": "query", + "type": "string" + }, + "inventorySourceGroupId": { + "description": "Required. The ID of the inventory source group to which the assignment will be assigned.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent inventory source group. Only this partner will have write access to this assigned inventory source.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources", + "request": { + "$ref": "AssignedInventorySource" + }, + "response": { + "$ref": "AssignedInventorySource" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes the assignment between an inventory source and an inventory source group.", + "flatPath": "v3/inventorySourceGroups/{inventorySourceGroupsId}/assignedInventorySources/{assignedInventorySourcesId}", + "httpMethod": "DELETE", + "id": "displayvideo.inventorySourceGroups.assignedInventorySources.delete", + "parameterOrder": [ + "inventorySourceGroupId", + "assignedInventorySourceId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent inventory source group. The parent partner does not have access to this assigned inventory source.", + "format": "int64", + "location": "query", + "type": "string" + }, + "assignedInventorySourceId": { + "description": "Required. The ID of the assigned inventory source to delete.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "inventorySourceGroupId": { + "description": "Required. The ID of the inventory source group to which this assignment is assigned.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent inventory source group. Only this partner has write access to this assigned inventory source.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources/{+assignedInventorySourceId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists inventory sources assigned to an inventory source group.", + "flatPath": "v3/inventorySourceGroups/{inventorySourceGroupsId}/assignedInventorySources", + "httpMethod": "GET", + "id": "displayvideo.inventorySourceGroups.assignedInventorySources.list", + "parameterOrder": [ + "inventorySourceGroupId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that has access to the assignment. If the parent inventory source group is partner-owned, only advertisers to which the parent group is explicitly shared can access the assigned inventory source.", + "format": "int64", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Allows filtering by assigned inventory source fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the `OR` logical operator. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `assignedInventorySourceId` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "inventorySourceGroupId": { + "description": "Required. The ID of the inventory source group to which these assignments are assigned.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `assignedInventorySourceId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be added to the field name. Example: `assignedInventorySourceId desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListAssignedInventorySources` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that has access to the assignment. If the parent inventory source group is advertiser-owned, the assignment cannot be accessed via a partner.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources", + "response": { + "$ref": "ListAssignedInventorySourcesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } + }, + "inventorySources": { + "methods": { + "create": { + "description": "Creates a new inventory source. Returns the newly created inventory source if successful.", + "flatPath": "v3/inventorySources", + "httpMethod": "POST", + "id": "displayvideo.inventorySources.create", + "parameterOrder": [], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that the request is being made within.", + "format": "int64", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that the request is being made within.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/inventorySources", + "request": { + "$ref": "InventorySource" + }, + "response": { + "$ref": "InventorySource" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "editInventorySourceReadWriteAccessors": { + "description": "Edits read/write accessors of an inventory source. Returns the updated read_write_accessors for the inventory source.", + "flatPath": "v3/inventorySources/{inventorySourcesId}:editInventorySourceReadWriteAccessors", + "httpMethod": "POST", + "id": "displayvideo.inventorySources.editInventorySourceReadWriteAccessors", + "parameterOrder": [ + "inventorySourceId" + ], + "parameters": { + "inventorySourceId": { + "description": "Required. The ID of inventory source to update.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/inventorySources/{+inventorySourceId}:editInventorySourceReadWriteAccessors", + "request": { + "$ref": "EditInventorySourceReadWriteAccessorsRequest" + }, + "response": { + "$ref": "InventorySourceAccessors" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets an inventory source.", + "flatPath": "v3/inventorySources/{inventorySourcesId}", + "httpMethod": "GET", + "id": "displayvideo.inventorySources.get", + "parameterOrder": [ + "inventorySourceId" + ], + "parameters": { + "advertiserId": { + "description": "Optional. The ID of the DV360 advertiser to which the fetched inventory source is permissioned. If the user only has access to the advertiser and not the parent partner, use this field to specify the relevant advertiser.", + "format": "int64", + "location": "query", + "type": "string" + }, + "inventorySourceId": { + "description": "Required. The ID of the inventory source to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "Required. The ID of the DV360 partner to which the fetched inventory source is permissioned.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/inventorySources/{+inventorySourceId}", + "response": { + "$ref": "InventorySource" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists inventory sources that are accessible to the current user. The order is defined by the order_by parameter. If a filter by entity_status is not specified, inventory sources with entity status `ENTITY_STATUS_ARCHIVED` will not be included in the results.", + "flatPath": "v3/inventorySources", + "httpMethod": "GET", + "id": "displayvideo.inventorySources.list", + "parameterOrder": [], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that has access to the inventory source.", + "format": "int64", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Allows filtering by inventory source fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `status.entityStatus` * `commitment` * `deliveryMethod` * `rateDetails.rateType` * `exchange` Examples: * All active inventory sources: `status.entityStatus=\"ENTITY_STATUS_ACTIVE\"` * Inventory sources belonging to Google Ad Manager or Rubicon exchanges: `exchange=\"EXCHANGE_GOOGLE_AD_MANAGER\" OR exchange=\"EXCHANGE_RUBICON\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. For example, `displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListInventorySources` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that has access to the inventory source.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v3/inventorySources", + "response": { + "$ref": "ListInventorySourcesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates an existing inventory source. Returns the updated inventory source if successful.", + "flatPath": "v3/inventorySources/{inventorySourcesId}", + "httpMethod": "PATCH", + "id": "displayvideo.inventorySources.patch", + "parameterOrder": [ + "inventorySourceId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that the request is being made within.", + "format": "int64", + "location": "query", + "type": "string" + }, + "inventorySourceId": { + "description": "Output only. The unique ID of the inventory source. Assigned by the system.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that the request is being made within.", + "format": "int64", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v3/inventorySources/{+inventorySourceId}", + "request": { + "$ref": "InventorySource" + }, + "response": { + "$ref": "InventorySource" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + }, + "media": { + "methods": { + "download": { + "description": "Downloads media. Download is supported on the URI `/download/{resource_name=**}?alt=media.` **Note**: Download requests will not be successful without including `alt=media` query string.", + "flatPath": "download/{downloadId}", + "httpMethod": "GET", + "id": "displayvideo.media.download", + "parameterOrder": [ + "resourceName" + ], + "parameters": { + "resourceName": { + "description": "Name of the media that is being downloaded. See ReadRequest.resource_name.", + "location": "path", + "pattern": "^.*$", + "required": true, + "type": "string" + } + }, + "path": "download/{+resourceName}", + "response": { + "$ref": "GoogleBytestreamMedia" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video", + "https://www.googleapis.com/auth/doubleclickbidmanager" + ], + "supportsMediaDownload": true + }, + "upload": { + "description": "Uploads media. Upload is supported on the URI `/upload/media/{resource_name=**}?upload_type=media.` **Note**: Upload requests will not be successful without including `upload_type=media` query string.", + "flatPath": "media/{mediaId}", + "httpMethod": "POST", + "id": "displayvideo.media.upload", + "mediaUpload": { + "accept": [ + "*/*" + ], + "protocols": { + "simple": { + "multipart": true, + "path": "/upload/media/{+resourceName}" + } + } + }, + "parameterOrder": [ + "resourceName" + ], + "parameters": { + "resourceName": { + "description": "Name of the media that is being downloaded. See ReadRequest.resource_name.", + "location": "path", + "pattern": "^.*$", + "required": true, + "type": "string" + } + }, + "path": "media/{+resourceName}", + "request": { + "$ref": "GoogleBytestreamMedia" + }, + "response": { + "$ref": "GoogleBytestreamMedia" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video", + "https://www.googleapis.com/auth/doubleclickbidmanager" + ], + "supportsMediaUpload": true + } + } + }, + "partners": { + "methods": { + "editAssignedTargetingOptions": { + "description": "Edits targeting options under a single partner. The operation will delete the assigned targeting options provided in BulkEditPartnerAssignedTargetingOptionsRequest.deleteRequests and then create the assigned targeting options provided in BulkEditPartnerAssignedTargetingOptionsRequest.createRequests .", + "flatPath": "v3/partners/{partnersId}:editAssignedTargetingOptions", + "httpMethod": "POST", + "id": "displayvideo.partners.editAssignedTargetingOptions", + "parameterOrder": [ + "partnerId" + ], + "parameters": { + "partnerId": { + "description": "Required. The ID of the partner.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/partners/{+partnerId}:editAssignedTargetingOptions", + "request": { + "$ref": "BulkEditPartnerAssignedTargetingOptionsRequest" + }, + "response": { + "$ref": "BulkEditPartnerAssignedTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a partner.", + "flatPath": "v3/partners/{partnersId}", + "httpMethod": "GET", + "id": "displayvideo.partners.get", + "parameterOrder": [ + "partnerId" + ], + "parameters": { + "partnerId": { + "description": "Required. The ID of the partner to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/partners/{+partnerId}", + "response": { + "$ref": "Partner" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists partners that are accessible to the current user. The order is defined by the order_by parameter.", + "flatPath": "v3/partners", + "httpMethod": "GET", + "id": "displayvideo.partners.list", + "parameterOrder": [], + "parameters": { + "filter": { + "description": "Allows filtering by partner fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `entityStatus` Examples: * All active partners: `entityStatus=\"ENTITY_STATUS_ACTIVE\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `displayName` The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. For example, `displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListPartners` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v3/partners", + "response": { + "$ref": "ListPartnersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + }, + "resources": { + "channels": { + "methods": { + "create": { + "description": "Creates a new channel. Returns the newly created channel if successful.", + "flatPath": "v3/partners/{partnersId}/channels", + "httpMethod": "POST", + "id": "displayvideo.partners.channels.create", + "parameterOrder": [ + "partnerId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the created channel.", + "format": "int64", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the created channel.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/partners/{+partnerId}/channels", + "request": { + "$ref": "Channel" + }, + "response": { + "$ref": "Channel" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a channel for a partner or advertiser.", + "flatPath": "v3/partners/{partnersId}/channels/{channelsId}", + "httpMethod": "GET", + "id": "displayvideo.partners.channels.get", + "parameterOrder": [ + "partnerId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the fetched channel.", + "format": "int64", + "location": "query", + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the channel to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the fetched channel.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/partners/{+partnerId}/channels/{+channelId}", + "response": { + "$ref": "Channel" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists channels for a partner or advertiser.", + "flatPath": "v3/partners/{partnersId}/channels", + "httpMethod": "GET", + "id": "displayvideo.partners.channels.list", + "parameterOrder": [ + "partnerId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the channels.", + "format": "int64", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Allows filtering by channel fields. Supported syntax: * Filter expressions for channel can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * All channels for which the display name contains \"google\": `displayName : \"google\"`. The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) * `channelId` The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be added to the field name. Example: `displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListChannels` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the channels.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/partners/{+partnerId}/channels", + "response": { + "$ref": "ListChannelsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "patch": { + "description": "Updates a channel. Returns the updated channel if successful.", + "flatPath": "v3/partners/{partnersId}/channels/{channelId}", + "httpMethod": "PATCH", + "id": "displayvideo.partners.channels.patch", + "parameterOrder": [ + "partnerId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the created channel.", + "format": "int64", + "location": "query", + "type": "string" + }, + "channelId": { + "description": "Output only. The unique ID of the channel. Assigned by the system.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the created channel.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v3/partners/{+partnerId}/channels/{channelId}", + "request": { + "$ref": "Channel" + }, + "response": { + "$ref": "Channel" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + }, + "resources": { + "sites": { + "methods": { + "bulkEdit": { + "description": "Bulk edits sites under a single channel. The operation will delete the sites provided in BulkEditSitesRequest.deleted_sites and then create the sites provided in BulkEditSitesRequest.created_sites.", + "flatPath": "v3/partners/{partnerId}/channels/{channelsId}/sites:bulkEdit", + "httpMethod": "POST", + "id": "displayvideo.partners.channels.sites.bulkEdit", + "parameterOrder": [ + "partnerId", + "channelId" + ], + "parameters": { + "channelId": { + "description": "Required. The ID of the parent channel to which the sites belong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent channel.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v3/partners/{partnerId}/channels/{+channelId}/sites:bulkEdit", + "request": { + "$ref": "BulkEditSitesRequest" + }, + "response": { + "$ref": "BulkEditSitesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "create": { + "description": "Creates a site in a channel.", + "flatPath": "v3/partners/{partnerId}/channels/{channelsId}/sites", + "httpMethod": "POST", + "id": "displayvideo.partners.channels.sites.create", + "parameterOrder": [ + "partnerId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "location": "query", + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the parent channel in which the site will be created.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent channel.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v3/partners/{partnerId}/channels/{+channelId}/sites", + "request": { + "$ref": "Site" + }, + "response": { + "$ref": "Site" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes a site from a channel.", + "flatPath": "v3/partners/{partnerId}/channels/{channelsId}/sites/{sitesId}", + "httpMethod": "DELETE", + "id": "displayvideo.partners.channels.sites.delete", + "parameterOrder": [ + "partnerId", + "channelId", + "urlOrAppId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "location": "query", + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the parent channel to which the site belongs.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent channel.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + }, + "urlOrAppId": { + "description": "Required. The URL or app ID of the site to delete.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/partners/{partnerId}/channels/{+channelId}/sites/{+urlOrAppId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists sites in a channel.", + "flatPath": "v3/partners/{partnersId}/channels/{channelsId}/sites", + "httpMethod": "GET", + "id": "displayvideo.partners.channels.sites.list", + "parameterOrder": [ + "partnerId", + "channelId" + ], + "parameters": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "location": "query", + "type": "string" + }, + "channelId": { + "description": "Required. The ID of the parent channel to which the requested sites belong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Allows filtering by site fields. Supported syntax: * Filter expressions for site retrieval can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `urlOrAppId` Examples: * All sites for which the URL or app ID contains \"google\": `urlOrAppId : \"google\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `urlOrAppId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be added to the field name. Example: `urlOrAppId desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `10000`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListSites` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent channel.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/partners/{+partnerId}/channels/{+channelId}/sites", + "response": { + "$ref": "ListSitesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "replace": { + "description": "Replaces all of the sites under a single channel. The operation will replace the sites under a channel with the sites provided in ReplaceSitesRequest.new_sites.", + "flatPath": "v3/partners/{partnerId}/channels/{channelsId}/sites:replace", + "httpMethod": "POST", + "id": "displayvideo.partners.channels.sites.replace", + "parameterOrder": [ + "partnerId", + "channelId" + ], + "parameters": { + "channelId": { + "description": "Required. The ID of the parent channel whose sites will be replaced.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent channel.", + "format": "int64", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v3/partners/{partnerId}/channels/{+channelId}/sites:replace", + "request": { + "$ref": "ReplaceSitesRequest" + }, + "response": { + "$ref": "ReplaceSitesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } + }, + "targetingTypes": { + "resources": { + "assignedTargetingOptions": { + "methods": { + "create": { + "description": "Assigns a targeting option to a partner. Returns the assigned targeting option if successful.", + "flatPath": "v3/partners/{partnersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions", + "httpMethod": "POST", + "id": "displayvideo.partners.targetingTypes.assignedTargetingOptions.create", + "parameterOrder": [ + "partnerId", + "targetingType" + ], + "parameters": { + "partnerId": { + "description": "Required. The ID of the partner.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions", + "request": { + "$ref": "AssignedTargetingOption" + }, + "response": { + "$ref": "AssignedTargetingOption" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "delete": { + "description": "Deletes an assigned targeting option from a partner.", + "flatPath": "v3/partners/{partnersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}", + "httpMethod": "DELETE", + "id": "displayvideo.partners.targetingTypes.assignedTargetingOptions.delete", + "parameterOrder": [ + "partnerId", + "targetingType", + "assignedTargetingOptionId" + ], + "parameters": { + "assignedTargetingOptionId": { + "description": "Required. The ID of the assigned targeting option to delete.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "Required. The ID of the partner.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "get": { + "description": "Gets a single targeting option assigned to a partner.", + "flatPath": "v3/partners/{partnersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId}", + "httpMethod": "GET", + "id": "displayvideo.partners.targetingTypes.assignedTargetingOptions.get", + "parameterOrder": [ + "partnerId", + "targetingType", + "assignedTargetingOptionId" + ], + "parameters": { + "assignedTargetingOptionId": { + "description": "Required. An identifier unique to the targeting type in this partner that identifies the assigned targeting option being requested.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "partnerId": { + "description": "Required. The ID of the partner.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_CHANNEL`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}", + "response": { + "$ref": "AssignedTargetingOption" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists the targeting options assigned to a partner.", + "flatPath": "v3/partners/{partnersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions", + "httpMethod": "GET", + "id": "displayvideo.partners.targetingTypes.assignedTargetingOptions.list", + "parameterOrder": [ + "partnerId", + "targetingType" + ], + "parameters": { + "filter": { + "description": "Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` Examples: * `AssignedTargetingOption` resource with ID 123456: `assignedTargetingOptionId=\"123456\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `assignedTargetingOptionId desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListPartnerAssignedTargetingOptions` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "partnerId": { + "description": "Required. The ID of the partner.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. Identifies the type of assigned targeting options to list. Supported targeting types: * `TARGETING_TYPE_CHANNEL`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions", + "response": { + "$ref": "ListPartnerAssignedTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } + } + } + }, + "sdfdownloadtasks": { + "methods": { + "create": { + "description": "Creates an SDF Download Task. Returns an Operation. An SDF Download Task is a long-running, asynchronous operation. The metadata type of this operation is SdfDownloadTaskMetadata. If the request is successful, the response type of the operation is SdfDownloadTask. The response will not include the download files, which must be retrieved with media.download. The state of operation can be retrieved with sdfdownloadtask.operations.get. Any errors can be found in the error.message. Note that error.details is expected to be empty.", + "flatPath": "v3/sdfdownloadtasks", + "httpMethod": "POST", + "id": "displayvideo.sdfdownloadtasks.create", + "parameterOrder": [], + "parameters": {}, + "path": "v3/sdfdownloadtasks", + "request": { + "$ref": "CreateSdfDownloadTaskRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + }, + "resources": { + "operations": { + "methods": { + "get": { + "description": "Gets the latest state of an asynchronous SDF download task operation. Clients should poll this method at intervals of 30 seconds.", + "flatPath": "v3/sdfdownloadtasks/operations/{operationsId}", + "httpMethod": "GET", + "id": "displayvideo.sdfdownloadtasks.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^sdfdownloadtasks/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video", + "https://www.googleapis.com/auth/doubleclickbidmanager" + ] + } + } + } + } + }, + "targetingTypes": { + "resources": { + "targetingOptions": { + "methods": { + "get": { + "description": "Gets a single targeting option.", + "flatPath": "v3/targetingTypes/{targetingTypesId}/targetingOptions/{targetingOptionsId}", + "httpMethod": "GET", + "id": "displayvideo.targetingTypes.targetingOptions.get", + "parameterOrder": [ + "targetingType", + "targetingOptionId" + ], + "parameters": { + "advertiserId": { + "description": "Required. The Advertiser this request is being made in the context of.", + "format": "int64", + "location": "query", + "type": "string" + }, + "targetingOptionId": { + "description": "Required. The ID of the of targeting option to retrieve.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "targetingType": { + "description": "Required. The type of targeting option to retrieve. Accepted values are: * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_VIEWABILITY` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_OMID`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/targetingTypes/{+targetingType}/targetingOptions/{+targetingOptionId}", + "response": { + "$ref": "TargetingOption" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "list": { + "description": "Lists targeting options of a given type.", + "flatPath": "v3/targetingTypes/{targetingTypesId}/targetingOptions", + "httpMethod": "GET", + "id": "displayvideo.targetingTypes.targetingOptions.list", + "parameterOrder": [ + "targetingType" + ], + "parameters": { + "advertiserId": { + "description": "Required. The Advertiser this request is being made in the context of.", + "format": "int64", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Allows filtering by targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `OR` logical operators. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `carrierAndIspDetails.type` * `geoRegionDetails.geoRegionType` * `targetingOptionId` Examples: * All `GEO REGION` targeting options that belong to sub type `GEO_REGION_TYPE_COUNTRY` or `GEO_REGION_TYPE_STATE`: `geoRegionDetails.geoRegionType=\"GEO_REGION_TYPE_COUNTRY\" OR geoRegionDetails.geoRegionType=\"GEO_REGION_TYPE_STATE\"` * All `CARRIER AND ISP` targeting options that belong to sub type `CARRIER_AND_ISP_TYPE_CARRIER`: `carrierAndIspDetails.type=\"CARRIER_AND_ISP_TYPE_CARRIER\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `targetingOptionId` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. Example: `targetingOptionId desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListTargetingOptions` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + }, + "targetingType": { + "description": "Required. The type of targeting option to be listed. Accepted values are: * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_VIEWABILITY` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_OMID`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/targetingTypes/{+targetingType}/targetingOptions", + "response": { + "$ref": "ListTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + }, + "search": { + "description": "Searches for targeting options of a given type based on the given search terms.", + "flatPath": "v3/targetingTypes/{targetingTypesId}/targetingOptions:search", + "httpMethod": "POST", + "id": "displayvideo.targetingTypes.targetingOptions.search", + "parameterOrder": [ + "targetingType" + ], + "parameters": { + "targetingType": { + "description": "Required. The type of targeting options to retrieve. Accepted values are: * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_BUSINESS_CHAIN`", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/targetingTypes/{+targetingType}/targetingOptions:search", + "request": { + "$ref": "SearchTargetingOptionsRequest" + }, + "response": { + "$ref": "SearchTargetingOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video" + ] + } + } + } + } + }, + "users": { + "methods": { + "bulkEditAssignedUserRoles": { + "description": "Bulk edits user roles for a user. The operation will delete the assigned user roles provided in BulkEditAssignedUserRolesRequest.deletedAssignedUserRoles and then assign the user roles provided in BulkEditAssignedUserRolesRequest.createdAssignedUserRoles. This method has unique authentication requirements. Read the prerequisites in our [Managing Users guide](/display-video/api/guides/users/overview#prerequisites) before using this method. The \"Try this method\" feature does not work for this method.", + "flatPath": "v3/users/{usersId}:bulkEditAssignedUserRoles", + "httpMethod": "POST", + "id": "displayvideo.users.bulkEditAssignedUserRoles", + "parameterOrder": [ + "userId" + ], + "parameters": { + "userId": { + "description": "Required. The ID of the user to which the assigned user roles belong.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/users/{+userId}:bulkEditAssignedUserRoles", + "request": { + "$ref": "BulkEditAssignedUserRolesRequest" + }, + "response": { + "$ref": "BulkEditAssignedUserRolesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video-user-management" + ] + }, + "create": { + "description": "Creates a new user. Returns the newly created user if successful. This method has unique authentication requirements. Read the prerequisites in our [Managing Users guide](/display-video/api/guides/users/overview#prerequisites) before using this method. The \"Try this method\" feature does not work for this method.", + "flatPath": "v3/users", + "httpMethod": "POST", + "id": "displayvideo.users.create", + "parameterOrder": [], + "parameters": {}, + "path": "v3/users", + "request": { + "$ref": "User" + }, + "response": { + "$ref": "User" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video-user-management" + ] + }, + "delete": { + "description": "Deletes a user. This method has unique authentication requirements. Read the prerequisites in our [Managing Users guide](/display-video/api/guides/users/overview#prerequisites) before using this method. The \"Try this method\" feature does not work for this method.", + "flatPath": "v3/users/{usersId}", + "httpMethod": "DELETE", + "id": "displayvideo.users.delete", + "parameterOrder": [ + "userId" + ], + "parameters": { + "userId": { + "description": "Required. The ID of the user to delete.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/users/{+userId}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video-user-management" + ] + }, + "get": { + "description": "Gets a user. This method has unique authentication requirements. Read the prerequisites in our [Managing Users guide](/display-video/api/guides/users/overview#prerequisites) before using this method. The \"Try this method\" feature does not work for this method.", + "flatPath": "v3/users/{usersId}", + "httpMethod": "GET", + "id": "displayvideo.users.get", + "parameterOrder": [ + "userId" + ], + "parameters": { + "userId": { + "description": "Required. The ID of the user to fetch.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/users/{+userId}", + "response": { + "$ref": "User" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video-user-management" + ] + }, + "list": { + "description": "Lists users that are accessible to the current user. If two users have user roles on the same partner or advertiser, they can access each other. This method has unique authentication requirements. Read the prerequisites in our [Managing Users guide](/display-video/api/guides/users/overview#prerequisites) before using this method. The \"Try this method\" feature does not work for this method.", + "flatPath": "v3/users", + "httpMethod": "GET", + "id": "displayvideo.users.list", + "parameterOrder": [], + "parameters": { + "filter": { + "description": "Allows filtering by user fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `AND`. * A restriction has the form of `{field} {operator} {value}`. * The `budget.budget_segments.date_range.end_date` field must use the `LESS THAN (<)` operator. * The `displayName and `email` field must use the `HAS (:)` operator. * All other fields must use the `EQUALS (=)` operator. Supported fields: * `assignedUserRole.advertiserId` * `assignedUserRole.entityType` * This is synthetic field of `AssignedUserRole` used for filtering. Identifies the type of entity to which the user role is assigned. Valid values are `Partner` and `Advertiser`. * `assignedUserRole.parentPartnerId` * This is a synthetic field of `AssignedUserRole` used for filtering. Identifies the parent partner of the entity to which the user role is assigned. * `assignedUserRole.partnerId` * `assignedUserRole.userRole` * `displayName` * `email` Examples: * The user with `displayName` containing \"foo\": `displayName:\"foo\"` * The user with `email` containing \"bar\": `email:\"bar\"` * All users with standard user roles: `assignedUserRole.userRole=\"STANDARD\"` * All users with user roles for partner 123: `assignedUserRole.partnerId=\"123\"` * All users with user roles for advertiser 123: `assignedUserRole.advertiserId=\"123\"` * All users with partner level user roles: `entityType=\"PARTNER\"` * All users with user roles for partner 123 and advertisers under partner 123: `parentPartnerId=\"123\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Field by which to sort the list. Acceptable values are: * `displayName` (default) The default sorting order is ascending. To specify descending order for a field, a suffix \"desc\" should be added to the field name. For example, `displayName desc`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListUsers` method. If not specified, the first page of results will be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v3/users", + "response": { + "$ref": "ListUsersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video-user-management" + ] + }, + "patch": { + "description": "Updates an existing user. Returns the updated user if successful. This method has unique authentication requirements. Read the prerequisites in our [Managing Users guide](/display-video/api/guides/users/overview#prerequisites) before using this method. The \"Try this method\" feature does not work for this method.", + "flatPath": "v3/users/{usersId}", + "httpMethod": "PATCH", + "id": "displayvideo.users.patch", + "parameterOrder": [ + "userId" + ], + "parameters": { + "updateMask": { + "description": "Required. The mask to control which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "userId": { + "description": "Output only. The unique ID of the user. Assigned by the system.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3/users/{+userId}", + "request": { + "$ref": "User" + }, + "response": { + "$ref": "User" + }, + "scopes": [ + "https://www.googleapis.com/auth/display-video-user-management" + ] + } + } + } + }, + "revision": "20231009", + "rootUrl": "https://displayvideo.googleapis.com/", + "schemas": { + "ActiveViewVideoViewabilityMetricConfig": { + "description": "Configuration for custom Active View video viewability metrics.", + "id": "ActiveViewVideoViewabilityMetricConfig", + "properties": { + "displayName": { + "description": "Required. The display name of the custom metric.", + "type": "string" + }, + "minimumDuration": { + "description": "The minimum visible video duration required (in seconds) in order for an impression to be recorded. You must specify minimum_duration, minimum_quartile or both. If both are specified, an impression meets the metric criteria if either requirement is met (whichever happens first).", + "enum": [ + "VIDEO_DURATION_UNSPECIFIED", + "VIDEO_DURATION_SECONDS_NONE", + "VIDEO_DURATION_SECONDS_0", + "VIDEO_DURATION_SECONDS_1", + "VIDEO_DURATION_SECONDS_2", + "VIDEO_DURATION_SECONDS_3", + "VIDEO_DURATION_SECONDS_4", + "VIDEO_DURATION_SECONDS_5", + "VIDEO_DURATION_SECONDS_6", + "VIDEO_DURATION_SECONDS_7", + "VIDEO_DURATION_SECONDS_8", + "VIDEO_DURATION_SECONDS_9", + "VIDEO_DURATION_SECONDS_10", + "VIDEO_DURATION_SECONDS_11", + "VIDEO_DURATION_SECONDS_12", + "VIDEO_DURATION_SECONDS_13", + "VIDEO_DURATION_SECONDS_14", + "VIDEO_DURATION_SECONDS_15", + "VIDEO_DURATION_SECONDS_30", + "VIDEO_DURATION_SECONDS_45", + "VIDEO_DURATION_SECONDS_60" + ], + "enumDescriptions": [ + "Value is not specified or is unknown in this version.", + "No duration value.", + "0 seconds.", + "1 second.", + "2 seconds.", + "3 seconds.", + "4 seconds.", + "5 seconds.", + "6 seconds.", + "7 seconds.", + "8 seconds.", + "9 seconds.", + "10 seconds.", + "11 seconds.", + "12 seconds.", + "13 seconds.", + "14 seconds.", + "15 seconds.", + "30 seconds.", + "45 seconds.", + "60 seconds." + ], + "type": "string" + }, + "minimumQuartile": { + "description": "The minimum visible video duration required, based on the video quartiles, in order for an impression to be recorded. You must specify minimum_duration, minimum_quartile or both. If both are specified, an impression meets the metric criteria if either requirement is met (whichever happens first).", + "enum": [ + "VIDEO_DURATION_QUARTILE_UNSPECIFIED", + "VIDEO_DURATION_QUARTILE_NONE", + "VIDEO_DURATION_QUARTILE_FIRST", + "VIDEO_DURATION_QUARTILE_SECOND", + "VIDEO_DURATION_QUARTILE_THIRD", + "VIDEO_DURATION_QUARTILE_FOURTH" + ], + "enumDescriptions": [ + "Value is not specified or is unknown in this version.", + "No quartile value.", + "First quartile.", + "Second quartile (midpoint).", + "Third quartile.", + "Fourth quartile (completion)." + ], + "type": "string" + }, + "minimumViewability": { + "description": "Required. The minimum percentage of the video ad's pixels visible on the screen in order for an impression to be recorded.", + "enum": [ + "VIEWABILITY_PERCENT_UNSPECIFIED", + "VIEWABILITY_PERCENT_0", + "VIEWABILITY_PERCENT_25", + "VIEWABILITY_PERCENT_50", + "VIEWABILITY_PERCENT_75", + "VIEWABILITY_PERCENT_100" + ], + "enumDescriptions": [ + "Value is not specified or is unknown in this version.", + "0% viewable.", + "25% viewable.", + "50% viewable.", + "75% viewable.", + "100% viewable." + ], + "type": "string" + }, + "minimumVolume": { + "description": "Required. The minimum percentage of the video ad's volume required in order for an impression to be recorded.", + "enum": [ + "VIDEO_VOLUME_PERCENT_UNSPECIFIED", + "VIDEO_VOLUME_PERCENT_0", + "VIDEO_VOLUME_PERCENT_10" + ], + "enumDescriptions": [ + "Value is not specified or is unknown in this version.", + "0% volume.", + "10% volume." + ], + "type": "string" + } + }, + "type": "object" + }, + "AdGroup": { + "description": "A single ad group associated with a line item.", + "id": "AdGroup", + "properties": { + "adGroupFormat": { + "description": "The format of the ads in the ad group.", + "enum": [ + "AD_GROUP_FORMAT_UNSPECIFIED", + "AD_GROUP_FORMAT_IN_STREAM", + "AD_GROUP_FORMAT_VIDEO_DISCOVERY", + "AD_GROUP_FORMAT_BUMPER", + "AD_GROUP_FORMAT_NON_SKIPPABLE_IN_STREAM", + "AD_GROUP_FORMAT_AUDIO", + "AD_GROUP_FORMAT_ACTION", + "AD_GROUP_FORMAT_REACH", + "AD_GROUP_FORMAT_MASTHEAD" + ], + "enumDescriptions": [ + "Format value is not specified or is unknown in this version.", + "In-stream ads.", + "In-feed ads.", + "Bumper ads.", + "Non-skippable in-stream ads.", + "Non-skippable in-stream audio ads.", + "[Responsive ads for video action campaigns] (https://support.google.com/displayvideo/answer/9065351).", + "[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." + ], + "type": "string" + }, + "adGroupId": { + "description": "The unique ID of the ad group. Assigned by the system.", + "format": "int64", + "type": "string" + }, + "advertiserId": { + "description": "The unique ID of the advertiser the ad group belongs to.", + "format": "int64", + "type": "string" + }, + "bidStrategy": { + "$ref": "BiddingStrategy", + "description": "The bidding strategy used by the ad group. Only the youtubeAndPartnersBid field can be used in the bidding strategy." + }, + "displayName": { + "description": "The display name of the ad group. Must be UTF-8 encoded with a maximum size of 255 bytes.", + "type": "string" + }, + "entityStatus": { + "description": "Controls whether or not the ad group can spend its budget and bid on inventory. If the ad group's parent line item is not active, the ad group can't spend its budget even if its own status is `ENTITY_STATUS_ACTIVE`.", + "enum": [ + "ENTITY_STATUS_UNSPECIFIED", + "ENTITY_STATUS_ACTIVE", + "ENTITY_STATUS_ARCHIVED", + "ENTITY_STATUS_DRAFT", + "ENTITY_STATUS_PAUSED", + "ENTITY_STATUS_SCHEDULED_FOR_DELETION" + ], + "enumDescriptions": [ + "Default value when status is not specified or is unknown in this version.", + "The entity is enabled to bid and spend budget.", + "The entity is archived. Bidding and budget spending are disabled. An entity can be deleted after archived. Deleted entities cannot be retrieved.", + "The entity is under draft. Bidding and budget spending are disabled.", + "Bidding and budget spending are paused for the entity.", + "The entity is scheduled for deletion." + ], + "type": "string" + }, + "lineItemId": { + "description": "The unique ID of the line item that the ad group belongs to.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "The resource name of the ad group.", + "type": "string" + }, + "productFeedData": { + "$ref": "ProductFeedData", + "description": "The settings of the product feed in this ad group." + }, + "targetingExpansion": { + "$ref": "TargetingExpansionConfig", + "description": "The [optimized targeting](//support.google.com/displayvideo/answer/12060859) settings of the ad group." + } + }, + "type": "object" + }, + "AdGroupAd": { + "description": "A single ad associated with an ad group.", + "id": "AdGroupAd", + "properties": { + "adGroupAdId": { + "description": "The unique ID of the ad. Assigned by the system.", + "format": "int64", + "type": "string" + }, + "adGroupId": { + "description": "The unique ID of the ad group that the ad belongs to.", + "format": "int64", + "type": "string" + }, + "adUrls": { + "description": "List of URLs used by the ad.", + "items": { + "$ref": "AdUrl" + }, + "type": "array" + }, + "advertiserId": { + "description": "The unique ID of the advertiser the ad belongs to.", + "format": "int64", + "type": "string" + }, + "audioAd": { + "$ref": "AudioAd", + "description": "Details of an [audio ad](//support.google.com/displayvideo/answer/6274216) used for reach marketing objectives." + }, + "bumperAd": { + "$ref": "BumperAd", + "description": "Details of a [non-skippable short video ad](//support.google.com/displayvideo/answer/6274216), equal to or less than 6 seconds, used for reach." + }, + "displayName": { + "description": "The display name of the ad. Must be UTF-8 encoded with a maximum size of 255 bytes.", + "type": "string" + }, + "displayVideoSourceAd": { + "$ref": "DisplayVideoSourceAd", + "description": "Details of an ad sourced from a Display & Video 360 creative." + }, + "entityStatus": { + "description": "The entity status of the ad.", + "enum": [ + "ENTITY_STATUS_UNSPECIFIED", + "ENTITY_STATUS_ACTIVE", + "ENTITY_STATUS_ARCHIVED", + "ENTITY_STATUS_DRAFT", + "ENTITY_STATUS_PAUSED", + "ENTITY_STATUS_SCHEDULED_FOR_DELETION" + ], + "enumDescriptions": [ + "Default value when status is not specified or is unknown in this version.", + "The entity is enabled to bid and spend budget.", + "The entity is archived. Bidding and budget spending are disabled. An entity can be deleted after archived. Deleted entities cannot be retrieved.", + "The entity is under draft. Bidding and budget spending are disabled.", + "Bidding and budget spending are paused for the entity.", + "The entity is scheduled for deletion." + ], + "type": "string" + }, + "inStreamAd": { + "$ref": "InStreamAd", + "description": "Details of an [in-stream ad skippable after 5 seconds](//support.google.com/displayvideo/answer/6274216), used for brand awareness or reach marketing objectives." + }, + "mastheadAd": { + "$ref": "MastheadAd", + "description": "Details of an [ad served on the YouTube Home feed](//support.google.com/google-ads/answer/9709826)." + }, + "name": { + "description": "The resource name of the ad.", + "type": "string" + }, + "nonSkippableAd": { + "$ref": "NonSkippableAd", + "description": "Details of a [non-skippable short in-stream video ad](//support.google.com/displayvideo/answer/6274216), between 6 and 15 seconds, used for reach marketing objectives." + }, + "videoDiscoverAd": { + "$ref": "VideoDiscoveryAd", + "description": "Details of an [ad promoting a video](//support.google.com/displayvideo/answer/6274216) that shows in places of discovery." + }, + "videoPerformanceAd": { + "$ref": "VideoPerformanceAd", + "description": "Details of an [ad used in a video action campaign](//support.google.com/google-ads/answer/10147229) to drive actions to the business, service or product." + } + }, + "type": "object" + }, + "AdGroupAssignedTargetingOption": { + "description": "Wrapper object associating an AssignedTargetingOption resource and the ad group it is assigned to.", + "id": "AdGroupAssignedTargetingOption", + "properties": { + "adGroupId": { + "description": "The ID of the ad group the assigned targeting option is assigned to.", + "format": "int64", + "type": "string" + }, + "assignedTargetingOption": { + "$ref": "AssignedTargetingOption", + "description": "The assigned targeting option resource." + } + }, + "type": "object" + }, + "AdUrl": { + "description": "Additional URLs related to the ad, including beacons.", + "id": "AdUrl", + "properties": { + "type": { + "description": "The type of the Ad URL.", + "enum": [ + "AD_URL_TYPE_UNSPECIFIED", + "AD_URL_TYPE_BEACON_IMPRESSION", + "AD_URL_TYPE_BEACON_EXPANDABLE_DCM_IMPRESSION", + "AD_URL_TYPE_BEACON_CLICK", + "AD_URL_TYPE_BEACON_SKIP" + ], + "enumDescriptions": [ + "Unknown or unspecified.", + "A 1x1 tracking pixel to ping when an impression of a creative is delivered.", + "Expandable DCM impression beacon. At serving time, it is expanded to several beacons.", + "Tracking URL to ping when the click event is triggered.", + "Tracking URL to ping when the skip event is triggered." + ], + "type": "string" + }, + "url": { + "description": "The URL string value.", + "type": "string" + } + }, + "type": "object" + }, + "Adloox": { + "description": "Details of Adloox settings.", + "id": "Adloox", + "properties": { + "excludedAdlooxCategories": { + "description": "Adloox's brand safety settings.", + "items": { + "enum": [ + "ADLOOX_UNSPECIFIED", + "ADULT_CONTENT_HARD", + "ADULT_CONTENT_SOFT", + "ILLEGAL_CONTENT", + "BORDERLINE_CONTENT", + "DISCRIMINATORY_CONTENT", + "VIOLENT_CONTENT_WEAPONS", + "LOW_VIEWABILITY_DOMAINS", + "FRAUD" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any Adloox option.", + "Adult content (hard).", + "Adult content (soft).", + "Illegal content.", + "Borderline content.", + "Discriminatory content.", + "Violent content & weapons.", + "Low viewability domains.", + "Fraud." + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Advertiser": { + "description": "A single advertiser in Display & Video 360 (DV360).", + "id": "Advertiser", + "properties": { + "adServerConfig": { + "$ref": "AdvertiserAdServerConfig", + "description": "Required. Immutable. Ad server related settings of the advertiser." + }, + "advertiserId": { + "description": "Output only. The unique ID of the advertiser. Assigned by the system.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "billingConfig": { + "$ref": "AdvertiserBillingConfig", + "description": "Required. Billing related settings of the advertiser." + }, + "creativeConfig": { + "$ref": "AdvertiserCreativeConfig", + "description": "Required. Creative related settings of the advertiser." + }, + "dataAccessConfig": { + "$ref": "AdvertiserDataAccessConfig", + "description": "Settings that control how advertiser data may be accessed." + }, + "displayName": { + "description": "Required. The display name of the advertiser. Must be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "entityStatus": { + "description": "Required. Controls whether or not insertion orders and line items of the advertiser can spend their budgets and bid on inventory. * Accepted values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_PAUSED` and `ENTITY_STATUS_SCHEDULED_FOR_DELETION`. * If set to `ENTITY_STATUS_SCHEDULED_FOR_DELETION`, the advertiser will be deleted 30 days from when it was first scheduled for deletion.", + "enum": [ + "ENTITY_STATUS_UNSPECIFIED", + "ENTITY_STATUS_ACTIVE", + "ENTITY_STATUS_ARCHIVED", + "ENTITY_STATUS_DRAFT", + "ENTITY_STATUS_PAUSED", + "ENTITY_STATUS_SCHEDULED_FOR_DELETION" + ], + "enumDescriptions": [ + "Default value when status is not specified or is unknown in this version.", + "The entity is enabled to bid and spend budget.", + "The entity is archived. Bidding and budget spending are disabled. An entity can be deleted after archived. Deleted entities cannot be retrieved.", + "The entity is under draft. Bidding and budget spending are disabled.", + "Bidding and budget spending are paused for the entity.", + "The entity is scheduled for deletion." + ], + "type": "string" + }, + "generalConfig": { + "$ref": "AdvertiserGeneralConfig", + "description": "Required. General settings of the advertiser." + }, + "integrationDetails": { + "$ref": "IntegrationDetails", + "description": "Integration details of the advertiser. Only integrationCode is currently applicable to advertiser. Other fields of IntegrationDetails are not supported and will be ignored if provided." + }, + "name": { + "description": "Output only. The resource name of the advertiser.", + "readOnly": true, + "type": "string" + }, + "partnerId": { + "description": "Required. Immutable. The unique ID of the partner that the advertiser belongs to.", + "format": "int64", + "type": "string" + }, + "prismaEnabled": { + "description": "Whether integration with Mediaocean (Prisma) is enabled. By enabling this, you agree to the following: On behalf of my company, I authorize Mediaocean (Prisma) to send budget segment plans to Google, and I authorize Google to send corresponding reporting and invoices from DV360 to Mediaocean for the purposes of budget planning, billing, and reconciliation for this advertiser.", + "type": "boolean" + }, + "servingConfig": { + "$ref": "AdvertiserTargetingConfig", + "description": "Targeting settings related to ad serving of the advertiser." + }, + "updateTime": { + "description": "Output only. The timestamp when the advertiser was last updated. Assigned by the system.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AdvertiserAdServerConfig": { + "description": "Ad server related settings of an advertiser.", + "id": "AdvertiserAdServerConfig", + "properties": { + "cmHybridConfig": { + "$ref": "CmHybridConfig", + "description": "The configuration for advertisers that use both Campaign Manager 360 (CM360) and third-party ad servers." + }, + "thirdPartyOnlyConfig": { + "$ref": "ThirdPartyOnlyConfig", + "description": "The configuration for advertisers that use third-party ad servers only." + } + }, + "type": "object" + }, + "AdvertiserBillingConfig": { + "description": "Billing related settings of an advertiser.", + "id": "AdvertiserBillingConfig", + "properties": { + "billingProfileId": { + "description": "The ID of a billing profile assigned to the advertiser.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "AdvertiserCreativeConfig": { + "description": "Creatives related settings of an advertiser.", + "id": "AdvertiserCreativeConfig", + "properties": { + "dynamicCreativeEnabled": { + "description": "Whether or not the advertiser is enabled for dynamic creatives.", + "type": "boolean" + }, + "iasClientId": { + "description": "An ID for configuring campaign monitoring provided by Integral Ad Service (IAS). The DV360 system will append an IAS \"Campaign Monitor\" tag containing this ID to the creative tag.", + "format": "int64", + "type": "string" + }, + "obaComplianceDisabled": { + "description": "Whether or not to use DV360's Online Behavioral Advertising (OBA) compliance. Warning: Changing OBA settings may cause the audit status of your creatives to be reset by some ad exchanges, making them ineligible to serve until they are re-approved.", + "type": "boolean" + }, + "videoCreativeDataSharingAuthorized": { + "description": "By setting this field to `true`, you, on behalf of your company, authorize Google to use video creatives associated with this Display & Video 360 advertiser to provide reporting and features related to the advertiser's television campaigns. Applicable only when the advertiser has a CM360 hybrid ad server configuration.", + "type": "boolean" + } + }, + "type": "object" + }, + "AdvertiserDataAccessConfig": { + "description": "Settings that control how advertiser related data may be accessed.", + "id": "AdvertiserDataAccessConfig", + "properties": { + "sdfConfig": { + "$ref": "AdvertiserSdfConfig", + "description": "Structured Data Files (SDF) settings for the advertiser. If not specified, the SDF settings of the parent partner are used." + } + }, + "type": "object" + }, + "AdvertiserGeneralConfig": { + "description": "General settings of an advertiser.", + "id": "AdvertiserGeneralConfig", + "properties": { + "currencyCode": { + "description": "Required. Immutable. Advertiser's currency in ISO 4217 format. Accepted codes and the currencies they represent are: Currency Code : Currency Name * `ARS` : Argentine Peso * `AUD` : Australian Dollar * `BRL` : Brazilian Real * `CAD` : Canadian Dollar * `CHF` : Swiss Franc * `CLP` : Chilean Peso * `CNY` : Chinese Yuan * `COP` : Colombian Peso * `CZK` : Czech Koruna * `DKK` : Danish Krone * `EGP` : Egyption Pound * `EUR` : Euro * `GBP` : British Pound * `HKD` : Hong Kong Dollar * `HUF` : Hungarian Forint * `IDR` : Indonesian Rupiah * `ILS` : Israeli Shekel * `INR` : Indian Rupee * `JPY` : Japanese Yen * `KRW` : South Korean Won * `MXN` : Mexican Pesos * `MYR` : Malaysian Ringgit * `NGN` : Nigerian Naira * `NOK` : Norwegian Krone * `NZD` : New Zealand Dollar * `PEN` : Peruvian Nuevo Sol * `PLN` : Polish Zloty * `RON` : New Romanian Leu * `RUB` : Russian Ruble * `SEK` : Swedish Krona * `TRY` : Turkish Lira * `TWD` : New Taiwan Dollar * `USD` : US Dollar * `ZAR` : South African Rand", + "type": "string" + }, + "domainUrl": { + "description": "Required. The domain URL of the advertiser's primary website. The system will send this information to publishers that require website URL to associate a campaign with an advertiser. Provide a URL with no path or query string, beginning with `http:` or `https:`. For example, http://www.example.com", + "type": "string" + }, + "timeZone": { + "description": "Output only. The standard TZ database name of the advertiser's time zone. For example, `America/New_York`. See more at: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones For CM360 hybrid advertisers, the time zone is the same as that of the associated CM360 account; for third-party only advertisers, the time zone is the same as that of the parent partner.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AdvertiserSdfConfig": { + "description": "Structured Data Files (SDF) settings of an advertiser.", + "id": "AdvertiserSdfConfig", + "properties": { + "overridePartnerSdfConfig": { + "description": "Whether or not this advertiser overrides the SDF configuration of its parent partner. By default, an advertiser inherits the SDF configuration from the parent partner. To override the partner configuration, set this field to `true` and provide the new configuration in sdfConfig.", + "type": "boolean" + }, + "sdfConfig": { + "$ref": "SdfConfig", + "description": "The SDF configuration for the advertiser. * Required when overridePartnerSdfConfig is `true`. * Output only when overridePartnerSdfConfig is `false`." + } + }, + "type": "object" + }, + "AdvertiserTargetingConfig": { + "description": "Targeting settings related to ad serving of an advertiser.", + "id": "AdvertiserTargetingConfig", + "properties": { + "exemptTvFromViewabilityTargeting": { + "description": "Whether or not connected TV devices are exempt from viewability targeting for all video line items under the advertiser.", + "type": "boolean" + } + }, + "type": "object" + }, + "AgeRangeAssignedTargetingOptionDetails": { + "description": "Represents a targetable age range. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_AGE_RANGE`.", + "id": "AgeRangeAssignedTargetingOptionDetails", + "properties": { + "ageRange": { + "description": "Required. The age range of an audience. We only support targeting a continuous age range of an audience. Thus, the age range represented in this field can be 1) targeted solely, or, 2) part of a larger continuous age range. The reach of a continuous age range targeting can be expanded by also targeting an audience of an unknown age.", + "enum": [ + "AGE_RANGE_UNSPECIFIED", + "AGE_RANGE_18_24", + "AGE_RANGE_25_34", + "AGE_RANGE_35_44", + "AGE_RANGE_45_54", + "AGE_RANGE_55_64", + "AGE_RANGE_65_PLUS", + "AGE_RANGE_UNKNOWN", + "AGE_RANGE_18_20", + "AGE_RANGE_21_24", + "AGE_RANGE_25_29", + "AGE_RANGE_30_34", + "AGE_RANGE_35_39", + "AGE_RANGE_40_44", + "AGE_RANGE_45_49", + "AGE_RANGE_50_54", + "AGE_RANGE_55_59", + "AGE_RANGE_60_64" + ], + "enumDescriptions": [ + "Default value when age range is not specified in this version. This enum is a placeholder for default value and does not represent a real age range option.", + "The age range of the audience is 18 to 24.", + "The age range of the audience is 25 to 34.", + "The age range of the audience is 35 to 44.", + "The age range of the audience is 45 to 54.", + "The age range of the audience is 55 to 64.", + "The age range of the audience is 65 and up.", + "The age range of the audience is unknown.", + "The age range of the audience is 18 to 20, only supported for the AdGroup of YouTube Programmatic Reservation line item.", + "The age range of the audience is 21 to 24, only supported for the AdGroup of YouTube Programmatic Reservation line item.", + "The age range of the audience is 25 to 29, only supported for the AdGroup of YouTube Programmatic Reservation line item.", + "The age range of the audience is 30 to 34, only supported for the AdGroup of YouTube Programmatic Reservation line item.", + "The age range of the audience is 35 to 39, only supported for the AdGroup of YouTube Programmatic Reservation line item.", + "The age range of the audience is 40 to 44, only supported for the AdGroup of YouTube Programmatic Reservation line item.", + "The age range of the audience is 45 to 49, only supported for the AdGroup of YouTube Programmatic Reservation line item.", + "The age range of the audience is 50 to 54, only supported for the AdGroup of YouTube Programmatic Reservation line item.", + "The age range of the audience is 55 to 59, only supported for the AdGroup of YouTube Programmatic Reservation line item.", + "The age range of the audience is 60 to 64, only supported for the AdGroup of YouTube Programmatic Reservation line item." + ], + "type": "string" + } + }, + "type": "object" + }, + "AgeRangeTargetingOptionDetails": { + "description": "Represents a targetable age range. This will be populated in the age_range_details field when targeting_type is `TARGETING_TYPE_AGE_RANGE`.", + "id": "AgeRangeTargetingOptionDetails", + "properties": { + "ageRange": { + "description": "Output only. The age range of an audience.", + "enum": [ + "AGE_RANGE_UNSPECIFIED", + "AGE_RANGE_18_24", + "AGE_RANGE_25_34", + "AGE_RANGE_35_44", + "AGE_RANGE_45_54", + "AGE_RANGE_55_64", + "AGE_RANGE_65_PLUS", + "AGE_RANGE_UNKNOWN", + "AGE_RANGE_18_20", + "AGE_RANGE_21_24", + "AGE_RANGE_25_29", + "AGE_RANGE_30_34", + "AGE_RANGE_35_39", + "AGE_RANGE_40_44", + "AGE_RANGE_45_49", + "AGE_RANGE_50_54", + "AGE_RANGE_55_59", + "AGE_RANGE_60_64" + ], + "enumDescriptions": [ + "Default value when age range is not specified in this version. This enum is a placeholder for default value and does not represent a real age range option.", + "The age range of the audience is 18 to 24.", + "The age range of the audience is 25 to 34.", + "The age range of the audience is 35 to 44.", + "The age range of the audience is 45 to 54.", + "The age range of the audience is 55 to 64.", + "The age range of the audience is 65 and up.", + "The age range of the audience is unknown.", + "The age range of the audience is 18 to 20, only supported for the AdGroup of YouTube Programmatic Reservation line item.", + "The age range of the audience is 21 to 24, only supported for the AdGroup of YouTube Programmatic Reservation line item.", + "The age range of the audience is 25 to 29, only supported for the AdGroup of YouTube Programmatic Reservation line item.", + "The age range of the audience is 30 to 34, only supported for the AdGroup of YouTube Programmatic Reservation line item.", + "The age range of the audience is 35 to 39, only supported for the AdGroup of YouTube Programmatic Reservation line item.", + "The age range of the audience is 40 to 44, only supported for the AdGroup of YouTube Programmatic Reservation line item.", + "The age range of the audience is 45 to 49, only supported for the AdGroup of YouTube Programmatic Reservation line item.", + "The age range of the audience is 50 to 54, only supported for the AdGroup of YouTube Programmatic Reservation line item.", + "The age range of the audience is 55 to 59, only supported for the AdGroup of YouTube Programmatic Reservation line item.", + "The age range of the audience is 60 to 64, only supported for the AdGroup of YouTube Programmatic Reservation line item." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AlgorithmRules": { + "description": "Rule-based algorithm.", + "id": "AlgorithmRules", + "properties": { + "impressionSignalRuleset": { + "$ref": "AlgorithmRulesRuleset", + "description": "Rules for the impression signals." + } + }, + "type": "object" + }, + "AlgorithmRulesComparisonValue": { + "description": "A value to compare the signal to.", + "id": "AlgorithmRulesComparisonValue", + "properties": { + "boolValue": { + "description": "Boolean value.", + "type": "boolean" + }, + "creativeDimensionValue": { + "$ref": "Dimensions", + "description": "Creative dimension value." + }, + "dayAndTimeValue": { + "$ref": "DayAndTime", + "description": "Day and time value. Only `TIME_ZONE_RESOLUTION_END_USER` is supported." + }, + "deviceTypeValue": { + "description": "Device type value.", + "enum": [ + "RULE_DEVICE_TYPE_UNSPECIFIED", + "RULE_DEVICE_TYPE_COMPUTER", + "RULE_DEVICE_TYPE_CONNECTED_TV", + "RULE_DEVICE_TYPE_SMART_PHONE", + "RULE_DEVICE_TYPE_TABLET", + "RULE_DEVICE_TYPE_CONNECTED_DEVICE", + "RULE_DEVICE_TYPE_SET_TOP_BOX" + ], + "enumDescriptions": [ + "Default value when device type is not specified in this version. This enum is a placeholder for default value and does not represent a real device type option.", + "Computer.", + "Connected TV.", + "Smart phone.", + "Tablet.", + "Connected device.", + "Set top box." + ], + "type": "string" + }, + "doubleValue": { + "description": "Double value.", + "format": "double", + "type": "number" + }, + "environmentValue": { + "description": "Environment value.", + "enum": [ + "ENVIRONMENT_UNSPECIFIED", + "ENVIRONMENT_WEB_OPTIMIZED", + "ENVIRONMENT_WEB_NOT_OPTIMIZED", + "ENVIRONMENT_APP" + ], + "enumDescriptions": [ + "Default value when environment is not specified in this version. This enum is a placeholder for default value and does not represent a real environment option.", + "Target inventory displayed in browsers. This includes inventory that was designed for the device it was viewed on, such as mobile websites viewed on a mobile device. ENVIRONMENT_WEB_NOT_OPTIMIZED, if targeted, should be deleted prior to the deletion of this targeting option.", + "Target inventory displayed in browsers. This includes inventory that was not designed for the device but viewed on it, such as websites optimized for desktop but viewed on a mobile device. ENVIRONMENT_WEB_OPTIMIZED should be targeted prior to the addition of this targeting option.", + "Target inventory displayed in apps." + ], + "type": "string" + }, + "exchangeValue": { + "description": "Exchange value.", + "enum": [ + "EXCHANGE_UNSPECIFIED", + "EXCHANGE_GOOGLE_AD_MANAGER", + "EXCHANGE_APPNEXUS", + "EXCHANGE_BRIGHTROLL", + "EXCHANGE_ADFORM", + "EXCHANGE_ADMETA", + "EXCHANGE_ADMIXER", + "EXCHANGE_ADSMOGO", + "EXCHANGE_ADSWIZZ", + "EXCHANGE_BIDSWITCH", + "EXCHANGE_BRIGHTROLL_DISPLAY", + "EXCHANGE_CADREON", + "EXCHANGE_DAILYMOTION", + "EXCHANGE_FIVE", + "EXCHANGE_FLUCT", + "EXCHANGE_FREEWHEEL", + "EXCHANGE_GENIEE", + "EXCHANGE_GUMGUM", + "EXCHANGE_IMOBILE", + "EXCHANGE_IBILLBOARD", + "EXCHANGE_IMPROVE_DIGITAL", + "EXCHANGE_INDEX", + "EXCHANGE_KARGO", + "EXCHANGE_MICROAD", + "EXCHANGE_MOPUB", + "EXCHANGE_NEND", + "EXCHANGE_ONE_BY_AOL_DISPLAY", + "EXCHANGE_ONE_BY_AOL_MOBILE", + "EXCHANGE_ONE_BY_AOL_VIDEO", + "EXCHANGE_OOYALA", + "EXCHANGE_OPENX", + "EXCHANGE_PERMODO", + "EXCHANGE_PLATFORMONE", + "EXCHANGE_PLATFORMID", + "EXCHANGE_PUBMATIC", + "EXCHANGE_PULSEPOINT", + "EXCHANGE_REVENUEMAX", + "EXCHANGE_RUBICON", + "EXCHANGE_SMARTCLIP", + "EXCHANGE_SMARTRTB", + "EXCHANGE_SMARTSTREAMTV", + "EXCHANGE_SOVRN", + "EXCHANGE_SPOTXCHANGE", + "EXCHANGE_STROER", + "EXCHANGE_TEADSTV", + "EXCHANGE_TELARIA", + "EXCHANGE_TVN", + "EXCHANGE_UNITED", + "EXCHANGE_YIELDLAB", + "EXCHANGE_YIELDMO", + "EXCHANGE_UNRULYX", + "EXCHANGE_OPEN8", + "EXCHANGE_TRITON", + "EXCHANGE_TRIPLELIFT", + "EXCHANGE_TABOOLA", + "EXCHANGE_INMOBI", + "EXCHANGE_SMAATO", + "EXCHANGE_AJA", + "EXCHANGE_SUPERSHIP", + "EXCHANGE_NEXSTAR_DIGITAL", + "EXCHANGE_WAZE", + "EXCHANGE_SOUNDCAST", + "EXCHANGE_SHARETHROUGH", + "EXCHANGE_FYBER", + "EXCHANGE_RED_FOR_PUBLISHERS", + "EXCHANGE_MEDIANET", + "EXCHANGE_TAPJOY", + "EXCHANGE_VISTAR", + "EXCHANGE_DAX", + "EXCHANGE_JCD", + "EXCHANGE_PLACE_EXCHANGE", + "EXCHANGE_APPLOVIN", + "EXCHANGE_CONNATIX", + "EXCHANGE_RESET_DIGITAL", + "EXCHANGE_HIVESTACK" + ], + "enumDescriptions": [ + "Exchange is not specified or is unknown in this version.", + "Google Ad Manager.", + "AppNexus.", + "BrightRoll Exchange for Video from Yahoo!.", + "Adform.", + "Admeta.", + "Admixer.", + "AdsMogo.", + "AdsWizz.", + "BidSwitch.", + "BrightRoll Exchange for Display from Yahoo!.", + "Cadreon.", + "Dailymotion.", + "Five.", + "Fluct.", + "FreeWheel SSP.", + "Geniee.", + "GumGum.", + "i-mobile.", + "iBILLBOARD.", + "Improve Digital.", + "Index Exchange.", + "Kargo.", + "MicroAd.", + "MoPub.", + "Nend.", + "ONE by AOL: Display Market Place.", + "ONE by AOL: Mobile.", + "ONE by AOL: Video.", + "Ooyala.", + "OpenX.", + "Permodo.", + "Platform One.", + "PlatformId.", + "PubMatic.", + "PulsePoint.", + "RevenueMax.", + "Rubicon.", + "SmartClip.", + "SmartRTB+.", + "SmartstreamTv.", + "Sovrn.", + "SpotXchange.", + "Str\u00f6er SSP.", + "TeadsTv.", + "Telaria.", + "TVN.", + "United.", + "Yieldlab.", + "Yieldmo.", + "UnrulyX.", + "Open8.", + "Triton.", + "TripleLift.", + "Taboola.", + "InMobi.", + "Smaato.", + "Aja.", + "Supership.", + "Nexstar Digital.", + "Waze.", + "SoundCast.", + "Sharethrough.", + "Fyber.", + "Red For Publishers.", + "Media.net.", + "Tapjoy.", + "Vistar.", + "DAX.", + "JCD.", + "Place Exchange.", + "AppLovin.", + "Connatix.", + "Reset Digital.", + "Hivestack." + ], + "type": "string" + }, + "int64Value": { + "description": "Integer value.", + "format": "int64", + "type": "string" + }, + "onScreenPositionValue": { + "description": "Ad position value.", + "enum": [ + "ON_SCREEN_POSITION_UNSPECIFIED", + "ON_SCREEN_POSITION_UNKNOWN", + "ON_SCREEN_POSITION_ABOVE_THE_FOLD", + "ON_SCREEN_POSITION_BELOW_THE_FOLD" + ], + "enumDescriptions": [ + "On screen position is not specified in this version. This enum is a place holder for a default value and does not represent a real on screen position.", + "The ad position is unknown on the screen.", + "The ad is located above the fold.", + "The ad is located below the fold." + ], + "type": "string" + }, + "stringValue": { + "description": "String value.", + "type": "string" + } + }, + "type": "object" + }, + "AlgorithmRulesRule": { + "description": "Set of conditions. The return value of the rule is either: * The return value for single met condition or * The defined default return value if no conditions are met.", + "id": "AlgorithmRulesRule", + "properties": { + "conditions": { + "description": "List of conditions in this rule. The criteria among conditions should be mutually exclusive.", + "items": { + "$ref": "AlgorithmRulesRuleCondition" + }, + "type": "array" + }, + "defaultReturnValue": { + "$ref": "AlgorithmRulesSignalValue", + "description": "The default return value applied when none of the conditions are met." + } + }, + "type": "object" + }, + "AlgorithmRulesRuleCondition": { + "description": "Set of signal comparisons. Equivalent of an `if` statement.", + "id": "AlgorithmRulesRuleCondition", + "properties": { + "returnValue": { + "$ref": "AlgorithmRulesSignalValue", + "description": "The value returned if the `signalComparisons` condition evaluates to `TRUE`." + }, + "signalComparisons": { + "description": "List of comparisons that build `if` statement condition. The comparisons are combined into a single condition with `AND` logical operators.", + "items": { + "$ref": "AlgorithmRulesSignalComparison" + }, + "type": "array" + } + }, + "type": "object" + }, + "AlgorithmRulesRuleset": { + "description": "A ruleset consisting of a list of rules and how to aggregate the resulting values.", + "id": "AlgorithmRulesRuleset", + "properties": { + "aggregationType": { + "description": "How to aggregate values of evaluated rules.", + "enum": [ + "RULE_AGGREGATION_TYPE_UNSPECIFIED", + "SUM_OF_VALUES", + "PRODUCT_OF_VALUES", + "MAXIMUM_VALUE" + ], + "enumDescriptions": [ + "Unknown aggregation type.", + "The sum of rule values.", + "The product of rule values.", + "The maximum rule value." + ], + "type": "string" + }, + "maxValue": { + "description": "Maximum value the ruleset can evaluate to.", + "format": "double", + "type": "number" + }, + "rules": { + "description": "List of rules to generate the impression value.", + "items": { + "$ref": "AlgorithmRulesRule" + }, + "type": "array" + } + }, + "type": "object" + }, + "AlgorithmRulesSignal": { + "description": "Signal used to evaluate rules.", + "id": "AlgorithmRulesSignal", + "properties": { + "impressionSignal": { + "description": "Signal based on impressions.", + "enum": [ + "IMPRESSION_SIGNAL_UNSPECIFIED", + "DAY_AND_TIME", + "DEVICE_TYPE", + "AD_POSITION", + "OPERATING_SYSTEM_ID", + "MOBILE_MODEL_ID", + "EXCHANGE_ID", + "ENVIRONMENT", + "COUNTRY_ID", + "CITY_ID", + "BROWSER_ID", + "CREATIVE_DIMENSION" + ], + "enumDescriptions": [ + "Unknown signal.", + "The day of the week and hour of day the impression was made using browser's local time zone. Value is stored in the dayAndTimeValue field of the comparison value.", + "Device type. Value is stored in the deviceTypeValue field of the comparison value.", + "Ad position. Value is stored in the onScreenPositionValue field of the comparison value.", + "The operating system identifier. Value is stored in the int64Value field of the comparison value.", + "The mobile model identifier. Value is stored in the int64Value field of the comparison value.", + "The exchange identifier. Value is stored in the int64Value field of the comparison value.", + "Serving environment. Value is stored in the environmentValue field of the comparison value.", + "The country or region identifier. Value is stored in the int64Value field of the comparison value.", + "The city identifier. Value is stored in the int64Value field of the comparison value.", + "The browser identifier. Value is stored in the int64Value field of the comparison value.", + "Creative height and width in pixels. Value is stored in the creativeDimensionValue field of the comparison value." + ], + "type": "string" + } + }, + "type": "object" + }, + "AlgorithmRulesSignalComparison": { + "description": "A single comparison. The comparison compares the `signal` to the `comparisonValue`. The comparison of `siteId==123` is represented with the following field values: * `signal` has an `impressionSignal` of `SITE_ID`. * `comparisonOperator` is set to `EQUAL`. * `comparisonValue` is set to 123.", + "id": "AlgorithmRulesSignalComparison", + "properties": { + "comparisonOperator": { + "description": "Operator used to compare the two values. In the resulting experession, the `signal` will be the first value and the `comparisonValue will be the second.", + "enum": [ + "COMPARISON_OPERATOR_UNSPECIFIED", + "EQUAL", + "GREATER_THAN", + "LESS_THAN", + "GREATER_THAN_OR_EQUAL_TO", + "LESS_THAN_OR_EQUAL_TO" + ], + "enumDescriptions": [ + "Unknown operator.", + "Values are equal.", + "First value is greater than the comparison value.", + "First value is less than the second.", + "First value is greater than or equal to the second.", + "First value is less or equals to the comparison value." + ], + "type": "string" + }, + "comparisonValue": { + "$ref": "AlgorithmRulesComparisonValue", + "description": "Value to compare signal to." + }, + "signal": { + "$ref": "AlgorithmRulesSignal", + "description": "Signal to compare." + } + }, + "type": "object" + }, + "AlgorithmRulesSignalValue": { + "description": "Adjusted value of the signal used for rule evaluation.", + "id": "AlgorithmRulesSignalValue", + "properties": { + "number": { + "description": "Value to use as result.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "AppAssignedTargetingOptionDetails": { + "description": "Details for assigned app targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_APP`.", + "id": "AppAssignedTargetingOptionDetails", + "properties": { + "appId": { + "description": "Required. The ID of the app. Android's Play store app uses bundle ID, for example `com.google.android.gm`. Apple's App store app ID uses 9 digit string, for example `422689480`.", + "type": "string" + }, + "appPlatform": { + "description": "Indicates the platform of the targeted app. If this field is not specified, the app platform will be assumed to be mobile (i.e., Android or iOS), and we will derive the appropriate mobile platform from the app ID.", + "enum": [ + "APP_PLATFORM_UNSPECIFIED", + "APP_PLATFORM_IOS", + "APP_PLATFORM_ANDROID", + "APP_PLATFORM_ROKU", + "APP_PLATFORM_AMAZON_FIRETV", + "APP_PLATFORM_PLAYSTATION", + "APP_PLATFORM_APPLE_TV", + "APP_PLATFORM_XBOX", + "APP_PLATFORM_SAMSUNG_TV", + "APP_PLATFORM_ANDROID_TV", + "APP_PLATFORM_GENERIC_CTV" + ], + "enumDescriptions": [ + "Default value when app platform is not specified in this version. This enum is a placeholder for default value and does not represent a real platform option.", + "The app platform is iOS.", + "The app platform is Android.", + "The app platform is Roku.", + "The app platform is Amazon FireTV.", + "The app platform is Playstation.", + "The app platform is Apple TV.", + "The app platform is Xbox.", + "The app platform is Samsung TV.", + "The app platform is Android TV.", + "The app platform is a CTV platform that is not explicitly listed elsewhere." + ], + "type": "string" + }, + "displayName": { + "description": "Output only. The display name of the app.", + "readOnly": true, + "type": "string" + }, + "negative": { + "description": "Indicates if this option is being negatively targeted.", + "type": "boolean" + } + }, + "type": "object" + }, + "AppCategoryAssignedTargetingOptionDetails": { + "description": "Details for assigned app category targeting option. This will be populated in the app_category_details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_APP_CATEGORY`.", + "id": "AppCategoryAssignedTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the app category.", + "readOnly": true, + "type": "string" + }, + "negative": { + "description": "Indicates if this option is being negatively targeted.", + "type": "boolean" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_APP_CATEGORY`.", + "type": "string" + } + }, + "type": "object" + }, + "AppCategoryTargetingOptionDetails": { + "description": "Represents a targetable collection of apps. A collection lets you target dynamic groups of related apps that are maintained by the platform, for example `All Apps/Google Play/Games`. This will be populated in the app_category_details field when targeting_type is `TARGETING_TYPE_APP_CATEGORY`.", + "id": "AppCategoryTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The name of the app collection.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Asset": { + "description": "A single asset.", + "id": "Asset", + "properties": { + "content": { + "description": "The asset content. For uploaded assets, the content is the serving path.", + "type": "string" + }, + "mediaId": { + "description": "Media ID of the uploaded asset. This is a unique identifier for the asset. This ID can be passed to other API calls, e.g. CreateCreative to associate the asset with a creative. The Media ID space updated on **April 5, 2023**. Update media IDs cached before **April 5, 2023** by retrieving the new media ID from associated creative resources or re-uploading the asset.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "AssetAssociation": { + "description": "Asset association for the creative.", + "id": "AssetAssociation", + "properties": { + "asset": { + "$ref": "Asset", + "description": "The associated asset." + }, + "role": { + "description": "The role of this asset for the creative.", + "enum": [ + "ASSET_ROLE_UNSPECIFIED", + "ASSET_ROLE_MAIN", + "ASSET_ROLE_BACKUP", + "ASSET_ROLE_POLITE_LOAD", + "ASSET_ROLE_HEADLINE", + "ASSET_ROLE_LONG_HEADLINE", + "ASSET_ROLE_BODY", + "ASSET_ROLE_LONG_BODY", + "ASSET_ROLE_CAPTION_URL", + "ASSET_ROLE_CALL_TO_ACTION", + "ASSET_ROLE_ADVERTISER_NAME", + "ASSET_ROLE_PRICE", + "ASSET_ROLE_ANDROID_APP_ID", + "ASSET_ROLE_IOS_APP_ID", + "ASSET_ROLE_RATING", + "ASSET_ROLE_ICON", + "ASSET_ROLE_COVER_IMAGE" + ], + "enumDescriptions": [ + "Asset role is not specified or is unknown in this version.", + "The asset is the main asset of the creative.", + "The asset is a backup asset of the creative.", + "The asset is a polite load asset of the creative.", + "Headline of a native creative. The content must be UTF-8 encoded with a length of no more than 25 characters. This role is only supported in following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "Long headline of a native creative. The content must be UTF-8 encoded with a length of no more than 50 characters. This role is only supported in following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "Body text of a native creative. The content must be UTF-8 encoded with a length of no more than 90 characters. This role is only supported in following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "Long body text of a native creative. The content must be UTF-8 encoded with a length of no more than 150 characters. This role is only supported in following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "A short, friendly version of the landing page URL to show in the creative. This URL gives people an idea of where they'll arrive after they click on the creative. The content must be UTF-8 encoded with a length of no more than 30 characters. For example, if the landing page URL is 'http://www.example.com/page', the caption URL can be 'example.com'. The protocol (http://) is optional, but the URL can't contain spaces or special characters. This role is only supported in following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "The text to use on the call-to-action button of a native creative. The content must be UTF-8 encoded with a length of no more than 15 characters. This role is only supported in following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "The text that identifies the advertiser or brand name. The content must be UTF-8 encoded with a length of no more than 25 characters. This role is only supported in following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "The purchase price of your app in the Google play store or iOS app store (for example, $5.99). Note that this value is not automatically synced with the actual value listed in the store. It will always be the one provided when save the creative. The content must be UTF-8 encoded with a length of no more than 15 characters. Assets of this role are read-only.", + "The ID of an Android app in the Google play store. You can find this ID in the App\u2019s Google Play Store URL after \u2018id\u2019. For example, in https://play.google.com/store/apps/details?id=com.company.appname the identifier is com.company.appname. Assets of this role are read-only.", + "The ID of an iOS app in the Apple app store. This ID number can be found in the Apple App Store URL as the string of numbers directly after \"id\". For example, in https://apps.apple.com/us/app/gmail-email-by-google/id422689480 the ID is 422689480. Assets of this role are read-only.", + "The rating of an app in the Google play store or iOS app store. Note that this value is not automatically synced with the actual rating in the store. It will always be the one provided when save the creative. Assets of this role are read-only.", + "The icon of a creative. This role is only supported and required in following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE`", + "The cover image of a native video creative. This role is only supported and required in following creative_type: * `CREATIVE_TYPE_VIDEO`" + ], + "type": "string" + } + }, + "type": "object" + }, + "AssignedInventorySource": { + "description": "An assignment between a targetable inventory source and an inventory source group.", + "id": "AssignedInventorySource", + "properties": { + "assignedInventorySourceId": { + "description": "Output only. The unique ID of the assigned inventory source. The ID is only unique within a given inventory source group. It may be reused in other contexts.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "inventorySourceId": { + "description": "Required. The ID of the inventory source entity being targeted.", + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the assigned inventory source.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AssignedLocation": { + "description": "An assignment between a location list and a relevant targeting option.", + "id": "AssignedLocation", + "properties": { + "assignedLocationId": { + "description": "Output only. The unique ID of the assigned location. The ID is only unique within a location list. It may be reused in other contexts.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the assigned location.", + "readOnly": true, + "type": "string" + }, + "targetingOptionId": { + "description": "Required. The ID of the targeting option assigned to the location list.", + "type": "string" + } + }, + "type": "object" + }, + "AssignedTargetingOption": { + "description": "A single assigned targeting option, which defines the state of a targeting option for an entity with targeting settings.", + "id": "AssignedTargetingOption", + "properties": { + "ageRangeDetails": { + "$ref": "AgeRangeAssignedTargetingOptionDetails", + "description": "Age range details. This field will be populated when the targeting_type is `TARGETING_TYPE_AGE_RANGE`." + }, + "appCategoryDetails": { + "$ref": "AppCategoryAssignedTargetingOptionDetails", + "description": "App category details. This field will be populated when the targeting_type is `TARGETING_TYPE_APP_CATEGORY`." + }, + "appDetails": { + "$ref": "AppAssignedTargetingOptionDetails", + "description": "App details. This field will be populated when the targeting_type is `TARGETING_TYPE_APP`." + }, + "assignedTargetingOptionId": { + "description": "Output only. The unique ID of the assigned targeting option. The ID is only unique within a given resource and targeting type. It may be reused in other contexts.", + "readOnly": true, + "type": "string" + }, + "assignedTargetingOptionIdAlias": { + "description": "Output only. An alias for the assigned_targeting_option_id. This value can be used in place of `assignedTargetingOptionId` when retrieving or deleting existing targeting. This field will only be supported for all assigned targeting options of the following targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` This field is also supported for line item assigned targeting options of the following targeting types: * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`", + "readOnly": true, + "type": "string" + }, + "audienceGroupDetails": { + "$ref": "AudienceGroupAssignedTargetingOptionDetails", + "description": "Audience targeting details. This field will be populated when the targeting_type is `TARGETING_TYPE_AUDIENCE_GROUP`. You can only target one audience group option per resource." + }, + "audioContentTypeDetails": { + "$ref": "AudioContentTypeAssignedTargetingOptionDetails", + "description": "Audio content type details. This field will be populated when the targeting_type is `TARGETING_TYPE_AUDIO_CONTENT_TYPE`." + }, + "authorizedSellerStatusDetails": { + "$ref": "AuthorizedSellerStatusAssignedTargetingOptionDetails", + "description": "Authorized seller status details. This field will be populated when the targeting_type is `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`. You can only target one authorized seller status option per resource. If a resource doesn't have an authorized seller status option, all authorized sellers indicated as DIRECT or RESELLER in the ads.txt file are targeted by default." + }, + "browserDetails": { + "$ref": "BrowserAssignedTargetingOptionDetails", + "description": "Browser details. This field will be populated when the targeting_type is `TARGETING_TYPE_BROWSER`." + }, + "businessChainDetails": { + "$ref": "BusinessChainAssignedTargetingOptionDetails", + "description": "Business chain details. This field will be populated when the targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`." + }, + "carrierAndIspDetails": { + "$ref": "CarrierAndIspAssignedTargetingOptionDetails", + "description": "Carrier and ISP details. This field will be populated when the targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`." + }, + "categoryDetails": { + "$ref": "CategoryAssignedTargetingOptionDetails", + "description": "Category details. This field will be populated when the targeting_type is `TARGETING_TYPE_CATEGORY`. Targeting a category will also target its subcategories. If a category is excluded from targeting and a subcategory is included, the exclusion will take precedence." + }, + "channelDetails": { + "$ref": "ChannelAssignedTargetingOptionDetails", + "description": "Channel details. This field will be populated when the targeting_type is `TARGETING_TYPE_CHANNEL`." + }, + "contentDurationDetails": { + "$ref": "ContentDurationAssignedTargetingOptionDetails", + "description": "Content duration details. This field will be populated when the targeting_type is `TARGETING_TYPE_CONTENT_DURATION`." + }, + "contentGenreDetails": { + "$ref": "ContentGenreAssignedTargetingOptionDetails", + "description": "Content genre details. This field will be populated when the targeting_type is `TARGETING_TYPE_CONTENT_GENRE`." + }, + "contentInstreamPositionDetails": { + "$ref": "ContentInstreamPositionAssignedTargetingOptionDetails", + "description": "Content instream position details. This field will be populated when the targeting_type is `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`." + }, + "contentOutstreamPositionDetails": { + "$ref": "ContentOutstreamPositionAssignedTargetingOptionDetails", + "description": "Content outstream position details. This field will be populated when the targeting_type is `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`." + }, + "contentStreamTypeDetails": { + "$ref": "ContentStreamTypeAssignedTargetingOptionDetails", + "description": "Content duration details. This field will be populated when the TargetingType is `TARGETING_TYPE_CONTENT_STREAM_TYPE`." + }, + "dayAndTimeDetails": { + "$ref": "DayAndTimeAssignedTargetingOptionDetails", + "description": "Day and time details. This field will be populated when the targeting_type is `TARGETING_TYPE_DAY_AND_TIME`." + }, + "deviceMakeModelDetails": { + "$ref": "DeviceMakeModelAssignedTargetingOptionDetails", + "description": "Device make and model details. This field will be populated when the targeting_type is `TARGETING_TYPE_DEVICE_MAKE_MODEL`." + }, + "deviceTypeDetails": { + "$ref": "DeviceTypeAssignedTargetingOptionDetails", + "description": "Device Type details. This field will be populated when the targeting_type is `TARGETING_TYPE_DEVICE_TYPE`." + }, + "digitalContentLabelExclusionDetails": { + "$ref": "DigitalContentLabelAssignedTargetingOptionDetails", + "description": "Digital content label details. This field will be populated when the targeting_type is `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`. Digital content labels are targeting exclusions. Advertiser level digital content label exclusions, if set, are always applied in serving (even though they aren't visible in resource settings). Resource settings can exclude content labels in addition to advertiser exclusions, but can't override them. A line item won't serve if all the digital content labels are excluded." + }, + "environmentDetails": { + "$ref": "EnvironmentAssignedTargetingOptionDetails", + "description": "Environment details. This field will be populated when the targeting_type is `TARGETING_TYPE_ENVIRONMENT`." + }, + "exchangeDetails": { + "$ref": "ExchangeAssignedTargetingOptionDetails", + "description": "Exchange details. This field will be populated when the targeting_type is `TARGETING_TYPE_EXCHANGE`." + }, + "genderDetails": { + "$ref": "GenderAssignedTargetingOptionDetails", + "description": "Gender details. This field will be populated when the targeting_type is `TARGETING_TYPE_GENDER`." + }, + "geoRegionDetails": { + "$ref": "GeoRegionAssignedTargetingOptionDetails", + "description": "Geographic region details. This field will be populated when the targeting_type is `TARGETING_TYPE_GEO_REGION`." + }, + "householdIncomeDetails": { + "$ref": "HouseholdIncomeAssignedTargetingOptionDetails", + "description": "Household income details. This field will be populated when the targeting_type is `TARGETING_TYPE_HOUSEHOLD_INCOME`." + }, + "inheritance": { + "description": "Output only. The inheritance status of the assigned targeting option.", + "enum": [ + "INHERITANCE_UNSPECIFIED", + "NOT_INHERITED", + "INHERITED_FROM_PARTNER", + "INHERITED_FROM_ADVERTISER" + ], + "enumDescriptions": [ + "The inheritance is unspecified or unknown.", + "The assigned targeting option is not inherited from higher level entity.", + "The assigned targeting option is inherited from partner targeting settings.", + "The assigned targeting option is inherited from advertiser targeting settings." + ], + "readOnly": true, + "type": "string" + }, + "inventorySourceDetails": { + "$ref": "InventorySourceAssignedTargetingOptionDetails", + "description": "Inventory source details. This field will be populated when the targeting_type is `TARGETING_TYPE_INVENTORY_SOURCE`." + }, + "inventorySourceGroupDetails": { + "$ref": "InventorySourceGroupAssignedTargetingOptionDetails", + "description": "Inventory source group details. This field will be populated when the targeting_type is `TARGETING_TYPE_INVENTORY_SOURCE_GROUP`." + }, + "keywordDetails": { + "$ref": "KeywordAssignedTargetingOptionDetails", + "description": "Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_KEYWORD`. A maximum of 5000 direct negative keywords can be assigned to a resource. No limit on number of positive keywords that can be assigned." + }, + "languageDetails": { + "$ref": "LanguageAssignedTargetingOptionDetails", + "description": "Language details. This field will be populated when the targeting_type is `TARGETING_TYPE_LANGUAGE`." + }, + "name": { + "description": "Output only. The resource name for this assigned targeting option.", + "readOnly": true, + "type": "string" + }, + "nativeContentPositionDetails": { + "$ref": "NativeContentPositionAssignedTargetingOptionDetails", + "description": "Native content position details. This field will be populated when the targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`." + }, + "negativeKeywordListDetails": { + "$ref": "NegativeKeywordListAssignedTargetingOptionDetails", + "description": "Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum of 4 negative keyword lists can be assigned to a resource." + }, + "omidDetails": { + "$ref": "OmidAssignedTargetingOptionDetails", + "description": "Open Measurement enabled inventory details. This field will be populated when the targeting_type is `TARGETING_TYPE_OMID`." + }, + "onScreenPositionDetails": { + "$ref": "OnScreenPositionAssignedTargetingOptionDetails", + "description": "On screen position details. This field will be populated when the targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`." + }, + "operatingSystemDetails": { + "$ref": "OperatingSystemAssignedTargetingOptionDetails", + "description": "Operating system details. This field will be populated when the targeting_type is `TARGETING_TYPE_OPERATING_SYSTEM`." + }, + "parentalStatusDetails": { + "$ref": "ParentalStatusAssignedTargetingOptionDetails", + "description": "Parental status details. This field will be populated when the targeting_type is `TARGETING_TYPE_PARENTAL_STATUS`." + }, + "poiDetails": { + "$ref": "PoiAssignedTargetingOptionDetails", + "description": "POI details. This field will be populated when the targeting_type is `TARGETING_TYPE_POI`." + }, + "proximityLocationListDetails": { + "$ref": "ProximityLocationListAssignedTargetingOptionDetails", + "description": "Proximity location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`." + }, + "regionalLocationListDetails": { + "$ref": "RegionalLocationListAssignedTargetingOptionDetails", + "description": "Regional location list details. This field will be populated when the targeting_type is `TARGETING_TYPE_REGIONAL_LOCATION_LIST`." + }, + "sensitiveCategoryExclusionDetails": { + "$ref": "SensitiveCategoryAssignedTargetingOptionDetails", + "description": "Sensitive category details. This field will be populated when the targeting_type is `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`. Sensitive categories are targeting exclusions. Advertiser level sensitive category exclusions, if set, are always applied in serving (even though they aren't visible in resource settings). Resource settings can exclude sensitive categories in addition to advertiser exclusions, but can't override them." + }, + "sessionPositionDetails": { + "$ref": "SessionPositionAssignedTargetingOptionDetails", + "description": "Session position details. This field will be populated when the targeting_type is `TARGETING_TYPE_SESSION_POSITION`." + }, + "subExchangeDetails": { + "$ref": "SubExchangeAssignedTargetingOptionDetails", + "description": "Sub-exchange details. This field will be populated when the targeting_type is `TARGETING_TYPE_SUB_EXCHANGE`." + }, + "targetingType": { + "description": "Output only. Identifies the type of this assigned targeting option.", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "readOnly": true, + "type": "string" + }, + "thirdPartyVerifierDetails": { + "$ref": "ThirdPartyVerifierAssignedTargetingOptionDetails", + "description": "Third party verification details. This field will be populated when the targeting_type is `TARGETING_TYPE_THIRD_PARTY_VERIFIER`." + }, + "urlDetails": { + "$ref": "UrlAssignedTargetingOptionDetails", + "description": "URL details. This field will be populated when the targeting_type is `TARGETING_TYPE_URL`." + }, + "userRewardedContentDetails": { + "$ref": "UserRewardedContentAssignedTargetingOptionDetails", + "description": "User rewarded content details. This field will be populated when the targeting_type is `TARGETING_TYPE_USER_REWARDED_CONTENT`." + }, + "videoPlayerSizeDetails": { + "$ref": "VideoPlayerSizeAssignedTargetingOptionDetails", + "description": "Video player size details. This field will be populated when the targeting_type is `TARGETING_TYPE_VIDEO_PLAYER_SIZE`." + }, + "viewabilityDetails": { + "$ref": "ViewabilityAssignedTargetingOptionDetails", + "description": "Viewability details. This field will be populated when the targeting_type is `TARGETING_TYPE_VIEWABILITY`. You can only target one viewability option per resource." + }, + "youtubeChannelDetails": { + "$ref": "YoutubeChannelAssignedTargetingOptionDetails", + "description": "YouTube channel details. This field will be populated when the targeting_type is `TARGETING_TYPE_YOUTUBE_CHANNEL`." + }, + "youtubeVideoDetails": { + "$ref": "YoutubeVideoAssignedTargetingOptionDetails", + "description": "YouTube video details. This field will be populated when the targeting_type is `TARGETING_TYPE_YOUTUBE_VIDEO`." + } + }, + "type": "object" + }, + "AssignedUserRole": { + "description": "A single assigned user role, which defines a user's authorized interaction with a specified partner or advertiser.", + "id": "AssignedUserRole", + "properties": { + "advertiserId": { + "description": "The ID of the advertiser that the assigend user role applies to.", + "format": "int64", + "type": "string" + }, + "assignedUserRoleId": { + "description": "Output only. The ID of the assigned user role.", + "readOnly": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that the assigned user role applies to.", + "format": "int64", + "type": "string" + }, + "userRole": { + "description": "Required. The user role to assign to a user for the entity.", + "enum": [ + "USER_ROLE_UNSPECIFIED", + "ADMIN", + "ADMIN_PARTNER_CLIENT", + "STANDARD", + "STANDARD_PLANNER", + "STANDARD_PLANNER_LIMITED", + "STANDARD_PARTNER_CLIENT", + "READ_ONLY", + "REPORTING_ONLY", + "LIMITED_REPORTING_ONLY", + "CREATIVE", + "CREATIVE_ADMIN" + ], + "enumDescriptions": [ + "Default value when the user role is not specified or is unknown in this version.", + "The user can manage campaigns, creatives, insertion orders, line items, and reports for the entity. They can view and edit billing information, create or modify users, and enable or disable exchanges. This role can only be assigned for a partner entity.", + "The user can manage campaigns, creatives, insertion orders, line items, and reports for the entity. They can create and modify other `ADMIN_PARTNER_CLIENT` users and view billing information. They cannot view revenue models, markups, or any other reseller-sensitive fields. This role can only be assigned for a partner entity.", + "The user can manage campaigns, creatives, insertion orders, line items, and reports for the entity. They cannot create and modify users or view billing information.", + "The user can view all campaigns, creatives, insertion orders, line items, and reports for the entity, including all cost data. They can create and modify planning-related features, including plans and inventory.", + "The user can view all campaigns, creatives, insertion orders, line items, and reports for the entity. They can create or modify planning-related features, including plans and inventory. They have no access to cost data and cannot start, accept, or negotiate deals.", + "The user can manage campaigns, creatives, insertion orders, line items, and reports for the entity. They cannot create or modify other users or view billing information. They cannot view revenue models, markups, or any other reseller-sensitive fields. This role can only be assigned for an advertiser entity.", + "The user can only build reports and view data for the entity.", + "The user can only create and manage reports.", + "The user can only create and manage the following client-safe reports: General, Audience Performance, Cross-Partner, Keyword, Order ID, Category, and Third-Party Data Provider.", + "The user can view media plan information they need to collaborate, but can't view cost-related data or Marketplace.", + "The user can view media plan information they need to collaborate, but can't view cost-related data or Marketplace. In addition, they can add other creative admins or creative users to the entity." + ], + "type": "string" + } + }, + "type": "object" + }, + "AudienceGroupAssignedTargetingOptionDetails": { + "description": "Assigned audience group targeting option details. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_AUDIENCE_GROUP`. The relation between each group is UNION, except for excluded_first_and_third_party_audience_group and excluded_google_audience_group, of which COMPLEMENT is used as an INTERSECTION with other groups.", + "id": "AudienceGroupAssignedTargetingOptionDetails", + "properties": { + "excludedFirstAndThirdPartyAudienceGroup": { + "$ref": "FirstAndThirdPartyAudienceGroup", + "description": "The first and third party audience ids and recencies of the excluded first and third party audience group. Used for negative targeting. The COMPLEMENT of the UNION of this group and other excluded audience groups is used as an INTERSECTION to any positive audience targeting. All items are logically \u2018OR\u2019 of each other." + }, + "excludedGoogleAudienceGroup": { + "$ref": "GoogleAudienceGroup", + "description": "The Google audience ids of the excluded Google audience group. Used for negative targeting. The COMPLEMENT of the UNION of this group and other excluded audience groups is used as an INTERSECTION to any positive audience targeting. Only contains Affinity, In-market and Installed-apps type Google audiences. All items are logically \u2018OR\u2019 of each other." + }, + "includedCombinedAudienceGroup": { + "$ref": "CombinedAudienceGroup", + "description": "The combined audience ids of the included combined audience group. Contains combined audience ids only." + }, + "includedCustomListGroup": { + "$ref": "CustomListGroup", + "description": "The custom list ids of the included custom list group. Contains custom list ids only." + }, + "includedFirstAndThirdPartyAudienceGroups": { + "description": "The first and third party audience ids and recencies of included first and third party audience groups. Each first and third party audience group contains first and third party audience ids only. The relation between each first and third party audience group is INTERSECTION, and the result is UNION'ed with other audience groups. Repeated groups with same settings will be ignored.", + "items": { + "$ref": "FirstAndThirdPartyAudienceGroup" + }, + "type": "array" + }, + "includedGoogleAudienceGroup": { + "$ref": "GoogleAudienceGroup", + "description": "The Google audience ids of the included Google audience group. Contains Google audience ids only." + } + }, + "type": "object" + }, + "AudioAd": { + "description": "Details for an audio ad.", + "id": "AudioAd", + "properties": { + "displayUrl": { + "description": "The webpage address that appears with the ad.", + "type": "string" + }, + "finalUrl": { + "description": "The URL address of the webpage that people reach after they click the ad.", + "type": "string" + }, + "trackingUrl": { + "description": "The URL address loaded in the background for tracking purposes.", + "type": "string" + }, + "video": { + "$ref": "YoutubeVideoDetails", + "description": "The YouTube video of the ad." + } + }, + "type": "object" + }, + "AudioContentTypeAssignedTargetingOptionDetails": { + "description": "Details for audio content type assigned targeting option. This will be populated in the audio_content_type_details field when targeting_type is `TARGETING_TYPE_AUDIO_CONTENT_TYPE`. Explicitly targeting all options is not supported. Remove all audio content type targeting options to achieve this effect.", + "id": "AudioContentTypeAssignedTargetingOptionDetails", + "properties": { + "audioContentType": { + "description": "Required. The audio content type.", + "enum": [ + "AUDIO_CONTENT_TYPE_UNSPECIFIED", + "AUDIO_CONTENT_TYPE_UNKNOWN", + "AUDIO_CONTENT_TYPE_MUSIC", + "AUDIO_CONTENT_TYPE_BROADCAST", + "AUDIO_CONTENT_TYPE_PODCAST" + ], + "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." + ], + "type": "string" + } + }, + "type": "object" + }, + "AudioContentTypeTargetingOptionDetails": { + "description": "Represents a targetable audio content type. This will be populated in the audio_content_type_details field when targeting_type is `TARGETING_TYPE_AUDIO_CONTENT_TYPE`.", + "id": "AudioContentTypeTargetingOptionDetails", + "properties": { + "audioContentType": { + "description": "Output only. The audio content type.", + "enum": [ + "AUDIO_CONTENT_TYPE_UNSPECIFIED", + "AUDIO_CONTENT_TYPE_UNKNOWN", + "AUDIO_CONTENT_TYPE_MUSIC", + "AUDIO_CONTENT_TYPE_BROADCAST", + "AUDIO_CONTENT_TYPE_PODCAST" + ], + "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." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AudioVideoOffset": { + "description": "The length an audio or a video has been played.", + "id": "AudioVideoOffset", + "properties": { + "percentage": { + "description": "The offset in percentage of the audio or video duration.", + "format": "int64", + "type": "string" + }, + "seconds": { + "description": "The offset in seconds from the start of the audio or video.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "AuditAdvertiserResponse": { + "description": "Response message for AdvertiserService.AuditAdvertiser.", + "id": "AuditAdvertiserResponse", + "properties": { + "adGroupCriteriaCount": { + "description": "The number of individual targeting options from the following targeting types that are assigned to a line item under this advertiser. These individual targeting options count towards the limit of 4500000 ad group targeting options per advertiser. Qualifying Targeting types: * Channels, URLs, apps, and collections * Demographic * Google Audiences, including Affinity, Custom Affinity, and In-market audiences * Inventory source * Keyword * Mobile app category * User lists * Video targeting * Viewability", + "format": "int64", + "type": "string" + }, + "campaignCriteriaCount": { + "description": "The number of individual targeting options from the following targeting types that are assigned to a line item under this advertiser. These individual targeting options count towards the limit of 900000 campaign targeting options per advertiser. Qualifying Targeting types: * Position * Browser * Connection speed * Day and time * Device and operating system * Digital content label * Sensitive categories * Environment * Geography, including business chains and proximity * ISP * Language * Third-party verification", + "format": "int64", + "type": "string" + }, + "channelsCount": { + "description": "The number of channels created under this advertiser. These channels count towards the limit of 1000 channels per advertiser.", + "format": "int64", + "type": "string" + }, + "negativeKeywordListsCount": { + "description": "The number of negative keyword lists created under this advertiser. These negative keyword lists count towards the limit of 20 negative keyword lists per advertiser.", + "format": "int64", + "type": "string" + }, + "negativelyTargetedChannelsCount": { + "description": "The number of negatively targeted channels created under this advertiser. These negatively targeted channels count towards the limit of 5 negatively targeted channels per advertiser.", + "format": "int64", + "type": "string" + }, + "usedCampaignsCount": { + "description": "The number of ACTIVE and PAUSED campaigns under this advertiser. These campaigns count towards the limit of 9999 campaigns per advertiser.", + "format": "int64", + "type": "string" + }, + "usedInsertionOrdersCount": { + "description": "The number of ACTIVE, PAUSED and DRAFT insertion orders under this advertiser. These insertion orders count towards the limit of 9999 insertion orders per advertiser.", + "format": "int64", + "type": "string" + }, + "usedLineItemsCount": { + "description": "The number of ACTIVE, PAUSED, and DRAFT line items under this advertiser. These line items count towards the limit of 9999 line items per advertiser.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "AuthorizedSellerStatusAssignedTargetingOptionDetails": { + "description": "Represents an assigned authorized seller status. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`. If a resource does not have an `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` assigned targeting option, it is using the \"Authorized Direct Sellers and Resellers\" option.", + "id": "AuthorizedSellerStatusAssignedTargetingOptionDetails", + "properties": { + "authorizedSellerStatus": { + "description": "Output only. The authorized seller status to target.", + "enum": [ + "AUTHORIZED_SELLER_STATUS_UNSPECIFIED", + "AUTHORIZED_SELLER_STATUS_AUTHORIZED_DIRECT_SELLERS_ONLY", + "AUTHORIZED_SELLER_STATUS_AUTHORIZED_AND_NON_PARTICIPATING_PUBLISHERS" + ], + "enumDescriptions": [ + "Default value when authorized seller status is not specified in this version. This enum is a placeholder for the default value, or \"Authorized Direct Sellers and Resellers\" in the UI.", + "Only authorized sellers that directly own the inventory being monetized, as indicated by a DIRECT declaration in the ads.txt file. This value is equivalent to \"Authorized Direct Sellers\" in the UI.", + "All authorized sellers, including publishers that have not posted an ads.txt file. Display & Video 360 automatically disallows unauthorized sellers. This value is equivalent to \"Authorized and Non-Participating Publishers\" in the UI." + ], + "readOnly": true, + "type": "string" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.", + "type": "string" + } + }, + "type": "object" + }, + "AuthorizedSellerStatusTargetingOptionDetails": { + "description": "Represents a targetable authorized seller status. This will be populated in the authorized_seller_status_details field when targeting_type is `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`.", + "id": "AuthorizedSellerStatusTargetingOptionDetails", + "properties": { + "authorizedSellerStatus": { + "description": "Output only. The authorized seller status.", + "enum": [ + "AUTHORIZED_SELLER_STATUS_UNSPECIFIED", + "AUTHORIZED_SELLER_STATUS_AUTHORIZED_DIRECT_SELLERS_ONLY", + "AUTHORIZED_SELLER_STATUS_AUTHORIZED_AND_NON_PARTICIPATING_PUBLISHERS" + ], + "enumDescriptions": [ + "Default value when authorized seller status is not specified in this version. This enum is a placeholder for the default value, or \"Authorized Direct Sellers and Resellers\" in the UI.", + "Only authorized sellers that directly own the inventory being monetized, as indicated by a DIRECT declaration in the ads.txt file. This value is equivalent to \"Authorized Direct Sellers\" in the UI.", + "All authorized sellers, including publishers that have not posted an ads.txt file. Display & Video 360 automatically disallows unauthorized sellers. This value is equivalent to \"Authorized and Non-Participating Publishers\" in the UI." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "BiddingStrategy": { + "description": "Settings that control the bid strategy. Bid strategy determines the bid price.", + "id": "BiddingStrategy", + "properties": { + "fixedBid": { + "$ref": "FixedBidStrategy", + "description": "A strategy that uses a fixed bid price." + }, + "maximizeSpendAutoBid": { + "$ref": "MaximizeSpendBidStrategy", + "description": "A strategy that automatically adjusts the bid to optimize to your performance goal while spending the full budget. At insertion order level, the markup_type of line items cannot be set to `PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM`. In addition, when performance_goal_type is one of: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` , the line_item_type of the insertion order line items must be either: * `LINE_ITEM_TYPE_DISPLAY_DEFAULT` * `LINE_ITEM_TYPE_VIDEO_DEFAULT` , and when performance_goal_type is either: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` the line_item_type of the insertion order line items must be `LINE_ITEM_TYPE_VIDEO_DEFAULT`." + }, + "performanceGoalAutoBid": { + "$ref": "PerformanceGoalBidStrategy", + "description": "A strategy that automatically adjusts the bid to meet or beat a specified performance goal. It is to be used only for a line item entity." + }, + "youtubeAndPartnersBid": { + "$ref": "YoutubeAndPartnersBiddingStrategy", + "description": "A bid strategy used by YouTube and Partners resources. It can only be used for a YouTube and Partners line item or ad group entity." + } + }, + "type": "object" + }, + "BrowserAssignedTargetingOptionDetails": { + "description": "Details for assigned browser targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BROWSER`.", + "id": "BrowserAssignedTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the browser.", + "readOnly": true, + "type": "string" + }, + "negative": { + "description": "Indicates if this option is being negatively targeted. All assigned browser targeting options on the same resource must have the same value for this field.", + "type": "boolean" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BROWSER`.", + "type": "string" + } + }, + "type": "object" + }, + "BrowserTargetingOptionDetails": { + "description": "Represents a targetable browser. This will be populated in the browser_details field when targeting_type is `TARGETING_TYPE_BROWSER`.", + "id": "BrowserTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the browser.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "BudgetSummary": { + "description": "Summarized information of an individual campaign budget.", + "id": "BudgetSummary", + "properties": { + "externalBudgetId": { + "description": "Corresponds to the external_budget_id of a campaign budget. If the value is not set in the campaign budget, this field will be empty.", + "type": "string" + }, + "preTaxAmountMicros": { + "description": "The sum of charges made under this budget before taxes, in micros of the invoice's currency. For example, if currency_code is `USD`, then 1000000 represents one US dollar.", + "format": "int64", + "type": "string" + }, + "prismaCpeCode": { + "$ref": "PrismaCpeCode", + "description": "Relevant client, product, and estimate codes from the Mediaocean Prisma tool. Only applicable for campaign budgets with an external_budget_source of EXTERNAL_BUDGET_SOURCE_MEDIA_OCEAN." + }, + "taxAmountMicros": { + "description": "The amount of tax applied to charges under this budget, in micros of the invoice's currency. For example, if currency_code is `USD`, then 1000000 represents one US dollar.", + "format": "int64", + "type": "string" + }, + "totalAmountMicros": { + "description": "The total sum of charges made under this budget, including tax, in micros of the invoice's currency. For example, if currency_code is `USD`, then 1000000 represents one US dollar.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "BulkEditAdvertiserAssignedTargetingOptionsRequest": { + "description": "Request message for BulkEditAdvertiserAssignedTargetingOptions.", + "id": "BulkEditAdvertiserAssignedTargetingOptionsRequest", + "properties": { + "createRequests": { + "description": "The assigned targeting options to create in batch, specified as a list of `CreateAssignedTargetingOptionsRequest`. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`", + "items": { + "$ref": "CreateAssignedTargetingOptionsRequest" + }, + "type": "array" + }, + "deleteRequests": { + "description": "The assigned targeting options to delete in batch, specified as a list of `DeleteAssignedTargetingOptionsRequest`. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`", + "items": { + "$ref": "DeleteAssignedTargetingOptionsRequest" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkEditAdvertiserAssignedTargetingOptionsResponse": { + "id": "BulkEditAdvertiserAssignedTargetingOptionsResponse", + "properties": { + "createdAssignedTargetingOptions": { + "description": "The list of assigned targeting options that have been successfully created. This list will be absent if empty.", + "items": { + "$ref": "AssignedTargetingOption" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkEditAssignedInventorySourcesRequest": { + "description": "Request message for AssignedInventorySourceService.BulkEdit.", + "id": "BulkEditAssignedInventorySourcesRequest", + "properties": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent inventory source group. The parent partner does not have access to these assigned inventory sources.", + "format": "int64", + "type": "string" + }, + "createdAssignedInventorySources": { + "description": "The assigned inventory sources to create in bulk, specified as a list of AssignedInventorySources.", + "items": { + "$ref": "AssignedInventorySource" + }, + "type": "array" + }, + "deletedAssignedInventorySources": { + "description": "The IDs of the assigned inventory sources to delete in bulk, specified as a list of assigned_inventory_source_ids.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "partnerId": { + "description": "The ID of the partner that owns the inventory source group. Only this partner has write access to these assigned inventory sources.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "BulkEditAssignedInventorySourcesResponse": { + "description": "Response message for AssignedInventorySourceService.BulkEdit.", + "id": "BulkEditAssignedInventorySourcesResponse", + "properties": { + "assignedInventorySources": { + "description": "The list of assigned inventory sources that have been successfully created. This list will be absent if empty.", + "items": { + "$ref": "AssignedInventorySource" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkEditAssignedLocationsRequest": { + "description": "Request message for AssignedLocationService.BulkEditAssignedLocations.", + "id": "BulkEditAssignedLocationsRequest", + "properties": { + "createdAssignedLocations": { + "description": "The assigned locations to create in bulk, specified as a list of AssignedLocation resources.", + "items": { + "$ref": "AssignedLocation" + }, + "type": "array" + }, + "deletedAssignedLocations": { + "description": "The IDs of the assigned locations to delete in bulk, specified as a list of assignedLocationId values.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkEditAssignedLocationsResponse": { + "id": "BulkEditAssignedLocationsResponse", + "properties": { + "assignedLocations": { + "description": "The list of assigned locations that have been successfully created. This list will be absent if empty.", + "items": { + "$ref": "AssignedLocation" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkEditAssignedTargetingOptionsRequest": { + "description": "Request message for BulkEditLineItemsAssignedTargetingOptions.", + "id": "BulkEditAssignedTargetingOptionsRequest", + "properties": { + "createRequests": { + "description": "The assigned targeting options to create in batch, specified as a list of CreateAssignedTargetingOptionsRequest. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY`", + "items": { + "$ref": "CreateAssignedTargetingOptionsRequest" + }, + "type": "array" + }, + "deleteRequests": { + "description": "The assigned targeting options to delete in batch, specified as a list of DeleteAssignedTargetingOptionsRequest. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY`", + "items": { + "$ref": "DeleteAssignedTargetingOptionsRequest" + }, + "type": "array" + }, + "lineItemIds": { + "description": "Required. The ID of the line items whose targeting is being updated.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkEditAssignedTargetingOptionsResponse": { + "id": "BulkEditAssignedTargetingOptionsResponse", + "properties": { + "errors": { + "description": "The error information for each line item that failed to update.", + "items": { + "$ref": "Status" + }, + "type": "array" + }, + "failedLineItemIds": { + "description": "Output only. The IDs of the line items which failed.", + "items": { + "format": "int64", + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "updatedLineItemIds": { + "description": "Output only. The IDs of the line items which successfully updated.", + "items": { + "format": "int64", + "type": "string" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "BulkEditAssignedUserRolesRequest": { + "description": "Request message for BulkEditAssignedUserRoles.", + "id": "BulkEditAssignedUserRolesRequest", + "properties": { + "createdAssignedUserRoles": { + "description": "The assigned user roles to create in batch, specified as a list of AssignedUserRoles.", + "items": { + "$ref": "AssignedUserRole" + }, + "type": "array" + }, + "deletedAssignedUserRoles": { + "description": "The assigned user roles to delete in batch, specified as a list of assigned_user_role_ids. The format of assigned_user_role_id is `entityType-entityid`, for example `partner-123`.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkEditAssignedUserRolesResponse": { + "id": "BulkEditAssignedUserRolesResponse", + "properties": { + "createdAssignedUserRoles": { + "description": "The list of assigned user roles that have been successfully created. This list will be absent if empty.", + "items": { + "$ref": "AssignedUserRole" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkEditNegativeKeywordsRequest": { + "description": "Request message for NegativeKeywordService.BulkEditNegativeKeywords.", + "id": "BulkEditNegativeKeywordsRequest", + "properties": { + "createdNegativeKeywords": { + "description": "The negative keywords to create in batch, specified as a list of NegativeKeywords.", + "items": { + "$ref": "NegativeKeyword" + }, + "type": "array" + }, + "deletedNegativeKeywords": { + "description": "The negative keywords to delete in batch, specified as a list of keyword_values.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkEditNegativeKeywordsResponse": { + "description": "Response message for NegativeKeywordService.BulkEditNegativeKeywords.", + "id": "BulkEditNegativeKeywordsResponse", + "properties": { + "negativeKeywords": { + "description": "The list of negative keywords that have been successfully created. This list will be absent if empty.", + "items": { + "$ref": "NegativeKeyword" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkEditPartnerAssignedTargetingOptionsRequest": { + "description": "Request message for BulkEditPartnerAssignedTargetingOptions.", + "id": "BulkEditPartnerAssignedTargetingOptionsRequest", + "properties": { + "createRequests": { + "description": "The assigned targeting options to create in batch, specified as a list of `CreateAssignedTargetingOptionsRequest`. Supported targeting types: * `TARGETING_TYPE_CHANNEL`", + "items": { + "$ref": "CreateAssignedTargetingOptionsRequest" + }, + "type": "array" + }, + "deleteRequests": { + "description": "The assigned targeting options to delete in batch, specified as a list of `DeleteAssignedTargetingOptionsRequest`. Supported targeting types: * `TARGETING_TYPE_CHANNEL`", + "items": { + "$ref": "DeleteAssignedTargetingOptionsRequest" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkEditPartnerAssignedTargetingOptionsResponse": { + "id": "BulkEditPartnerAssignedTargetingOptionsResponse", + "properties": { + "createdAssignedTargetingOptions": { + "description": "The list of assigned targeting options that have been successfully created. This list will be absent if empty.", + "items": { + "$ref": "AssignedTargetingOption" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkEditSitesRequest": { + "description": "Request message for SiteService.BulkEditSites.", + "id": "BulkEditSitesRequest", + "properties": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "type": "string" + }, + "createdSites": { + "description": "The sites to create in batch, specified as a list of Sites.", + "items": { + "$ref": "Site" + }, + "type": "array" + }, + "deletedSites": { + "description": "The sites to delete in batch, specified as a list of site url_or_app_ids.", + "items": { + "type": "string" + }, + "type": "array" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent channel.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "BulkEditSitesResponse": { + "description": "Response message for SiteService.BulkEditSites.", + "id": "BulkEditSitesResponse", + "properties": { + "sites": { + "description": "The list of sites that have been successfully created. This list will be absent if empty.", + "items": { + "$ref": "Site" + }, + "type": "array" + } + }, + "type": "object" + }, + "BulkListAdGroupAssignedTargetingOptionsResponse": { + "id": "BulkListAdGroupAssignedTargetingOptionsResponse", + "properties": { + "adGroupAssignedTargetingOptions": { + "description": "The list of wrapper objects, each providing an assigned targeting option and the ad group it is assigned to. This list will be absent if empty.", + "items": { + "$ref": "AdGroupAssignedTargetingOption" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent call to `BulkListAdGroupAssignedTargetingOptions` to fetch the next page of results. This token will be absent if there are no more AdGroupAssignedTargetingOption resources to return.", + "type": "string" + } + }, + "type": "object" + }, + "BulkListAdvertiserAssignedTargetingOptionsResponse": { + "id": "BulkListAdvertiserAssignedTargetingOptionsResponse", + "properties": { + "assignedTargetingOptions": { + "description": "The list of assigned targeting options. This list will be absent if empty.", + "items": { + "$ref": "AssignedTargetingOption" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent BulkListAdvertiserAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return.", + "type": "string" + } + }, + "type": "object" + }, + "BulkListAssignedTargetingOptionsResponse": { + "id": "BulkListAssignedTargetingOptionsResponse", + "properties": { + "lineItemAssignedTargetingOptions": { + "description": "The list of wrapper objects, each providing an assigned targeting option and the line item it is assigned to. This list will be absent if empty.", + "items": { + "$ref": "LineItemAssignedTargetingOption" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent call to `BulkListAssignedTargetingOptions` to fetch the next page of results. This token will be absent if there are no more line_item_assigned_targeting_options to return.", + "type": "string" + } + }, + "type": "object" + }, + "BulkListCampaignAssignedTargetingOptionsResponse": { + "id": "BulkListCampaignAssignedTargetingOptionsResponse", + "properties": { + "assignedTargetingOptions": { + "description": "The list of assigned targeting options. This list will be absent if empty.", + "items": { + "$ref": "AssignedTargetingOption" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent BulkListCampaignAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return.", + "type": "string" + } + }, + "type": "object" + }, + "BulkListInsertionOrderAssignedTargetingOptionsResponse": { + "id": "BulkListInsertionOrderAssignedTargetingOptionsResponse", + "properties": { + "assignedTargetingOptions": { + "description": "The list of assigned targeting options. This list will be absent if empty.", + "items": { + "$ref": "AssignedTargetingOption" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent BulkListInsertionOrderAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return.", + "type": "string" + } + }, + "type": "object" + }, + "BulkUpdateLineItemsRequest": { + "description": "Request message for LineItemService.BulkUpdateLineItems.", + "id": "BulkUpdateLineItemsRequest", + "properties": { + "lineItemIds": { + "description": "Required. IDs of line items to update.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "targetLineItem": { + "$ref": "LineItem", + "description": "Required. A line item object containing the fields to be updated and the new values to assign to all line items specified in line_item_ids.\"" + }, + "updateMask": { + "description": "Required. A field mask identifying which fields to update. Only the following fields are currently supported: * entityStatus", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "BulkUpdateLineItemsResponse": { + "description": "Response message for LineItemService.BulkUpdateLineItems.", + "id": "BulkUpdateLineItemsResponse", + "properties": { + "errors": { + "description": "Errors returned by line items that failed to update.", + "items": { + "$ref": "Status" + }, + "type": "array" + }, + "failedLineItemIds": { + "description": "The IDs of line items that failed to update.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "skippedLineItemIds": { + "description": "The IDs of line items that are skipped for updates. For example, unnecessary mutates that will result in effectively no changes to line items will be skipped and corresponding line item IDs can be tracked here.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "updatedLineItemIds": { + "description": "The IDs of successfully updated line items.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "BumperAd": { + "description": "Details for a bumper ad.", + "id": "BumperAd", + "properties": { + "commonInStreamAttribute": { + "$ref": "CommonInStreamAttribute", + "description": "Common ad attributes." + } + }, + "type": "object" + }, + "BusinessChainAssignedTargetingOptionDetails": { + "description": "Details for assigned Business chain targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.", + "id": "BusinessChainAssignedTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of a business chain, e.g. \"KFC\", \"Chase Bank\".", + "readOnly": true, + "type": "string" + }, + "proximityRadiusAmount": { + "description": "Required. The radius of the area around the business chain that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`. The minimum increment for both cases is 0.1. Inputs will be rounded to the nearest acceptable value if it is too granular, e.g. 15.57 will become 15.6.", + "format": "double", + "type": "number" + }, + "proximityRadiusUnit": { + "description": "Required. The unit of distance by which the targeting radius is measured.", + "enum": [ + "DISTANCE_UNIT_UNSPECIFIED", + "DISTANCE_UNIT_MILES", + "DISTANCE_UNIT_KILOMETERS" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Miles.", + "Kilometers." + ], + "type": "string" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BUSINESS_CHAIN`. Accepted business chain targeting option IDs can be retrieved using SearchTargetingOptions.", + "type": "string" + } + }, + "type": "object" + }, + "BusinessChainSearchTerms": { + "description": "Search terms for Business Chain targeting options. At least one of the field should be populated.", + "id": "BusinessChainSearchTerms", + "properties": { + "businessChainQuery": { + "description": "The search query for the desired business chain. The query must be the full name of the business, e.g. \"KFC\", \"mercedes-benz\".", + "type": "string" + }, + "regionQuery": { + "description": "The search query for the desired geo region, e.g. \"Seattle\", \"United State\".", + "type": "string" + } + }, + "type": "object" + }, + "BusinessChainTargetingOptionDetails": { + "description": "Represents a targetable business chain within a geo region. This will be populated in the business_chain_details field when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`.", + "id": "BusinessChainTargetingOptionDetails", + "properties": { + "businessChain": { + "description": "Output only. The display name of the business chain, e.g. \"KFC\", \"Chase Bank\".", + "readOnly": true, + "type": "string" + }, + "geoRegion": { + "description": "Output only. The display name of the geographic region, e.g. \"Ontario, Canada\".", + "readOnly": true, + "type": "string" + }, + "geoRegionType": { + "description": "Output only. The type of the geographic region.", + "enum": [ + "GEO_REGION_TYPE_UNKNOWN", + "GEO_REGION_TYPE_OTHER", + "GEO_REGION_TYPE_COUNTRY", + "GEO_REGION_TYPE_REGION", + "GEO_REGION_TYPE_TERRITORY", + "GEO_REGION_TYPE_PROVINCE", + "GEO_REGION_TYPE_STATE", + "GEO_REGION_TYPE_PREFECTURE", + "GEO_REGION_TYPE_GOVERNORATE", + "GEO_REGION_TYPE_CANTON", + "GEO_REGION_TYPE_UNION_TERRITORY", + "GEO_REGION_TYPE_AUTONOMOUS_COMMUNITY", + "GEO_REGION_TYPE_DMA_REGION", + "GEO_REGION_TYPE_METRO", + "GEO_REGION_TYPE_CONGRESSIONAL_DISTRICT", + "GEO_REGION_TYPE_COUNTY", + "GEO_REGION_TYPE_MUNICIPALITY", + "GEO_REGION_TYPE_CITY", + "GEO_REGION_TYPE_POSTAL_CODE", + "GEO_REGION_TYPE_DEPARTMENT", + "GEO_REGION_TYPE_AIRPORT", + "GEO_REGION_TYPE_TV_REGION", + "GEO_REGION_TYPE_OKRUG", + "GEO_REGION_TYPE_BOROUGH", + "GEO_REGION_TYPE_CITY_REGION", + "GEO_REGION_TYPE_ARRONDISSEMENT", + "GEO_REGION_TYPE_NEIGHBORHOOD", + "GEO_REGION_TYPE_UNIVERSITY", + "GEO_REGION_TYPE_DISTRICT" + ], + "enumDescriptions": [ + "The geographic region type is unknown.", + "The geographic region type is other.", + "The geographic region is a country.", + "The geographic region type is region.", + "The geographic region is a territory.", + "The geographic region is a province.", + "The geographic region is a state.", + "The geographic region is a prefecture.", + "The geographic region is a governorate.", + "The geographic region is a canton.", + "The geographic region is a union territory.", + "The geographic region is an autonomous community.", + "The geographic region is a designated market area (DMA) region.", + "The geographic region type is metro.", + "The geographic region is a congressional district.", + "The geographic region is a county.", + "The geographic region is a municipality.", + "The geographic region is a city.", + "The geographic region targeting type is postal code.", + "The geographic region targeting type is department.", + "The geographic region is an airport.", + "The geographic region is a TV region.", + "The geographic region is an okrug.", + "The geographic region is a borough.", + "The geographic region is a city region.", + "The geographic region is an arrondissement.", + "The geographic region is a neighborhood.", + "The geographic region is a university.", + "The geographic region is a district." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Campaign": { + "description": "A single campaign.", + "id": "Campaign", + "properties": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the campaign belongs to.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "campaignBudgets": { + "description": "The list of budgets available to this campaign. If this field is not set, the campaign uses an unlimited budget.", + "items": { + "$ref": "CampaignBudget" + }, + "type": "array" + }, + "campaignFlight": { + "$ref": "CampaignFlight", + "description": "Required. The planned spend and duration of the campaign." + }, + "campaignGoal": { + "$ref": "CampaignGoal", + "description": "Required. The goal of the campaign." + }, + "campaignId": { + "description": "Output only. The unique ID of the campaign. Assigned by the system.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the campaign. Must be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "entityStatus": { + "description": "Required. Controls whether or not the insertion orders under this campaign can spend their budgets and bid on inventory. * Accepted values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_ARCHIVED`, and `ENTITY_STATUS_PAUSED`. * For CreateCampaign method, `ENTITY_STATUS_ARCHIVED` is not allowed.", + "enum": [ + "ENTITY_STATUS_UNSPECIFIED", + "ENTITY_STATUS_ACTIVE", + "ENTITY_STATUS_ARCHIVED", + "ENTITY_STATUS_DRAFT", + "ENTITY_STATUS_PAUSED", + "ENTITY_STATUS_SCHEDULED_FOR_DELETION" + ], + "enumDescriptions": [ + "Default value when status is not specified or is unknown in this version.", + "The entity is enabled to bid and spend budget.", + "The entity is archived. Bidding and budget spending are disabled. An entity can be deleted after archived. Deleted entities cannot be retrieved.", + "The entity is under draft. Bidding and budget spending are disabled.", + "Bidding and budget spending are paused for the entity.", + "The entity is scheduled for deletion." + ], + "type": "string" + }, + "frequencyCap": { + "$ref": "FrequencyCap", + "description": "Required. The frequency cap setting of the campaign." + }, + "name": { + "description": "Output only. The resource name of the campaign.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the campaign was last updated. Assigned by the system.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CampaignBudget": { + "description": "Settings that control how the campaign budget is allocated.", + "id": "CampaignBudget", + "properties": { + "budgetAmountMicros": { + "description": "Required. The total amount the linked insertion order segments can budget. The amount is in micros. Must be greater than 0. For example, 500000000 represents 500 standard units of the currency.", + "format": "int64", + "type": "string" + }, + "budgetId": { + "description": "The unique ID of the campaign budget. Assigned by the system. Do not set for new budgets. Must be included when updating or adding budgets to campaign_budgets. Otherwise, a new ID will be generated and assigned.", + "format": "int64", + "type": "string" + }, + "budgetUnit": { + "description": "Required. Immutable. Specifies whether the budget is measured in currency or impressions.", + "enum": [ + "BUDGET_UNIT_UNSPECIFIED", + "BUDGET_UNIT_CURRENCY", + "BUDGET_UNIT_IMPRESSIONS" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Budgeting in currency amounts.", + "Budgeting in impression amounts." + ], + "type": "string" + }, + "dateRange": { + "$ref": "DateRange", + "description": "Required. The date range for the campaign budget. Linked budget segments may have a different date range. They are resolved relative to the parent advertiser's time zone. Both `start_date` and `end_date` must be before the year 2037." + }, + "displayName": { + "description": "Required. The display name of the budget. Must be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "externalBudgetId": { + "description": "Immutable. The ID identifying this budget to the external source. If this field is set and the invoice detail level of the corresponding billing profile is set to \"Budget level PO\", all impressions served against this budget will include this ID on the invoice. Must be unique under the campaign.", + "type": "string" + }, + "externalBudgetSource": { + "description": "Required. The external source of the budget.", + "enum": [ + "EXTERNAL_BUDGET_SOURCE_UNSPECIFIED", + "EXTERNAL_BUDGET_SOURCE_NONE", + "EXTERNAL_BUDGET_SOURCE_MEDIA_OCEAN" + ], + "enumDescriptions": [ + "External budget source value is not specified or unknown in this version.", + "Budget has no external source.", + "Budget source is Mediaocean." + ], + "type": "string" + }, + "invoiceGroupingId": { + "description": "Immutable. The ID used to group budgets to be included the same invoice. If this field is set and the invoice level of the corresponding billing profile is set to \"Budget invoice grouping ID\", all external_budget_id sharing the same invoice_grouping_id will be grouped in the same invoice.", + "type": "string" + }, + "prismaConfig": { + "$ref": "PrismaConfig", + "description": "Additional metadata for use by the Mediaocean Prisma tool. Required for Mediaocean budgets. Only applicable to prisma_enabled advertisers." + } + }, + "type": "object" + }, + "CampaignFlight": { + "description": "Settings that track the planned spend and duration of a campaign.", + "id": "CampaignFlight", + "properties": { + "plannedDates": { + "$ref": "DateRange", + "description": "Required. The dates that the campaign is expected to run. They are resolved relative to the parent advertiser's time zone. * The dates specified here will not affect serving. They are used to generate alerts and warnings. For example, if the flight date of any child insertion order is outside the range of these dates, the user interface will show a warning. * `start_date` is required and must be the current date or later. * `end_date` is optional. If specified, it must be the `start_date` or later. * Any specified date must be before the year 2037." + }, + "plannedSpendAmountMicros": { + "description": "The amount the campaign is expected to spend for its given planned_dates. This will not limit serving, but will be used for tracking spend in the DV360 UI. The amount is in micros. Must be greater than or equal to 0. For example, 500000000 represents 500 standard units of the currency.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "CampaignGoal": { + "description": "Settings that control the goal of a campaign.", + "id": "CampaignGoal", + "properties": { + "campaignGoalType": { + "description": "Required. The type of the campaign goal.", + "enum": [ + "CAMPAIGN_GOAL_TYPE_UNSPECIFIED", + "CAMPAIGN_GOAL_TYPE_APP_INSTALL", + "CAMPAIGN_GOAL_TYPE_BRAND_AWARENESS", + "CAMPAIGN_GOAL_TYPE_OFFLINE_ACTION", + "CAMPAIGN_GOAL_TYPE_ONLINE_ACTION" + ], + "enumDescriptions": [ + "Goal value is not specified or unknown in this version.", + "Drive app installs or engagements.", + "Raise awareness of a brand or product.", + "Drive offline or in-store sales.", + "Drive online action or visits." + ], + "type": "string" + }, + "performanceGoal": { + "$ref": "PerformanceGoal", + "description": "Required. The performance goal of the campaign. Acceptable values for performance_goal_type are: * `PERFORMANCE_GOAL_TYPE_CPM` * `PERFORMANCE_GOAL_TYPE_CPC` * `PERFORMANCE_GOAL_TYPE_CPA` * `PERFORMANCE_GOAL_TYPE_CPIAVC` * `PERFORMANCE_GOAL_TYPE_CTR` * `PERFORMANCE_GOAL_TYPE_VIEWABILITY` * `PERFORMANCE_GOAL_TYPE_OTHER`" + } + }, + "type": "object" + }, + "CarrierAndIspAssignedTargetingOptionDetails": { + "description": "Details for assigned carrier and ISP targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.", + "id": "CarrierAndIspAssignedTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the carrier or ISP.", + "readOnly": true, + "type": "string" + }, + "negative": { + "description": "Indicates if this option is being negatively targeted. All assigned carrier and ISP targeting options on the same resource must have the same value for this field.", + "type": "boolean" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_CARRIER_AND_ISP`.", + "type": "string" + } + }, + "type": "object" + }, + "CarrierAndIspTargetingOptionDetails": { + "description": "Represents a targetable carrier or ISP. This will be populated in the carrier_and_isp_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`.", + "id": "CarrierAndIspTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the carrier or ISP.", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Output only. The type indicating if it's carrier or ISP.", + "enum": [ + "CARRIER_AND_ISP_TYPE_UNSPECIFIED", + "CARRIER_AND_ISP_TYPE_ISP", + "CARRIER_AND_ISP_TYPE_CARRIER" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Indicates this targeting resource refers to an ISP.", + "Indicates this targeting resource refers to a mobile carrier." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CategoryAssignedTargetingOptionDetails": { + "description": "Assigned category targeting option details. This will be populated in the category_details field when targeting_type is `TARGETING_TYPE_CATEGORY`.", + "id": "CategoryAssignedTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the category.", + "readOnly": true, + "type": "string" + }, + "negative": { + "description": "Indicates if this option is being negatively targeted.", + "type": "boolean" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_CATEGORY`.", + "type": "string" + } + }, + "type": "object" + }, + "CategoryTargetingOptionDetails": { + "description": "Represents a targetable category. This will be populated in the category_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_CATEGORY`.", + "id": "CategoryTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the category.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Channel": { + "description": "A single channel. Channels are custom groups of related websites and apps.", + "id": "Channel", + "properties": { + "advertiserId": { + "description": "The ID of the advertiser that owns the channel.", + "format": "int64", + "type": "string" + }, + "channelId": { + "description": "Output only. The unique ID of the channel. Assigned by the system.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the channel. Must be UTF-8 encoded with a maximum length of 240 bytes.", + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the channel.", + "readOnly": true, + "type": "string" + }, + "negativelyTargetedLineItemCount": { + "description": "Output only. Number of line items that are directly targeting this channel negatively.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "partnerId": { + "description": "The ID of the partner that owns the channel.", + "format": "int64", + "type": "string" + }, + "positivelyTargetedLineItemCount": { + "description": "Output only. Number of line items that are directly targeting this channel positively.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ChannelAssignedTargetingOptionDetails": { + "description": "Details for assigned channel targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CHANNEL`.", + "id": "ChannelAssignedTargetingOptionDetails", + "properties": { + "channelId": { + "description": "Required. ID of the channel. Should refer to the channel ID field on a [Partner-owned channel](partners.channels#Channel.FIELDS.channel_id) or [advertiser-owned channel](advertisers.channels#Channel.FIELDS.channel_id) resource.", + "format": "int64", + "type": "string" + }, + "negative": { + "description": "Indicates if this option is being negatively targeted. For advertiser level assigned targeting option, this field must be true.", + "type": "boolean" + } + }, + "type": "object" + }, + "CmHybridConfig": { + "description": "Settings for advertisers that use both Campaign Manager 360 (CM360) and third-party ad servers.", + "id": "CmHybridConfig", + "properties": { + "cmAccountId": { + "description": "Required. Immutable. Account ID of the CM360 Floodlight configuration linked with the DV360 advertiser.", + "format": "int64", + "type": "string" + }, + "cmFloodlightConfigId": { + "description": "Required. Immutable. ID of the CM360 Floodlight configuration linked with the DV360 advertiser.", + "format": "int64", + "type": "string" + }, + "cmFloodlightLinkingAuthorized": { + "description": "Required. Immutable. By setting this field to `true`, you, on behalf of your company, authorize the sharing of information from the given Floodlight configuration to this Display & Video 360 advertiser.", + "type": "boolean" + }, + "cmSyncableSiteIds": { + "description": "A list of CM360 sites whose placements will be synced to DV360 as creatives. If absent or empty in CreateAdvertiser method, the system will automatically create a CM360 site. Removing sites from this list may cause DV360 creatives synced from CM360 to be deleted. At least one site must be specified.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "dv360ToCmCostReportingEnabled": { + "description": "Whether or not to report DV360 cost to CM360.", + "type": "boolean" + }, + "dv360ToCmDataSharingEnabled": { + "description": "Whether or not to include DV360 data in CM360 data transfer reports.", + "type": "boolean" + } + }, + "type": "object" + }, + "CmTrackingAd": { + "description": "A Campaign Manager 360 tracking ad.", + "id": "CmTrackingAd", + "properties": { + "cmAdId": { + "description": "The ad ID of the campaign manager 360 tracking Ad.", + "format": "int64", + "type": "string" + }, + "cmCreativeId": { + "description": "The creative ID of the campaign manager 360 tracking Ad.", + "format": "int64", + "type": "string" + }, + "cmPlacementId": { + "description": "The placement ID of the campaign manager 360 tracking Ad.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "CombinedAudience": { + "description": "Describes a combined audience resource.", + "id": "CombinedAudience", + "properties": { + "combinedAudienceId": { + "description": "Output only. The unique ID of the combined audience. Assigned by the system.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Output only. The display name of the combined audience. .", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the combined audience.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CombinedAudienceGroup": { + "description": "Details of combined audience group. All combined audience targeting settings are logically \u2018OR\u2019 of each other.", + "id": "CombinedAudienceGroup", + "properties": { + "settings": { + "description": "Required. All combined audience targeting settings in combined audience group. Repeated settings with same id will be ignored. The number of combined audience settings should be no more than five, error will be thrown otherwise.", + "items": { + "$ref": "CombinedAudienceTargetingSetting" + }, + "type": "array" + } + }, + "type": "object" + }, + "CombinedAudienceTargetingSetting": { + "description": "Details of combined audience targeting setting.", + "id": "CombinedAudienceTargetingSetting", + "properties": { + "combinedAudienceId": { + "description": "Required. Combined audience id of combined audience targeting setting. This id is combined_audience_id.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "CommonInStreamAttribute": { + "description": "Common attributes for in-stream, non-skippable and bumper ads.", + "id": "CommonInStreamAttribute", + "properties": { + "actionButtonLabel": { + "description": "The text on the call-to-action button.", + "type": "string" + }, + "actionHeadline": { + "description": "The headline of the call-to-action banner.", + "type": "string" + }, + "companionBanner": { + "$ref": "ImageAsset", + "description": "The image which shows next to the video ad." + }, + "displayUrl": { + "description": "The webpage address that appears with the ad.", + "type": "string" + }, + "finalUrl": { + "description": "The URL address of the webpage that people reach after they click the ad.", + "type": "string" + }, + "trackingUrl": { + "description": "The URL address loaded in the background for tracking purposes.", + "type": "string" + }, + "video": { + "$ref": "YoutubeVideoDetails", + "description": "The YouTube video of the ad." + } + }, + "type": "object" + }, + "ContactInfo": { + "description": "Contact information defining a Customer Match audience member.", + "id": "ContactInfo", + "properties": { + "countryCode": { + "description": "Country code of the member. Must also be set with the following fields: * hashed_first_name * hashed_last_name * zip_codes", + "type": "string" + }, + "hashedEmails": { + "description": "A list of SHA256 hashed email of the member. Before hashing, remove all whitespace and make sure the string is all lowercase.", + "items": { + "type": "string" + }, + "type": "array" + }, + "hashedFirstName": { + "description": "SHA256 hashed first name of the member. Before hashing, remove all whitespace and make sure the string is all lowercase. Must also be set with the following fields: * country_code * hashed_last_name * zip_codes", + "type": "string" + }, + "hashedLastName": { + "description": "SHA256 hashed last name of the member. Before hashing, remove all whitespace and make sure the string is all lowercase. Must also be set with the following fields: * country_code * hashed_first_name * zip_codes", + "type": "string" + }, + "hashedPhoneNumbers": { + "description": "A list of SHA256 hashed phone numbers of the member. Before hashing, all phone numbers must be formatted using the [E.164 format](//en.wikipedia.org/wiki/E.164) and include the country calling code.", + "items": { + "type": "string" + }, + "type": "array" + }, + "zipCodes": { + "description": "A list of zip codes of the member. Must also be set with the following fields: * country_code * hashed_first_name * hashed_last_name", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ContactInfoList": { + "description": "Wrapper message for a list of contact information defining Customer Match audience members.", + "id": "ContactInfoList", + "properties": { + "contactInfos": { + "description": "A list of ContactInfo objects defining Customer Match audience members. The size of members after splitting the contact_infos mustn't be greater than 500,000.", + "items": { + "$ref": "ContactInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "ContentDurationAssignedTargetingOptionDetails": { + "description": "Details for content duration assigned targeting option. This will be populated in the content_duration_details field when targeting_type is `TARGETING_TYPE_CONTENT_DURATION`. Explicitly targeting all options is not supported. Remove all content duration targeting options to achieve this effect.", + "id": "ContentDurationAssignedTargetingOptionDetails", + "properties": { + "contentDuration": { + "description": "Output only. The content duration.", + "enum": [ + "CONTENT_DURATION_UNSPECIFIED", + "CONTENT_DURATION_UNKNOWN", + "CONTENT_DURATION_0_TO_1_MIN", + "CONTENT_DURATION_1_TO_5_MIN", + "CONTENT_DURATION_5_TO_15_MIN", + "CONTENT_DURATION_15_TO_30_MIN", + "CONTENT_DURATION_30_TO_60_MIN", + "CONTENT_DURATION_OVER_60_MIN" + ], + "enumDescriptions": [ + "Content duration is not specified in this version. This enum is a place holder for a default value and does not represent a real content duration.", + "The content duration is unknown.", + "Content is 0-1 minute long.", + "Content is 1-5 minutes long.", + "Content is 5-15 minutes long.", + "Content is 15-30 minutes long.", + "Content is 30-60 minutes long.", + "Content is over 60 minutes long." + ], + "readOnly": true, + "type": "string" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_CONTENT_DURATION`.", + "type": "string" + } + }, + "type": "object" + }, + "ContentDurationTargetingOptionDetails": { + "description": "Represents a targetable content duration. This will be populated in the content_duration_details field when targeting_type is `TARGETING_TYPE_CONTENT_DURATION`.", + "id": "ContentDurationTargetingOptionDetails", + "properties": { + "contentDuration": { + "description": "Output only. The content duration.", + "enum": [ + "CONTENT_DURATION_UNSPECIFIED", + "CONTENT_DURATION_UNKNOWN", + "CONTENT_DURATION_0_TO_1_MIN", + "CONTENT_DURATION_1_TO_5_MIN", + "CONTENT_DURATION_5_TO_15_MIN", + "CONTENT_DURATION_15_TO_30_MIN", + "CONTENT_DURATION_30_TO_60_MIN", + "CONTENT_DURATION_OVER_60_MIN" + ], + "enumDescriptions": [ + "Content duration is not specified in this version. This enum is a place holder for a default value and does not represent a real content duration.", + "The content duration is unknown.", + "Content is 0-1 minute long.", + "Content is 1-5 minutes long.", + "Content is 5-15 minutes long.", + "Content is 15-30 minutes long.", + "Content is 30-60 minutes long.", + "Content is over 60 minutes long." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ContentGenreAssignedTargetingOptionDetails": { + "description": "Details for content genre assigned targeting option. This will be populated in the content_genre_details field when targeting_type is `TARGETING_TYPE_CONTENT_GENRE`. Explicitly targeting all options is not supported. Remove all content genre targeting options to achieve this effect.", + "id": "ContentGenreAssignedTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the content genre.", + "readOnly": true, + "type": "string" + }, + "negative": { + "description": "Indicates if this option is being negatively targeted.", + "type": "boolean" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_CONTENT_GENRE`.", + "type": "string" + } + }, + "type": "object" + }, + "ContentGenreTargetingOptionDetails": { + "description": "Represents a targetable content genre. This will be populated in the content_genre_details field when targeting_type is `TARGETING_TYPE_CONTENT_GENRE`.", + "id": "ContentGenreTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the content genre", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ContentInstreamPositionAssignedTargetingOptionDetails": { + "description": "Assigned content instream position targeting option details. This will be populated in the content_instream_position_details field when targeting_type is `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.", + "id": "ContentInstreamPositionAssignedTargetingOptionDetails", + "properties": { + "adType": { + "description": "Output only. The ad type to target. Only applicable to insertion order targeting and new line items supporting the specified ad type will inherit this targeting option by default. Possible values are: * `AD_TYPE_VIDEO`, the setting will be inherited by new line item when line_item_type is `LINE_ITEM_TYPE_VIDEO_DEFAULT`. * `AD_TYPE_AUDIO`, the setting will be inherited by new line item when line_item_type is `LINE_ITEM_TYPE_AUDIO_DEFAULT`.", + "enum": [ + "AD_TYPE_UNSPECIFIED", + "AD_TYPE_DISPLAY", + "AD_TYPE_VIDEO", + "AD_TYPE_AUDIO" + ], + "enumDescriptions": [ + "Ad type is not specified or is unknown in this version.", + "Display creatives, e.g. image and HTML5.", + "Video creatives, e.g. video ads that play during streaming content in video players.", + "Audio creatives, e.g. audio ads that play during audio content." + ], + "readOnly": true, + "type": "string" + }, + "contentInstreamPosition": { + "description": "Required. The content instream position for video or audio ads.", + "enum": [ + "CONTENT_INSTREAM_POSITION_UNSPECIFIED", + "CONTENT_INSTREAM_POSITION_PRE_ROLL", + "CONTENT_INSTREAM_POSITION_MID_ROLL", + "CONTENT_INSTREAM_POSITION_POST_ROLL", + "CONTENT_INSTREAM_POSITION_UNKNOWN" + ], + "enumDescriptions": [ + "Content instream position is not specified in this version. This enum is a place holder for a default value and does not represent a real in stream ad position.", + "Ads that play before streaming content.", + "Ads that play between the beginning and end of streaming content.", + "Ads that play at the end of streaming content.", + "Ads instream position is unknown." + ], + "type": "string" + } + }, + "type": "object" + }, + "ContentInstreamPositionTargetingOptionDetails": { + "description": "Represents a targetable content instream position, which could be used by video and audio ads. This will be populated in the content_instream_position_details field when targeting_type is `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`.", + "id": "ContentInstreamPositionTargetingOptionDetails", + "properties": { + "contentInstreamPosition": { + "description": "Output only. The content instream position.", + "enum": [ + "CONTENT_INSTREAM_POSITION_UNSPECIFIED", + "CONTENT_INSTREAM_POSITION_PRE_ROLL", + "CONTENT_INSTREAM_POSITION_MID_ROLL", + "CONTENT_INSTREAM_POSITION_POST_ROLL", + "CONTENT_INSTREAM_POSITION_UNKNOWN" + ], + "enumDescriptions": [ + "Content instream position is not specified in this version. This enum is a place holder for a default value and does not represent a real in stream ad position.", + "Ads that play before streaming content.", + "Ads that play between the beginning and end of streaming content.", + "Ads that play at the end of streaming content.", + "Ads instream position is unknown." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ContentOutstreamPositionAssignedTargetingOptionDetails": { + "description": "Assigned content outstream position targeting option details. This will be populated in the content_outstream_position_details field when targeting_type is `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.", + "id": "ContentOutstreamPositionAssignedTargetingOptionDetails", + "properties": { + "adType": { + "description": "Output only. The ad type to target. Only applicable to insertion order targeting and new line items supporting the specified ad type will inherit this targeting option by default. Possible values are: * `AD_TYPE_DISPLAY`, the setting will be inherited by new line item when line_item_type is `LINE_ITEM_TYPE_DISPLAY_DEFAULT`. * `AD_TYPE_VIDEO`, the setting will be inherited by new line item when line_item_type is `LINE_ITEM_TYPE_VIDEO_DEFAULT`.", + "enum": [ + "AD_TYPE_UNSPECIFIED", + "AD_TYPE_DISPLAY", + "AD_TYPE_VIDEO", + "AD_TYPE_AUDIO" + ], + "enumDescriptions": [ + "Ad type is not specified or is unknown in this version.", + "Display creatives, e.g. image and HTML5.", + "Video creatives, e.g. video ads that play during streaming content in video players.", + "Audio creatives, e.g. audio ads that play during audio content." + ], + "readOnly": true, + "type": "string" + }, + "contentOutstreamPosition": { + "description": "Required. The content outstream position.", + "enum": [ + "CONTENT_OUTSTREAM_POSITION_UNSPECIFIED", + "CONTENT_OUTSTREAM_POSITION_UNKNOWN", + "CONTENT_OUTSTREAM_POSITION_IN_ARTICLE", + "CONTENT_OUTSTREAM_POSITION_IN_BANNER", + "CONTENT_OUTSTREAM_POSITION_IN_FEED", + "CONTENT_OUTSTREAM_POSITION_INTERSTITIAL" + ], + "enumDescriptions": [ + "Content outstream position is not specified in this version. This enum is a place holder for a default value and does not represent a real content outstream position.", + "The ad position is unknown in the content outstream.", + "Ads that appear between the paragraphs of your pages.", + "Ads that display on the top and the sides of a page.", + "Ads that appear in a scrollable stream of content. A feed is typically editorial (e.g. a list of articles or news) or listings (e.g. a list of products or services).", + "Ads shown before or between content loads." + ], + "type": "string" + } + }, + "type": "object" + }, + "ContentOutstreamPositionTargetingOptionDetails": { + "description": "Represents a targetable content outstream position, which could be used by display and video ads. This will be populated in the content_outstream_position_details field when targeting_type is `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`.", + "id": "ContentOutstreamPositionTargetingOptionDetails", + "properties": { + "contentOutstreamPosition": { + "description": "Output only. The content outstream position.", + "enum": [ + "CONTENT_OUTSTREAM_POSITION_UNSPECIFIED", + "CONTENT_OUTSTREAM_POSITION_UNKNOWN", + "CONTENT_OUTSTREAM_POSITION_IN_ARTICLE", + "CONTENT_OUTSTREAM_POSITION_IN_BANNER", + "CONTENT_OUTSTREAM_POSITION_IN_FEED", + "CONTENT_OUTSTREAM_POSITION_INTERSTITIAL" + ], + "enumDescriptions": [ + "Content outstream position is not specified in this version. This enum is a place holder for a default value and does not represent a real content outstream position.", + "The ad position is unknown in the content outstream.", + "Ads that appear between the paragraphs of your pages.", + "Ads that display on the top and the sides of a page.", + "Ads that appear in a scrollable stream of content. A feed is typically editorial (e.g. a list of articles or news) or listings (e.g. a list of products or services).", + "Ads shown before or between content loads." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ContentStreamTypeAssignedTargetingOptionDetails": { + "description": "Details for content stream type assigned targeting option. This will be populated in the content_stream_type_details field when targeting_type is `TARGETING_TYPE_CONTENT_STREAM_TYPE`. Explicitly targeting all options is not supported. Remove all content stream type targeting options to achieve this effect.", + "id": "ContentStreamTypeAssignedTargetingOptionDetails", + "properties": { + "contentStreamType": { + "description": "Output only. The content stream type.", + "enum": [ + "CONTENT_STREAM_TYPE_UNSPECIFIED", + "CONTENT_LIVE_STREAM", + "CONTENT_ON_DEMAND" + ], + "enumDescriptions": [ + "Content stream 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 content is being live-streamed.", + "The content is viewed on-demand." + ], + "readOnly": true, + "type": "string" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_CONTENT_STREAM_TYPE`.", + "type": "string" + } + }, + "type": "object" + }, + "ContentStreamTypeTargetingOptionDetails": { + "description": "Represents a targetable content stream type. This will be populated in the content_stream_type_details field when targeting_type is `TARGETING_TYPE_CONTENT_STREAM_TYPE`.", + "id": "ContentStreamTypeTargetingOptionDetails", + "properties": { + "contentStreamType": { + "description": "Output only. The content stream type.", + "enum": [ + "CONTENT_STREAM_TYPE_UNSPECIFIED", + "CONTENT_LIVE_STREAM", + "CONTENT_ON_DEMAND" + ], + "enumDescriptions": [ + "Content stream 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 content is being live-streamed.", + "The content is viewed on-demand." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ConversionCountingConfig": { + "description": "Settings that control how conversions are counted. All post-click conversions will be counted. A percentage value can be set for post-view conversions counting.", + "id": "ConversionCountingConfig", + "properties": { + "floodlightActivityConfigs": { + "description": "The Floodlight activity configs used to track conversions. The number of conversions counted is the sum of all of the conversions counted by all of the Floodlight activity IDs specified in this field.", + "items": { + "$ref": "TrackingFloodlightActivityConfig" + }, + "type": "array" + }, + "postViewCountPercentageMillis": { + "description": "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.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "CounterEvent": { + "description": "Counter event of the creative.", + "id": "CounterEvent", + "properties": { + "name": { + "description": "Required. The name of the counter event.", + "type": "string" + }, + "reportingName": { + "description": "Required. The name used to identify this counter event in reports.", + "type": "string" + } + }, + "type": "object" + }, + "CreateAssetRequest": { + "description": "A request message for CreateAsset.", + "id": "CreateAssetRequest", + "properties": { + "filename": { + "description": "Required. The filename of the asset, including the file extension. The filename must be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + } + }, + "type": "object" + }, + "CreateAssetResponse": { + "description": "A response message for CreateAsset.", + "id": "CreateAssetResponse", + "properties": { + "asset": { + "$ref": "Asset", + "description": "The uploaded asset, if successful." + } + }, + "type": "object" + }, + "CreateAssignedTargetingOptionsRequest": { + "description": "A request listing which assigned targeting options of a given targeting type should be created and added.", + "id": "CreateAssignedTargetingOptionsRequest", + "properties": { + "assignedTargetingOptions": { + "description": "Required. The assigned targeting options to create and add.", + "items": { + "$ref": "AssignedTargetingOption" + }, + "type": "array" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option.", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "type": "string" + } + }, + "type": "object" + }, + "CreateSdfDownloadTaskRequest": { + "description": "Request message for [SdfDownloadTaskService.CreateSdfDownloadTask].", + "id": "CreateSdfDownloadTaskRequest", + "properties": { + "advertiserId": { + "description": "The ID of the advertiser to download SDF for.", + "format": "int64", + "type": "string" + }, + "idFilter": { + "$ref": "IdFilter", + "description": "Filters on entities by their entity IDs." + }, + "inventorySourceFilter": { + "$ref": "InventorySourceFilter", + "description": "Filters on Inventory Sources by their IDs." + }, + "parentEntityFilter": { + "$ref": "ParentEntityFilter", + "description": "Filters on selected file types. The entities in each file are filtered by a chosen set of filter entities. The filter entities must be the same type as, or a parent type of, the selected file types." + }, + "partnerId": { + "description": "The ID of the partner to download SDF for.", + "format": "int64", + "type": "string" + }, + "version": { + "description": "Required. The SDF version of the downloaded file. If set to `SDF_VERSION_UNSPECIFIED`, this will default to the version specified by the advertiser or partner identified by `root_id`. An advertiser inherits its SDF version from its partner unless configured otherwise.", + "enum": [ + "SDF_VERSION_UNSPECIFIED", + "SDF_VERSION_3_1", + "SDF_VERSION_4", + "SDF_VERSION_4_1", + "SDF_VERSION_4_2", + "SDF_VERSION_5", + "SDF_VERSION_5_1", + "SDF_VERSION_5_2", + "SDF_VERSION_5_3", + "SDF_VERSION_5_4", + "SDF_VERSION_5_5", + "SDF_VERSION_6" + ], + "enumDeprecated": [ + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false + ], + "enumDescriptions": [ + "SDF version value is not specified or is unknown in this version.", + "SDF version 3.1", + "SDF version 4", + "SDF version 4.1", + "SDF version 4.2", + "SDF version 5.", + "SDF version 5.1", + "SDF version 5.2", + "SDF version 5.3", + "SDF version 5.4", + "SDF version 5.5", + "SDF version 6" + ], + "type": "string" + } + }, + "type": "object" + }, + "Creative": { + "description": "A single Creative.", + "id": "Creative", + "properties": { + "additionalDimensions": { + "description": "Additional dimensions. Applicable when creative_type is one of: * `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE` * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_LIGHTBOX` * `CREATIVE_TYPE_PUBLISHER_HOSTED` If this field is specified, width_pixels and height_pixels are both required and must be greater than or equal to 0.", + "items": { + "$ref": "Dimensions" + }, + "type": "array" + }, + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the creative belongs to.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "appendedTag": { + "description": "Third-party HTML tracking tag to be appended to the creative tag.", + "type": "string" + }, + "assets": { + "description": "Required. Assets associated to this creative.", + "items": { + "$ref": "AssetAssociation" + }, + "type": "array" + }, + "cmPlacementId": { + "description": "Output only. The unique ID of the Campaign Manager 360 placement associated with the creative. This field is only applicable for creatives that are synced from Campaign Manager.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "cmTrackingAd": { + "$ref": "CmTrackingAd", + "description": "The Campaign Manager 360 tracking ad associated with the creative. Optional for the following creative_type when created by an advertiser that uses both Campaign Manager 360 and third-party ad serving: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` Output only for other cases." + }, + "companionCreativeIds": { + "description": "The IDs of companion creatives for a video creative. You can assign existing display creatives (with image or HTML5 assets) to serve surrounding the publisher's video player. Companions display around the video player while the video is playing and remain after the video has completed. Creatives contain additional dimensions can not be companion creatives. This field is only supported for following creative_type: * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO`", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "counterEvents": { + "description": "Counter events for a rich media creative. Counters track the number of times that a user interacts with any part of a rich media creative in a specified way (mouse-overs, mouse-outs, clicks, taps, data loading, keyboard entries, etc.). Any event that can be captured in the creative can be recorded as a counter. Leave it empty or unset for creatives containing image assets only.", + "items": { + "$ref": "CounterEvent" + }, + "type": "array" + }, + "createTime": { + "description": "Output only. The timestamp when the creative was created. Assigned by the system.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "creativeAttributes": { + "description": "Output only. A list of attributes of the creative that is generated by the system.", + "items": { + "enum": [ + "CREATIVE_ATTRIBUTE_UNSPECIFIED", + "CREATIVE_ATTRIBUTE_VAST", + "CREATIVE_ATTRIBUTE_VPAID_LINEAR", + "CREATIVE_ATTRIBUTE_VPAID_NON_LINEAR" + ], + "enumDescriptions": [ + "The creative attribute is not specified or is unknown in this version.", + "The creative is a VAST creative.", + "The creative is a linear VPAID creative.", + "The creative is a non-linear VPAID creative." + ], + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "creativeId": { + "description": "Output only. The unique ID of the creative. Assigned by the system.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "creativeType": { + "description": "Required. Immutable. The type of the creative.", + "enum": [ + "CREATIVE_TYPE_UNSPECIFIED", + "CREATIVE_TYPE_STANDARD", + "CREATIVE_TYPE_EXPANDABLE", + "CREATIVE_TYPE_VIDEO", + "CREATIVE_TYPE_NATIVE", + "CREATIVE_TYPE_TEMPLATED_APP_INSTALL", + "CREATIVE_TYPE_NATIVE_SITE_SQUARE", + "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_INTERSTITIAL", + "CREATIVE_TYPE_LIGHTBOX", + "CREATIVE_TYPE_NATIVE_APP_INSTALL", + "CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE", + "CREATIVE_TYPE_AUDIO", + "CREATIVE_TYPE_PUBLISHER_HOSTED", + "CREATIVE_TYPE_NATIVE_VIDEO", + "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Standard display creative. Create and update methods are supported for this creative type if the hosting_source is one of the following: * `HOSTING_SOURCE_HOSTED` * `HOSTING_SOURCE_THIRD_PARTY`", + "Expandable creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_THIRD_PARTY`", + "Video creative. Create and update methods are supported for this creative type if the hosting_source is one of the following: * `HOSTING_SOURCE_HOSTED` * `HOSTING_SOURCE_THIRD_PARTY`", + "Native creative rendered by publishers with assets from advertiser. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`", + "Templated app install mobile creative (banner). Create and update methods are **not** supported for this creative type.", + "Square native creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`", + "Interstitial creative including both display and video. Create and update methods are **not** supported for this creative type.", + "Responsive and expandable Lightbox creative. Create and update methods are **not** supported for this creative type.", + "Native app install creative. Create and update methods are **not** supported for this creative type.", + "Square native app install creative. Create and update methods are **not** supported for this creative type.", + "Audio creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`", + "Publisher hosted creative. Create and update methods are **not** supported for this creative type.", + "Native video creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`", + "Templated app install mobile video creative. Create and update methods are **not** supported for this creative type." + ], + "type": "string" + }, + "dimensions": { + "$ref": "Dimensions", + "description": "Required. Primary dimensions of the creative. Applicable to all creative types. The value of width_pixels and height_pixels defaults to `0` when creative_type is one of: * `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_NATIVE_VIDEO`" + }, + "displayName": { + "description": "Required. The display name of the creative. Must be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "dynamic": { + "description": "Output only. Indicates whether the creative is dynamic.", + "readOnly": true, + "type": "boolean" + }, + "entityStatus": { + "description": "Required. Controls whether or not the creative can serve. Accepted values are: * `ENTITY_STATUS_ACTIVE` * `ENTITY_STATUS_ARCHIVED` * `ENTITY_STATUS_PAUSED`", + "enum": [ + "ENTITY_STATUS_UNSPECIFIED", + "ENTITY_STATUS_ACTIVE", + "ENTITY_STATUS_ARCHIVED", + "ENTITY_STATUS_DRAFT", + "ENTITY_STATUS_PAUSED", + "ENTITY_STATUS_SCHEDULED_FOR_DELETION" + ], + "enumDescriptions": [ + "Default value when status is not specified or is unknown in this version.", + "The entity is enabled to bid and spend budget.", + "The entity is archived. Bidding and budget spending are disabled. An entity can be deleted after archived. Deleted entities cannot be retrieved.", + "The entity is under draft. Bidding and budget spending are disabled.", + "Bidding and budget spending are paused for the entity.", + "The entity is scheduled for deletion." + ], + "type": "string" + }, + "exitEvents": { + "description": "Required. Exit events for this creative. An exit (also known as a click tag) is any area in your creative that someone can click or tap to open an advertiser's landing page. Every creative must include at least one exit. You can add an exit to your creative in any of the following ways: * Use Google Web Designer's tap area. * Define a JavaScript variable called \"clickTag\". * Use the Enabler (Enabler.exit()) to track exits in rich media formats.", + "items": { + "$ref": "ExitEvent" + }, + "type": "array" + }, + "expandOnHover": { + "description": "Optional. Indicates the creative will automatically expand on hover. Optional and only valid for third-party expandable creatives. Third-party expandable creatives are creatives with following hosting source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_EXPANDABLE`", + "type": "boolean" + }, + "expandingDirection": { + "description": "Optional. Specifies the expanding direction of the creative. Required and only valid for third-party expandable creatives. Third-party expandable creatives are creatives with following hosting source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_EXPANDABLE`", + "enum": [ + "EXPANDING_DIRECTION_UNSPECIFIED", + "EXPANDING_DIRECTION_NONE", + "EXPANDING_DIRECTION_UP", + "EXPANDING_DIRECTION_DOWN", + "EXPANDING_DIRECTION_LEFT", + "EXPANDING_DIRECTION_RIGHT", + "EXPANDING_DIRECTION_UP_AND_LEFT", + "EXPANDING_DIRECTION_UP_AND_RIGHT", + "EXPANDING_DIRECTION_DOWN_AND_LEFT", + "EXPANDING_DIRECTION_DOWN_AND_RIGHT", + "EXPANDING_DIRECTION_UP_OR_DOWN", + "EXPANDING_DIRECTION_LEFT_OR_RIGHT", + "EXPANDING_DIRECTION_ANY_DIAGONAL" + ], + "enumDescriptions": [ + "The expanding direction is not specified.", + "Does not expand in any direction.", + "Expands up.", + "Expands down.", + "Expands left.", + "Expands right.", + "Expands up and to the left side.", + "Expands up and to the right side.", + "Expands down and to the left side.", + "Expands down and to the right side.", + "Expands either up or down.", + "Expands to either the left or the right side.", + "Can expand in any diagonal direction." + ], + "type": "string" + }, + "hostingSource": { + "description": "Required. Indicates where the creative is hosted.", + "enum": [ + "HOSTING_SOURCE_UNSPECIFIED", + "HOSTING_SOURCE_CM", + "HOSTING_SOURCE_THIRD_PARTY", + "HOSTING_SOURCE_HOSTED", + "HOSTING_SOURCE_RICH_MEDIA" + ], + "enumDescriptions": [ + "Hosting source is not specified or is unknown in this version.", + "A creative synced from Campaign Manager 360. Create and update methods are **not** supported for this hosting type.", + "A creative hosted by a third-party ad server (3PAS). Create and update methods are supported for this hosting type if the creative_type is one of the following: * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_EXPANDABLE` * `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_VIDEO`", + "A creative created in DV360 and hosted by Campaign Manager 360. Create and update methods are supported for this hosting type if the creative_type is one of the following: * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO` * `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_VIDEO`", + "A rich media creative created in Studio and hosted by Campaign Manager 360. Create and update methods are **not** supported for this hosting type." + ], + "type": "string" + }, + "html5Video": { + "description": "Output only. Indicates the third-party VAST tag creative requires HTML5 Video support. Output only and only valid for third-party VAST tag creatives. Third-party VAST tag creatives are creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_VIDEO`", + "readOnly": true, + "type": "boolean" + }, + "iasCampaignMonitoring": { + "description": "Indicates whether Integral Ad Science (IAS) campaign monitoring is enabled. To enable this for the creative, make sure the Advertiser.creative_config.ias_client_id has been set to your IAS client ID.", + "type": "boolean" + }, + "integrationCode": { + "description": "ID information used to link this creative to an external system. Must be UTF-8 encoded with a length of no more than 10,000 characters.", + "type": "string" + }, + "jsTrackerUrl": { + "description": "JavaScript measurement URL from supported third-party verification providers (ComScore, DoubleVerify, IAS, Moat). HTML script tags are not supported. This field is only writeable in following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "type": "string" + }, + "lineItemIds": { + "description": "Output only. The IDs of the line items this creative is associated with. To associate a creative to a line item, use LineItem.creative_ids instead.", + "items": { + "format": "int64", + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "mediaDuration": { + "description": "Output only. Media duration of the creative. Applicable when creative_type is one of: * `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_NATIVE_VIDEO` * `CREATIVE_TYPE_PUBLISHER_HOSTED`", + "format": "google-duration", + "readOnly": true, + "type": "string" + }, + "mp3Audio": { + "description": "Output only. Indicates the third-party audio creative supports MP3. Output only and only valid for third-party audio creatives. Third-party audio creatives are creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_AUDIO`", + "readOnly": true, + "type": "boolean" + }, + "name": { + "description": "Output only. The resource name of the creative.", + "readOnly": true, + "type": "string" + }, + "notes": { + "description": "User notes for this creative. Must be UTF-8 encoded with a length of no more than 20,000 characters.", + "type": "string" + }, + "obaIcon": { + "$ref": "ObaIcon", + "description": "Specifies the OBA icon for a video creative. This field is only supported in following creative_type: * `CREATIVE_TYPE_VIDEO`" + }, + "oggAudio": { + "description": "Output only. Indicates the third-party audio creative supports OGG. Output only and only valid for third-party audio creatives. Third-party audio creatives are creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_AUDIO`", + "readOnly": true, + "type": "boolean" + }, + "progressOffset": { + "$ref": "AudioVideoOffset", + "description": "Amount of time to play the video before counting a view. This field is required when skippable is true. This field is only supported for the following creative_type: * `CREATIVE_TYPE_VIDEO`" + }, + "requireHtml5": { + "description": "Optional. Indicates that the creative relies on HTML5 to render properly. Optional and only valid for third-party tag creatives. Third-party tag creatives are creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE`", + "type": "boolean" + }, + "requireMraid": { + "description": "Optional. Indicates that the creative requires MRAID (Mobile Rich Media Ad Interface Definitions system). Set this if the creative relies on mobile gestures for interactivity, such as swiping or tapping. Optional and only valid for third-party tag creatives. Third-party tag creatives are creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE`", + "type": "boolean" + }, + "requirePingForAttribution": { + "description": "Optional. Indicates that the creative will wait for a return ping for attribution. Only valid when using a Campaign Manager 360 tracking ad with a third-party ad server parameter and the ${DC_DBM_TOKEN} macro. Optional and only valid for third-party tag creatives or third-party VAST tag creatives. Third-party tag creatives are creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE` Third-party VAST tag creatives are creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO`", + "type": "boolean" + }, + "reviewStatus": { + "$ref": "ReviewStatusInfo", + "description": "Output only. The current status of the creative review process.", + "readOnly": true + }, + "skipOffset": { + "$ref": "AudioVideoOffset", + "description": "Amount of time to play the video before the skip button appears. This field is required when skippable is true. This field is only supported for the following creative_type: * `CREATIVE_TYPE_VIDEO`" + }, + "skippable": { + "description": "Whether the user can choose to skip a video creative. This field is only supported for the following creative_type: * `CREATIVE_TYPE_VIDEO`", + "type": "boolean" + }, + "thirdPartyTag": { + "description": "Optional. The original third-party tag used for the creative. Required and only valid for third-party tag creatives. Third-party tag creatives are creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE`", + "type": "string" + }, + "thirdPartyUrls": { + "description": "Tracking URLs from third parties to track interactions with a video creative. This field is only supported for the following creative_type: * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "items": { + "$ref": "ThirdPartyUrl" + }, + "type": "array" + }, + "timerEvents": { + "description": "Timer custom events for a rich media creative. Timers track the time during which a user views and interacts with a specified part of a rich media creative. A creative can have multiple timer events, each timed independently. Leave it empty or unset for creatives containing image assets only.", + "items": { + "$ref": "TimerEvent" + }, + "type": "array" + }, + "trackerUrls": { + "description": "Tracking URLs for analytics providers or third-party ad technology vendors. The URLs must start with https (except on inventory that doesn't require SSL compliance). If using macros in your URL, use only macros supported by Display & Video 360. Standard URLs only, no IMG or SCRIPT tags. This field is only writeable in following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO`", + "items": { + "type": "string" + }, + "type": "array" + }, + "transcodes": { + "description": "Output only. Audio/Video transcodes. Display & Video 360 transcodes the main asset into a number of alternative versions that use different file formats or have different properties (resolution, audio bit rate, and video bit rate), each designed for specific video players or bandwidths. These transcodes give a publisher's system more options to choose from for each impression on your video and ensures that the appropriate file serves based on the viewer\u2019s connection and screen size. This field is only supported in following creative_type: * `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_NATIVE_VIDEO` * `CREATIVE_TYPE_AUDIO`", + "items": { + "$ref": "Transcode" + }, + "readOnly": true, + "type": "array" + }, + "universalAdId": { + "$ref": "UniversalAdId", + "description": "Optional. An optional creative identifier provided by a registry that is unique across all platforms. Universal Ad ID is part of the VAST 4.0 standard. It can be modified after the creative is created. This field is only supported for the following creative_type: * `CREATIVE_TYPE_VIDEO`" + }, + "updateTime": { + "description": "Output only. The timestamp when the creative was last updated, either by the user or system (e.g. creative review). Assigned by the system.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "vastTagUrl": { + "description": "Optional. The URL of the VAST tag for a third-party VAST tag creative. Required and only valid for third-party VAST tag creatives. Third-party VAST tag creatives are creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO`", + "type": "string" + }, + "vpaid": { + "description": "Output only. Indicates the third-party VAST tag creative requires VPAID (Digital Video Player-Ad Interface). Output only and only valid for third-party VAST tag creatives. Third-party VAST tag creatives are creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_VIDEO`", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, + "CreativeConfig": { + "description": "Creative requirements configuration for the inventory source.", + "id": "CreativeConfig", + "properties": { + "creativeType": { + "description": "The type of creative that can be assigned to the inventory source. Only the following types are supported: * `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_VIDEO`", + "enum": [ + "CREATIVE_TYPE_UNSPECIFIED", + "CREATIVE_TYPE_STANDARD", + "CREATIVE_TYPE_EXPANDABLE", + "CREATIVE_TYPE_VIDEO", + "CREATIVE_TYPE_NATIVE", + "CREATIVE_TYPE_TEMPLATED_APP_INSTALL", + "CREATIVE_TYPE_NATIVE_SITE_SQUARE", + "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_INTERSTITIAL", + "CREATIVE_TYPE_LIGHTBOX", + "CREATIVE_TYPE_NATIVE_APP_INSTALL", + "CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE", + "CREATIVE_TYPE_AUDIO", + "CREATIVE_TYPE_PUBLISHER_HOSTED", + "CREATIVE_TYPE_NATIVE_VIDEO", + "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Standard display creative. Create and update methods are supported for this creative type if the hosting_source is one of the following: * `HOSTING_SOURCE_HOSTED` * `HOSTING_SOURCE_THIRD_PARTY`", + "Expandable creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_THIRD_PARTY`", + "Video creative. Create and update methods are supported for this creative type if the hosting_source is one of the following: * `HOSTING_SOURCE_HOSTED` * `HOSTING_SOURCE_THIRD_PARTY`", + "Native creative rendered by publishers with assets from advertiser. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`", + "Templated app install mobile creative (banner). Create and update methods are **not** supported for this creative type.", + "Square native creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`", + "Interstitial creative including both display and video. Create and update methods are **not** supported for this creative type.", + "Responsive and expandable Lightbox creative. Create and update methods are **not** supported for this creative type.", + "Native app install creative. Create and update methods are **not** supported for this creative type.", + "Square native app install creative. Create and update methods are **not** supported for this creative type.", + "Audio creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`", + "Publisher hosted creative. Create and update methods are **not** supported for this creative type.", + "Native video creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`", + "Templated app install mobile video creative. Create and update methods are **not** supported for this creative type." + ], + "type": "string" + }, + "displayCreativeConfig": { + "$ref": "InventorySourceDisplayCreativeConfig", + "description": "The configuration for display creatives. Applicable when creative_type is `CREATIVE_TYPE_STANDARD`." + }, + "videoCreativeConfig": { + "$ref": "InventorySourceVideoCreativeConfig", + "description": "The configuration for video creatives. Applicable when creative_type is `CREATIVE_TYPE_VIDEO`." + } + }, + "type": "object" + }, + "CustomBiddingAlgorithm": { + "description": "A single custom bidding algorithm.", + "id": "CustomBiddingAlgorithm", + "properties": { + "advertiserId": { + "description": "Immutable. The unique ID of the advertiser that owns the custom bidding algorithm.", + "format": "int64", + "type": "string" + }, + "customBiddingAlgorithmId": { + "description": "Output only. The unique ID of the custom bidding algorithm. Assigned by the system.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "customBiddingAlgorithmType": { + "description": "Required. Immutable. The type of custom bidding algorithm.", + "enum": [ + "CUSTOM_BIDDING_ALGORITHM_TYPE_UNSPECIFIED", + "SCRIPT_BASED", + "ADS_DATA_HUB_BASED", + "GOAL_BUILDER_BASED", + "RULE_BASED" + ], + "enumDescriptions": [ + "Algorithm type is not specified or is unknown in this version.", + "Algorithm generated through customer-uploaded custom bidding script files.", + "Algorithm created through Ads Data Hub product.", + "Algorithm created through goal builder in DV3 UI.", + "Algorithm based in defined rules. These rules are defined in the API using the AlgorithmRules object. This algorithm type is only available to allowlisted customers. Other customers attempting to use this type will receive an error." + ], + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the custom bidding algorithm. Must be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "entityStatus": { + "description": "Controls whether or not the custom bidding algorithm can be used as a bidding strategy. Accepted values are: * `ENTITY_STATUS_ACTIVE` * `ENTITY_STATUS_ARCHIVED`", + "enum": [ + "ENTITY_STATUS_UNSPECIFIED", + "ENTITY_STATUS_ACTIVE", + "ENTITY_STATUS_ARCHIVED", + "ENTITY_STATUS_DRAFT", + "ENTITY_STATUS_PAUSED", + "ENTITY_STATUS_SCHEDULED_FOR_DELETION" + ], + "enumDescriptions": [ + "Default value when status is not specified or is unknown in this version.", + "The entity is enabled to bid and spend budget.", + "The entity is archived. Bidding and budget spending are disabled. An entity can be deleted after archived. Deleted entities cannot be retrieved.", + "The entity is under draft. Bidding and budget spending are disabled.", + "Bidding and budget spending are paused for the entity.", + "The entity is scheduled for deletion." + ], + "type": "string" + }, + "modelDetails": { + "description": "Output only. The details of custom bidding models for each advertiser who has access. This field may only include the details of the queried advertiser if the algorithm [`owner`](/display-video/api/reference/rest/v1/customBiddingAlgorithms#CustomBiddingAlgorithm.FIELDS.oneof_owner) is a partner and is being retrieved using an advertiser [`accessor`](/display-video/api/reference/rest/v1/customBiddingAlgorithms/list#body.QUERY_PARAMETERS.oneof_accessor).", + "items": { + "$ref": "CustomBiddingModelDetails" + }, + "readOnly": true, + "type": "array" + }, + "name": { + "description": "Output only. The resource name of the custom bidding algorithm.", + "readOnly": true, + "type": "string" + }, + "partnerId": { + "description": "Immutable. The unique ID of the partner that owns the custom bidding algorithm.", + "format": "int64", + "type": "string" + }, + "sharedAdvertiserIds": { + "description": "The IDs of the advertisers who have access to this algorithm. If advertiser_id is set, this field will only consist of that value. This field will not be set if the algorithm [`owner`](/display-video/api/reference/rest/v1/customBiddingAlgorithms#CustomBiddingAlgorithm.FIELDS.oneof_owner) is a partner and is being retrieved using an advertiser [`accessor`](/display-video/api/reference/rest/v1/customBiddingAlgorithms/list#body.QUERY_PARAMETERS.oneof_accessor).", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "CustomBiddingAlgorithmRules": { + "description": "A single custom bidding algorithm rules.", + "id": "CustomBiddingAlgorithmRules", + "properties": { + "active": { + "description": "Output only. Whether the rules resource is currently being used for scoring by the parent algorithm.", + "readOnly": true, + "type": "boolean" + }, + "createTime": { + "description": "Output only. The time when the rules resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "customBiddingAlgorithmId": { + "description": "Output only. The unique ID of the custom bidding algorithm that the rules resource belongs to.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "customBiddingAlgorithmRulesId": { + "description": "Output only. The unique ID of the rules resource.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "error": { + "$ref": "CustomBiddingAlgorithmRulesError", + "description": "Output only. Error code of the rejected rules resource. This field will only be populated when the state is `REJECTED`.", + "readOnly": true + }, + "name": { + "description": "Output only. The resource name of the rules resource.", + "readOnly": true, + "type": "string" + }, + "rules": { + "$ref": "CustomBiddingAlgorithmRulesRef", + "description": "Required. Immutable. The reference to the uploaded AlgorithmRules file." + }, + "state": { + "description": "Output only. The state of the rules resource.", + "enum": [ + "STATE_UNSPECIFIED", + "ACCEPTED", + "REJECTED" + ], + "enumDescriptions": [ + "The rules state are unspecified or unknown in this version.", + "The rules have been accepted for scoring impressions.", + "The rules have been rejected by backend pipelines. They may have errors." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CustomBiddingAlgorithmRulesError": { + "description": "An error message for a CustomBiddingAlgorithmRules resource.", + "id": "CustomBiddingAlgorithmRulesError", + "properties": { + "errorCode": { + "description": "The type of error.", + "enum": [ + "ERROR_CODE_UNSPECIFIED", + "SYNTAX_ERROR", + "CONSTRAINT_VIOLATION_ERROR", + "INTERNAL_ERROR" + ], + "enumDescriptions": [ + "The error is not specified or is unknown in this version.", + "The rules have a syntax error.", + "The rules have a constraint violation error.", + "Internal errors were thrown while processing the rules." + ], + "type": "string" + } + }, + "type": "object" + }, + "CustomBiddingAlgorithmRulesRef": { + "description": "The reference to the uploaded AlgorithmRules file. Retrieve the location to upload new AlgorithmRules file to using customBiddingAlgorithms.uploadRules.", + "id": "CustomBiddingAlgorithmRulesRef", + "properties": { + "resourceName": { + "description": "A resource name to be used in media.download to download the rules files. Or media.upload to upload the rules files. Resource names have the format `customBiddingAlgorithms/{custom_bidding_algorithm_id}/rulesRef/{ref_id}`.", + "type": "string" + } + }, + "type": "object" + }, + "CustomBiddingModelDetails": { + "description": "The details of a custom bidding algorithm model for a single shared advertiser.", + "id": "CustomBiddingModelDetails", + "properties": { + "advertiserId": { + "description": "The unique ID of the relevant advertiser.", + "format": "int64", + "type": "string" + }, + "readinessState": { + "description": "The readiness state of custom bidding model.", + "enum": [ + "READINESS_STATE_UNSPECIFIED", + "READINESS_STATE_ACTIVE", + "READINESS_STATE_INSUFFICIENT_DATA", + "READINESS_STATE_TRAINING", + "READINESS_STATE_NO_VALID_SCRIPT", + "READINESS_STATE_EVALUATION_FAILURE" + ], + "enumDescriptions": [ + "State is not specified or is unknown in this version.", + "The model is trained and ready for serving.", + "There is not enough data to train the serving model.", + "The model is training and not ready for serving.", + "A valid custom bidding script has not been provided with which to train the model. This state will only be applied to algorithms whose `custom_bidding_algorithm_type` is `SCRIPT_BASED`.", + "A valid script was provided but failed evaluation. This is applicable for scripts that could not be evaluated in the alloted time." + ], + "type": "string" + }, + "suspensionState": { + "description": "Output only. The suspension state of custom bidding model.", + "enum": [ + "SUSPENSION_STATE_UNSPECIFIED", + "SUSPENSION_STATE_ENABLED", + "SUSPENSION_STATE_DORMANT", + "SUSPENSION_STATE_SUSPENDED" + ], + "enumDescriptions": [ + "State is not specified or is unknown in this version.", + "Model is enabled, either recently used, currently used or scheduled to be used. The algorithm is actively scoring impressions for this advertiser.", + "Model has not been used recently. Although the model still acts as `ENABLED`, it will eventually be suspended if not used.", + "Model is suspended from scoring impressions and cannot serve. If the algorithm is assigned to a line item under this advertiser or otherwise updated, it will switch back to the `ENABLED` state and require time to prepare the serving model again." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CustomBiddingScript": { + "description": "A single custom bidding script.", + "id": "CustomBiddingScript", + "properties": { + "active": { + "description": "Output only. Whether the script is currently being used for scoring by the parent algorithm.", + "readOnly": true, + "type": "boolean" + }, + "createTime": { + "description": "Output only. The time when the script was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "customBiddingAlgorithmId": { + "description": "Output only. The unique ID of the custom bidding algorithm the script belongs to.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "customBiddingScriptId": { + "description": "Output only. The unique ID of the custom bidding script.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "errors": { + "description": "Output only. Error details of a rejected custom bidding script. This field will only be populated when state is REJECTED.", + "items": { + "$ref": "ScriptError" + }, + "readOnly": true, + "type": "array" + }, + "name": { + "description": "Output only. The resource name of the custom bidding script.", + "readOnly": true, + "type": "string" + }, + "script": { + "$ref": "CustomBiddingScriptRef", + "description": "The reference to the uploaded script file." + }, + "state": { + "description": "Output only. The state of the custom bidding script.", + "enum": [ + "STATE_UNSPECIFIED", + "ACCEPTED", + "REJECTED", + "PENDING" + ], + "enumDescriptions": [ + "The script state is not specified or is unknown in this version.", + "The script has been accepted for scoring impressions.", + "The script has been rejected by backend pipelines. It may have errors.", + "The script is being processed for backend pipelines." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CustomBiddingScriptRef": { + "description": "The reference to the uploaded custom bidding script file.", + "id": "CustomBiddingScriptRef", + "properties": { + "resourceName": { + "description": "A resource name to be used in media.download to Download the script files. Or media.upload to Upload the script files. Resource names have the format `customBiddingAlgorithms/{custom_bidding_algorithm_id}/scriptRef/{ref_id}`.", + "type": "string" + } + }, + "type": "object" + }, + "CustomLabel": { + "description": "The key and value of a custom label.", + "id": "CustomLabel", + "properties": { + "key": { + "description": "The key of the label.", + "enum": [ + "CUSTOM_LABEL_KEY_UNSPECIFIED", + "CUSTOM_LABEL_KEY_0", + "CUSTOM_LABEL_KEY_1", + "CUSTOM_LABEL_KEY_2", + "CUSTOM_LABEL_KEY_3", + "CUSTOM_LABEL_KEY_4" + ], + "enumDescriptions": [ + "Not specified or unknown.", + "Key index 0.", + "Key index 1.", + "Key index 2.", + "Key index 3.", + "Key index 4." + ], + "type": "string" + }, + "value": { + "description": "The value of the label.", + "type": "string" + } + }, + "type": "object" + }, + "CustomList": { + "description": "Describes a custom list entity, such as a custom affinity or custom intent audience list.", + "id": "CustomList", + "properties": { + "customListId": { + "description": "Output only. The unique ID of the custom list. Assigned by the system.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Output only. The display name of the custom list. .", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the custom list.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CustomListGroup": { + "description": "Details of custom list group. All custom list targeting settings are logically \u2018OR\u2019 of each other.", + "id": "CustomListGroup", + "properties": { + "settings": { + "description": "Required. All custom list targeting settings in custom list group. Repeated settings with same id will be ignored.", + "items": { + "$ref": "CustomListTargetingSetting" + }, + "type": "array" + } + }, + "type": "object" + }, + "CustomListTargetingSetting": { + "description": "Details of custom list targeting setting.", + "id": "CustomListTargetingSetting", + "properties": { + "customListId": { + "description": "Required. Custom id of custom list targeting setting. This id is custom_list_id.", + "format": "int64", + "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", + "properties": { + "day": { + "description": "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.", + "format": "int32", + "type": "integer" + }, + "month": { + "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", + "format": "int32", + "type": "integer" + }, + "year": { + "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "DateRange": { + "description": "A date range.", + "id": "DateRange", + "properties": { + "endDate": { + "$ref": "Date", + "description": "The upper bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`." + }, + "startDate": { + "$ref": "Date", + "description": "The lower bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`." + } + }, + "type": "object" + }, + "DayAndTime": { + "description": "Representation of time defined by day of the week and hour of the day.", + "id": "DayAndTime", + "properties": { + "dayOfWeek": { + "description": "Required. Day of the week.", + "enum": [ + "DAY_OF_WEEK_UNSPECIFIED", + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY", + "SUNDAY" + ], + "enumDescriptions": [ + "The day of the week is unspecified.", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "type": "string" + }, + "hourOfDay": { + "description": "Required. Hour of the day.", + "format": "int32", + "type": "integer" + }, + "timeZoneResolution": { + "description": "Required. The mechanism used to determine the relevant timezone.", + "enum": [ + "TIME_ZONE_RESOLUTION_UNSPECIFIED", + "TIME_ZONE_RESOLUTION_END_USER", + "TIME_ZONE_RESOLUTION_ADVERTISER" + ], + "enumDescriptions": [ + "Time zone resolution is either unspecific or unknown.", + "Times are resolved in the time zone of the user that saw the ad.", + "Times are resolved in the time zone of the advertiser that served the ad." + ], + "type": "string" + } + }, + "type": "object" + }, + "DayAndTimeAssignedTargetingOptionDetails": { + "description": "Representation of a segment of time defined on a specific day of the week and with a start and end time. The time represented by `start_hour` must be before the time represented by `end_hour`.", + "id": "DayAndTimeAssignedTargetingOptionDetails", + "properties": { + "dayOfWeek": { + "description": "Required. The day of the week for this day and time targeting setting.", + "enum": [ + "DAY_OF_WEEK_UNSPECIFIED", + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY", + "SUNDAY" + ], + "enumDescriptions": [ + "The day of the week is unspecified.", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "type": "string" + }, + "endHour": { + "description": "Required. The end hour for day and time targeting. Must be between 1 (1 hour after start of day) and 24 (end of day).", + "format": "int32", + "type": "integer" + }, + "startHour": { + "description": "Required. The start hour for day and time targeting. Must be between 0 (start of day) and 23 (1 hour before end of day).", + "format": "int32", + "type": "integer" + }, + "timeZoneResolution": { + "description": "Required. The mechanism used to determine which timezone to use for this day and time targeting setting.", + "enum": [ + "TIME_ZONE_RESOLUTION_UNSPECIFIED", + "TIME_ZONE_RESOLUTION_END_USER", + "TIME_ZONE_RESOLUTION_ADVERTISER" + ], + "enumDescriptions": [ + "Time zone resolution is either unspecific or unknown.", + "Times are resolved in the time zone of the user that saw the ad.", + "Times are resolved in the time zone of the advertiser that served the ad." + ], + "type": "string" + } + }, + "type": "object" + }, + "DeleteAssignedTargetingOptionsRequest": { + "description": "A request listing which assigned targeting options of a given targeting type should be deleted.", + "id": "DeleteAssignedTargetingOptionsRequest", + "properties": { + "assignedTargetingOptionIds": { + "description": "Required. The assigned targeting option IDs to delete.", + "items": { + "type": "string" + }, + "type": "array" + }, + "targetingType": { + "description": "Required. Identifies the type of this assigned targeting option.", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "type": "string" + } + }, + "type": "object" + }, + "DeviceMakeModelAssignedTargetingOptionDetails": { + "description": "Assigned device make and model targeting option details. This will be populated in the device_make_model_details field when targeting_type is `TARGETING_TYPE_DEVICE_MAKE_MODEL`.", + "id": "DeviceMakeModelAssignedTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the device make and model.", + "readOnly": true, + "type": "string" + }, + "negative": { + "description": "Indicates if this option is being negatively targeted.", + "type": "boolean" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_DEVICE_MAKE_MODEL`.", + "type": "string" + } + }, + "type": "object" + }, + "DeviceMakeModelTargetingOptionDetails": { + "description": "Represents a targetable device make and model. This will be populated in the device_make_model_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_DEVICE_MAKE_MODEL`.", + "id": "DeviceMakeModelTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the device make and model.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "DeviceTypeAssignedTargetingOptionDetails": { + "description": "Targeting details for device type. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_DEVICE_TYPE`.", + "id": "DeviceTypeAssignedTargetingOptionDetails", + "properties": { + "deviceType": { + "description": "Required. The display name of the device type.", + "enum": [ + "DEVICE_TYPE_UNSPECIFIED", + "DEVICE_TYPE_COMPUTER", + "DEVICE_TYPE_CONNECTED_TV", + "DEVICE_TYPE_SMART_PHONE", + "DEVICE_TYPE_TABLET" + ], + "enumDescriptions": [ + "Default value when device type is not specified in this version. This enum is a placeholder for default value and does not represent a real device type option.", + "Computer.", + "Connected TV.", + "Smart phone.", + "Tablet." + ], + "type": "string" + }, + "youtubeAndPartnersBidMultiplier": { + "description": "Output only. Bid multiplier allows you to show your ads more or less frequently based on the device type. It will apply a multiplier on the original bid price. When this field is 0, it indicates this field is not applicable instead of multiplying 0 on the original bid price. For example, if the bid price without multiplier is $10.0 and the multiplier is 1.5 for Tablet, the resulting bid price for Tablet will be $15.0. Only applicable to YouTube and Partners line items.", + "format": "double", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "DeviceTypeTargetingOptionDetails": { + "description": "Represents a targetable device type. This will be populated in the device_type_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_DEVICE_TYPE`.", + "id": "DeviceTypeTargetingOptionDetails", + "properties": { + "deviceType": { + "description": "Output only. The device type that is used to be targeted.", + "enum": [ + "DEVICE_TYPE_UNSPECIFIED", + "DEVICE_TYPE_COMPUTER", + "DEVICE_TYPE_CONNECTED_TV", + "DEVICE_TYPE_SMART_PHONE", + "DEVICE_TYPE_TABLET" + ], + "enumDescriptions": [ + "Default value when device type is not specified in this version. This enum is a placeholder for default value and does not represent a real device type option.", + "Computer.", + "Connected TV.", + "Smart phone.", + "Tablet." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "DigitalContentLabelAssignedTargetingOptionDetails": { + "description": "Targeting details for digital content label. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`.", + "id": "DigitalContentLabelAssignedTargetingOptionDetails", + "properties": { + "excludedContentRatingTier": { + "description": "Required. The display name of the digital content label rating tier to be EXCLUDED.", + "enum": [ + "CONTENT_RATING_TIER_UNSPECIFIED", + "CONTENT_RATING_TIER_UNRATED", + "CONTENT_RATING_TIER_GENERAL", + "CONTENT_RATING_TIER_PARENTAL_GUIDANCE", + "CONTENT_RATING_TIER_TEENS", + "CONTENT_RATING_TIER_MATURE", + "CONTENT_RATING_TIER_FAMILIES" + ], + "enumDescriptions": [ + "Content label is not specified in this version. This enum is a place holder for a default value and does not represent a real content rating.", + "Content that has not been labeled.", + "Content suitable for general audiences.", + "Content suitable for most audiences with parental guidance.", + "Content suitable for teen and older audiences.", + "Content suitable only for mature audiences.", + "Content suitable for family audiences. It is a subset of CONTENT_RATING_TIER_GENERAL. Only applicable to YouTube and Partners line items." + ], + "type": "string" + } + }, + "type": "object" + }, + "DigitalContentLabelTargetingOptionDetails": { + "description": "Represents a targetable digital content label rating tier. This will be populated in the digital_content_label_details field of the TargetingOption when targeting_type is `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`.", + "id": "DigitalContentLabelTargetingOptionDetails", + "properties": { + "contentRatingTier": { + "description": "Output only. An enum for the content label brand safety tiers.", + "enum": [ + "CONTENT_RATING_TIER_UNSPECIFIED", + "CONTENT_RATING_TIER_UNRATED", + "CONTENT_RATING_TIER_GENERAL", + "CONTENT_RATING_TIER_PARENTAL_GUIDANCE", + "CONTENT_RATING_TIER_TEENS", + "CONTENT_RATING_TIER_MATURE", + "CONTENT_RATING_TIER_FAMILIES" + ], + "enumDescriptions": [ + "Content label is not specified in this version. This enum is a place holder for a default value and does not represent a real content rating.", + "Content that has not been labeled.", + "Content suitable for general audiences.", + "Content suitable for most audiences with parental guidance.", + "Content suitable for teen and older audiences.", + "Content suitable only for mature audiences.", + "Content suitable for family audiences. It is a subset of CONTENT_RATING_TIER_GENERAL. Only applicable to YouTube and Partners line items." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Dimensions": { + "description": "Dimensions.", + "id": "Dimensions", + "properties": { + "heightPixels": { + "description": "The height in pixels.", + "format": "int32", + "type": "integer" + }, + "widthPixels": { + "description": "The width in pixels.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "DisplayVideoSourceAd": { + "description": "The ad sourced from a DV360 creative.", + "id": "DisplayVideoSourceAd", + "properties": { + "creativeId": { + "description": "The ID of the source creative.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "DoubleVerify": { + "description": "Details of DoubleVerify settings.", + "id": "DoubleVerify", + "properties": { + "appStarRating": { + "$ref": "DoubleVerifyAppStarRating", + "description": "Avoid bidding on apps with the star ratings." + }, + "avoidedAgeRatings": { + "description": "Avoid bidding on apps with the age rating.", + "items": { + "enum": [ + "AGE_RATING_UNSPECIFIED", + "APP_AGE_RATE_UNKNOWN", + "APP_AGE_RATE_4_PLUS", + "APP_AGE_RATE_9_PLUS", + "APP_AGE_RATE_12_PLUS", + "APP_AGE_RATE_17_PLUS", + "APP_AGE_RATE_18_PLUS" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any age rating options.", + "Apps with unknown age rating.", + "Apps rated for Everyone (4+).", + "Apps rated for Everyone (9+).", + "Apps rated for Teens (12+).", + "Apps rated for Mature (17+).", + "Apps rated for Adults Only (18+)." + ], + "type": "string" + }, + "type": "array" + }, + "brandSafetyCategories": { + "$ref": "DoubleVerifyBrandSafetyCategories", + "description": "DV Brand Safety Controls." + }, + "customSegmentId": { + "description": "The custom segment ID provided by DoubleVerify. The ID must start with \"51\" and consist of eight digits. Custom segment ID cannot be specified along with any of the following fields: * brand_safety_categories * avoided_age_ratings * app_star_rating * fraud_invalid_traffic", + "format": "int64", + "type": "string" + }, + "displayViewability": { + "$ref": "DoubleVerifyDisplayViewability", + "description": "Display viewability settings (applicable to display line items only)." + }, + "fraudInvalidTraffic": { + "$ref": "DoubleVerifyFraudInvalidTraffic", + "description": "Avoid Sites and Apps with historical Fraud & IVT Rates." + }, + "videoViewability": { + "$ref": "DoubleVerifyVideoViewability", + "description": "Video viewability settings (applicable to video line items only)." + } + }, + "type": "object" + }, + "DoubleVerifyAppStarRating": { + "description": "Details of DoubleVerify star ratings settings.", + "id": "DoubleVerifyAppStarRating", + "properties": { + "avoidInsufficientStarRating": { + "description": "Avoid bidding on apps with insufficient star ratings.", + "type": "boolean" + }, + "avoidedStarRating": { + "description": "Avoid bidding on apps with the star ratings.", + "enum": [ + "APP_STAR_RATE_UNSPECIFIED", + "APP_STAR_RATE_1_POINT_5_LESS", + "APP_STAR_RATE_2_LESS", + "APP_STAR_RATE_2_POINT_5_LESS", + "APP_STAR_RATE_3_LESS", + "APP_STAR_RATE_3_POINT_5_LESS", + "APP_STAR_RATE_4_LESS", + "APP_STAR_RATE_4_POINT_5_LESS" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any app star rating options.", + "Official Apps with rating < 1.5 Stars.", + "Official Apps with rating < 2 Stars.", + "Official Apps with rating < 2.5 Stars.", + "Official Apps with rating < 3 Stars.", + "Official Apps with rating < 3.5 Stars.", + "Official Apps with rating < 4 Stars.", + "Official Apps with rating < 4.5 Stars." + ], + "type": "string" + } + }, + "type": "object" + }, + "DoubleVerifyBrandSafetyCategories": { + "description": "Settings for brand safety controls.", + "id": "DoubleVerifyBrandSafetyCategories", + "properties": { + "avoidUnknownBrandSafetyCategory": { + "description": "Unknown or unrateable.", + "type": "boolean" + }, + "avoidedHighSeverityCategories": { + "description": "Brand safety high severity avoidance categories.", + "items": { + "enum": [ + "HIGHER_SEVERITY_UNSPECIFIED", + "ADULT_CONTENT_PORNOGRAPHY", + "COPYRIGHT_INFRINGEMENT", + "SUBSTANCE_ABUSE", + "GRAPHIC_VIOLENCE_WEAPONS", + "HATE_PROFANITY", + "CRIMINAL_SKILLS", + "NUISANCE_INCENTIVIZED_MALWARE_CLUTTER" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any high severity categories.", + "Adult Content: Pornography, Mature Topics & Nudity.", + "Copyright Infringement.", + "Drugs/Alcohol/Controlled Substances: Substance Abuse.", + "Extreme Graphic/Explicit Violence/Weapons.", + "Hate/Profanity.", + "Illegal Activities: Criminal Skills.", + "Incentivized/Malware/Clutter." + ], + "type": "string" + }, + "type": "array" + }, + "avoidedMediumSeverityCategories": { + "description": "Brand safety medium severity avoidance categories.", + "items": { + "enum": [ + "MEDIUM_SEVERITY_UNSPECIFIED", + "AD_SERVERS", + "ADULT_CONTENT_SWIMSUIT", + "ALTERNATIVE_LIFESTYLES", + "CELEBRITY_GOSSIP", + "GAMBLING", + "OCCULT", + "SEX_EDUCATION", + "DISASTER_AVIATION", + "DISASTER_MAN_MADE", + "DISASTER_NATURAL", + "DISASTER_TERRORIST_EVENTS", + "DISASTER_VEHICLE", + "ALCOHOL", + "SMOKING", + "NEGATIVE_NEWS_FINANCIAL", + "NON_ENGLISH", + "PARKING_PAGE", + "UNMODERATED_UGC", + "INFLAMMATORY_POLITICS_AND_NEWS", + "NEGATIVE_NEWS_PHARMACEUTICAL" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any medium severity categories.", + "Ad Servers.", + "Adult Content: Swimsuit.", + "Controversial Subjects: Alternative Lifestyles.", + "Controversial Subjects: Celebrity Gossip.", + "Controversial Subjects: Gambling.", + "Controversial Subjects: Occult.", + "Controversial Subjects: Sex Education.", + "Disaster: Aviation.", + "Disaster: Man-made.", + "Disaster: Natural.", + "Disaster: Terrorist Events.", + "Disaster: Vehicle.", + "Drugs/Alcohol/Controlled Substances: Alcohol.", + "Drugs/Alcohol/Controlled Substances: Smoking.", + "Negative News: Financial.", + "Non-Std Content: Non-English.", + "Non-Std Content: Parking Page.", + "Unmoderated UGC: Forums, Images & Video.", + "Controversial Subjects: Inflammatory Politics and News.", + "Negative News: Pharmaceutical." + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "DoubleVerifyDisplayViewability": { + "description": "Details of DoubleVerify display viewability settings.", + "id": "DoubleVerifyDisplayViewability", + "properties": { + "iab": { + "description": "Target web and app inventory to maximize IAB viewable rate.", + "enum": [ + "IAB_VIEWED_RATE_UNSPECIFIED", + "IAB_VIEWED_RATE_80_PERCENT_HIGHER", + "IAB_VIEWED_RATE_75_PERCENT_HIGHER", + "IAB_VIEWED_RATE_70_PERCENT_HIGHER", + "IAB_VIEWED_RATE_65_PERCENT_HIGHER", + "IAB_VIEWED_RATE_60_PERCENT_HIGHER", + "IAB_VIEWED_RATE_55_PERCENT_HIGHER", + "IAB_VIEWED_RATE_50_PERCENT_HIGHER", + "IAB_VIEWED_RATE_40_PERCENT_HIGHER", + "IAB_VIEWED_RATE_30_PERCENT_HIGHER" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any IAB viewed rate options.", + "Target web and app inventory to maximize IAB viewable rate 80% or higher.", + "Target web and app inventory to maximize IAB viewable rate 75% or higher.", + "Target web and app inventory to maximize IAB viewable rate 70% or higher.", + "Target web and app inventory to maximize IAB viewable rate 65% or higher.", + "Target web and app inventory to maximize IAB viewable rate 60% or higher.", + "Target web and app inventory to maximize IAB viewable rate 55% or higher.", + "Target web and app inventory to maximize IAB viewable rate 50% or higher.", + "Target web and app inventory to maximize IAB viewable rate 40% or higher.", + "Target web and app inventory to maximize IAB viewable rate 30% or higher." + ], + "type": "string" + }, + "viewableDuring": { + "description": "Target web and app inventory to maximize 100% viewable duration.", + "enum": [ + "AVERAGE_VIEW_DURATION_UNSPECIFIED", + "AVERAGE_VIEW_DURATION_5_SEC", + "AVERAGE_VIEW_DURATION_10_SEC", + "AVERAGE_VIEW_DURATION_15_SEC" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any average view duration options.", + "Target web and app inventory to maximize 100% viewable duration 5 seconds or more.", + "Target web and app inventory to maximize 100% viewable duration 10 seconds or more.", + "Target web and app inventory to maximize 100% viewable duration 15 seconds or more." + ], + "type": "string" + } + }, + "type": "object" + }, + "DoubleVerifyFraudInvalidTraffic": { + "description": "DoubleVerify Fraud & Invalid Traffic settings.", + "id": "DoubleVerifyFraudInvalidTraffic", + "properties": { + "avoidInsufficientOption": { + "description": "Insufficient Historical Fraud & IVT Stats.", + "type": "boolean" + }, + "avoidedFraudOption": { + "description": "Avoid Sites and Apps with historical Fraud & IVT.", + "enum": [ + "FRAUD_UNSPECIFIED", + "AD_IMPRESSION_FRAUD_100", + "AD_IMPRESSION_FRAUD_50", + "AD_IMPRESSION_FRAUD_25", + "AD_IMPRESSION_FRAUD_10", + "AD_IMPRESSION_FRAUD_8", + "AD_IMPRESSION_FRAUD_6", + "AD_IMPRESSION_FRAUD_4", + "AD_IMPRESSION_FRAUD_2" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any fraud and invalid traffic options.", + "100% Fraud & IVT.", + "50% or Higher Fraud & IVT.", + "25% or Higher Fraud & IVT.", + "10% or Higher Fraud & IVT.", + "8% or Higher Fraud & IVT.", + "6% or Higher Fraud & IVT.", + "4% or Higher Fraud & IVT.", + "2% or Higher Fraud & IVT." + ], + "type": "string" + } + }, + "type": "object" + }, + "DoubleVerifyVideoViewability": { + "description": "Details of DoubleVerify video viewability settings.", + "id": "DoubleVerifyVideoViewability", + "properties": { + "playerImpressionRate": { + "description": "Target inventory to maximize impressions with 400x300 or greater player size.", + "enum": [ + "PLAYER_SIZE_400X300_UNSPECIFIED", + "PLAYER_SIZE_400X300_95", + "PLAYER_SIZE_400X300_70", + "PLAYER_SIZE_400X300_25", + "PLAYER_SIZE_400X300_5" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any impressions options.", + "Sites with 95%+ of impressions.", + "Sites with 70%+ of impressions.", + "Sites with 25%+ of impressions.", + "Sites with 5%+ of impressions." + ], + "type": "string" + }, + "videoIab": { + "description": "Target web inventory to maximize IAB viewable rate.", + "enum": [ + "VIDEO_IAB_UNSPECIFIED", + "IAB_VIEWABILITY_80_PERCENT_HIGHER", + "IAB_VIEWABILITY_75_PERCENT_HIGHER", + "IAB_VIEWABILITY_70_PERCENT_HIGHER", + "IAB_VIEWABILITY_65_PERCENT_HIHGER", + "IAB_VIEWABILITY_60_PERCENT_HIGHER", + "IAB_VIEWABILITY_55_PERCENT_HIHGER", + "IAB_VIEWABILITY_50_PERCENT_HIGHER", + "IAB_VIEWABILITY_40_PERCENT_HIHGER", + "IAB_VIEWABILITY_30_PERCENT_HIHGER" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any video IAB viewable rate options.", + "Target web and app inventory to maximize IAB viewable rate 80% or higher.", + "Target web and app inventory to maximize IAB viewable rate 75% or higher.", + "Target web and app inventory to maximize IAB viewable rate 70% or higher.", + "Target web and app inventory to maximize IAB viewable rate 65% or higher.", + "Target web and app inventory to maximize IAB viewable rate 60% or higher.", + "Target web and app inventory to maximize IAB viewable rate 55% or higher.", + "Target web and app inventory to maximize IAB viewable rate 50% or higher.", + "Target web and app inventory to maximize IAB viewable rate 40% or higher.", + "Target web and app inventory to maximize IAB viewable rate 30% or higher." + ], + "type": "string" + }, + "videoViewableRate": { + "description": "Target web inventory to maximize fully viewable rate.", + "enum": [ + "VIDEO_VIEWABLE_RATE_UNSPECIFIED", + "VIEWED_PERFORMANCE_40_PERCENT_HIGHER", + "VIEWED_PERFORMANCE_35_PERCENT_HIGHER", + "VIEWED_PERFORMANCE_30_PERCENT_HIGHER", + "VIEWED_PERFORMANCE_25_PERCENT_HIGHER", + "VIEWED_PERFORMANCE_20_PERCENT_HIGHER", + "VIEWED_PERFORMANCE_10_PERCENT_HIGHER" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any video viewable rate options.", + "Target web inventory to maximize fully viewable rate 40% or higher.", + "Target web inventory to maximize fully viewable rate 35% or higher.", + "Target web inventory to maximize fully viewable rate 30% or higher.", + "Target web inventory to maximize fully viewable rate 25% or higher.", + "Target web inventory to maximize fully viewable rate 20% or higher.", + "Target web inventory to maximize fully viewable rate 10% or higher." + ], + "type": "string" + } + }, + "type": "object" + }, + "DuplicateLineItemRequest": { + "description": "Request message for LineItemService.DuplicateLineItem.", + "id": "DuplicateLineItemRequest", + "properties": { + "targetDisplayName": { + "description": "The display name of the new line item. Must be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + } + }, + "type": "object" + }, + "DuplicateLineItemResponse": { + "id": "DuplicateLineItemResponse", + "properties": { + "duplicateLineItemId": { + "description": "The ID of the created line item.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "EditCustomerMatchMembersRequest": { + "description": "Request message for FirstAndThirdPartyAudienceService.EditCustomerMatchMembers.", + "id": "EditCustomerMatchMembersRequest", + "properties": { + "addedContactInfoList": { + "$ref": "ContactInfoList", + "description": "Input only. A list of contact information to define the members to be added." + }, + "addedMobileDeviceIdList": { + "$ref": "MobileDeviceIdList", + "description": "Input only. A list of mobile device IDs to define the members to be added." + }, + "advertiserId": { + "description": "Required. The ID of the owner advertiser of the updated Customer Match FirstAndThirdPartyAudience.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "EditCustomerMatchMembersResponse": { + "description": "The response of FirstAndThirdPartyAudienceService.EditCustomerMatchMembers.", + "id": "EditCustomerMatchMembersResponse", + "properties": { + "firstAndThirdPartyAudienceId": { + "description": "Required. The ID of the updated Customer Match FirstAndThirdPartyAudience.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "EditGuaranteedOrderReadAccessorsRequest": { + "description": "Request message for GuaranteedOrderService.EditGuaranteedOrderReadAccessors.", + "id": "EditGuaranteedOrderReadAccessorsRequest", + "properties": { + "addedAdvertisers": { + "description": "The advertisers to add as read accessors to the guaranteed order.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "partnerId": { + "description": "Required. The partner context in which the change is being made.", + "format": "int64", + "type": "string" + }, + "readAccessInherited": { + "description": "Whether to give all advertisers of the read/write accessor partner read access to the guaranteed order. Only applicable if read_write_partner_id is set in the guaranteed order.", + "type": "boolean" + }, + "removedAdvertisers": { + "description": "The advertisers to remove as read accessors to the guaranteed order.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "EditGuaranteedOrderReadAccessorsResponse": { + "id": "EditGuaranteedOrderReadAccessorsResponse", + "properties": { + "readAccessInherited": { + "description": "Whether all advertisers of read_write_partner_id have read access to the guaranteed order.", + "type": "boolean" + }, + "readAdvertiserIds": { + "description": "The IDs of advertisers with read access to the guaranteed order.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "EditInventorySourceReadWriteAccessorsRequest": { + "description": "Request message for InventorySourceService.EditInventorySourceReadWriteAccessors.", + "id": "EditInventorySourceReadWriteAccessorsRequest", + "properties": { + "advertisersUpdate": { + "$ref": "EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate", + "description": "The advertisers to add or remove from the list of advertisers that have read/write access to the inventory source. This change will remove an existing partner read/write accessor." + }, + "assignPartner": { + "description": "Set the partner context as read/write accessor of the inventory source. This will remove all other current read/write advertiser accessors.", + "type": "boolean" + }, + "partnerId": { + "description": "Required. The partner context by which the accessors change is being made.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate": { + "description": "Update to the list of advertisers with read/write access to the inventory source.", + "id": "EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate", + "properties": { + "addedAdvertisers": { + "description": "The advertisers to add.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "removedAdvertisers": { + "description": "The advertisers to remove.", + "items": { + "format": "int64", + "type": "string" + }, + "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" + }, + "EnvironmentAssignedTargetingOptionDetails": { + "description": "Assigned environment targeting option details. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_ENVIRONMENT`.", + "id": "EnvironmentAssignedTargetingOptionDetails", + "properties": { + "environment": { + "description": "Required. The serving environment.", + "enum": [ + "ENVIRONMENT_UNSPECIFIED", + "ENVIRONMENT_WEB_OPTIMIZED", + "ENVIRONMENT_WEB_NOT_OPTIMIZED", + "ENVIRONMENT_APP" + ], + "enumDescriptions": [ + "Default value when environment is not specified in this version. This enum is a placeholder for default value and does not represent a real environment option.", + "Target inventory displayed in browsers. This includes inventory that was designed for the device it was viewed on, such as mobile websites viewed on a mobile device. ENVIRONMENT_WEB_NOT_OPTIMIZED, if targeted, should be deleted prior to the deletion of this targeting option.", + "Target inventory displayed in browsers. This includes inventory that was not designed for the device but viewed on it, such as websites optimized for desktop but viewed on a mobile device. ENVIRONMENT_WEB_OPTIMIZED should be targeted prior to the addition of this targeting option.", + "Target inventory displayed in apps." + ], + "type": "string" + } + }, + "type": "object" + }, + "EnvironmentTargetingOptionDetails": { + "description": "Represents a targetable environment. This will be populated in the environment_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_ENVIRONMENT`.", + "id": "EnvironmentTargetingOptionDetails", + "properties": { + "environment": { + "description": "Output only. The serving environment.", + "enum": [ + "ENVIRONMENT_UNSPECIFIED", + "ENVIRONMENT_WEB_OPTIMIZED", + "ENVIRONMENT_WEB_NOT_OPTIMIZED", + "ENVIRONMENT_APP" + ], + "enumDescriptions": [ + "Default value when environment is not specified in this version. This enum is a placeholder for default value and does not represent a real environment option.", + "Target inventory displayed in browsers. This includes inventory that was designed for the device it was viewed on, such as mobile websites viewed on a mobile device. ENVIRONMENT_WEB_NOT_OPTIMIZED, if targeted, should be deleted prior to the deletion of this targeting option.", + "Target inventory displayed in browsers. This includes inventory that was not designed for the device but viewed on it, such as websites optimized for desktop but viewed on a mobile device. ENVIRONMENT_WEB_OPTIMIZED should be targeted prior to the addition of this targeting option.", + "Target inventory displayed in apps." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ExchangeAssignedTargetingOptionDetails": { + "description": "Details for assigned exchange targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_EXCHANGE`.", + "id": "ExchangeAssignedTargetingOptionDetails", + "properties": { + "exchange": { + "description": "Required. The enum value for the exchange.", + "enum": [ + "EXCHANGE_UNSPECIFIED", + "EXCHANGE_GOOGLE_AD_MANAGER", + "EXCHANGE_APPNEXUS", + "EXCHANGE_BRIGHTROLL", + "EXCHANGE_ADFORM", + "EXCHANGE_ADMETA", + "EXCHANGE_ADMIXER", + "EXCHANGE_ADSMOGO", + "EXCHANGE_ADSWIZZ", + "EXCHANGE_BIDSWITCH", + "EXCHANGE_BRIGHTROLL_DISPLAY", + "EXCHANGE_CADREON", + "EXCHANGE_DAILYMOTION", + "EXCHANGE_FIVE", + "EXCHANGE_FLUCT", + "EXCHANGE_FREEWHEEL", + "EXCHANGE_GENIEE", + "EXCHANGE_GUMGUM", + "EXCHANGE_IMOBILE", + "EXCHANGE_IBILLBOARD", + "EXCHANGE_IMPROVE_DIGITAL", + "EXCHANGE_INDEX", + "EXCHANGE_KARGO", + "EXCHANGE_MICROAD", + "EXCHANGE_MOPUB", + "EXCHANGE_NEND", + "EXCHANGE_ONE_BY_AOL_DISPLAY", + "EXCHANGE_ONE_BY_AOL_MOBILE", + "EXCHANGE_ONE_BY_AOL_VIDEO", + "EXCHANGE_OOYALA", + "EXCHANGE_OPENX", + "EXCHANGE_PERMODO", + "EXCHANGE_PLATFORMONE", + "EXCHANGE_PLATFORMID", + "EXCHANGE_PUBMATIC", + "EXCHANGE_PULSEPOINT", + "EXCHANGE_REVENUEMAX", + "EXCHANGE_RUBICON", + "EXCHANGE_SMARTCLIP", + "EXCHANGE_SMARTRTB", + "EXCHANGE_SMARTSTREAMTV", + "EXCHANGE_SOVRN", + "EXCHANGE_SPOTXCHANGE", + "EXCHANGE_STROER", + "EXCHANGE_TEADSTV", + "EXCHANGE_TELARIA", + "EXCHANGE_TVN", + "EXCHANGE_UNITED", + "EXCHANGE_YIELDLAB", + "EXCHANGE_YIELDMO", + "EXCHANGE_UNRULYX", + "EXCHANGE_OPEN8", + "EXCHANGE_TRITON", + "EXCHANGE_TRIPLELIFT", + "EXCHANGE_TABOOLA", + "EXCHANGE_INMOBI", + "EXCHANGE_SMAATO", + "EXCHANGE_AJA", + "EXCHANGE_SUPERSHIP", + "EXCHANGE_NEXSTAR_DIGITAL", + "EXCHANGE_WAZE", + "EXCHANGE_SOUNDCAST", + "EXCHANGE_SHARETHROUGH", + "EXCHANGE_FYBER", + "EXCHANGE_RED_FOR_PUBLISHERS", + "EXCHANGE_MEDIANET", + "EXCHANGE_TAPJOY", + "EXCHANGE_VISTAR", + "EXCHANGE_DAX", + "EXCHANGE_JCD", + "EXCHANGE_PLACE_EXCHANGE", + "EXCHANGE_APPLOVIN", + "EXCHANGE_CONNATIX", + "EXCHANGE_RESET_DIGITAL", + "EXCHANGE_HIVESTACK" + ], + "enumDescriptions": [ + "Exchange is not specified or is unknown in this version.", + "Google Ad Manager.", + "AppNexus.", + "BrightRoll Exchange for Video from Yahoo!.", + "Adform.", + "Admeta.", + "Admixer.", + "AdsMogo.", + "AdsWizz.", + "BidSwitch.", + "BrightRoll Exchange for Display from Yahoo!.", + "Cadreon.", + "Dailymotion.", + "Five.", + "Fluct.", + "FreeWheel SSP.", + "Geniee.", + "GumGum.", + "i-mobile.", + "iBILLBOARD.", + "Improve Digital.", + "Index Exchange.", + "Kargo.", + "MicroAd.", + "MoPub.", + "Nend.", + "ONE by AOL: Display Market Place.", + "ONE by AOL: Mobile.", + "ONE by AOL: Video.", + "Ooyala.", + "OpenX.", + "Permodo.", + "Platform One.", + "PlatformId.", + "PubMatic.", + "PulsePoint.", + "RevenueMax.", + "Rubicon.", + "SmartClip.", + "SmartRTB+.", + "SmartstreamTv.", + "Sovrn.", + "SpotXchange.", + "Str\u00f6er SSP.", + "TeadsTv.", + "Telaria.", + "TVN.", + "United.", + "Yieldlab.", + "Yieldmo.", + "UnrulyX.", + "Open8.", + "Triton.", + "TripleLift.", + "Taboola.", + "InMobi.", + "Smaato.", + "Aja.", + "Supership.", + "Nexstar Digital.", + "Waze.", + "SoundCast.", + "Sharethrough.", + "Fyber.", + "Red For Publishers.", + "Media.net.", + "Tapjoy.", + "Vistar.", + "DAX.", + "JCD.", + "Place Exchange.", + "AppLovin.", + "Connatix.", + "Reset Digital.", + "Hivestack." + ], + "type": "string" + } + }, + "type": "object" + }, + "ExchangeConfig": { + "description": "Settings that control which exchanges are enabled for a partner.", + "id": "ExchangeConfig", + "properties": { + "enabledExchanges": { + "description": "All enabled exchanges in the partner. Duplicate enabled exchanges will be ignored.", + "items": { + "$ref": "ExchangeConfigEnabledExchange" + }, + "type": "array" + } + }, + "type": "object" + }, + "ExchangeConfigEnabledExchange": { + "description": "An enabled exchange in the partner.", + "id": "ExchangeConfigEnabledExchange", + "properties": { + "exchange": { + "description": "The enabled exchange.", + "enum": [ + "EXCHANGE_UNSPECIFIED", + "EXCHANGE_GOOGLE_AD_MANAGER", + "EXCHANGE_APPNEXUS", + "EXCHANGE_BRIGHTROLL", + "EXCHANGE_ADFORM", + "EXCHANGE_ADMETA", + "EXCHANGE_ADMIXER", + "EXCHANGE_ADSMOGO", + "EXCHANGE_ADSWIZZ", + "EXCHANGE_BIDSWITCH", + "EXCHANGE_BRIGHTROLL_DISPLAY", + "EXCHANGE_CADREON", + "EXCHANGE_DAILYMOTION", + "EXCHANGE_FIVE", + "EXCHANGE_FLUCT", + "EXCHANGE_FREEWHEEL", + "EXCHANGE_GENIEE", + "EXCHANGE_GUMGUM", + "EXCHANGE_IMOBILE", + "EXCHANGE_IBILLBOARD", + "EXCHANGE_IMPROVE_DIGITAL", + "EXCHANGE_INDEX", + "EXCHANGE_KARGO", + "EXCHANGE_MICROAD", + "EXCHANGE_MOPUB", + "EXCHANGE_NEND", + "EXCHANGE_ONE_BY_AOL_DISPLAY", + "EXCHANGE_ONE_BY_AOL_MOBILE", + "EXCHANGE_ONE_BY_AOL_VIDEO", + "EXCHANGE_OOYALA", + "EXCHANGE_OPENX", + "EXCHANGE_PERMODO", + "EXCHANGE_PLATFORMONE", + "EXCHANGE_PLATFORMID", + "EXCHANGE_PUBMATIC", + "EXCHANGE_PULSEPOINT", + "EXCHANGE_REVENUEMAX", + "EXCHANGE_RUBICON", + "EXCHANGE_SMARTCLIP", + "EXCHANGE_SMARTRTB", + "EXCHANGE_SMARTSTREAMTV", + "EXCHANGE_SOVRN", + "EXCHANGE_SPOTXCHANGE", + "EXCHANGE_STROER", + "EXCHANGE_TEADSTV", + "EXCHANGE_TELARIA", + "EXCHANGE_TVN", + "EXCHANGE_UNITED", + "EXCHANGE_YIELDLAB", + "EXCHANGE_YIELDMO", + "EXCHANGE_UNRULYX", + "EXCHANGE_OPEN8", + "EXCHANGE_TRITON", + "EXCHANGE_TRIPLELIFT", + "EXCHANGE_TABOOLA", + "EXCHANGE_INMOBI", + "EXCHANGE_SMAATO", + "EXCHANGE_AJA", + "EXCHANGE_SUPERSHIP", + "EXCHANGE_NEXSTAR_DIGITAL", + "EXCHANGE_WAZE", + "EXCHANGE_SOUNDCAST", + "EXCHANGE_SHARETHROUGH", + "EXCHANGE_FYBER", + "EXCHANGE_RED_FOR_PUBLISHERS", + "EXCHANGE_MEDIANET", + "EXCHANGE_TAPJOY", + "EXCHANGE_VISTAR", + "EXCHANGE_DAX", + "EXCHANGE_JCD", + "EXCHANGE_PLACE_EXCHANGE", + "EXCHANGE_APPLOVIN", + "EXCHANGE_CONNATIX", + "EXCHANGE_RESET_DIGITAL", + "EXCHANGE_HIVESTACK" + ], + "enumDescriptions": [ + "Exchange is not specified or is unknown in this version.", + "Google Ad Manager.", + "AppNexus.", + "BrightRoll Exchange for Video from Yahoo!.", + "Adform.", + "Admeta.", + "Admixer.", + "AdsMogo.", + "AdsWizz.", + "BidSwitch.", + "BrightRoll Exchange for Display from Yahoo!.", + "Cadreon.", + "Dailymotion.", + "Five.", + "Fluct.", + "FreeWheel SSP.", + "Geniee.", + "GumGum.", + "i-mobile.", + "iBILLBOARD.", + "Improve Digital.", + "Index Exchange.", + "Kargo.", + "MicroAd.", + "MoPub.", + "Nend.", + "ONE by AOL: Display Market Place.", + "ONE by AOL: Mobile.", + "ONE by AOL: Video.", + "Ooyala.", + "OpenX.", + "Permodo.", + "Platform One.", + "PlatformId.", + "PubMatic.", + "PulsePoint.", + "RevenueMax.", + "Rubicon.", + "SmartClip.", + "SmartRTB+.", + "SmartstreamTv.", + "Sovrn.", + "SpotXchange.", + "Str\u00f6er SSP.", + "TeadsTv.", + "Telaria.", + "TVN.", + "United.", + "Yieldlab.", + "Yieldmo.", + "UnrulyX.", + "Open8.", + "Triton.", + "TripleLift.", + "Taboola.", + "InMobi.", + "Smaato.", + "Aja.", + "Supership.", + "Nexstar Digital.", + "Waze.", + "SoundCast.", + "Sharethrough.", + "Fyber.", + "Red For Publishers.", + "Media.net.", + "Tapjoy.", + "Vistar.", + "DAX.", + "JCD.", + "Place Exchange.", + "AppLovin.", + "Connatix.", + "Reset Digital.", + "Hivestack." + ], + "type": "string" + }, + "googleAdManagerAgencyId": { + "description": "Output only. Agency ID of Google Ad Manager. The field is only relevant when Google Ad Manager is the enabled exchange.", + "readOnly": true, + "type": "string" + }, + "googleAdManagerBuyerNetworkId": { + "description": "Output only. Network ID of Google Ad Manager. The field is only relevant when Google Ad Manager is the enabled exchange.", + "readOnly": true, + "type": "string" + }, + "seatId": { + "description": "Output only. Seat ID of the enabled exchange.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ExchangeReviewStatus": { + "description": "Exchange review status for the creative.", + "id": "ExchangeReviewStatus", + "properties": { + "exchange": { + "description": "The exchange reviewing the creative.", + "enum": [ + "EXCHANGE_UNSPECIFIED", + "EXCHANGE_GOOGLE_AD_MANAGER", + "EXCHANGE_APPNEXUS", + "EXCHANGE_BRIGHTROLL", + "EXCHANGE_ADFORM", + "EXCHANGE_ADMETA", + "EXCHANGE_ADMIXER", + "EXCHANGE_ADSMOGO", + "EXCHANGE_ADSWIZZ", + "EXCHANGE_BIDSWITCH", + "EXCHANGE_BRIGHTROLL_DISPLAY", + "EXCHANGE_CADREON", + "EXCHANGE_DAILYMOTION", + "EXCHANGE_FIVE", + "EXCHANGE_FLUCT", + "EXCHANGE_FREEWHEEL", + "EXCHANGE_GENIEE", + "EXCHANGE_GUMGUM", + "EXCHANGE_IMOBILE", + "EXCHANGE_IBILLBOARD", + "EXCHANGE_IMPROVE_DIGITAL", + "EXCHANGE_INDEX", + "EXCHANGE_KARGO", + "EXCHANGE_MICROAD", + "EXCHANGE_MOPUB", + "EXCHANGE_NEND", + "EXCHANGE_ONE_BY_AOL_DISPLAY", + "EXCHANGE_ONE_BY_AOL_MOBILE", + "EXCHANGE_ONE_BY_AOL_VIDEO", + "EXCHANGE_OOYALA", + "EXCHANGE_OPENX", + "EXCHANGE_PERMODO", + "EXCHANGE_PLATFORMONE", + "EXCHANGE_PLATFORMID", + "EXCHANGE_PUBMATIC", + "EXCHANGE_PULSEPOINT", + "EXCHANGE_REVENUEMAX", + "EXCHANGE_RUBICON", + "EXCHANGE_SMARTCLIP", + "EXCHANGE_SMARTRTB", + "EXCHANGE_SMARTSTREAMTV", + "EXCHANGE_SOVRN", + "EXCHANGE_SPOTXCHANGE", + "EXCHANGE_STROER", + "EXCHANGE_TEADSTV", + "EXCHANGE_TELARIA", + "EXCHANGE_TVN", + "EXCHANGE_UNITED", + "EXCHANGE_YIELDLAB", + "EXCHANGE_YIELDMO", + "EXCHANGE_UNRULYX", + "EXCHANGE_OPEN8", + "EXCHANGE_TRITON", + "EXCHANGE_TRIPLELIFT", + "EXCHANGE_TABOOLA", + "EXCHANGE_INMOBI", + "EXCHANGE_SMAATO", + "EXCHANGE_AJA", + "EXCHANGE_SUPERSHIP", + "EXCHANGE_NEXSTAR_DIGITAL", + "EXCHANGE_WAZE", + "EXCHANGE_SOUNDCAST", + "EXCHANGE_SHARETHROUGH", + "EXCHANGE_FYBER", + "EXCHANGE_RED_FOR_PUBLISHERS", + "EXCHANGE_MEDIANET", + "EXCHANGE_TAPJOY", + "EXCHANGE_VISTAR", + "EXCHANGE_DAX", + "EXCHANGE_JCD", + "EXCHANGE_PLACE_EXCHANGE", + "EXCHANGE_APPLOVIN", + "EXCHANGE_CONNATIX", + "EXCHANGE_RESET_DIGITAL", + "EXCHANGE_HIVESTACK" + ], + "enumDescriptions": [ + "Exchange is not specified or is unknown in this version.", + "Google Ad Manager.", + "AppNexus.", + "BrightRoll Exchange for Video from Yahoo!.", + "Adform.", + "Admeta.", + "Admixer.", + "AdsMogo.", + "AdsWizz.", + "BidSwitch.", + "BrightRoll Exchange for Display from Yahoo!.", + "Cadreon.", + "Dailymotion.", + "Five.", + "Fluct.", + "FreeWheel SSP.", + "Geniee.", + "GumGum.", + "i-mobile.", + "iBILLBOARD.", + "Improve Digital.", + "Index Exchange.", + "Kargo.", + "MicroAd.", + "MoPub.", + "Nend.", + "ONE by AOL: Display Market Place.", + "ONE by AOL: Mobile.", + "ONE by AOL: Video.", + "Ooyala.", + "OpenX.", + "Permodo.", + "Platform One.", + "PlatformId.", + "PubMatic.", + "PulsePoint.", + "RevenueMax.", + "Rubicon.", + "SmartClip.", + "SmartRTB+.", + "SmartstreamTv.", + "Sovrn.", + "SpotXchange.", + "Str\u00f6er SSP.", + "TeadsTv.", + "Telaria.", + "TVN.", + "United.", + "Yieldlab.", + "Yieldmo.", + "UnrulyX.", + "Open8.", + "Triton.", + "TripleLift.", + "Taboola.", + "InMobi.", + "Smaato.", + "Aja.", + "Supership.", + "Nexstar Digital.", + "Waze.", + "SoundCast.", + "Sharethrough.", + "Fyber.", + "Red For Publishers.", + "Media.net.", + "Tapjoy.", + "Vistar.", + "DAX.", + "JCD.", + "Place Exchange.", + "AppLovin.", + "Connatix.", + "Reset Digital.", + "Hivestack." + ], + "type": "string" + }, + "status": { + "description": "Status of the exchange review.", + "enum": [ + "REVIEW_STATUS_UNSPECIFIED", + "REVIEW_STATUS_APPROVED", + "REVIEW_STATUS_REJECTED", + "REVIEW_STATUS_PENDING" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "The creative is approved.", + "The creative is rejected.", + "The creative is pending review." + ], + "type": "string" + } + }, + "type": "object" + }, + "ExchangeTargetingOptionDetails": { + "description": "Represents a targetable exchange. This will be populated in the exchange_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_EXCHANGE`.", + "id": "ExchangeTargetingOptionDetails", + "properties": { + "exchange": { + "description": "Output only. The type of exchange.", + "enum": [ + "EXCHANGE_UNSPECIFIED", + "EXCHANGE_GOOGLE_AD_MANAGER", + "EXCHANGE_APPNEXUS", + "EXCHANGE_BRIGHTROLL", + "EXCHANGE_ADFORM", + "EXCHANGE_ADMETA", + "EXCHANGE_ADMIXER", + "EXCHANGE_ADSMOGO", + "EXCHANGE_ADSWIZZ", + "EXCHANGE_BIDSWITCH", + "EXCHANGE_BRIGHTROLL_DISPLAY", + "EXCHANGE_CADREON", + "EXCHANGE_DAILYMOTION", + "EXCHANGE_FIVE", + "EXCHANGE_FLUCT", + "EXCHANGE_FREEWHEEL", + "EXCHANGE_GENIEE", + "EXCHANGE_GUMGUM", + "EXCHANGE_IMOBILE", + "EXCHANGE_IBILLBOARD", + "EXCHANGE_IMPROVE_DIGITAL", + "EXCHANGE_INDEX", + "EXCHANGE_KARGO", + "EXCHANGE_MICROAD", + "EXCHANGE_MOPUB", + "EXCHANGE_NEND", + "EXCHANGE_ONE_BY_AOL_DISPLAY", + "EXCHANGE_ONE_BY_AOL_MOBILE", + "EXCHANGE_ONE_BY_AOL_VIDEO", + "EXCHANGE_OOYALA", + "EXCHANGE_OPENX", + "EXCHANGE_PERMODO", + "EXCHANGE_PLATFORMONE", + "EXCHANGE_PLATFORMID", + "EXCHANGE_PUBMATIC", + "EXCHANGE_PULSEPOINT", + "EXCHANGE_REVENUEMAX", + "EXCHANGE_RUBICON", + "EXCHANGE_SMARTCLIP", + "EXCHANGE_SMARTRTB", + "EXCHANGE_SMARTSTREAMTV", + "EXCHANGE_SOVRN", + "EXCHANGE_SPOTXCHANGE", + "EXCHANGE_STROER", + "EXCHANGE_TEADSTV", + "EXCHANGE_TELARIA", + "EXCHANGE_TVN", + "EXCHANGE_UNITED", + "EXCHANGE_YIELDLAB", + "EXCHANGE_YIELDMO", + "EXCHANGE_UNRULYX", + "EXCHANGE_OPEN8", + "EXCHANGE_TRITON", + "EXCHANGE_TRIPLELIFT", + "EXCHANGE_TABOOLA", + "EXCHANGE_INMOBI", + "EXCHANGE_SMAATO", + "EXCHANGE_AJA", + "EXCHANGE_SUPERSHIP", + "EXCHANGE_NEXSTAR_DIGITAL", + "EXCHANGE_WAZE", + "EXCHANGE_SOUNDCAST", + "EXCHANGE_SHARETHROUGH", + "EXCHANGE_FYBER", + "EXCHANGE_RED_FOR_PUBLISHERS", + "EXCHANGE_MEDIANET", + "EXCHANGE_TAPJOY", + "EXCHANGE_VISTAR", + "EXCHANGE_DAX", + "EXCHANGE_JCD", + "EXCHANGE_PLACE_EXCHANGE", + "EXCHANGE_APPLOVIN", + "EXCHANGE_CONNATIX", + "EXCHANGE_RESET_DIGITAL", + "EXCHANGE_HIVESTACK" + ], + "enumDescriptions": [ + "Exchange is not specified or is unknown in this version.", + "Google Ad Manager.", + "AppNexus.", + "BrightRoll Exchange for Video from Yahoo!.", + "Adform.", + "Admeta.", + "Admixer.", + "AdsMogo.", + "AdsWizz.", + "BidSwitch.", + "BrightRoll Exchange for Display from Yahoo!.", + "Cadreon.", + "Dailymotion.", + "Five.", + "Fluct.", + "FreeWheel SSP.", + "Geniee.", + "GumGum.", + "i-mobile.", + "iBILLBOARD.", + "Improve Digital.", + "Index Exchange.", + "Kargo.", + "MicroAd.", + "MoPub.", + "Nend.", + "ONE by AOL: Display Market Place.", + "ONE by AOL: Mobile.", + "ONE by AOL: Video.", + "Ooyala.", + "OpenX.", + "Permodo.", + "Platform One.", + "PlatformId.", + "PubMatic.", + "PulsePoint.", + "RevenueMax.", + "Rubicon.", + "SmartClip.", + "SmartRTB+.", + "SmartstreamTv.", + "Sovrn.", + "SpotXchange.", + "Str\u00f6er SSP.", + "TeadsTv.", + "Telaria.", + "TVN.", + "United.", + "Yieldlab.", + "Yieldmo.", + "UnrulyX.", + "Open8.", + "Triton.", + "TripleLift.", + "Taboola.", + "InMobi.", + "Smaato.", + "Aja.", + "Supership.", + "Nexstar Digital.", + "Waze.", + "SoundCast.", + "Sharethrough.", + "Fyber.", + "Red For Publishers.", + "Media.net.", + "Tapjoy.", + "Vistar.", + "DAX.", + "JCD.", + "Place Exchange.", + "AppLovin.", + "Connatix.", + "Reset Digital.", + "Hivestack." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ExitEvent": { + "description": "Exit event of the creative.", + "id": "ExitEvent", + "properties": { + "name": { + "description": "The name of the click tag of the exit event. The name must be unique within one creative. Leave it empty or unset for creatives containing image assets only.", + "type": "string" + }, + "reportingName": { + "description": "The name used to identify this event in reports. Leave it empty or unset for creatives containing image assets only.", + "type": "string" + }, + "type": { + "description": "Required. The type of the exit event.", + "enum": [ + "EXIT_EVENT_TYPE_UNSPECIFIED", + "EXIT_EVENT_TYPE_DEFAULT", + "EXIT_EVENT_TYPE_BACKUP" + ], + "enumDescriptions": [ + "Exit event type is not specified or is unknown in this version.", + "The exit event is the default one.", + "The exit event is a backup exit event. There could be multiple backup exit events in a creative." + ], + "type": "string" + }, + "url": { + "description": "Required. The click through URL of the exit event. This is required when type is: * `EXIT_EVENT_TYPE_DEFAULT` * `EXIT_EVENT_TYPE_BACKUP`", + "type": "string" + } + }, + "type": "object" + }, + "FirstAndThirdPartyAudience": { + "description": "Describes a first or third party audience list used for targeting. First party audiences are created via usage of client data. Third party audiences are provided by Third Party data providers and can only be licensed to customers.", + "id": "FirstAndThirdPartyAudience", + "properties": { + "activeDisplayAudienceSize": { + "description": "Output only. The estimated audience size for the Display network in the past month. If the size is less than 1000, the number will be hidden and 0 will be returned due to privacy reasons. Otherwise, the number will be rounded off to two significant digits. Only returned in GET request.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "appId": { + "description": "The app_id matches with the type of the mobile_device_ids being uploaded. Only applicable to audience_type `CUSTOMER_MATCH_DEVICE_ID`", + "type": "string" + }, + "audienceSource": { + "description": "Output only. The source of the audience.", + "enum": [ + "AUDIENCE_SOURCE_UNSPECIFIED", + "DISPLAY_VIDEO_360", + "CAMPAIGN_MANAGER", + "AD_MANAGER", + "SEARCH_ADS_360", + "YOUTUBE", + "ADS_DATA_HUB" + ], + "enumDescriptions": [ + "Default value when audience source is not specified or is unknown.", + "Originated from Display & Video 360.", + "Originated from Campaign Manager 360.", + "Originated from Google Ad Manager.", + "Originated from Search Ads 360.", + "Originated from Youtube.", + "Originated from Ads Data Hub." + ], + "readOnly": true, + "type": "string" + }, + "audienceType": { + "description": "The type of the audience.", + "enum": [ + "AUDIENCE_TYPE_UNSPECIFIED", + "CUSTOMER_MATCH_CONTACT_INFO", + "CUSTOMER_MATCH_DEVICE_ID", + "CUSTOMER_MATCH_USER_ID", + "ACTIVITY_BASED", + "FREQUENCY_CAP", + "TAG_BASED", + "YOUTUBE_USERS", + "LICENSED" + ], + "enumDeprecated": [ + false, + false, + false, + false, + true, + true, + false, + false, + false + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown.", + "Audience was generated through matching customers to known contact information.", + "Audience was generated through matching customers to known Mobile device IDs.", + "Audience was generated through matching customers to known User IDs.", + "Audience was created based on campaign activity.", + "Audience was created based on excluding the number of impressions they were served.", + "Audience was created based on custom variables attached to pixel.", + "Audience was created based on past interactions with videos, YouTube ads, or YouTube channel.", + "Subtype of third party audience type." + ], + "type": "string" + }, + "contactInfoList": { + "$ref": "ContactInfoList", + "description": "Input only. A list of contact information to define the initial audience members. Only applicable to audience_type `CUSTOMER_MATCH_CONTACT_INFO`" + }, + "description": { + "description": "The user-provided description of the audience. Only applicable to first party audiences.", + "type": "string" + }, + "displayAudienceSize": { + "description": "Output only. The estimated audience size for the Display network. If the size is less than 1000, the number will be hidden and 0 will be returned due to privacy reasons. Otherwise, the number will be rounded off to two significant digits. Only returned in GET request.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "displayDesktopAudienceSize": { + "description": "Output only. The estimated desktop audience size in Display network. If the size is less than 1000, the number will be hidden and 0 will be returned due to privacy reasons. Otherwise, the number will be rounded off to two significant digits. Only applicable to first party audiences. Only returned in GET request.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "displayMobileAppAudienceSize": { + "description": "Output only. The estimated mobile app audience size in Display network. If the size is less than 1000, the number will be hidden and 0 will be returned due to privacy reasons. Otherwise, the number will be rounded off to two significant digits. Only applicable to first party audiences. Only returned in GET request.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "displayMobileWebAudienceSize": { + "description": "Output only. The estimated mobile web audience size in Display network. If the size is less than 1000, the number will be hidden and 0 will be returned due to privacy reasons. Otherwise, the number will be rounded off to two significant digits. Only applicable to first party audiences. Only returned in GET request.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "The display name of the first and third party audience.", + "type": "string" + }, + "firstAndThirdPartyAudienceId": { + "description": "Output only. The unique ID of the first and third party audience. Assigned by the system.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "firstAndThirdPartyAudienceType": { + "description": "Whether the audience is a first or third party audience.", + "enum": [ + "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_UNSPECIFIED", + "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_FIRST_PARTY", + "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_THIRD_PARTY" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown.", + "Audience that is created via usage of client data.", + "Audience that is provided by Third Party data providers." + ], + "type": "string" + }, + "gmailAudienceSize": { + "description": "Output only. The estimated audience size for Gmail network. If the size is less than 1000, the number will be hidden and 0 will be returned due to privacy reasons. Otherwise, the number will be rounded off to two significant digits. Only applicable to first party audiences. Only returned in GET request.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "membershipDurationDays": { + "description": "The duration in days that an entry remains in the audience after the qualifying event. If the audience has no expiration, set the value of this field to 10000. Otherwise, the set value must be greater than 0 and less than or equal to 540. Only applicable to first party audiences. This field is required if one of the following audience_type is used: * `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID`", + "format": "int64", + "type": "string" + }, + "mobileDeviceIdList": { + "$ref": "MobileDeviceIdList", + "description": "Input only. A list of mobile device IDs to define the initial audience members. Only applicable to audience_type `CUSTOMER_MATCH_DEVICE_ID`" + }, + "name": { + "description": "Output only. The resource name of the first and third party audience.", + "readOnly": true, + "type": "string" + }, + "youtubeAudienceSize": { + "description": "Output only. The estimated audience size for YouTube network. If the size is less than 1000, the number will be hidden and 0 will be returned due to privacy reasons. Otherwise, the number will be rounded off to two significant digits. Only applicable to first party audiences. Only returned in GET request.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "FirstAndThirdPartyAudienceGroup": { + "description": "Details of first and third party audience group. All first and third party audience targeting settings are logically \u2018OR\u2019 of each other.", + "id": "FirstAndThirdPartyAudienceGroup", + "properties": { + "settings": { + "description": "Required. All first and third party audience targeting settings in first and third party audience group. Repeated settings with same id are not allowed.", + "items": { + "$ref": "FirstAndThirdPartyAudienceTargetingSetting" + }, + "type": "array" + } + }, + "type": "object" + }, + "FirstAndThirdPartyAudienceTargetingSetting": { + "description": "Details of first and third party audience targeting setting.", + "id": "FirstAndThirdPartyAudienceTargetingSetting", + "properties": { + "firstAndThirdPartyAudienceId": { + "description": "Required. First and third party audience id of the first and third party audience targeting setting. This id is first_and_third_party_audience_id.", + "format": "int64", + "type": "string" + }, + "recency": { + "description": "The recency of the first and third party audience targeting setting. Only applicable to first party audiences, otherwise will be ignored. For more info, refer to https://support.google.com/displayvideo/answer/2949947#recency When unspecified, no recency limit will be used.", + "enum": [ + "RECENCY_NO_LIMIT", + "RECENCY_1_MINUTE", + "RECENCY_5_MINUTES", + "RECENCY_10_MINUTES", + "RECENCY_15_MINUTES", + "RECENCY_30_MINUTES", + "RECENCY_1_HOUR", + "RECENCY_2_HOURS", + "RECENCY_3_HOURS", + "RECENCY_6_HOURS", + "RECENCY_12_HOURS", + "RECENCY_1_DAY", + "RECENCY_2_DAYS", + "RECENCY_3_DAYS", + "RECENCY_5_DAYS", + "RECENCY_7_DAYS", + "RECENCY_10_DAYS", + "RECENCY_14_DAYS", + "RECENCY_15_DAYS", + "RECENCY_21_DAYS", + "RECENCY_28_DAYS", + "RECENCY_30_DAYS", + "RECENCY_40_DAYS", + "RECENCY_45_DAYS", + "RECENCY_60_DAYS", + "RECENCY_90_DAYS", + "RECENCY_120_DAYS", + "RECENCY_180_DAYS", + "RECENCY_270_DAYS", + "RECENCY_365_DAYS" + ], + "enumDescriptions": [ + "No limit of recency.", + "Recency is 1 minute.", + "Recency is 5 minutes.", + "Recency is 10 minutes.", + "Recency is 15 minutes.", + "Recency is 30 minutes.", + "Recency is 1 hour.", + "Recency is 2 hours.", + "Recency is 3 hours.", + "Recency is 6 hours.", + "Recency is 12 hours.", + "Recency is 1 day.", + "Recency is 2 days.", + "Recency is 3 days.", + "Recency is 5 days.", + "Recency is 7 days.", + "Recency is 10 days.", + "Recency is 14 days.", + "Recency is 15 days.", + "Recency is 21 days.", + "Recency is 28 days.", + "Recency is 30 days.", + "Recency is 40 days.", + "Recency is 45 days.", + "Recency is 60 days.", + "Recency is 90 days.", + "Recency is 120 days.", + "Recency is 180 days.", + "Recency is 270 days.", + "Recency is 365 days." + ], + "type": "string" + } + }, + "type": "object" + }, + "FixedBidStrategy": { + "description": "A strategy that uses a fixed bidding price.", + "id": "FixedBidStrategy", + "properties": { + "bidAmountMicros": { + "description": "The fixed bid amount, in micros of the advertiser's currency. For insertion order entity, bid_amount_micros should be set as 0. For line item entity, bid_amount_micros must be greater than or equal to billable unit of the given currency and smaller than or equal to the upper limit 1000000000. For example, 1500000 represents 1.5 standard units of the currency.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "FloodlightGroup": { + "description": "A single Floodlight group.", + "id": "FloodlightGroup", + "properties": { + "activeViewConfig": { + "$ref": "ActiveViewVideoViewabilityMetricConfig", + "description": "The Active View video viewability metric configuration for the Floodlight group." + }, + "customVariables": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "User-defined custom variables owned by the Floodlight group. Use custom Floodlight variables to create reporting data that is tailored to your unique business needs. Custom Floodlight variables use the keys `U1=`, `U2=`, and so on, and can take any values that you choose to pass to them. You can use them to track virtually any type of data that you collect about your customers, such as the genre of movie that a customer purchases, the country to which the item is shipped, and so on. Custom Floodlight variables may not be used to pass any data that could be used or recognized as personally identifiable information (PII). Example: `custom_variables { fields { \"U1\": value { number_value: 123.4 }, \"U2\": value { string_value: \"MyVariable2\" }, \"U3\": value { string_value: \"MyVariable3\" } } }` Acceptable values for keys are \"U1\" through \"U100\", inclusive. String values must be less than 64 characters long, and cannot contain the following characters: `\"<>`.", + "type": "object" + }, + "displayName": { + "description": "Required. The display name of the Floodlight group.", + "type": "string" + }, + "floodlightGroupId": { + "description": "Output only. The unique ID of the Floodlight group. Assigned by the system.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "lookbackWindow": { + "$ref": "LookbackWindow", + "description": "Required. The lookback window for the Floodlight group. Both click_days and impression_days are required. Acceptable values for both are `0` to `90`, inclusive." + }, + "name": { + "description": "Output only. The resource name of the Floodlight group.", + "readOnly": true, + "type": "string" + }, + "webTagType": { + "description": "Required. The web tag type enabled for the Floodlight group.", + "enum": [ + "WEB_TAG_TYPE_UNSPECIFIED", + "WEB_TAG_TYPE_NONE", + "WEB_TAG_TYPE_IMAGE", + "WEB_TAG_TYPE_DYNAMIC" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "No tag type.", + "Image tag.", + "Dynamic tag." + ], + "type": "string" + } + }, + "type": "object" + }, + "FrequencyCap": { + "description": "Settings that control the number of times a user may be shown with the same ad during a given time period.", + "id": "FrequencyCap", + "properties": { + "maxImpressions": { + "description": "The maximum number of times a user may be shown the same ad during this period. Must be greater than 0. Required when unlimited is `false` and max_views is not set.", + "format": "int32", + "type": "integer" + }, + "maxViews": { + "description": "The maximum number of times a user may click-through or fully view an ad during this period until it is no longer served to them. Must be greater than 0. Only applicable to YouTube and Partners resources. Required when unlimited is `false` and max_impressions is not set.", + "format": "int32", + "type": "integer" + }, + "timeUnit": { + "description": "The time unit in which the frequency cap will be applied. Required when unlimited is `false`.", + "enum": [ + "TIME_UNIT_UNSPECIFIED", + "TIME_UNIT_LIFETIME", + "TIME_UNIT_MONTHS", + "TIME_UNIT_WEEKS", + "TIME_UNIT_DAYS", + "TIME_UNIT_HOURS", + "TIME_UNIT_MINUTES" + ], + "enumDescriptions": [ + "Time unit value is not specified or is unknown in this version.", + "The frequency cap will be applied to the whole life time of the line item.", + "The frequency cap will be applied to a number of months.", + "The frequency cap will be applied to a number of weeks.", + "The frequency cap will be applied to a number of days.", + "The frequency cap will be applied to a number of hours.", + "The frequency cap will be applied to a number of minutes." + ], + "type": "string" + }, + "timeUnitCount": { + "description": "The number of time_unit the frequency cap will last. Required when unlimited is `false`. The following restrictions apply based on the value of time_unit: * `TIME_UNIT_LIFETIME` - this field is output only and will default to 1 * `TIME_UNIT_MONTHS` - must be between 1 and 2 * `TIME_UNIT_WEEKS` - must be between 1 and 4 * `TIME_UNIT_DAYS` - must be between 1 and 6 * `TIME_UNIT_HOURS` - must be between 1 and 23 * `TIME_UNIT_MINUTES` - must be between 1 and 59", + "format": "int32", + "type": "integer" + }, + "unlimited": { + "description": "Whether unlimited frequency capping is applied. When this field is set to `true`, the remaining frequency cap fields are not applicable.", + "type": "boolean" + } + }, + "type": "object" + }, + "GenderAssignedTargetingOptionDetails": { + "description": "Details for assigned gender targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_GENDER`.", + "id": "GenderAssignedTargetingOptionDetails", + "properties": { + "gender": { + "description": "Required. The gender of the audience.", + "enum": [ + "GENDER_UNSPECIFIED", + "GENDER_MALE", + "GENDER_FEMALE", + "GENDER_UNKNOWN" + ], + "enumDescriptions": [ + "Default value when gender is not specified in this version. This enum is a place holder for default value and does not represent a real gender option.", + "The audience gender is male.", + "The audience gender is female.", + "The audience gender is unknown." + ], + "type": "string" + } + }, + "type": "object" + }, + "GenderTargetingOptionDetails": { + "description": "Represents a targetable gender. This will be populated in the gender_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_GENDER`.", + "id": "GenderTargetingOptionDetails", + "properties": { + "gender": { + "description": "Output only. The gender of an audience.", + "enum": [ + "GENDER_UNSPECIFIED", + "GENDER_MALE", + "GENDER_FEMALE", + "GENDER_UNKNOWN" + ], + "enumDescriptions": [ + "Default value when gender is not specified in this version. This enum is a place holder for default value and does not represent a real gender option.", + "The audience gender is male.", + "The audience gender is female.", + "The audience gender is unknown." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GenerateDefaultLineItemRequest": { + "description": "Request message for LineItemService.GenerateDefaultLineItem.", + "id": "GenerateDefaultLineItemRequest", + "properties": { + "displayName": { + "description": "Required. The display name of the line item. Must be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "insertionOrderId": { + "description": "Required. The unique ID of the insertion order that the line item belongs to.", + "format": "int64", + "type": "string" + }, + "lineItemType": { + "description": "Required. The type of the line item.", + "enum": [ + "LINE_ITEM_TYPE_UNSPECIFIED", + "LINE_ITEM_TYPE_DISPLAY_DEFAULT", + "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL", + "LINE_ITEM_TYPE_VIDEO_DEFAULT", + "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL", + "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INVENTORY", + "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INVENTORY", + "LINE_ITEM_TYPE_AUDIO_DEFAULT", + "LINE_ITEM_TYPE_VIDEO_OVER_THE_TOP", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_ACTION", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_NON_SKIPPABLE", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_AUDIO", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_REACH", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_SIMPLE", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_NON_SKIPPABLE_OVER_THE_TOP", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_REACH_OVER_THE_TOP", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_SIMPLE_OVER_THE_TOP", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_TARGET_FREQUENCY", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIEW", + "LINE_ITEM_TYPE_DISPLAY_OUT_OF_HOME", + "LINE_ITEM_TYPE_VIDEO_OUT_OF_HOME" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version. Line items of this type and their targeting cannot be created or updated using the API.", + "Image, HTML5, native, or rich media ads.", + "Display ads that drive installs of an app.", + "Video ads sold on a CPM basis for a variety of environments.", + "Video ads that drive installs of an app.", + "Display ads served on mobile app inventory. Line items of this type and their targeting cannot be created or updated using the API.", + "Video ads served on mobile app inventory. Line items of this type and their targeting cannot be created or updated using the API.", + "RTB Audio ads sold for a variety of environments.", + "Over-the-top ads present in OTT insertion orders. This type is only applicable to line items with an insertion order of insertion_order_type `OVER_THE_TOP`.", + "YouTube video ads that promote conversions. Line items of this type and their targeting cannot be created or updated using the API.", + "YouTube video ads (up to 15 seconds) that cannot be skipped. Line items of this type and their targeting cannot be created or updated using the API.", + "YouTube video ads that show a story in a particular sequence using a mix of formats. Line items of this type and their targeting cannot be created or updated using the API.", + "YouTube audio ads. Line items of this type and their targeting cannot be created or updated using the API.", + "YouTube video ads that optimize reaching more unique users at lower cost. May include bumper ads, skippable in-stream ads, or a mix of types. Line items of this type and their targeting cannot be created or updated using the API.", + "Default YouTube video ads. Line items of this type and their targeting cannot be created or updated using the API.", + "Connected TV youTube video ads (up to 15 seconds) that cannot be skipped. Line items of this type and their targeting cannot be created or updated using the API.", + "Connected TV youTube video ads that optimize reaching more unique users at lower cost. May include bumper ads, skippable in-stream ads, or a mix of types. Line items of this type and their targeting cannot be created or updated using the API.", + "Connected TV default YouTube video ads. Only include in-stream ad-format. Line items of this type and their targeting cannot be created or updated using the API.", + "The goal of this line item type is to show the YouTube ads target number of times to the same person in a certain period of time. Line items of this type and their targeting cannot be created or updated using the API.", + "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." + ], + "type": "string" + }, + "mobileApp": { + "$ref": "MobileApp", + "description": "The mobile app promoted by the line item. This is applicable only when line_item_type is either `LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL` or `LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL`." + } + }, + "type": "object" + }, + "GeoRegionAssignedTargetingOptionDetails": { + "description": "Details for assigned geographic region targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_GEO_REGION`.", + "id": "GeoRegionAssignedTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the geographic region (e.g., \"Ontario, Canada\").", + "readOnly": true, + "type": "string" + }, + "geoRegionType": { + "description": "Output only. The type of geographic region targeting.", + "enum": [ + "GEO_REGION_TYPE_UNKNOWN", + "GEO_REGION_TYPE_OTHER", + "GEO_REGION_TYPE_COUNTRY", + "GEO_REGION_TYPE_REGION", + "GEO_REGION_TYPE_TERRITORY", + "GEO_REGION_TYPE_PROVINCE", + "GEO_REGION_TYPE_STATE", + "GEO_REGION_TYPE_PREFECTURE", + "GEO_REGION_TYPE_GOVERNORATE", + "GEO_REGION_TYPE_CANTON", + "GEO_REGION_TYPE_UNION_TERRITORY", + "GEO_REGION_TYPE_AUTONOMOUS_COMMUNITY", + "GEO_REGION_TYPE_DMA_REGION", + "GEO_REGION_TYPE_METRO", + "GEO_REGION_TYPE_CONGRESSIONAL_DISTRICT", + "GEO_REGION_TYPE_COUNTY", + "GEO_REGION_TYPE_MUNICIPALITY", + "GEO_REGION_TYPE_CITY", + "GEO_REGION_TYPE_POSTAL_CODE", + "GEO_REGION_TYPE_DEPARTMENT", + "GEO_REGION_TYPE_AIRPORT", + "GEO_REGION_TYPE_TV_REGION", + "GEO_REGION_TYPE_OKRUG", + "GEO_REGION_TYPE_BOROUGH", + "GEO_REGION_TYPE_CITY_REGION", + "GEO_REGION_TYPE_ARRONDISSEMENT", + "GEO_REGION_TYPE_NEIGHBORHOOD", + "GEO_REGION_TYPE_UNIVERSITY", + "GEO_REGION_TYPE_DISTRICT" + ], + "enumDescriptions": [ + "The geographic region type is unknown.", + "The geographic region type is other.", + "The geographic region is a country.", + "The geographic region type is region.", + "The geographic region is a territory.", + "The geographic region is a province.", + "The geographic region is a state.", + "The geographic region is a prefecture.", + "The geographic region is a governorate.", + "The geographic region is a canton.", + "The geographic region is a union territory.", + "The geographic region is an autonomous community.", + "The geographic region is a designated market area (DMA) region.", + "The geographic region type is metro.", + "The geographic region is a congressional district.", + "The geographic region is a county.", + "The geographic region is a municipality.", + "The geographic region is a city.", + "The geographic region targeting type is postal code.", + "The geographic region targeting type is department.", + "The geographic region is an airport.", + "The geographic region is a TV region.", + "The geographic region is an okrug.", + "The geographic region is a borough.", + "The geographic region is a city region.", + "The geographic region is an arrondissement.", + "The geographic region is a neighborhood.", + "The geographic region is a university.", + "The geographic region is a district." + ], + "readOnly": true, + "type": "string" + }, + "negative": { + "description": "Indicates if this option is being negatively targeted.", + "type": "boolean" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_GEO_REGION`.", + "type": "string" + } + }, + "type": "object" + }, + "GeoRegionSearchTerms": { + "description": "Search terms for geo region targeting options.", + "id": "GeoRegionSearchTerms", + "properties": { + "geoRegionQuery": { + "description": "The search query for the desired geo region. The query can be a prefix, e.g. \"New Yor\", \"Seattle\", \"USA\", etc.", + "type": "string" + } + }, + "type": "object" + }, + "GeoRegionTargetingOptionDetails": { + "description": "Represents a targetable geographic region. This will be populated in the geo_region_details field when targeting_type is `TARGETING_TYPE_GEO_REGION`.", + "id": "GeoRegionTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the geographic region (e.g., \"Ontario, Canada\").", + "readOnly": true, + "type": "string" + }, + "geoRegionType": { + "description": "Output only. The type of geographic region targeting.", + "enum": [ + "GEO_REGION_TYPE_UNKNOWN", + "GEO_REGION_TYPE_OTHER", + "GEO_REGION_TYPE_COUNTRY", + "GEO_REGION_TYPE_REGION", + "GEO_REGION_TYPE_TERRITORY", + "GEO_REGION_TYPE_PROVINCE", + "GEO_REGION_TYPE_STATE", + "GEO_REGION_TYPE_PREFECTURE", + "GEO_REGION_TYPE_GOVERNORATE", + "GEO_REGION_TYPE_CANTON", + "GEO_REGION_TYPE_UNION_TERRITORY", + "GEO_REGION_TYPE_AUTONOMOUS_COMMUNITY", + "GEO_REGION_TYPE_DMA_REGION", + "GEO_REGION_TYPE_METRO", + "GEO_REGION_TYPE_CONGRESSIONAL_DISTRICT", + "GEO_REGION_TYPE_COUNTY", + "GEO_REGION_TYPE_MUNICIPALITY", + "GEO_REGION_TYPE_CITY", + "GEO_REGION_TYPE_POSTAL_CODE", + "GEO_REGION_TYPE_DEPARTMENT", + "GEO_REGION_TYPE_AIRPORT", + "GEO_REGION_TYPE_TV_REGION", + "GEO_REGION_TYPE_OKRUG", + "GEO_REGION_TYPE_BOROUGH", + "GEO_REGION_TYPE_CITY_REGION", + "GEO_REGION_TYPE_ARRONDISSEMENT", + "GEO_REGION_TYPE_NEIGHBORHOOD", + "GEO_REGION_TYPE_UNIVERSITY", + "GEO_REGION_TYPE_DISTRICT" + ], + "enumDescriptions": [ + "The geographic region type is unknown.", + "The geographic region type is other.", + "The geographic region is a country.", + "The geographic region type is region.", + "The geographic region is a territory.", + "The geographic region is a province.", + "The geographic region is a state.", + "The geographic region is a prefecture.", + "The geographic region is a governorate.", + "The geographic region is a canton.", + "The geographic region is a union territory.", + "The geographic region is an autonomous community.", + "The geographic region is a designated market area (DMA) region.", + "The geographic region type is metro.", + "The geographic region is a congressional district.", + "The geographic region is a county.", + "The geographic region is a municipality.", + "The geographic region is a city.", + "The geographic region targeting type is postal code.", + "The geographic region targeting type is department.", + "The geographic region is an airport.", + "The geographic region is a TV region.", + "The geographic region is an okrug.", + "The geographic region is a borough.", + "The geographic region is a city region.", + "The geographic region is an arrondissement.", + "The geographic region is a neighborhood.", + "The geographic region is a university.", + "The geographic region is a district." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAudience": { + "description": "Describes a Google audience resource. Includes Google audience lists.", + "id": "GoogleAudience", + "properties": { + "displayName": { + "description": "Output only. The display name of the Google audience. .", + "readOnly": true, + "type": "string" + }, + "googleAudienceId": { + "description": "Output only. The unique ID of the Google audience. Assigned by the system.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "googleAudienceType": { + "description": "Output only. The type of Google audience. .", + "enum": [ + "GOOGLE_AUDIENCE_TYPE_UNSPECIFIED", + "GOOGLE_AUDIENCE_TYPE_AFFINITY", + "GOOGLE_AUDIENCE_TYPE_IN_MARKET", + "GOOGLE_AUDIENCE_TYPE_INSTALLED_APPS", + "GOOGLE_AUDIENCE_TYPE_NEW_MOBILE_DEVICES", + "GOOGLE_AUDIENCE_TYPE_LIFE_EVENT", + "GOOGLE_AUDIENCE_TYPE_EXTENDED_DEMOGRAPHIC" + ], + "enumDeprecated": [ + false, + false, + false, + true, + true, + false, + false + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown.", + "Affinity type Google audience.", + "In-Market type Google audience.", + "Installed-Apps type Google audience.", + "New-Mobile-Devices type Google audience.", + "Life-Event type Google audience.", + "Extended-Demographic type Google audience." + ], + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the google audience.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAudienceGroup": { + "description": "Details of Google audience group. All Google audience targeting settings are logically \u2018OR\u2019 of each other.", + "id": "GoogleAudienceGroup", + "properties": { + "settings": { + "description": "Required. All Google audience targeting settings in Google audience group. Repeated settings with same id will be ignored.", + "items": { + "$ref": "GoogleAudienceTargetingSetting" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAudienceTargetingSetting": { + "description": "Details of Google audience targeting setting.", + "id": "GoogleAudienceTargetingSetting", + "properties": { + "googleAudienceId": { + "description": "Required. Google audience id of the Google audience targeting setting. This id is google_audience_id.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleBytestreamMedia": { + "description": "Media resource.", + "id": "GoogleBytestreamMedia", + "properties": { + "resourceName": { + "description": "Name of the media resource.", + "type": "string" + } + }, + "type": "object" + }, + "GuaranteedOrder": { + "description": "A guaranteed order. Guaranteed orders are parent entity of guaranteed inventory sources. When creating a guaranteed inventory source, a guaranteed order ID must be assigned to the inventory source.", + "id": "GuaranteedOrder", + "properties": { + "defaultAdvertiserId": { + "description": "Output only. The ID of default advertiser of the guaranteed order. The default advertiser is either the read_write_advertiser_id or, if that is not set, the first advertiser listed in read_advertiser_ids. Otherwise, there is no default advertiser.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "defaultCampaignId": { + "description": "The ID of the default campaign that is assigned to the guaranteed order. The default campaign must belong to the default advertiser.", + "format": "int64", + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the guaranteed order. Must be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "exchange": { + "description": "Required. Immutable. The exchange where the guaranteed order originated.", + "enum": [ + "EXCHANGE_UNSPECIFIED", + "EXCHANGE_GOOGLE_AD_MANAGER", + "EXCHANGE_APPNEXUS", + "EXCHANGE_BRIGHTROLL", + "EXCHANGE_ADFORM", + "EXCHANGE_ADMETA", + "EXCHANGE_ADMIXER", + "EXCHANGE_ADSMOGO", + "EXCHANGE_ADSWIZZ", + "EXCHANGE_BIDSWITCH", + "EXCHANGE_BRIGHTROLL_DISPLAY", + "EXCHANGE_CADREON", + "EXCHANGE_DAILYMOTION", + "EXCHANGE_FIVE", + "EXCHANGE_FLUCT", + "EXCHANGE_FREEWHEEL", + "EXCHANGE_GENIEE", + "EXCHANGE_GUMGUM", + "EXCHANGE_IMOBILE", + "EXCHANGE_IBILLBOARD", + "EXCHANGE_IMPROVE_DIGITAL", + "EXCHANGE_INDEX", + "EXCHANGE_KARGO", + "EXCHANGE_MICROAD", + "EXCHANGE_MOPUB", + "EXCHANGE_NEND", + "EXCHANGE_ONE_BY_AOL_DISPLAY", + "EXCHANGE_ONE_BY_AOL_MOBILE", + "EXCHANGE_ONE_BY_AOL_VIDEO", + "EXCHANGE_OOYALA", + "EXCHANGE_OPENX", + "EXCHANGE_PERMODO", + "EXCHANGE_PLATFORMONE", + "EXCHANGE_PLATFORMID", + "EXCHANGE_PUBMATIC", + "EXCHANGE_PULSEPOINT", + "EXCHANGE_REVENUEMAX", + "EXCHANGE_RUBICON", + "EXCHANGE_SMARTCLIP", + "EXCHANGE_SMARTRTB", + "EXCHANGE_SMARTSTREAMTV", + "EXCHANGE_SOVRN", + "EXCHANGE_SPOTXCHANGE", + "EXCHANGE_STROER", + "EXCHANGE_TEADSTV", + "EXCHANGE_TELARIA", + "EXCHANGE_TVN", + "EXCHANGE_UNITED", + "EXCHANGE_YIELDLAB", + "EXCHANGE_YIELDMO", + "EXCHANGE_UNRULYX", + "EXCHANGE_OPEN8", + "EXCHANGE_TRITON", + "EXCHANGE_TRIPLELIFT", + "EXCHANGE_TABOOLA", + "EXCHANGE_INMOBI", + "EXCHANGE_SMAATO", + "EXCHANGE_AJA", + "EXCHANGE_SUPERSHIP", + "EXCHANGE_NEXSTAR_DIGITAL", + "EXCHANGE_WAZE", + "EXCHANGE_SOUNDCAST", + "EXCHANGE_SHARETHROUGH", + "EXCHANGE_FYBER", + "EXCHANGE_RED_FOR_PUBLISHERS", + "EXCHANGE_MEDIANET", + "EXCHANGE_TAPJOY", + "EXCHANGE_VISTAR", + "EXCHANGE_DAX", + "EXCHANGE_JCD", + "EXCHANGE_PLACE_EXCHANGE", + "EXCHANGE_APPLOVIN", + "EXCHANGE_CONNATIX", + "EXCHANGE_RESET_DIGITAL", + "EXCHANGE_HIVESTACK" + ], + "enumDescriptions": [ + "Exchange is not specified or is unknown in this version.", + "Google Ad Manager.", + "AppNexus.", + "BrightRoll Exchange for Video from Yahoo!.", + "Adform.", + "Admeta.", + "Admixer.", + "AdsMogo.", + "AdsWizz.", + "BidSwitch.", + "BrightRoll Exchange for Display from Yahoo!.", + "Cadreon.", + "Dailymotion.", + "Five.", + "Fluct.", + "FreeWheel SSP.", + "Geniee.", + "GumGum.", + "i-mobile.", + "iBILLBOARD.", + "Improve Digital.", + "Index Exchange.", + "Kargo.", + "MicroAd.", + "MoPub.", + "Nend.", + "ONE by AOL: Display Market Place.", + "ONE by AOL: Mobile.", + "ONE by AOL: Video.", + "Ooyala.", + "OpenX.", + "Permodo.", + "Platform One.", + "PlatformId.", + "PubMatic.", + "PulsePoint.", + "RevenueMax.", + "Rubicon.", + "SmartClip.", + "SmartRTB+.", + "SmartstreamTv.", + "Sovrn.", + "SpotXchange.", + "Str\u00f6er SSP.", + "TeadsTv.", + "Telaria.", + "TVN.", + "United.", + "Yieldlab.", + "Yieldmo.", + "UnrulyX.", + "Open8.", + "Triton.", + "TripleLift.", + "Taboola.", + "InMobi.", + "Smaato.", + "Aja.", + "Supership.", + "Nexstar Digital.", + "Waze.", + "SoundCast.", + "Sharethrough.", + "Fyber.", + "Red For Publishers.", + "Media.net.", + "Tapjoy.", + "Vistar.", + "DAX.", + "JCD.", + "Place Exchange.", + "AppLovin.", + "Connatix.", + "Reset Digital.", + "Hivestack." + ], + "type": "string" + }, + "guaranteedOrderId": { + "description": "Output only. The unique identifier of the guaranteed order. The guaranteed order IDs have the format `{exchange}-{legacy_guaranteed_order_id}`.", + "readOnly": true, + "type": "string" + }, + "legacyGuaranteedOrderId": { + "description": "Output only. The legacy ID of the guaranteed order. Assigned by the original exchange. The legacy ID is unique within one exchange, but is not guaranteed to be unique across all guaranteed orders. This ID is used in SDF and UI.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the guaranteed order.", + "readOnly": true, + "type": "string" + }, + "publisherName": { + "description": "Required. The publisher name of the guaranteed order. Must be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "readAccessInherited": { + "description": "Whether all advertisers of read_write_partner_id have read access to the guaranteed order. Only applicable if read_write_partner_id is set. If True, overrides read_advertiser_ids.", + "type": "boolean" + }, + "readAdvertiserIds": { + "description": "The IDs of advertisers with read access to the guaranteed order. This field must not include the advertiser assigned to read_write_advertiser_id if it is set. All advertisers in this field must belong to read_write_partner_id or the same partner as read_write_advertiser_id.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "readWriteAdvertiserId": { + "description": "The advertiser with read/write access to the guaranteed order. This is also the default advertiser of the guaranteed order.", + "format": "int64", + "type": "string" + }, + "readWritePartnerId": { + "description": "The partner with read/write access to the guaranteed order.", + "format": "int64", + "type": "string" + }, + "status": { + "$ref": "GuaranteedOrderStatus", + "description": "The status settings of the guaranteed order." + }, + "updateTime": { + "description": "Output only. The timestamp when the guaranteed order was last updated. Assigned by the system.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GuaranteedOrderStatus": { + "description": "The status settings of the guaranteed order.", + "id": "GuaranteedOrderStatus", + "properties": { + "configStatus": { + "description": "Output only. The configuration status of the guaranteed order. Acceptable values are `PENDING` and `COMPLETED`. A guaranteed order must be configured (fill in the required fields, choose creatives, and select a default campaign) before it can serve. Currently the configuration action can only be performed via UI.", + "enum": [ + "GUARANTEED_ORDER_CONFIG_STATUS_UNSPECIFIED", + "PENDING", + "COMPLETED" + ], + "enumDescriptions": [ + "The approval status is not specified or is unknown in this version.", + "The beginning state of a guaranteed order. The guaranteed order in this state needs to be configured before it can serve.", + "The state after the buyer configures a guaranteed order." + ], + "readOnly": true, + "type": "string" + }, + "entityPauseReason": { + "description": "The user-provided reason for pausing this guaranteed order. Must be UTF-8 encoded with a maximum length of 100 bytes. Only applicable when entity_status is set to `ENTITY_STATUS_PAUSED`.", + "type": "string" + }, + "entityStatus": { + "description": "Whether or not the guaranteed order is servable. Acceptable values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_ARCHIVED`, and `ENTITY_STATUS_PAUSED`. Default value is `ENTITY_STATUS_ACTIVE`.", + "enum": [ + "ENTITY_STATUS_UNSPECIFIED", + "ENTITY_STATUS_ACTIVE", + "ENTITY_STATUS_ARCHIVED", + "ENTITY_STATUS_DRAFT", + "ENTITY_STATUS_PAUSED", + "ENTITY_STATUS_SCHEDULED_FOR_DELETION" + ], + "enumDescriptions": [ + "Default value when status is not specified or is unknown in this version.", + "The entity is enabled to bid and spend budget.", + "The entity is archived. Bidding and budget spending are disabled. An entity can be deleted after archived. Deleted entities cannot be retrieved.", + "The entity is under draft. Bidding and budget spending are disabled.", + "Bidding and budget spending are paused for the entity.", + "The entity is scheduled for deletion." + ], + "type": "string" + } + }, + "type": "object" + }, + "HouseholdIncomeAssignedTargetingOptionDetails": { + "description": "Details for assigned household income targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_HOUSEHOLD_INCOME`.", + "id": "HouseholdIncomeAssignedTargetingOptionDetails", + "properties": { + "householdIncome": { + "description": "Required. The household income of the audience.", + "enum": [ + "HOUSEHOLD_INCOME_UNSPECIFIED", + "HOUSEHOLD_INCOME_UNKNOWN", + "HOUSEHOLD_INCOME_LOWER_50_PERCENT", + "HOUSEHOLD_INCOME_TOP_41_TO_50_PERCENT", + "HOUSEHOLD_INCOME_TOP_31_TO_40_PERCENT", + "HOUSEHOLD_INCOME_TOP_21_TO_30_PERCENT", + "HOUSEHOLD_INCOME_TOP_11_TO_20_PERCENT", + "HOUSEHOLD_INCOME_TOP_10_PERCENT" + ], + "enumDescriptions": [ + "Default value when household income is not specified in this version. This enum is a placeholder for default value and does not represent a real household income option.", + "The household income of the audience is unknown.", + "The audience is in the lower 50% of U.S. household incomes.", + "The audience is in the top 41-50% of U.S. household incomes.", + "The audience is in the top 31-40% of U.S. household incomes.", + "The audience is in the top 21-30% of U.S. household incomes.", + "The audience is in the top 11-20% of U.S. household incomes.", + "The audience is in the top 10% of U.S. household incomes." + ], + "type": "string" + } + }, + "type": "object" + }, + "HouseholdIncomeTargetingOptionDetails": { + "description": "Represents a targetable household income. This will be populated in the household_income_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_HOUSEHOLD_INCOME`.", + "id": "HouseholdIncomeTargetingOptionDetails", + "properties": { + "householdIncome": { + "description": "Output only. The household income of an audience.", + "enum": [ + "HOUSEHOLD_INCOME_UNSPECIFIED", + "HOUSEHOLD_INCOME_UNKNOWN", + "HOUSEHOLD_INCOME_LOWER_50_PERCENT", + "HOUSEHOLD_INCOME_TOP_41_TO_50_PERCENT", + "HOUSEHOLD_INCOME_TOP_31_TO_40_PERCENT", + "HOUSEHOLD_INCOME_TOP_21_TO_30_PERCENT", + "HOUSEHOLD_INCOME_TOP_11_TO_20_PERCENT", + "HOUSEHOLD_INCOME_TOP_10_PERCENT" + ], + "enumDescriptions": [ + "Default value when household income is not specified in this version. This enum is a placeholder for default value and does not represent a real household income option.", + "The household income of the audience is unknown.", + "The audience is in the lower 50% of U.S. household incomes.", + "The audience is in the top 41-50% of U.S. household incomes.", + "The audience is in the top 31-40% of U.S. household incomes.", + "The audience is in the top 21-30% of U.S. household incomes.", + "The audience is in the top 11-20% of U.S. household incomes.", + "The audience is in the top 10% of U.S. household incomes." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "IdFilter": { + "description": "A filtering option that filters entities by their entity IDs.", + "id": "IdFilter", + "properties": { + "adGroupAdIds": { + "description": "YouTube Ads to download by ID. All IDs must belong to the same Advertiser or Partner specified in CreateSdfDownloadTaskRequest.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "adGroupIds": { + "description": "YouTube Ad Groups to download by ID. All IDs must belong to the same Advertiser or Partner specified in CreateSdfDownloadTaskRequest.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "campaignIds": { + "description": "Campaigns to download by ID. All IDs must belong to the same Advertiser or Partner specified in CreateSdfDownloadTaskRequest.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "insertionOrderIds": { + "description": "Insertion Orders to download by ID. All IDs must belong to the same Advertiser or Partner specified in CreateSdfDownloadTaskRequest.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "lineItemIds": { + "description": "Line Items to download by ID. All IDs must belong to the same Advertiser or Partner specified in CreateSdfDownloadTaskRequest.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "mediaProductIds": { + "description": "Media Products to download by ID. All IDs must belong to the same Advertiser or Partner specified in CreateSdfDownloadTaskRequest.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ImageAsset": { + "description": "Meta data of an image asset.", + "id": "ImageAsset", + "properties": { + "fileSize": { + "description": "File size of the image asset in bytes.", + "format": "int64", + "type": "string" + }, + "fullSize": { + "$ref": "Dimensions", + "description": "Metadata for this image at its original size." + }, + "mimeType": { + "description": "MIME type of the image asset.", + "type": "string" + } + }, + "type": "object" + }, + "InStreamAd": { + "description": "Details for an in-stream ad.", + "id": "InStreamAd", + "properties": { + "commonInStreamAttribute": { + "$ref": "CommonInStreamAttribute", + "description": "Common ad attributes." + }, + "customParameters": { + "additionalProperties": { + "type": "string" + }, + "description": "The custom parameters to pass custom values to tracking URL template.", + "type": "object" + } + }, + "type": "object" + }, + "InsertionOrder": { + "description": "A single insertion order.", + "id": "InsertionOrder", + "properties": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the insertion order belongs to.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "bidStrategy": { + "$ref": "BiddingStrategy", + "description": "The bidding strategy of the insertion order. By default, fixed_bid is set." + }, + "budget": { + "$ref": "InsertionOrderBudget", + "description": "Required. The budget allocation settings of the insertion order." + }, + "campaignId": { + "description": "Required. Immutable. The unique ID of the campaign that the insertion order belongs to.", + "format": "int64", + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the insertion order. Must be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "entityStatus": { + "description": "Required. Controls whether or not the insertion order can spend its budget and bid on inventory. * For CreateInsertionOrder method, only `ENTITY_STATUS_DRAFT` is allowed. To activate an insertion order, use UpdateInsertionOrder method and update the status to `ENTITY_STATUS_ACTIVE` after creation. * An insertion order cannot be changed back to `ENTITY_STATUS_DRAFT` status from any other status. * An insertion order cannot be set to `ENTITY_STATUS_ACTIVE` if its parent campaign is not active.", + "enum": [ + "ENTITY_STATUS_UNSPECIFIED", + "ENTITY_STATUS_ACTIVE", + "ENTITY_STATUS_ARCHIVED", + "ENTITY_STATUS_DRAFT", + "ENTITY_STATUS_PAUSED", + "ENTITY_STATUS_SCHEDULED_FOR_DELETION" + ], + "enumDescriptions": [ + "Default value when status is not specified or is unknown in this version.", + "The entity is enabled to bid and spend budget.", + "The entity is archived. Bidding and budget spending are disabled. An entity can be deleted after archived. Deleted entities cannot be retrieved.", + "The entity is under draft. Bidding and budget spending are disabled.", + "Bidding and budget spending are paused for the entity.", + "The entity is scheduled for deletion." + ], + "type": "string" + }, + "frequencyCap": { + "$ref": "FrequencyCap", + "description": "Required. The frequency capping setting of the insertion order." + }, + "insertionOrderId": { + "description": "Output only. The unique ID of the insertion order. Assigned by the system.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "insertionOrderType": { + "description": "The type of insertion order. If this field is unspecified in creation, the value defaults to `RTB`.", + "enum": [ + "INSERTION_ORDER_TYPE_UNSPECIFIED", + "RTB", + "OVER_THE_TOP" + ], + "enumDescriptions": [ + "Insertion order type is not specified or is unknown.", + "Real-time bidding.", + "Over-the-top." + ], + "type": "string" + }, + "integrationDetails": { + "$ref": "IntegrationDetails", + "description": "Additional integration details of the insertion order." + }, + "kpi": { + "$ref": "Kpi", + "description": "Required. The key performance indicator (KPI) of the insertion order. This is represented as referred to as the \"Goal\" in the Display & Video 360 interface." + }, + "name": { + "description": "Output only. The resource name of the insertion order.", + "readOnly": true, + "type": "string" + }, + "pacing": { + "$ref": "Pacing", + "description": "Required. The budget spending speed setting of the insertion order." + }, + "partnerCosts": { + "description": "The partner costs associated with the insertion order. If absent or empty in CreateInsertionOrder method, the newly created insertion order will inherit partner costs from the partner settings.", + "items": { + "$ref": "PartnerCost" + }, + "type": "array" + }, + "reservationType": { + "description": "Output only. The reservation type of the insertion order.", + "enum": [ + "RESERVATION_TYPE_UNSPECIFIED", + "RESERVATION_TYPE_NOT_GUARANTEED", + "RESERVATION_TYPE_PROGRAMMATIC_GUARANTEED", + "RESERVATION_TYPE_TAG_GUARANTEED", + "RESERVATION_TYPE_PETRA_VIRAL", + "RESERVATION_TYPE_INSTANT_RESERVE" + ], + "enumDescriptions": [ + "Reservation type value is not specified or is unknown in this version.", + "Not created through a guaranteed inventory source.", + "Created through a programmatic guaranteed inventory source.", + "Created through a tag guaranteed inventory source.", + "Created through a Petra inventory source. Only applicable to YouTube and Partners line items.", + "Created with an instant quote. Only applicable to YouTube and partners line items." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the insertion order was last updated. Assigned by the system.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "InsertionOrderBudget": { + "description": "Settings that control how insertion order budget is allocated.", + "id": "InsertionOrderBudget", + "properties": { + "automationType": { + "description": "The type of automation used to manage bid and budget for the insertion order. If this field is unspecified in creation, the value defaults to `INSERTION_ORDER_AUTOMATION_TYPE_NONE`.", + "enum": [ + "INSERTION_ORDER_AUTOMATION_TYPE_UNSPECIFIED", + "INSERTION_ORDER_AUTOMATION_TYPE_BUDGET", + "INSERTION_ORDER_AUTOMATION_TYPE_NONE", + "INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET" + ], + "enumDescriptions": [ + "Insertion order automation option is not specified or is unknown in this version.", + "Automatic budget allocation. Allow the system to automatically shift budget to owning line items to optimize performance defined by kpi. No automation on bid settings.", + "No automation of bid or budget on insertion order level. Bid and budget must be manually configured at the line item level.", + "Allow the system to automatically adjust bids and shift budget to owning line items to optimize performance defined by kpi." + ], + "type": "string" + }, + "budgetSegments": { + "description": "Required. The list of budget segments. Use a budget segment to specify a specific budget for a given period of time an insertion order is running.", + "items": { + "$ref": "InsertionOrderBudgetSegment" + }, + "type": "array" + }, + "budgetUnit": { + "description": "Required. Immutable. The budget unit specifies whether the budget is currency based or impression based.", + "enum": [ + "BUDGET_UNIT_UNSPECIFIED", + "BUDGET_UNIT_CURRENCY", + "BUDGET_UNIT_IMPRESSIONS" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Budgeting in currency amounts.", + "Budgeting in impression amounts." + ], + "type": "string" + } + }, + "type": "object" + }, + "InsertionOrderBudgetSegment": { + "description": "Settings that control the budget of a single budget segment.", + "id": "InsertionOrderBudgetSegment", + "properties": { + "budgetAmountMicros": { + "description": "Required. The budget amount the insertion order will spend for the given date_range. The amount is in micros. Must be greater than 0. For example, 500000000 represents 500 standard units of the currency.", + "format": "int64", + "type": "string" + }, + "campaignBudgetId": { + "description": "The budget_id of the campaign budget that this insertion order budget segment is a part of.", + "format": "int64", + "type": "string" + }, + "dateRange": { + "$ref": "DateRange", + "description": "Required. The start and end date settings of the budget segment. They are resolved relative to the parent advertiser's time zone. * When creating a new budget segment, both `start_date` and `end_date` must be in the future. * An existing budget segment with a `start_date` in the past has a mutable `end_date` but an immutable `start_date`. * `end_date` must be the `start_date` or later, both before the year 2037." + }, + "description": { + "description": "The budget segment description. It can be used to enter Purchase Order information for each budget segment and have that information printed on the invoices. Must be UTF-8 encoded.", + "type": "string" + } + }, + "type": "object" + }, + "IntegralAdScience": { + "description": "Details of Integral Ad Science settings.", + "id": "IntegralAdScience", + "properties": { + "customSegmentId": { + "description": "The custom segment ID provided by Integral Ad Science. The ID must be between `1000001` and `1999999`, inclusive.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "displayViewability": { + "description": "Display Viewability section (applicable to display line items only).", + "enum": [ + "PERFORMANCE_VIEWABILITY_UNSPECIFIED", + "PERFORMANCE_VIEWABILITY_40", + "PERFORMANCE_VIEWABILITY_50", + "PERFORMANCE_VIEWABILITY_60", + "PERFORMANCE_VIEWABILITY_70" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any display viewability options.", + "Target 40% Viewability or Higher.", + "Target 50% Viewability or Higher.", + "Target 60% Viewability or Higher.", + "Target 70% Viewability or Higher." + ], + "type": "string" + }, + "excludeUnrateable": { + "description": "Brand Safety - **Unrateable**.", + "type": "boolean" + }, + "excludedAdFraudRisk": { + "description": "Ad Fraud settings.", + "enum": [ + "SUSPICIOUS_ACTIVITY_UNSPECIFIED", + "SUSPICIOUS_ACTIVITY_HR", + "SUSPICIOUS_ACTIVITY_HMR" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any ad fraud prevention options.", + "Ad Fraud - Exclude High Risk.", + "Ad Fraud - Exclude High and Moderate Risk." + ], + "type": "string" + }, + "excludedAdultRisk": { + "description": "Brand Safety - **Adult content**.", + "enum": [ + "ADULT_UNSPECIFIED", + "ADULT_HR", + "ADULT_HMR" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any adult options.", + "Adult - Exclude High Risk.", + "Adult - Exclude High and Moderate Risk." + ], + "type": "string" + }, + "excludedAlcoholRisk": { + "description": "Brand Safety - **Alcohol**.", + "enum": [ + "ALCOHOL_UNSPECIFIED", + "ALCOHOL_HR", + "ALCOHOL_HMR" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any alcohol options.", + "Alcohol - Exclude High Risk.", + "Alcohol - Exclude High and Moderate Risk." + ], + "type": "string" + }, + "excludedDrugsRisk": { + "description": "Brand Safety - **Drugs**.", + "enum": [ + "DRUGS_UNSPECIFIED", + "DRUGS_HR", + "DRUGS_HMR" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any drugs options.", + "Drugs - Exclude High Risk.", + "Drugs - Exclude High and Moderate Risk." + ], + "type": "string" + }, + "excludedGamblingRisk": { + "description": "Brand Safety - **Gambling**.", + "enum": [ + "GAMBLING_UNSPECIFIED", + "GAMBLING_HR", + "GAMBLING_HMR" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any gambling options.", + "Gambling - Exclude High Risk.", + "Gambling - Exclude High and Moderate Risk." + ], + "type": "string" + }, + "excludedHateSpeechRisk": { + "description": "Brand Safety - **Hate speech**.", + "enum": [ + "HATE_SPEECH_UNSPECIFIED", + "HATE_SPEECH_HR", + "HATE_SPEECH_HMR" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any hate speech options.", + "Hate Speech - Exclude High Risk.", + "Hate Speech - Exclude High and Moderate Risk." + ], + "type": "string" + }, + "excludedIllegalDownloadsRisk": { + "description": "Brand Safety - **Illegal downloads**.", + "enum": [ + "ILLEGAL_DOWNLOADS_UNSPECIFIED", + "ILLEGAL_DOWNLOADS_HR", + "ILLEGAL_DOWNLOADS_HMR" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any illegal downloads options.", + "Illegal Downloads - Exclude High Risk.", + "Illegal Downloads - Exclude High and Moderate Risk." + ], + "type": "string" + }, + "excludedOffensiveLanguageRisk": { + "description": "Brand Safety - **Offensive language**.", + "enum": [ + "OFFENSIVE_LANGUAGE_UNSPECIFIED", + "OFFENSIVE_LANGUAGE_HR", + "OFFENSIVE_LANGUAGE_HMR" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any language options.", + "Offensive Language - Exclude High Risk.", + "Offensive Language - Exclude High and Moderate Risk." + ], + "type": "string" + }, + "excludedViolenceRisk": { + "description": "Brand Safety - **Violence**.", + "enum": [ + "VIOLENCE_UNSPECIFIED", + "VIOLENCE_HR", + "VIOLENCE_HMR" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any violence options.", + "Violence - Exclude High Risk.", + "Violence - Exclude High and Moderate Risk." + ], + "type": "string" + }, + "traqScoreOption": { + "description": "True advertising quality (applicable to Display line items only).", + "enum": [ + "TRAQ_UNSPECIFIED", + "TRAQ_250", + "TRAQ_500", + "TRAQ_600", + "TRAQ_700", + "TRAQ_750", + "TRAQ_875", + "TRAQ_1000" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any true advertising quality scores.", + "TRAQ score 250-1000.", + "TRAQ score 500-1000.", + "TRAQ score 600-1000.", + "TRAQ score 700-1000.", + "TRAQ score 750-1000.", + "TRAQ score 875-1000.", + "TRAQ score 1000." + ], + "type": "string" + }, + "videoViewability": { + "description": "Video Viewability Section (applicable to video line items only).", + "enum": [ + "VIDEO_VIEWABILITY_UNSPECIFIED", + "VIDEO_VIEWABILITY_40", + "VIDEO_VIEWABILITY_50", + "VIDEO_VIEWABILITY_60", + "VIDEO_VIEWABILITY_70" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any video viewability options.", + "40%+ in view (IAB video viewability standard).", + "50%+ in view (IAB video viewability standard).", + "60%+ in view (IAB video viewability standard).", + "70%+ in view (IAB video viewability standard)." + ], + "type": "string" + } + }, + "type": "object" + }, + "IntegrationDetails": { + "description": "Integration details of an entry.", + "id": "IntegrationDetails", + "properties": { + "details": { + "description": "Additional details of the entry in string format. Must be UTF-8 encoded with a length of no more than 1000 characters.", + "type": "string" + }, + "integrationCode": { + "description": "An external identifier to be associated with the entry. The integration code will show up together with the entry in many places in the system, for example, reporting. Must be UTF-8 encoded with a length of no more than 500 characters.", + "type": "string" + } + }, + "type": "object" + }, + "InventorySource": { + "description": "An inventory source.", + "id": "InventorySource", + "properties": { + "commitment": { + "description": "Whether the inventory source has a guaranteed or non-guaranteed delivery.", + "enum": [ + "INVENTORY_SOURCE_COMMITMENT_UNSPECIFIED", + "INVENTORY_SOURCE_COMMITMENT_GUARANTEED", + "INVENTORY_SOURCE_COMMITMENT_NON_GUARANTEED" + ], + "enumDescriptions": [ + "The commitment is not specified or is unknown in this version.", + "The commitment is guaranteed delivery.", + "The commitment is non-guaranteed delivery." + ], + "type": "string" + }, + "creativeConfigs": { + "description": "The creative requirements of the inventory source. Not applicable for auction packages.", + "items": { + "$ref": "CreativeConfig" + }, + "type": "array" + }, + "dealId": { + "description": "The ID in the exchange space that uniquely identifies the inventory source. Must be unique across buyers within each exchange but not necessarily unique across exchanges.", + "type": "string" + }, + "deliveryMethod": { + "description": "The delivery method of the inventory source. * For non-guaranteed inventory sources, the only acceptable value is `INVENTORY_SOURCE_DELIVERY_METHOD_PROGRAMMATIC`. * For guaranteed inventory sources, acceptable values are `INVENTORY_SOURCE_DELIVERY_METHOD_TAG` and `INVENTORY_SOURCE_DELIVERY_METHOD_PROGRAMMATIC`.", + "enum": [ + "INVENTORY_SOURCE_DELIVERY_METHOD_UNSPECIFIED", + "INVENTORY_SOURCE_DELIVERY_METHOD_PROGRAMMATIC", + "INVENTORY_SOURCE_DELIVERY_METHOD_TAG" + ], + "enumDescriptions": [ + "The delivery method is not specified or is unknown in this version.", + "The delivery method is programmatic.", + "The delivery method is tag." + ], + "type": "string" + }, + "displayName": { + "description": "The display name of the inventory source. Must be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "exchange": { + "description": "The exchange to which the inventory source belongs.", + "enum": [ + "EXCHANGE_UNSPECIFIED", + "EXCHANGE_GOOGLE_AD_MANAGER", + "EXCHANGE_APPNEXUS", + "EXCHANGE_BRIGHTROLL", + "EXCHANGE_ADFORM", + "EXCHANGE_ADMETA", + "EXCHANGE_ADMIXER", + "EXCHANGE_ADSMOGO", + "EXCHANGE_ADSWIZZ", + "EXCHANGE_BIDSWITCH", + "EXCHANGE_BRIGHTROLL_DISPLAY", + "EXCHANGE_CADREON", + "EXCHANGE_DAILYMOTION", + "EXCHANGE_FIVE", + "EXCHANGE_FLUCT", + "EXCHANGE_FREEWHEEL", + "EXCHANGE_GENIEE", + "EXCHANGE_GUMGUM", + "EXCHANGE_IMOBILE", + "EXCHANGE_IBILLBOARD", + "EXCHANGE_IMPROVE_DIGITAL", + "EXCHANGE_INDEX", + "EXCHANGE_KARGO", + "EXCHANGE_MICROAD", + "EXCHANGE_MOPUB", + "EXCHANGE_NEND", + "EXCHANGE_ONE_BY_AOL_DISPLAY", + "EXCHANGE_ONE_BY_AOL_MOBILE", + "EXCHANGE_ONE_BY_AOL_VIDEO", + "EXCHANGE_OOYALA", + "EXCHANGE_OPENX", + "EXCHANGE_PERMODO", + "EXCHANGE_PLATFORMONE", + "EXCHANGE_PLATFORMID", + "EXCHANGE_PUBMATIC", + "EXCHANGE_PULSEPOINT", + "EXCHANGE_REVENUEMAX", + "EXCHANGE_RUBICON", + "EXCHANGE_SMARTCLIP", + "EXCHANGE_SMARTRTB", + "EXCHANGE_SMARTSTREAMTV", + "EXCHANGE_SOVRN", + "EXCHANGE_SPOTXCHANGE", + "EXCHANGE_STROER", + "EXCHANGE_TEADSTV", + "EXCHANGE_TELARIA", + "EXCHANGE_TVN", + "EXCHANGE_UNITED", + "EXCHANGE_YIELDLAB", + "EXCHANGE_YIELDMO", + "EXCHANGE_UNRULYX", + "EXCHANGE_OPEN8", + "EXCHANGE_TRITON", + "EXCHANGE_TRIPLELIFT", + "EXCHANGE_TABOOLA", + "EXCHANGE_INMOBI", + "EXCHANGE_SMAATO", + "EXCHANGE_AJA", + "EXCHANGE_SUPERSHIP", + "EXCHANGE_NEXSTAR_DIGITAL", + "EXCHANGE_WAZE", + "EXCHANGE_SOUNDCAST", + "EXCHANGE_SHARETHROUGH", + "EXCHANGE_FYBER", + "EXCHANGE_RED_FOR_PUBLISHERS", + "EXCHANGE_MEDIANET", + "EXCHANGE_TAPJOY", + "EXCHANGE_VISTAR", + "EXCHANGE_DAX", + "EXCHANGE_JCD", + "EXCHANGE_PLACE_EXCHANGE", + "EXCHANGE_APPLOVIN", + "EXCHANGE_CONNATIX", + "EXCHANGE_RESET_DIGITAL", + "EXCHANGE_HIVESTACK" + ], + "enumDescriptions": [ + "Exchange is not specified or is unknown in this version.", + "Google Ad Manager.", + "AppNexus.", + "BrightRoll Exchange for Video from Yahoo!.", + "Adform.", + "Admeta.", + "Admixer.", + "AdsMogo.", + "AdsWizz.", + "BidSwitch.", + "BrightRoll Exchange for Display from Yahoo!.", + "Cadreon.", + "Dailymotion.", + "Five.", + "Fluct.", + "FreeWheel SSP.", + "Geniee.", + "GumGum.", + "i-mobile.", + "iBILLBOARD.", + "Improve Digital.", + "Index Exchange.", + "Kargo.", + "MicroAd.", + "MoPub.", + "Nend.", + "ONE by AOL: Display Market Place.", + "ONE by AOL: Mobile.", + "ONE by AOL: Video.", + "Ooyala.", + "OpenX.", + "Permodo.", + "Platform One.", + "PlatformId.", + "PubMatic.", + "PulsePoint.", + "RevenueMax.", + "Rubicon.", + "SmartClip.", + "SmartRTB+.", + "SmartstreamTv.", + "Sovrn.", + "SpotXchange.", + "Str\u00f6er SSP.", + "TeadsTv.", + "Telaria.", + "TVN.", + "United.", + "Yieldlab.", + "Yieldmo.", + "UnrulyX.", + "Open8.", + "Triton.", + "TripleLift.", + "Taboola.", + "InMobi.", + "Smaato.", + "Aja.", + "Supership.", + "Nexstar Digital.", + "Waze.", + "SoundCast.", + "Sharethrough.", + "Fyber.", + "Red For Publishers.", + "Media.net.", + "Tapjoy.", + "Vistar.", + "DAX.", + "JCD.", + "Place Exchange.", + "AppLovin.", + "Connatix.", + "Reset Digital.", + "Hivestack." + ], + "type": "string" + }, + "guaranteedOrderId": { + "description": "Immutable. The ID of the guaranteed order that this inventory source belongs to. Only applicable when commitment is `INVENTORY_SOURCE_COMMITMENT_GUARANTEED`.", + "type": "string" + }, + "inventorySourceId": { + "description": "Output only. The unique ID of the inventory source. Assigned by the system.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "inventorySourceProductType": { + "description": "Output only. The product type of the inventory source, denoting the way through which it sells inventory.", + "enum": [ + "INVENTORY_SOURCE_PRODUCT_TYPE_UNSPECIFIED", + "PREFERRED_DEAL", + "PRIVATE_AUCTION", + "PROGRAMMATIC_GUARANTEED", + "TAG_GUARANTEED", + "YOUTUBE_RESERVE", + "INSTANT_RESERVE", + "GUARANTEED_PACKAGE", + "PROGRAMMATIC_TV", + "AUCTION_PACKAGE" + ], + "enumDescriptions": [ + "The product type is not specified or is unknown in this version. Modifying inventory sources of this product type are not supported via API.", + "The inventory source sells inventory through Preferred Deal.", + "The inventory source sells inventory through Private Auction.", + "The inventory source sells inventory through Programmatic Guaranteed.", + "The inventory source sells inventory through Tag Guaranteed.", + "The inventory source sells inventory through YouTube Reserve.", + "The inventory source sells inventory through Instant Reserve. Modifying inventory sources of this product type are not supported via API.", + "The inventory source sells inventory through Guaranteed Package. Modifying inventory sources of this product type are not supported via API.", + "The inventory source sells inventory through Programmtic TV. Modifying inventory sources of this product type are not supported via API.", + "The inventory source sells inventory through Auction Package. Modifying inventory sources of this product type are not supported via API." + ], + "readOnly": true, + "type": "string" + }, + "inventorySourceType": { + "description": "Denotes the type of the inventory source.", + "enum": [ + "INVENTORY_SOURCE_TYPE_UNSPECIFIED", + "INVENTORY_SOURCE_TYPE_PRIVATE", + "INVENTORY_SOURCE_TYPE_AUCTION_PACKAGE" + ], + "enumDescriptions": [ + "The inventory source type is not specified or is unknown in this version.", + "Private inventory source.", + "Auction package." + ], + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the inventory source.", + "readOnly": true, + "type": "string" + }, + "publisherName": { + "description": "The publisher/seller name of the inventory source.", + "type": "string" + }, + "rateDetails": { + "$ref": "RateDetails", + "description": "Required. The rate details of the inventory source." + }, + "readAdvertiserIds": { + "description": "Output only. The IDs of advertisers with read-only access to the inventory source.", + "items": { + "format": "int64", + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "readPartnerIds": { + "description": "Output only. The IDs of partners with read-only access to the inventory source. All advertisers of partners in this field inherit read-only access to the inventory source.", + "items": { + "format": "int64", + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "readWriteAccessors": { + "$ref": "InventorySourceAccessors", + "description": "The partner or advertisers that have read/write access to the inventory source. Output only when commitment is `INVENTORY_SOURCE_COMMITMENT_GUARANTEED`, in which case the read/write accessors are inherited from the parent guaranteed order. Required when commitment is `INVENTORY_SOURCE_COMMITMENT_NON_GUARANTEED`. If commitment is `INVENTORY_SOURCE_COMMITMENT_NON_GUARANTEED` and a partner is set in this field, all advertisers under this partner will automatically have read-only access to the inventory source. These advertisers will not be included in read_advertiser_ids." + }, + "status": { + "$ref": "InventorySourceStatus", + "description": "The status settings of the inventory source." + }, + "timeRange": { + "$ref": "TimeRange", + "description": "The time range when this inventory source starts and stops serving." + }, + "updateTime": { + "description": "Output only. The timestamp when the inventory source was last updated. Assigned by the system.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "InventorySourceAccessors": { + "description": "The partner or advertisers with access to the inventory source.", + "id": "InventorySourceAccessors", + "properties": { + "advertisers": { + "$ref": "InventorySourceAccessorsAdvertiserAccessors", + "description": "The advertisers with access to the inventory source. All advertisers must belong to the same partner." + }, + "partner": { + "$ref": "InventorySourceAccessorsPartnerAccessor", + "description": "The partner with access to the inventory source." + } + }, + "type": "object" + }, + "InventorySourceAccessorsAdvertiserAccessors": { + "description": "The advertisers with access to the inventory source.", + "id": "InventorySourceAccessorsAdvertiserAccessors", + "properties": { + "advertiserIds": { + "description": "The IDs of the advertisers.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "InventorySourceAccessorsPartnerAccessor": { + "description": "The partner with access to the inventory source.", + "id": "InventorySourceAccessorsPartnerAccessor", + "properties": { + "partnerId": { + "description": "The ID of the partner.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "InventorySourceAssignedTargetingOptionDetails": { + "description": "Targeting details for inventory source. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_INVENTORY_SOURCE`.", + "id": "InventorySourceAssignedTargetingOptionDetails", + "properties": { + "inventorySourceId": { + "description": "Required. ID of the inventory source. Should refer to the inventory_source_id field of an InventorySource resource.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "InventorySourceDisplayCreativeConfig": { + "description": "The configuration for display creatives.", + "id": "InventorySourceDisplayCreativeConfig", + "properties": { + "creativeSize": { + "$ref": "Dimensions", + "description": "The size requirements for display creatives that can be assigned to the inventory source." + } + }, + "type": "object" + }, + "InventorySourceFilter": { + "description": "A filtering option for filtering on Inventory Source entities.", + "id": "InventorySourceFilter", + "properties": { + "inventorySourceIds": { + "description": "Inventory Sources to download by ID. All IDs must belong to the same Advertiser or Partner specified in CreateSdfDownloadTaskRequest. Leave empty to download all Inventory Sources for the selected Advertiser or Partner.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "InventorySourceGroup": { + "description": "A collection of targetable inventory sources.", + "id": "InventorySourceGroup", + "properties": { + "displayName": { + "description": "Required. The display name of the inventory source group. Must be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "inventorySourceGroupId": { + "description": "Output only. The unique ID of the inventory source group. Assigned by the system.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the inventory source group.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "InventorySourceGroupAssignedTargetingOptionDetails": { + "description": "Targeting details for inventory source group. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_INVENTORY_SOURCE_GROUP`.", + "id": "InventorySourceGroupAssignedTargetingOptionDetails", + "properties": { + "inventorySourceGroupId": { + "description": "Required. ID of the inventory source group. Should refer to the inventory_source_group_id field of an InventorySourceGroup resource.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "InventorySourceStatus": { + "description": "The status related settings of the inventory source.", + "id": "InventorySourceStatus", + "properties": { + "configStatus": { + "description": "Output only. The configuration status of the inventory source. Only applicable for guaranteed inventory sources. Acceptable values are `INVENTORY_SOURCE_CONFIG_STATUS_PENDING` and `INVENTORY_SOURCE_CONFIG_STATUS_COMPLETED`. An inventory source must be configured (fill in the required fields, choose creatives, and select a default campaign) before it can serve.", + "enum": [ + "INVENTORY_SOURCE_CONFIG_STATUS_UNSPECIFIED", + "INVENTORY_SOURCE_CONFIG_STATUS_PENDING", + "INVENTORY_SOURCE_CONFIG_STATUS_COMPLETED" + ], + "enumDescriptions": [ + "The approval status is not specified or is unknown in this version.", + "The beginning state of a guaranteed inventory source. The inventory source in this state needs to be configured.", + "The state after the buyer configures a guaranteed inventory source." + ], + "readOnly": true, + "type": "string" + }, + "entityPauseReason": { + "description": "The user-provided reason for pausing this inventory source. Must not exceed 100 characters. Only applicable when entity_status is set to `ENTITY_STATUS_PAUSED`.", + "type": "string" + }, + "entityStatus": { + "description": "Whether or not the inventory source is servable. Acceptable values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_ARCHIVED`, and `ENTITY_STATUS_PAUSED`. Default value is `ENTITY_STATUS_ACTIVE`.", + "enum": [ + "ENTITY_STATUS_UNSPECIFIED", + "ENTITY_STATUS_ACTIVE", + "ENTITY_STATUS_ARCHIVED", + "ENTITY_STATUS_DRAFT", + "ENTITY_STATUS_PAUSED", + "ENTITY_STATUS_SCHEDULED_FOR_DELETION" + ], + "enumDescriptions": [ + "Default value when status is not specified or is unknown in this version.", + "The entity is enabled to bid and spend budget.", + "The entity is archived. Bidding and budget spending are disabled. An entity can be deleted after archived. Deleted entities cannot be retrieved.", + "The entity is under draft. Bidding and budget spending are disabled.", + "Bidding and budget spending are paused for the entity.", + "The entity is scheduled for deletion." + ], + "type": "string" + }, + "sellerPauseReason": { + "description": "Output only. The seller-provided reason for pausing this inventory source. Only applicable for inventory sources synced directly from the publishers and when seller_status is set to `ENTITY_STATUS_PAUSED`.", + "readOnly": true, + "type": "string" + }, + "sellerStatus": { + "description": "Output only. The status set by the seller for the inventory source. Only applicable for inventory sources synced directly from the publishers. Acceptable values are `ENTITY_STATUS_ACTIVE` and `ENTITY_STATUS_PAUSED`.", + "enum": [ + "ENTITY_STATUS_UNSPECIFIED", + "ENTITY_STATUS_ACTIVE", + "ENTITY_STATUS_ARCHIVED", + "ENTITY_STATUS_DRAFT", + "ENTITY_STATUS_PAUSED", + "ENTITY_STATUS_SCHEDULED_FOR_DELETION" + ], + "enumDescriptions": [ + "Default value when status is not specified or is unknown in this version.", + "The entity is enabled to bid and spend budget.", + "The entity is archived. Bidding and budget spending are disabled. An entity can be deleted after archived. Deleted entities cannot be retrieved.", + "The entity is under draft. Bidding and budget spending are disabled.", + "Bidding and budget spending are paused for the entity.", + "The entity is scheduled for deletion." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "InventorySourceVideoCreativeConfig": { + "description": "The configuration for video creatives.", + "id": "InventorySourceVideoCreativeConfig", + "properties": { + "duration": { + "description": "The duration requirements for the video creatives that can be assigned to the inventory source.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "Invoice": { + "description": "A single invoice.", + "id": "Invoice", + "properties": { + "budgetInvoiceGroupingId": { + "description": "The budget grouping ID for this invoice. This field will only be set if the invoice level of the corresponding billing profile was set to \"Budget invoice grouping ID\".", + "type": "string" + }, + "budgetSummaries": { + "description": "The list of summarized information for each budget associated with this invoice. This field will only be set if the invoice detail level of the corresponding billing profile was set to \"Budget level PO\".", + "items": { + "$ref": "BudgetSummary" + }, + "type": "array" + }, + "correctedInvoiceId": { + "description": "The ID of the original invoice being adjusted by this invoice, if applicable. May appear on the invoice PDF as `Reference invoice number`. If replaced_invoice_ids is set, this field will be empty.", + "type": "string" + }, + "currencyCode": { + "description": "The currency used in the invoice in ISO 4217 format.", + "type": "string" + }, + "displayName": { + "description": "The display name of the invoice.", + "type": "string" + }, + "dueDate": { + "$ref": "Date", + "description": "The date when the invoice is due." + }, + "invoiceId": { + "description": "The unique ID of the invoice.", + "type": "string" + }, + "invoiceType": { + "description": "The type of invoice document.", + "enum": [ + "INVOICE_TYPE_UNSPECIFIED", + "INVOICE_TYPE_CREDIT", + "INVOICE_TYPE_INVOICE" + ], + "enumDescriptions": [ + "Not specified or is unknown in this version.", + "The invoice has a negative amount.", + "The invoice has a positive amount." + ], + "type": "string" + }, + "issueDate": { + "$ref": "Date", + "description": "The date when the invoice was issued." + }, + "name": { + "description": "The resource name of the invoice.", + "type": "string" + }, + "nonBudgetMicros": { + "description": "The total amount of costs or adjustments not tied to a particular budget, in micros of the invoice's currency. For example, if currency_code is `USD`, then 1000000 represents one US dollar.", + "format": "int64", + "type": "string" + }, + "paymentsAccountId": { + "description": "The ID of the payments account the invoice belongs to. Appears on the invoice PDF as `Billing Account Number`.", + "type": "string" + }, + "paymentsProfileId": { + "description": "The ID of the payments profile the invoice belongs to. Appears on the invoice PDF as `Billing ID`.", + "type": "string" + }, + "pdfUrl": { + "description": "The URL to download a PDF copy of the invoice. This URL is user specific and requires a valid OAuth 2.0 access token to access. The access token must be provided in an `Authorization: Bearer` HTTP header and be authorized for one of the following scopes: * `https://www.googleapis.com/auth/display-video-mediaplanning` * `https://www.googleapis.com/auth/display-video` The URL will be valid for 7 days after retrieval of this invoice object or until this invoice is retrieved again.", + "type": "string" + }, + "purchaseOrderNumber": { + "description": "Purchase order number associated with the invoice.", + "type": "string" + }, + "replacedInvoiceIds": { + "description": "The ID(s) of any originally issued invoice that is being cancelled by this invoice, if applicable. Multiple invoices may be listed if those invoices are being consolidated into a single invoice. May appear on invoice PDF as `Replaced invoice numbers`. If corrected_invoice_id is set, this field will be empty.", + "items": { + "type": "string" + }, + "type": "array" + }, + "serviceDateRange": { + "$ref": "DateRange", + "description": "The service start and end dates which are covered by this invoice." + }, + "subtotalAmountMicros": { + "description": "The pre-tax subtotal amount, in micros of the invoice's currency. For example, if currency_code is `USD`, then 1000000 represents one US dollar.", + "format": "int64", + "type": "string" + }, + "totalAmountMicros": { + "description": "The invoice total amount, in micros of the invoice's currency. For example, if currency_code is `USD`, then 1000000 represents one US dollar.", + "format": "int64", + "type": "string" + }, + "totalTaxAmountMicros": { + "description": "The sum of all taxes in invoice, in micros of the invoice's currency. For example, if currency_code is `USD`, then 1000000 represents one US dollar.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "KeywordAssignedTargetingOptionDetails": { + "description": "Details for assigned keyword targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_KEYWORD`.", + "id": "KeywordAssignedTargetingOptionDetails", + "properties": { + "keyword": { + "description": "Required. The keyword, for example `car insurance`. Positive keyword cannot be offensive word. Must be UTF-8 encoded with a maximum size of 255 bytes. Maximum number of characters is 80. Maximum number of words is 10.", + "type": "string" + }, + "negative": { + "description": "Indicates if this option is being negatively targeted.", + "type": "boolean" + } + }, + "type": "object" + }, + "Kpi": { + "description": "Settings that control the key performance indicator, or KPI, of an insertion order.", + "id": "Kpi", + "properties": { + "kpiAmountMicros": { + "description": "The goal amount, in micros of the advertiser's currency. Applicable when kpi_type is one of: * `KPI_TYPE_CPM` * `KPI_TYPE_CPC` * `KPI_TYPE_CPA` * `KPI_TYPE_CPIAVC` * `KPI_TYPE_VCPM` For example: 1500000 represents 1.5 standard units of the currency.", + "format": "int64", + "type": "string" + }, + "kpiPercentageMicros": { + "description": "The decimal representation of the goal percentage in micros. Applicable when kpi_type is one of: * `KPI_TYPE_CTR` * `KPI_TYPE_VIEWABILITY` * `KPI_TYPE_CLICK_CVR` * `KPI_TYPE_IMPRESSION_CVR` * `KPI_TYPE_VTR` * `KPI_TYPE_AUDIO_COMPLETION_RATE` * `KPI_TYPE_VIDEO_COMPLETION_RATE` For example: 70000 represents 7% (decimal 0.07).", + "format": "int64", + "type": "string" + }, + "kpiString": { + "description": "A KPI string, which can be empty. Must be UTF-8 encoded with a length of no more than 100 characters. Applicable when kpi_type is `KPI_TYPE_OTHER`.", + "type": "string" + }, + "kpiType": { + "description": "Required. The type of KPI.", + "enum": [ + "KPI_TYPE_UNSPECIFIED", + "KPI_TYPE_CPM", + "KPI_TYPE_CPC", + "KPI_TYPE_CPA", + "KPI_TYPE_CTR", + "KPI_TYPE_VIEWABILITY", + "KPI_TYPE_CPIAVC", + "KPI_TYPE_CPE", + "KPI_TYPE_CLICK_CVR", + "KPI_TYPE_IMPRESSION_CVR", + "KPI_TYPE_VCPM", + "KPI_TYPE_VTR", + "KPI_TYPE_AUDIO_COMPLETION_RATE", + "KPI_TYPE_VIDEO_COMPLETION_RATE", + "KPI_TYPE_OTHER" + ], + "enumDescriptions": [ + "KPI type is not specified or is unknown in this version.", + "The KPI is CPM (cost per mille).", + "The KPI is CPC (cost per click).", + "The KPI is CPA (cost per action).", + "The KPI is CTR (click-through rate) percentage.", + "The KPI is Viewability percentage.", + "The KPI is CPIAVC (cost per impression audible and visible at completion).", + "The KPI is CPE (cost per engagement).", + "The KPI is click conversion rate (conversions per click) percentage.", + "The KPI is impression conversion rate (conversions per impression) percentage.", + "The KPI is VCPM (cost per thousand viewable impressions).", + "The KPI is YouTube view rate (YouTube views per impression) percentage.", + "The KPI is audio completion rate (complete audio listens per impression) percentage.", + "The KPI is video completion rate (complete video views per impression) percentage.", + "The KPI is some other value." + ], + "type": "string" + } + }, + "type": "object" + }, + "LanguageAssignedTargetingOptionDetails": { + "description": "Details for assigned language targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_LANGUAGE`.", + "id": "LanguageAssignedTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the language (e.g., \"French\").", + "readOnly": true, + "type": "string" + }, + "negative": { + "description": "Indicates if this option is being negatively targeted. All assigned language targeting options on the same resource must have the same value for this field.", + "type": "boolean" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_LANGUAGE`.", + "type": "string" + } + }, + "type": "object" + }, + "LanguageTargetingOptionDetails": { + "description": "Represents a targetable language. This will be populated in the language_details field when targeting_type is `TARGETING_TYPE_LANGUAGE`.", + "id": "LanguageTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the language (e.g., \"French\").", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "LineItem": { + "description": "A single line item.", + "id": "LineItem", + "properties": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the line item belongs to.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "bidStrategy": { + "$ref": "BiddingStrategy", + "description": "Required. The bidding strategy of the line item." + }, + "budget": { + "$ref": "LineItemBudget", + "description": "Required. The budget allocation setting of the line item." + }, + "campaignId": { + "description": "Output only. The unique ID of the campaign that the line item belongs to.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "conversionCounting": { + "$ref": "ConversionCountingConfig", + "description": "The conversion tracking setting of the line item." + }, + "creativeIds": { + "description": "The IDs of the creatives associated with the line item.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "displayName": { + "description": "Required. The display name of the line item. Must be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "entityStatus": { + "description": "Required. Controls whether or not the line item can spend its budget and bid on inventory. * For CreateLineItem method, only `ENTITY_STATUS_DRAFT` is allowed. To activate a line item, use UpdateLineItem method and update the status to `ENTITY_STATUS_ACTIVE` after creation. * A line item cannot be changed back to `ENTITY_STATUS_DRAFT` status from any other status. * If the line item's parent insertion order is not active, the line item can't spend its budget even if its own status is `ENTITY_STATUS_ACTIVE`.", + "enum": [ + "ENTITY_STATUS_UNSPECIFIED", + "ENTITY_STATUS_ACTIVE", + "ENTITY_STATUS_ARCHIVED", + "ENTITY_STATUS_DRAFT", + "ENTITY_STATUS_PAUSED", + "ENTITY_STATUS_SCHEDULED_FOR_DELETION" + ], + "enumDescriptions": [ + "Default value when status is not specified or is unknown in this version.", + "The entity is enabled to bid and spend budget.", + "The entity is archived. Bidding and budget spending are disabled. An entity can be deleted after archived. Deleted entities cannot be retrieved.", + "The entity is under draft. Bidding and budget spending are disabled.", + "Bidding and budget spending are paused for the entity.", + "The entity is scheduled for deletion." + ], + "type": "string" + }, + "excludeNewExchanges": { + "description": "Whether to exclude new exchanges from automatically being targeted by the line item. This field is false by default.", + "type": "boolean" + }, + "flight": { + "$ref": "LineItemFlight", + "description": "Required. The start and end time of the line item's flight." + }, + "frequencyCap": { + "$ref": "FrequencyCap", + "description": "Required. The impression frequency cap settings of the line item. The max_impressions field in this settings object must be used if assigning a limited cap." + }, + "insertionOrderId": { + "description": "Required. Immutable. The unique ID of the insertion order that the line item belongs to.", + "format": "int64", + "type": "string" + }, + "integrationDetails": { + "$ref": "IntegrationDetails", + "description": "Integration details of the line item." + }, + "lineItemId": { + "description": "Output only. The unique ID of the line item. Assigned by the system.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "lineItemType": { + "description": "Required. Immutable. The type of the line item.", + "enum": [ + "LINE_ITEM_TYPE_UNSPECIFIED", + "LINE_ITEM_TYPE_DISPLAY_DEFAULT", + "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL", + "LINE_ITEM_TYPE_VIDEO_DEFAULT", + "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL", + "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INVENTORY", + "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INVENTORY", + "LINE_ITEM_TYPE_AUDIO_DEFAULT", + "LINE_ITEM_TYPE_VIDEO_OVER_THE_TOP", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_ACTION", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_NON_SKIPPABLE", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_AUDIO", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_REACH", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_SIMPLE", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_NON_SKIPPABLE_OVER_THE_TOP", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_REACH_OVER_THE_TOP", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_SIMPLE_OVER_THE_TOP", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_TARGET_FREQUENCY", + "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIEW", + "LINE_ITEM_TYPE_DISPLAY_OUT_OF_HOME", + "LINE_ITEM_TYPE_VIDEO_OUT_OF_HOME" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version. Line items of this type and their targeting cannot be created or updated using the API.", + "Image, HTML5, native, or rich media ads.", + "Display ads that drive installs of an app.", + "Video ads sold on a CPM basis for a variety of environments.", + "Video ads that drive installs of an app.", + "Display ads served on mobile app inventory. Line items of this type and their targeting cannot be created or updated using the API.", + "Video ads served on mobile app inventory. Line items of this type and their targeting cannot be created or updated using the API.", + "RTB Audio ads sold for a variety of environments.", + "Over-the-top ads present in OTT insertion orders. This type is only applicable to line items with an insertion order of insertion_order_type `OVER_THE_TOP`.", + "YouTube video ads that promote conversions. Line items of this type and their targeting cannot be created or updated using the API.", + "YouTube video ads (up to 15 seconds) that cannot be skipped. Line items of this type and their targeting cannot be created or updated using the API.", + "YouTube video ads that show a story in a particular sequence using a mix of formats. Line items of this type and their targeting cannot be created or updated using the API.", + "YouTube audio ads. Line items of this type and their targeting cannot be created or updated using the API.", + "YouTube video ads that optimize reaching more unique users at lower cost. May include bumper ads, skippable in-stream ads, or a mix of types. Line items of this type and their targeting cannot be created or updated using the API.", + "Default YouTube video ads. Line items of this type and their targeting cannot be created or updated using the API.", + "Connected TV youTube video ads (up to 15 seconds) that cannot be skipped. Line items of this type and their targeting cannot be created or updated using the API.", + "Connected TV youTube video ads that optimize reaching more unique users at lower cost. May include bumper ads, skippable in-stream ads, or a mix of types. Line items of this type and their targeting cannot be created or updated using the API.", + "Connected TV default YouTube video ads. Only include in-stream ad-format. Line items of this type and their targeting cannot be created or updated using the API.", + "The goal of this line item type is to show the YouTube ads target number of times to the same person in a certain period of time. Line items of this type and their targeting cannot be created or updated using the API.", + "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." + ], + "type": "string" + }, + "mobileApp": { + "$ref": "MobileApp", + "description": "The mobile app promoted by the line item. This is applicable only when line_item_type is either `LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL` or `LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL`." + }, + "name": { + "description": "Output only. The resource name of the line item.", + "readOnly": true, + "type": "string" + }, + "pacing": { + "$ref": "Pacing", + "description": "Required. The budget spending speed setting of the line item." + }, + "partnerCosts": { + "description": "The partner costs associated with the line item. If absent or empty in CreateLineItem method, the newly created line item will inherit partner costs from its parent insertion order.", + "items": { + "$ref": "PartnerCost" + }, + "type": "array" + }, + "partnerRevenueModel": { + "$ref": "PartnerRevenueModel", + "description": "Required. The partner revenue model setting of the line item." + }, + "reservationType": { + "description": "Output only. The reservation type of the line item.", + "enum": [ + "RESERVATION_TYPE_UNSPECIFIED", + "RESERVATION_TYPE_NOT_GUARANTEED", + "RESERVATION_TYPE_PROGRAMMATIC_GUARANTEED", + "RESERVATION_TYPE_TAG_GUARANTEED", + "RESERVATION_TYPE_PETRA_VIRAL", + "RESERVATION_TYPE_INSTANT_RESERVE" + ], + "enumDescriptions": [ + "Reservation type value is not specified or is unknown in this version.", + "Not created through a guaranteed inventory source.", + "Created through a programmatic guaranteed inventory source.", + "Created through a tag guaranteed inventory source.", + "Created through a Petra inventory source. Only applicable to YouTube and Partners line items.", + "Created with an instant quote. Only applicable to YouTube and partners line items." + ], + "readOnly": true, + "type": "string" + }, + "targetingExpansion": { + "$ref": "TargetingExpansionConfig", + "description": "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." + }, + "updateTime": { + "description": "Output only. The timestamp when the line item was last updated. Assigned by the system.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "warningMessages": { + "description": "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.", + "items": { + "enum": [ + "LINE_ITEM_WARNING_MESSAGE_UNSPECIFIED", + "INVALID_FLIGHT_DATES", + "EXPIRED", + "PENDING_FLIGHT", + "ALL_PARTNER_ENABLED_EXCHANGES_NEGATIVELY_TARGETED", + "INVALID_INVENTORY_SOURCE", + "APP_INVENTORY_INVALID_SITE_TARGETING", + "APP_INVENTORY_INVALID_AUDIENCE_LISTS", + "NO_VALID_CREATIVE", + "PARENT_INSERTION_ORDER_PAUSED", + "PARENT_INSERTION_ORDER_EXPIRED" + ], + "enumDescriptions": [ + "Not specified or is unknown.", + "This line item has invalid flight dates. The line item will not run.", + "This line item's end date is in the past.", + "This line item will begin running in the future.", + "All partner enabled exchanges are negatively targeted. The line item will not run.", + "No active inventory sources are being targeted. The line item will not run.", + "This line item's Apps & URLs targeting doesn't include any mobile apps. This line item's type requires you to include mobile apps in your channel, sitelist, or apps targeting. The line item will not run.", + "This line item isn't targeting any mobile users. This line item's type requires you to target a user list with mobile users. The line item will not run.", + "This line item does not contain any valid creative. The line item will not run.", + "The insertion order of this line item is paused. The line item will not run.", + "The insertion order of this line item has its end date set in the past. The line item will not run." + ], + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "youtubeAndPartnersSettings": { + "$ref": "YoutubeAndPartnersSettings", + "description": "Output only. Settings specific to YouTube and Partners line items.", + "readOnly": true + } + }, + "type": "object" + }, + "LineItemAssignedTargetingOption": { + "description": "Wrapper object associating an assigned_targeting_option resource and the line item it is assigned to.", + "id": "LineItemAssignedTargetingOption", + "properties": { + "assignedTargetingOption": { + "$ref": "AssignedTargetingOption", + "description": "The assigned targeting option resource." + }, + "lineItemId": { + "description": "The ID of the line item the assigned targeting option is assigned to.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "LineItemBudget": { + "description": "Settings that control how budget is allocated.", + "id": "LineItemBudget", + "properties": { + "budgetAllocationType": { + "description": "Required. The type of the budget allocation. `LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC` is only applicable when automatic budget allocation is enabled for the parent insertion order.", + "enum": [ + "LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNSPECIFIED", + "LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC", + "LINE_ITEM_BUDGET_ALLOCATION_TYPE_FIXED", + "LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNLIMITED" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Automatic budget allocation is enabled for the line item.", + "A fixed max budget amount is allocated for the line item.", + "No budget limit is applied to the line item." + ], + "type": "string" + }, + "budgetUnit": { + "description": "Output only. The budget unit specifies whether the budget is currency based or impression based. This value is inherited from the parent insertion order.", + "enum": [ + "BUDGET_UNIT_UNSPECIFIED", + "BUDGET_UNIT_CURRENCY", + "BUDGET_UNIT_IMPRESSIONS" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Budgeting in currency amounts.", + "Budgeting in impression amounts." + ], + "readOnly": true, + "type": "string" + }, + "maxAmount": { + "description": "The maximum budget amount the line item will spend. Must be greater than 0. When budget_allocation_type is: * `LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC`, this field is immutable and is set by the system. * `LINE_ITEM_BUDGET_ALLOCATION_TYPE_FIXED`, if budget_unit is: - `BUDGET_UNIT_CURRENCY`, this field represents maximum budget amount to spend, in micros of the advertiser's currency. For example, 1500000 represents 1.5 standard units of the currency. - `BUDGET_UNIT_IMPRESSIONS`, this field represents the maximum number of impressions to serve. * `LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNLIMITED`, this field is not applicable and will be ignored by the system.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "LineItemFlight": { + "description": "Settings that control the active duration of a line item.", + "id": "LineItemFlight", + "properties": { + "dateRange": { + "$ref": "DateRange", + "description": "The flight start and end dates of the line item. They are resolved relative to the parent advertiser's time zone. * Required when flight_date_type is `LINE_ITEM_FLIGHT_DATE_TYPE_CUSTOM`. Output only otherwise. * When creating a new flight, both `start_date` and `end_date` must be in the future. * An existing flight with a `start_date` in the past has a mutable `end_date` but an immutable `start_date`. * `end_date` must be the `start_date` or later, both before the year 2037." + }, + "flightDateType": { + "description": "Required. The type of the line item's flight dates.", + "enum": [ + "LINE_ITEM_FLIGHT_DATE_TYPE_UNSPECIFIED", + "LINE_ITEM_FLIGHT_DATE_TYPE_INHERITED", + "LINE_ITEM_FLIGHT_DATE_TYPE_CUSTOM" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "The line item's flight dates are inherited from its parent insertion order.", + "The line item uses its own custom flight dates." + ], + "type": "string" + } + }, + "type": "object" + }, + "ListAdGroupAdsResponse": { + "id": "ListAdGroupAdsResponse", + "properties": { + "adGroupAds": { + "description": "The list of ad group ads. This list will be absent if empty.", + "items": { + "$ref": "AdGroupAd" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListAdGroupAds` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListAdGroupAssignedTargetingOptionsResponse": { + "description": "Response message for ListAdGroupAssignedTargetingOptions.", + "id": "ListAdGroupAssignedTargetingOptionsResponse", + "properties": { + "assignedTargetingOptions": { + "description": "The list of assigned targeting options. This list will be absent if empty.", + "items": { + "$ref": "AssignedTargetingOption" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent ListAdGroupAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more AssignedTargetingOption resources to return.", + "type": "string" + } + }, + "type": "object" + }, + "ListAdGroupsResponse": { + "id": "ListAdGroupsResponse", + "properties": { + "adGroups": { + "description": "The list of ad groups. This list will be absent if empty.", + "items": { + "$ref": "AdGroup" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListAdGroups` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListAdvertiserAssignedTargetingOptionsResponse": { + "description": "Response message for ListAdvertiserAssignedTargetingOptions.", + "id": "ListAdvertiserAssignedTargetingOptionsResponse", + "properties": { + "assignedTargetingOptions": { + "description": "The list of assigned targeting options. This list will be absent if empty.", + "items": { + "$ref": "AssignedTargetingOption" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent ListAdvertiserAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return.", + "type": "string" + } + }, + "type": "object" + }, + "ListAdvertisersResponse": { + "id": "ListAdvertisersResponse", + "properties": { + "advertisers": { + "description": "The list of advertisers. This list will be absent if empty.", + "items": { + "$ref": "Advertiser" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListAdvertisers` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListAssignedInventorySourcesResponse": { + "description": "Response message for AssignedInventorySourceService.ListAssignedInventorySources.", + "id": "ListAssignedInventorySourcesResponse", + "properties": { + "assignedInventorySources": { + "description": "The list of assigned inventory sources. This list will be absent if empty.", + "items": { + "$ref": "AssignedInventorySource" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListAssignedInventorySources` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListAssignedLocationsResponse": { + "description": "Response message for AssignedLocationService.ListAssignedLocations.", + "id": "ListAssignedLocationsResponse", + "properties": { + "assignedLocations": { + "description": "The list of assigned locations. This list will be absent if empty.", + "items": { + "$ref": "AssignedLocation" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListAssignedLocations` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListCampaignAssignedTargetingOptionsResponse": { + "description": "Response message for ListCampaignAssignedTargetingOptions.", + "id": "ListCampaignAssignedTargetingOptionsResponse", + "properties": { + "assignedTargetingOptions": { + "description": "The list of assigned targeting options. This list will be absent if empty.", + "items": { + "$ref": "AssignedTargetingOption" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent ListCampaignAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return.", + "type": "string" + } + }, + "type": "object" + }, + "ListCampaignsResponse": { + "id": "ListCampaignsResponse", + "properties": { + "campaigns": { + "description": "The list of campaigns. This list will be absent if empty.", + "items": { + "$ref": "Campaign" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListCampaigns` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListChannelsResponse": { + "id": "ListChannelsResponse", + "properties": { + "channels": { + "description": "The list of channels. This list will be absent if empty.", + "items": { + "$ref": "Channel" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListChannels` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListCombinedAudiencesResponse": { + "id": "ListCombinedAudiencesResponse", + "properties": { + "combinedAudiences": { + "description": "The list of combined audiences. This list will be absent if empty.", + "items": { + "$ref": "CombinedAudience" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListCombinedAudiences` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListCreativesResponse": { + "id": "ListCreativesResponse", + "properties": { + "creatives": { + "description": "The list of creatives. This list will be absent if empty.", + "items": { + "$ref": "Creative" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListCreativesRequest` method to retrieve the next page of results. If this field is null, it means this is the last page.", + "type": "string" + } + }, + "type": "object" + }, + "ListCustomBiddingAlgorithmRulesResponse": { + "id": "ListCustomBiddingAlgorithmRulesResponse", + "properties": { + "customBiddingRules": { + "description": "The list of CustomBiddingAlgorithmRules resources. This list will be absent if empty.", + "items": { + "$ref": "CustomBiddingAlgorithmRules" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListCustomBiddingAlgorithmRulesRequest` method to retrieve the next page of results. If this field is null, it means this is the last page.", + "type": "string" + } + }, + "type": "object" + }, + "ListCustomBiddingAlgorithmsResponse": { + "id": "ListCustomBiddingAlgorithmsResponse", + "properties": { + "customBiddingAlgorithms": { + "description": "The list of custom bidding algorithms. This list will be absent if empty.", + "items": { + "$ref": "CustomBiddingAlgorithm" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListCustomBiddingAlgorithmsRequest` method to retrieve the next page of results. If this field is null, it means this is the last page.", + "type": "string" + } + }, + "type": "object" + }, + "ListCustomBiddingScriptsResponse": { + "id": "ListCustomBiddingScriptsResponse", + "properties": { + "customBiddingScripts": { + "description": "The list of custom bidding scripts. This list will be absent if empty.", + "items": { + "$ref": "CustomBiddingScript" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListCustomBiddingScriptsRequest` method to retrieve the next page of results. If this field is null, it means this is the last page.", + "type": "string" + } + }, + "type": "object" + }, + "ListCustomListsResponse": { + "id": "ListCustomListsResponse", + "properties": { + "customLists": { + "description": "The list of custom lists. This list will be absent if empty.", + "items": { + "$ref": "CustomList" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListCustomLists` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListFirstAndThirdPartyAudiencesResponse": { + "id": "ListFirstAndThirdPartyAudiencesResponse", + "properties": { + "firstAndThirdPartyAudiences": { + "description": "The list of first and third party audiences. Audience size properties will not be included. This list will be absent if empty.", + "items": { + "$ref": "FirstAndThirdPartyAudience" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListFirstAndThirdPartyAudiences` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListGoogleAudiencesResponse": { + "id": "ListGoogleAudiencesResponse", + "properties": { + "googleAudiences": { + "description": "The list of Google audiences. This list will be absent if empty.", + "items": { + "$ref": "GoogleAudience" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListGoogleAudiences` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListGuaranteedOrdersResponse": { + "id": "ListGuaranteedOrdersResponse", + "properties": { + "guaranteedOrders": { + "description": "The list of guaranteed orders. This list will be absent if empty.", + "items": { + "$ref": "GuaranteedOrder" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListGuaranteedOrders` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListInsertionOrderAssignedTargetingOptionsResponse": { + "id": "ListInsertionOrderAssignedTargetingOptionsResponse", + "properties": { + "assignedTargetingOptions": { + "description": "The list of assigned targeting options. This list will be absent if empty.", + "items": { + "$ref": "AssignedTargetingOption" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent ListInsertionOrderAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return.", + "type": "string" + } + }, + "type": "object" + }, + "ListInsertionOrdersResponse": { + "id": "ListInsertionOrdersResponse", + "properties": { + "insertionOrders": { + "description": "The list of insertion orders. This list will be absent if empty.", + "items": { + "$ref": "InsertionOrder" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListInsertionOrders` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListInventorySourceGroupsResponse": { + "description": "Response message for InventorySourceGroupService.ListInventorySourceGroups.", + "id": "ListInventorySourceGroupsResponse", + "properties": { + "inventorySourceGroups": { + "description": "The list of inventory source groups. This list will be absent if empty.", + "items": { + "$ref": "InventorySourceGroup" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListInventorySourceGroups` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListInventorySourcesResponse": { + "id": "ListInventorySourcesResponse", + "properties": { + "inventorySources": { + "description": "The list of inventory sources. This list will be absent if empty.", + "items": { + "$ref": "InventorySource" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListInventorySources` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListInvoicesResponse": { + "id": "ListInvoicesResponse", + "properties": { + "invoices": { + "description": "The list of invoices. This list will be absent if empty.", + "items": { + "$ref": "Invoice" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListInvoices` method to retrieve the next page of results. This token will be absent if there are no more invoices to return.", + "type": "string" + } + }, + "type": "object" + }, + "ListLineItemAssignedTargetingOptionsResponse": { + "description": "Response message for ListLineItemAssignedTargetingOptions.", + "id": "ListLineItemAssignedTargetingOptionsResponse", + "properties": { + "assignedTargetingOptions": { + "description": "The list of assigned targeting options. This list will be absent if empty.", + "items": { + "$ref": "AssignedTargetingOption" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent ListLineItemAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return.", + "type": "string" + } + }, + "type": "object" + }, + "ListLineItemsResponse": { + "id": "ListLineItemsResponse", + "properties": { + "lineItems": { + "description": "The list of line items. This list will be absent if empty.", + "items": { + "$ref": "LineItem" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListLineItems` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListLocationListsResponse": { + "id": "ListLocationListsResponse", + "properties": { + "locationLists": { + "description": "The list of location lists. This list will be absent if empty.", + "items": { + "$ref": "LocationList" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListLocationLists` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListNegativeKeywordListsResponse": { + "description": "Response message for NegativeKeywordListService.ListNegativeKeywordLists.", + "id": "ListNegativeKeywordListsResponse", + "properties": { + "negativeKeywordLists": { + "description": "The list of negative keyword lists. This list will be absent if empty.", + "items": { + "$ref": "NegativeKeywordList" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListNegativeKeywordLists` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListNegativeKeywordsResponse": { + "description": "Response message for NegativeKeywordService.ListNegativeKeywords.", + "id": "ListNegativeKeywordsResponse", + "properties": { + "negativeKeywords": { + "description": "The list of negative keywords. This list will be absent if empty.", + "items": { + "$ref": "NegativeKeyword" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListNegativeKeywords` method to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListPartnerAssignedTargetingOptionsResponse": { + "id": "ListPartnerAssignedTargetingOptionsResponse", + "properties": { + "assignedTargetingOptions": { + "description": "The list of assigned targeting options. This list will be absent if empty.", + "items": { + "$ref": "AssignedTargetingOption" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying the next page of results. This value should be specified as the pageToken in a subsequent ListPartnerAssignedTargetingOptionsRequest to fetch the next page of results. This token will be absent if there are no more assigned_targeting_options to return.", + "type": "string" + } + }, + "type": "object" + }, + "ListPartnersResponse": { + "id": "ListPartnersResponse", + "properties": { + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListPartners` method to retrieve the next page of results.", + "type": "string" + }, + "partners": { + "description": "The list of partners. This list will be absent if empty.", + "items": { + "$ref": "Partner" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListSitesResponse": { + "description": "Response message for SiteService.ListSites.", + "id": "ListSitesResponse", + "properties": { + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListSites` method to retrieve the next page of results.", + "type": "string" + }, + "sites": { + "description": "The list of sites. This list will be absent if empty.", + "items": { + "$ref": "Site" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListTargetingOptionsResponse": { + "description": "Response message for ListTargetingOptions.", + "id": "ListTargetingOptionsResponse", + "properties": { + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListTargetingOptions` method to retrieve the next page of results.", + "type": "string" + }, + "targetingOptions": { + "description": "The list of targeting options. This list will be absent if empty.", + "items": { + "$ref": "TargetingOption" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListUsersResponse": { + "id": "ListUsersResponse", + "properties": { + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `ListUsers` method to retrieve the next page of results. This token will be absent if there are no more results to return.", + "type": "string" + }, + "users": { + "description": "The list of users. This list will be absent if empty.", + "items": { + "$ref": "User" + }, + "type": "array" + } + }, + "type": "object" + }, + "LocationList": { + "description": "A list of locations used for targeting.", + "id": "LocationList", + "properties": { + "advertiserId": { + "description": "Required. Immutable. The unique ID of the advertiser the location list belongs to.", + "format": "int64", + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the location list. Must be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "locationListId": { + "description": "Output only. The unique ID of the location list. Assigned by the system.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "locationType": { + "description": "Required. Immutable. The type of location. All locations in the list will share this type.", + "enum": [ + "TARGETING_LOCATION_TYPE_UNSPECIFIED", + "TARGETING_LOCATION_TYPE_PROXIMITY", + "TARGETING_LOCATION_TYPE_REGIONAL" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown.", + "The type for proximity geo location.", + "The type for regional geo location." + ], + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the location list.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "LookbackWindow": { + "description": "Specifies how many days into the past to look when determining whether to record a conversion.", + "id": "LookbackWindow", + "properties": { + "clickDays": { + "description": "Lookback window, in days, from the last time a given user clicked on one of your ads.", + "format": "int32", + "type": "integer" + }, + "impressionDays": { + "description": "Lookback window, in days, from the last time a given user viewed one of your ads.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "LookupInvoiceCurrencyResponse": { + "id": "LookupInvoiceCurrencyResponse", + "properties": { + "currencyCode": { + "description": "Currency used by the advertiser in ISO 4217 format.", + "type": "string" + } + }, + "type": "object" + }, + "MastheadAd": { + "description": "Details for a Masthead Ad.", + "id": "MastheadAd", + "properties": { + "autoplayVideoDuration": { + "description": "The duration of time the video will autoplay.", + "format": "google-duration", + "type": "string" + }, + "autoplayVideoStartMillisecond": { + "description": "The amount of time in milliseconds after which the video will start to play.", + "format": "int64", + "type": "string" + }, + "callToActionButtonLabel": { + "description": "The text on the call-to-action button.", + "type": "string" + }, + "callToActionFinalUrl": { + "description": "The destination URL for the call-to-action button.", + "type": "string" + }, + "callToActionTrackingUrl": { + "description": "The tracking URL for the call-to-action button.", + "type": "string" + }, + "companionYoutubeVideos": { + "description": "The videos that appear next to the Masthead Ad on desktop. Can be no more than two.", + "items": { + "$ref": "YoutubeVideoDetails" + }, + "type": "array" + }, + "description": { + "description": "The description of the ad.", + "type": "string" + }, + "headline": { + "description": "The headline of the ad.", + "type": "string" + }, + "showChannelArt": { + "description": "Whether to show a background or banner that appears at the top of a YouTube page.", + "type": "boolean" + }, + "video": { + "$ref": "YoutubeVideoDetails", + "description": "The YouTube video used by the ad." + }, + "videoAspectRatio": { + "description": "The aspect ratio of the autoplaying YouTube video on the Masthead.", + "enum": [ + "VIDEO_ASPECT_RATIO_UNSPECIFIED", + "VIDEO_ASPECT_RATIO_WIDESCREEN", + "VIDEO_ASPECT_RATIO_FIXED_16_9" + ], + "enumDescriptions": [ + "Not specified or unknown.", + "The video is stretched and the top and bottom are cropped.", + "The video uses a fixed 16:9 aspect ratio." + ], + "type": "string" + } + }, + "type": "object" + }, + "MaximizeSpendBidStrategy": { + "description": "A strategy that automatically adjusts the bid to optimize a specified performance goal while spending the full budget.", + "id": "MaximizeSpendBidStrategy", + "properties": { + "customBiddingAlgorithmId": { + "description": "The ID of the Custom Bidding Algorithm used by this strategy. Only applicable when performance_goal_type is set to `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`.", + "format": "int64", + "type": "string" + }, + "maxAverageCpmBidAmountMicros": { + "description": "The maximum average CPM that may be bid, in micros of the advertiser's currency. Must be greater than or equal to a billable unit of the given currency. For example, 1500000 represents 1.5 standard units of the currency.", + "format": "int64", + "type": "string" + }, + "performanceGoalType": { + "description": "Required. The type of the performance goal that the bidding strategy tries to minimize while spending the full budget. `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` is not supported for this strategy.", + "enum": [ + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_UNSPECIFIED", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Cost per action.", + "Cost per click.", + "Viewable CPM.", + "Custom bidding algorithm.", + "Completed inview and audible views.", + "Inview time over 10 secs views.", + "Viewable impressions." + ], + "type": "string" + }, + "raiseBidForDeals": { + "description": "Whether the strategy takes deal floor prices into account.", + "type": "boolean" + } + }, + "type": "object" + }, + "MeasurementConfig": { + "description": "Measurement settings of a partner.", + "id": "MeasurementConfig", + "properties": { + "dv360ToCmCostReportingEnabled": { + "description": "Whether or not to report DV360 cost to CM360.", + "type": "boolean" + }, + "dv360ToCmDataSharingEnabled": { + "description": "Whether or not to include DV360 data in CM360 data transfer reports.", + "type": "boolean" + } + }, + "type": "object" + }, + "MobileApp": { + "description": "A mobile app promoted by a mobile app install line item.", + "id": "MobileApp", + "properties": { + "appId": { + "description": "Required. The ID of the app provided by the platform store. Android apps are identified by the bundle ID used by Android's Play store, such as `com.google.android.gm`. iOS apps are identified by a nine-digit app ID used by Apple's App store, such as `422689480`.", + "type": "string" + }, + "displayName": { + "description": "Output only. The app name.", + "readOnly": true, + "type": "string" + }, + "platform": { + "description": "Output only. The app platform.", + "enum": [ + "PLATFORM_UNSPECIFIED", + "IOS", + "ANDROID" + ], + "enumDescriptions": [ + "Platform is not specified.", + "iOS platform.", + "Android platform." + ], + "readOnly": true, + "type": "string" + }, + "publisher": { + "description": "Output only. The app publisher.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "MobileDeviceIdList": { + "description": "Wrapper message for a list of mobile device IDs defining Customer Match audience members.", + "id": "MobileDeviceIdList", + "properties": { + "mobileDeviceIds": { + "description": "A list of mobile device IDs defining Customer Match audience members. The size of mobile_device_ids mustn't be greater than 500,000.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Money": { + "description": "Represents an amount of money with its currency type.", + "id": "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" + }, + "NativeContentPositionAssignedTargetingOptionDetails": { + "description": "Details for native content position assigned targeting option. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. Explicitly targeting all options is not supported. Remove all native content position targeting options to achieve this effect.", + "id": "NativeContentPositionAssignedTargetingOptionDetails", + "properties": { + "contentPosition": { + "description": "Required. The content position.", + "enum": [ + "NATIVE_CONTENT_POSITION_UNSPECIFIED", + "NATIVE_CONTENT_POSITION_UNKNOWN", + "NATIVE_CONTENT_POSITION_IN_ARTICLE", + "NATIVE_CONTENT_POSITION_IN_FEED", + "NATIVE_CONTENT_POSITION_PERIPHERAL", + "NATIVE_CONTENT_POSITION_RECOMMENDATION" + ], + "enumDescriptions": [ + "Native content position is not specified in this version. This enum is a place holder for a default value and does not represent a real native content position.", + "The native content position is unknown.", + "Native content position is in-article, i.e., ads appear between the paragraphs of pages.", + "Native content position is in-feed, i.e., ads appear in a scrollable stream of content. A feed is typically editorial (e.g. a list of articles or news) or listings (e.g. a list of products or services).", + "Native content position is peripheral, i.e., ads appear outside of core content on pages, such as the right- or left-hand side of the page.", + "Native content position is recommendation, i.e., ads appear in sections for recommended content." + ], + "type": "string" + } + }, + "type": "object" + }, + "NativeContentPositionTargetingOptionDetails": { + "description": "Represents a targetable native content position. This will be populated in the native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`.", + "id": "NativeContentPositionTargetingOptionDetails", + "properties": { + "contentPosition": { + "description": "Output only. The content position.", + "enum": [ + "NATIVE_CONTENT_POSITION_UNSPECIFIED", + "NATIVE_CONTENT_POSITION_UNKNOWN", + "NATIVE_CONTENT_POSITION_IN_ARTICLE", + "NATIVE_CONTENT_POSITION_IN_FEED", + "NATIVE_CONTENT_POSITION_PERIPHERAL", + "NATIVE_CONTENT_POSITION_RECOMMENDATION" + ], + "enumDescriptions": [ + "Native content position is not specified in this version. This enum is a place holder for a default value and does not represent a real native content position.", + "The native content position is unknown.", + "Native content position is in-article, i.e., ads appear between the paragraphs of pages.", + "Native content position is in-feed, i.e., ads appear in a scrollable stream of content. A feed is typically editorial (e.g. a list of articles or news) or listings (e.g. a list of products or services).", + "Native content position is peripheral, i.e., ads appear outside of core content on pages, such as the right- or left-hand side of the page.", + "Native content position is recommendation, i.e., ads appear in sections for recommended content." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "NegativeKeyword": { + "description": "A negatively targeted keyword that belongs to a negative keyword list.", + "id": "NegativeKeyword", + "properties": { + "keywordValue": { + "description": "Required. Immutable. The negatively targeted keyword, for example `car insurance`. Must be UTF-8 encoded with a maximum size of 255 bytes. Maximum number of characters is 80. Maximum number of words is 10. Valid characters are restricted to ASCII characters only. The only URL-escaping permitted is for representing whitespace between words. Leading or trailing whitespace is ignored.", + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the negative keyword.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "NegativeKeywordList": { + "description": "A list of negative keywords used for targeting.", + "id": "NegativeKeywordList", + "properties": { + "advertiserId": { + "description": "Output only. The unique ID of the advertiser the negative keyword list belongs to.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the negative keyword list. Must be UTF-8 encoded with a maximum size of 255 bytes.", + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the negative keyword list.", + "readOnly": true, + "type": "string" + }, + "negativeKeywordListId": { + "description": "Output only. The unique ID of the negative keyword list. Assigned by the system.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "targetedLineItemCount": { + "description": "Output only. Number of line items that are directly targeting this negative keyword list.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "NegativeKeywordListAssignedTargetingOptionDetails": { + "description": "Targeting details for negative keyword list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`.", + "id": "NegativeKeywordListAssignedTargetingOptionDetails", + "properties": { + "negativeKeywordListId": { + "description": "Required. ID of the negative keyword list. Should refer to the negative_keyword_list_id field of a NegativeKeywordList resource.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "NonSkippableAd": { + "description": "Details for a non-skippable ad.", + "id": "NonSkippableAd", + "properties": { + "commonInStreamAttribute": { + "$ref": "CommonInStreamAttribute", + "description": "Common ad attributes." + }, + "customParameters": { + "additionalProperties": { + "type": "string" + }, + "description": "The custom parameters to pass custom values to tracking URL template.", + "type": "object" + } + }, + "type": "object" + }, + "ObaIcon": { + "description": "OBA Icon for a Creative", + "id": "ObaIcon", + "properties": { + "clickTrackingUrl": { + "description": "Required. The click tracking URL of the OBA icon. Only URLs of the following domains are allowed: * https://info.evidon.com * https://l.betrad.com", + "type": "string" + }, + "dimensions": { + "$ref": "Dimensions", + "description": "The dimensions of the OBA icon." + }, + "landingPageUrl": { + "description": "Required. The landing page URL of the OBA icon. Only URLs of the following domains are allowed: * https://info.evidon.com * https://l.betrad.com", + "type": "string" + }, + "position": { + "description": "The position of the OBA icon on the creative.", + "enum": [ + "OBA_ICON_POSITION_UNSPECIFIED", + "OBA_ICON_POSITION_UPPER_RIGHT", + "OBA_ICON_POSITION_UPPER_LEFT", + "OBA_ICON_POSITION_LOWER_RIGHT", + "OBA_ICON_POSITION_LOWER_LEFT" + ], + "enumDescriptions": [ + "The OBA icon position is not specified.", + "At the upper right side of the creative.", + "At the upper left side of the creative.", + "At the lower right side of the creative.", + "At the lower left side of the creative." + ], + "type": "string" + }, + "program": { + "description": "The program of the OBA icon. For example: \u201cAdChoices\u201d.", + "type": "string" + }, + "resourceMimeType": { + "description": "The MIME type of the OBA icon resource.", + "type": "string" + }, + "resourceUrl": { + "description": "The URL of the OBA icon resource.", + "type": "string" + }, + "viewTrackingUrl": { + "description": "Required. The view tracking URL of the OBA icon. Only URLs of the following domains are allowed: * https://info.evidon.com * https://l.betrad.com", + "type": "string" + } + }, + "type": "object" + }, + "OmidAssignedTargetingOptionDetails": { + "description": "Represents a targetable Open Measurement enabled inventory type. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_OMID`.", + "id": "OmidAssignedTargetingOptionDetails", + "properties": { + "omid": { + "description": "Required. The type of Open Measurement enabled inventory.", + "enum": [ + "OMID_UNSPECIFIED", + "OMID_FOR_MOBILE_DISPLAY_ADS" + ], + "enumDescriptions": [ + "Default value when omid targeting is not specified in this version.", + "Open Measurement enabled mobile display inventory." + ], + "type": "string" + } + }, + "type": "object" + }, + "OmidTargetingOptionDetails": { + "description": "Represents a targetable Open Measurement enabled inventory type. This will be populated in the omid_details field when targeting_type is `TARGETING_TYPE_OMID`.", + "id": "OmidTargetingOptionDetails", + "properties": { + "omid": { + "description": "Output only. The type of Open Measurement enabled inventory.", + "enum": [ + "OMID_UNSPECIFIED", + "OMID_FOR_MOBILE_DISPLAY_ADS" + ], + "enumDescriptions": [ + "Default value when omid targeting is not specified in this version.", + "Open Measurement enabled mobile display inventory." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "OnScreenPositionAssignedTargetingOptionDetails": { + "description": "On screen position targeting option details. This will be populated in the on_screen_position_details field when targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`.", + "id": "OnScreenPositionAssignedTargetingOptionDetails", + "properties": { + "adType": { + "description": "Output only. The ad type to target. Only applicable to insertion order targeting and new line items supporting the specified ad type will inherit this targeting option by default. Possible values are: * `AD_TYPE_DISPLAY`, the setting will be inherited by new line item when line_item_type is `LINE_ITEM_TYPE_DISPLAY_DEFAULT`. * `AD_TYPE_VIDEO`, the setting will be inherited by new line item when line_item_type is `LINE_ITEM_TYPE_VIDEO_DEFAULT`.", + "enum": [ + "AD_TYPE_UNSPECIFIED", + "AD_TYPE_DISPLAY", + "AD_TYPE_VIDEO", + "AD_TYPE_AUDIO" + ], + "enumDescriptions": [ + "Ad type is not specified or is unknown in this version.", + "Display creatives, e.g. image and HTML5.", + "Video creatives, e.g. video ads that play during streaming content in video players.", + "Audio creatives, e.g. audio ads that play during audio content." + ], + "readOnly": true, + "type": "string" + }, + "onScreenPosition": { + "description": "Output only. The on screen position.", + "enum": [ + "ON_SCREEN_POSITION_UNSPECIFIED", + "ON_SCREEN_POSITION_UNKNOWN", + "ON_SCREEN_POSITION_ABOVE_THE_FOLD", + "ON_SCREEN_POSITION_BELOW_THE_FOLD" + ], + "enumDescriptions": [ + "On screen position is not specified in this version. This enum is a place holder for a default value and does not represent a real on screen position.", + "The ad position is unknown on the screen.", + "The ad is located above the fold.", + "The ad is located below the fold." + ], + "readOnly": true, + "type": "string" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`.", + "type": "string" + } + }, + "type": "object" + }, + "OnScreenPositionTargetingOptionDetails": { + "description": "Represents a targetable on screen position, which could be used by display and video ads. This will be populated in the on_screen_position_details field when targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`.", + "id": "OnScreenPositionTargetingOptionDetails", + "properties": { + "onScreenPosition": { + "description": "Output only. The on screen position.", + "enum": [ + "ON_SCREEN_POSITION_UNSPECIFIED", + "ON_SCREEN_POSITION_UNKNOWN", + "ON_SCREEN_POSITION_ABOVE_THE_FOLD", + "ON_SCREEN_POSITION_BELOW_THE_FOLD" + ], + "enumDescriptions": [ + "On screen position is not specified in this version. This enum is a place holder for a default value and does not represent a real on screen position.", + "The ad position is unknown on the screen.", + "The ad is located above the fold.", + "The ad is located below the fold." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "OperatingSystemAssignedTargetingOptionDetails": { + "description": "Assigned operating system targeting option details. This will be populated in the operating_system_details field when targeting_type is `TARGETING_TYPE_OPERATING_SYSTEM`.", + "id": "OperatingSystemAssignedTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the operating system.", + "readOnly": true, + "type": "string" + }, + "negative": { + "description": "Indicates if this option is being negatively targeted.", + "type": "boolean" + }, + "targetingOptionId": { + "description": "Required. The targeting option ID populated in targeting_option_id field when targeting_type is `TARGETING_TYPE_OPERATING_SYSTEM`.", + "type": "string" + } + }, + "type": "object" + }, + "OperatingSystemTargetingOptionDetails": { + "description": "Represents a targetable operating system. This will be populated in the operating_system_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_OPERATING_SYSTEM`.", + "id": "OperatingSystemTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the operating system.", + "readOnly": true, + "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." + }, + "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" + }, + "Pacing": { + "description": "Settings that control the rate at which a budget is spent.", + "id": "Pacing", + "properties": { + "dailyMaxImpressions": { + "description": "Maximum number of impressions to serve every day. Applicable when the budget is impression based. Must be greater than 0.", + "format": "int64", + "type": "string" + }, + "dailyMaxMicros": { + "description": "Maximum currency amount to spend every day in micros of advertiser's currency. Applicable when the budget is currency based. Must be greater than 0. For example, for 1.5 standard unit of the currency, set this field to 1500000. The value assigned will be rounded to whole billable units for the relevant currency by the following rules: any positive value less than a single billable unit will be rounded up to one billable unit and any value larger than a single billable unit will be rounded down to the nearest billable value. For example, if the currency's billable unit is 0.01, and this field is set to 10257770, it will round down to 10250000, a value of 10.25. If set to 505, it will round up to 10000, a value of 0.01.", + "format": "int64", + "type": "string" + }, + "pacingPeriod": { + "description": "Required. The time period in which the pacing budget will be spent. When automatic budget allocation is enabled at the insertion order via automationType, this field is output only and defaults to `PACING_PERIOD_FLIGHT`.", + "enum": [ + "PACING_PERIOD_UNSPECIFIED", + "PACING_PERIOD_DAILY", + "PACING_PERIOD_FLIGHT" + ], + "enumDescriptions": [ + "Period value is not specified or is unknown in this version.", + "The pacing setting will be applied on daily basis.", + "The pacing setting will be applied to the whole flight duration." + ], + "type": "string" + }, + "pacingType": { + "description": "Required. The type of pacing that defines how the budget amount will be spent across the pacing_period.", + "enum": [ + "PACING_TYPE_UNSPECIFIED", + "PACING_TYPE_AHEAD", + "PACING_TYPE_ASAP", + "PACING_TYPE_EVEN" + ], + "enumDescriptions": [ + "Pacing mode value is not specified or is unknown in this version.", + "Only applicable to `PACING_PERIOD_FLIGHT` pacing period. Ahead pacing attempts to spend faster than evenly, to make sure the entire budget is spent by the end of the flight.", + "Spend all of pacing budget amount as quick as possible.", + "Spend a consistent budget amount every period of time." + ], + "type": "string" + } + }, + "type": "object" + }, + "ParentEntityFilter": { + "description": "A filtering option that filters on selected file types belonging to a chosen set of filter entities.", + "id": "ParentEntityFilter", + "properties": { + "fileType": { + "description": "Required. File types that will be returned.", + "items": { + "enum": [ + "FILE_TYPE_UNSPECIFIED", + "FILE_TYPE_CAMPAIGN", + "FILE_TYPE_MEDIA_PRODUCT", + "FILE_TYPE_INSERTION_ORDER", + "FILE_TYPE_LINE_ITEM", + "FILE_TYPE_AD_GROUP", + "FILE_TYPE_AD" + ], + "enumDescriptions": [ + "Default value when type is unspecified or is unknown in this version.", + "Campaign.", + "Media Product.", + "Insertion Order.", + "Line Item.", + "YouTube Ad Group.", + "YouTube Ad." + ], + "type": "string" + }, + "type": "array" + }, + "filterIds": { + "description": "The IDs of the specified filter type. This is used to filter entities to fetch. If filter type is not `FILTER_TYPE_NONE`, at least one ID must be specified.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "filterType": { + "description": "Required. Filter type used to filter fetched entities.", + "enum": [ + "FILTER_TYPE_UNSPECIFIED", + "FILTER_TYPE_NONE", + "FILTER_TYPE_ADVERTISER_ID", + "FILTER_TYPE_CAMPAIGN_ID", + "FILTER_TYPE_MEDIA_PRODUCT_ID", + "FILTER_TYPE_INSERTION_ORDER_ID", + "FILTER_TYPE_LINE_ITEM_ID" + ], + "enumDescriptions": [ + "Default value when type is unspecified or is unknown in this version.", + "If selected, no filter will be applied to the download. Can only be used if an Advertiser is specified in CreateSdfDownloadTaskRequest.", + "Advertiser ID. If selected, all filter IDs must be Advertiser IDs that belong to the Partner specified in CreateSdfDownloadTaskRequest.", + "Campaign ID. If selected, all filter IDs must be Campaign IDs that belong to the Advertiser or Partner specified in CreateSdfDownloadTaskRequest.", + "Media Product ID. If selected, all filter IDs must be Media Product IDs that belong to the Advertiser or Partner specified in CreateSdfDownloadTaskRequest. Can only be used for downloading `FILE_TYPE_MEDIA_PRODUCT`.", + "Insertion Order ID. If selected, all filter IDs must be Insertion Order IDs that belong to the Advertiser or Partner specified in CreateSdfDownloadTaskRequest. Can only be used for downloading `FILE_TYPE_INSERTION_ORDER`, `FILE_TYPE_LINE_ITEM`, `FILE_TYPE_AD_GROUP`, and `FILE_TYPE_AD`.", + "Line Item ID. If selected, all filter IDs must be Line Item IDs that belong to the Advertiser or Partner specified in CreateSdfDownloadTaskRequest. Can only be used for downloading `FILE_TYPE_LINE_ITEM`, `FILE_TYPE_AD_GROUP`, and `FILE_TYPE_AD`." + ], + "type": "string" + } + }, + "type": "object" + }, + "ParentalStatusAssignedTargetingOptionDetails": { + "description": "Details for assigned parental status targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PARENTAL_STATUS`.", + "id": "ParentalStatusAssignedTargetingOptionDetails", + "properties": { + "parentalStatus": { + "description": "Required. The parental status of the audience.", + "enum": [ + "PARENTAL_STATUS_UNSPECIFIED", + "PARENTAL_STATUS_PARENT", + "PARENTAL_STATUS_NOT_A_PARENT", + "PARENTAL_STATUS_UNKNOWN" + ], + "enumDescriptions": [ + "Default value when parental status is not specified in this version. This enum is a place holder for default value and does not represent a real parental status option.", + "The audience is a parent.", + "The audience is not a parent.", + "The parental status of the audience is unknown." + ], + "type": "string" + } + }, + "type": "object" + }, + "ParentalStatusTargetingOptionDetails": { + "description": "Represents a targetable parental status. This will be populated in the parental_status_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_PARENTAL_STATUS`.", + "id": "ParentalStatusTargetingOptionDetails", + "properties": { + "parentalStatus": { + "description": "Output only. The parental status of an audience.", + "enum": [ + "PARENTAL_STATUS_UNSPECIFIED", + "PARENTAL_STATUS_PARENT", + "PARENTAL_STATUS_NOT_A_PARENT", + "PARENTAL_STATUS_UNKNOWN" + ], + "enumDescriptions": [ + "Default value when parental status is not specified in this version. This enum is a place holder for default value and does not represent a real parental status option.", + "The audience is a parent.", + "The audience is not a parent.", + "The parental status of the audience is unknown." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Partner": { + "description": "A single partner in Display & Video 360 (DV360).", + "id": "Partner", + "properties": { + "adServerConfig": { + "$ref": "PartnerAdServerConfig", + "description": "Ad server related settings of the partner." + }, + "billingConfig": { + "$ref": "PartnerBillingConfig", + "description": "Billing related settings of the partner." + }, + "dataAccessConfig": { + "$ref": "PartnerDataAccessConfig", + "description": "Settings that control how partner data may be accessed." + }, + "displayName": { + "description": "The display name of the partner. Must be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "entityStatus": { + "description": "Output only. The status of the partner.", + "enum": [ + "ENTITY_STATUS_UNSPECIFIED", + "ENTITY_STATUS_ACTIVE", + "ENTITY_STATUS_ARCHIVED", + "ENTITY_STATUS_DRAFT", + "ENTITY_STATUS_PAUSED", + "ENTITY_STATUS_SCHEDULED_FOR_DELETION" + ], + "enumDescriptions": [ + "Default value when status is not specified or is unknown in this version.", + "The entity is enabled to bid and spend budget.", + "The entity is archived. Bidding and budget spending are disabled. An entity can be deleted after archived. Deleted entities cannot be retrieved.", + "The entity is under draft. Bidding and budget spending are disabled.", + "Bidding and budget spending are paused for the entity.", + "The entity is scheduled for deletion." + ], + "readOnly": true, + "type": "string" + }, + "exchangeConfig": { + "$ref": "ExchangeConfig", + "description": "Settings that control which exchanges are enabled for the partner." + }, + "generalConfig": { + "$ref": "PartnerGeneralConfig", + "description": "General settings of the partner." + }, + "name": { + "description": "Output only. The resource name of the partner.", + "readOnly": true, + "type": "string" + }, + "partnerId": { + "description": "Output only. The unique ID of the partner. Assigned by the system.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the partner was last updated. Assigned by the system.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "PartnerAdServerConfig": { + "description": "Ad server related settings of a partner.", + "id": "PartnerAdServerConfig", + "properties": { + "measurementConfig": { + "$ref": "MeasurementConfig", + "description": "Measurement settings of a partner." + } + }, + "type": "object" + }, + "PartnerBillingConfig": { + "description": "Billing related settings of a partner.", + "id": "PartnerBillingConfig", + "properties": { + "billingProfileId": { + "description": "The ID of a partner default billing profile.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "PartnerCost": { + "description": "Settings that control a partner cost. A partner cost is any type of expense involved in running a campaign, other than the costs of purchasing impressions (which is called the media cost) and using third-party audience segment data (data fee). Some examples of partner costs include the fees for using DV360, a third-party ad server, or a third-party ad serving verification service.", + "id": "PartnerCost", + "properties": { + "costType": { + "description": "Required. The type of the partner cost.", + "enum": [ + "PARTNER_COST_TYPE_UNSPECIFIED", + "PARTNER_COST_TYPE_ADLOOX", + "PARTNER_COST_TYPE_ADLOOX_PREBID", + "PARTNER_COST_TYPE_ADSAFE", + "PARTNER_COST_TYPE_ADXPOSE", + "PARTNER_COST_TYPE_AGGREGATE_KNOWLEDGE", + "PARTNER_COST_TYPE_AGENCY_TRADING_DESK", + "PARTNER_COST_TYPE_DV360_FEE", + "PARTNER_COST_TYPE_COMSCORE_VCE", + "PARTNER_COST_TYPE_DATA_MANAGEMENT_PLATFORM", + "PARTNER_COST_TYPE_DEFAULT", + "PARTNER_COST_TYPE_DOUBLE_VERIFY", + "PARTNER_COST_TYPE_DOUBLE_VERIFY_PREBID", + "PARTNER_COST_TYPE_EVIDON", + "PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_VIDEO", + "PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_PREBID", + "PARTNER_COST_TYPE_MEDIA_COST_DATA", + "PARTNER_COST_TYPE_MOAT_VIDEO", + "PARTNER_COST_TYPE_NIELSEN_DAR", + "PARTNER_COST_TYPE_SHOP_LOCAL", + "PARTNER_COST_TYPE_TERACENT", + "PARTNER_COST_TYPE_THIRD_PARTY_AD_SERVER", + "PARTNER_COST_TYPE_TRUST_METRICS", + "PARTNER_COST_TYPE_VIZU", + "PARTNER_COST_TYPE_ADLINGO_FEE", + "PARTNER_COST_TYPE_CUSTOM_FEE_1", + "PARTNER_COST_TYPE_CUSTOM_FEE_2", + "PARTNER_COST_TYPE_CUSTOM_FEE_3", + "PARTNER_COST_TYPE_CUSTOM_FEE_4", + "PARTNER_COST_TYPE_CUSTOM_FEE_5", + "PARTNER_COST_TYPE_SCIBIDS_FEE" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "The cost is charged for using Adloox. Billed by the partner.", + "The cost is charged for using Adloox Pre-Bid. Billed through DV360.", + "The cost is charged for using AdSafe. Billed by the partner.", + "The cost is charged for using AdExpose. Billed by the partner.", + "The cost is charged for using Aggregate Knowledge. Billed by the partner.", + "The cost is charged for using an Agency Trading Desk. Billed by the partner.", + "The cost is charged for using DV360. Billed through DV360.", + "The cost is charged for using comScore vCE. Billed through DV360.", + "The cost is charged for using a Data Management Platform. Billed by the partner.", + "The default cost type. Billed by the partner.", + "The cost is charged for using DoubleVerify. Billed by the partner.", + "The cost is charged for using DoubleVerify Pre-Bid. Billed through DV360.", + "The cost is charged for using Evidon. Billed by the partner.", + "The cost is charged for using Integral Ad Science Video. Billed by the partner.", + "The cost is charged for using Integral Ad Science Pre-Bid. Billed through DV360.", + "The cost is charged for using media cost data. Billed by the partner.", + "The cost is charged for using MOAT Video. Billed by the partner.", + "The cost is charged for using Nielsen Digital Ad Ratings. Billed through DV360.", + "The cost is charged for using ShopLocal. Billed by the partner.", + "The cost is charged for using Teracent. Billed by the partner.", + "The cost is charged for using a third-party ad server. Billed by the partner.", + "The cost is charged for using TrustMetrics. Billed by the partner.", + "The cost is charged for using Vizu. Billed by the partner.", + "The cost is charged for using AdLingo. Billed through DV360.", + "The cost is charged as custom fee 1. Billed by the partner.", + "The cost is charged as custom fee 2. Billed by the partner.", + "The cost is charged as custom fee 3. Billed by the partner.", + "The cost is charged as custom fee 4. Billed by the partner.", + "The cost is charged as custom fee 5. Billed by the partner.", + "The cost is charged for using Scibids. Billed through DV360. This type is currently only available to certain customers. Other customers attempting to use this type will receive an error." + ], + "type": "string" + }, + "feeAmount": { + "description": "The CPM fee amount in micros of advertiser's currency. Applicable when the fee_type is `PARTNER_FEE_TYPE_CPM_FEE`. Must be greater than or equal to 0. For example, for 1.5 standard unit of the advertiser's currency, set this field to 1500000.", + "format": "int64", + "type": "string" + }, + "feePercentageMillis": { + "description": "The media fee percentage in millis (1/1000 of a percent). Applicable when the fee_type is `PARTNER_FEE_TYPE_MEDIA_FEE`. Must be greater than or equal to 0. For example: 100 represents 0.1%.", + "format": "int64", + "type": "string" + }, + "feeType": { + "description": "Required. The fee type for this partner cost.", + "enum": [ + "PARTNER_COST_FEE_TYPE_UNSPECIFIED", + "PARTNER_COST_FEE_TYPE_CPM_FEE", + "PARTNER_COST_FEE_TYPE_MEDIA_FEE" + ], + "enumDescriptions": [ + "Value is not specified or is unknown in this version.", + "The partner cost is a fixed CPM fee. Not applicable when the partner cost cost_type is one of: * `PARTNER_COST_TYPE_MEDIA_COST_DATA` * `PARTNER_COST_TYPE_DV360_FEE`.", + "The partner cost is a percentage surcharge based on the media cost. Not applicable when the partner cost_type is one of: * `PARTNER_COST_TYPE_SHOP_LOCAL` * `PARTNER_COST_TYPE_TRUST_METRICS` * `PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_VIDEO` * `PARTNER_COST_TYPE_MOAT_VIDEO`." + ], + "type": "string" + }, + "invoiceType": { + "description": "The invoice type for this partner cost. * Required when cost_type is one of: - `PARTNER_COST_TYPE_ADLOOX` - `PARTNER_COST_TYPE_DOUBLE_VERIFY` - `PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE`. * Output only for other types.", + "enum": [ + "PARTNER_COST_INVOICE_TYPE_UNSPECIFIED", + "PARTNER_COST_INVOICE_TYPE_DV360", + "PARTNER_COST_INVOICE_TYPE_PARTNER" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Partner cost is billed through DV360.", + "Partner cost is billed by the partner." + ], + "type": "string" + } + }, + "type": "object" + }, + "PartnerDataAccessConfig": { + "description": "Settings that control how partner related data may be accessed.", + "id": "PartnerDataAccessConfig", + "properties": { + "sdfConfig": { + "$ref": "SdfConfig", + "description": "Structured Data Files (SDF) settings for the partner. The SDF configuration for the partner." + } + }, + "type": "object" + }, + "PartnerGeneralConfig": { + "description": "General settings of a partner.", + "id": "PartnerGeneralConfig", + "properties": { + "currencyCode": { + "description": "Immutable. Partner's currency in ISO 4217 format.", + "type": "string" + }, + "timeZone": { + "description": "Immutable. The standard TZ database name of the partner's time zone. For example, `America/New_York`. See more at: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones", + "type": "string" + } + }, + "type": "object" + }, + "PartnerRevenueModel": { + "description": "Settings that control how partner revenue is calculated.", + "id": "PartnerRevenueModel", + "properties": { + "markupAmount": { + "description": "Required. The markup amount of the partner revenue model. Must be greater than or equal to 0. * When the markup_type is set to be `PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM`, this field represents the CPM markup in micros of advertiser's currency. For example, 1500000 represents 1.5 standard units of the currency. * When the markup_type is set to be `PARTNER_REVENUE_MODEL_MARKUP_TYPE_MEDIA_COST_MARKUP`, this field represents the media cost percent markup in millis. For example, 100 represents 0.1% (decimal 0.001). * When the markup_type is set to be `PARTNER_REVENUE_MODEL_MARKUP_TYPE_TOTAL_MEDIA_COST_MARKUP`, this field represents the total media cost percent markup in millis. For example, 100 represents 0.1% (decimal 0.001).", + "format": "int64", + "type": "string" + }, + "markupType": { + "description": "Required. The markup type of the partner revenue model.", + "enum": [ + "PARTNER_REVENUE_MODEL_MARKUP_TYPE_UNSPECIFIED", + "PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM", + "PARTNER_REVENUE_MODEL_MARKUP_TYPE_MEDIA_COST_MARKUP", + "PARTNER_REVENUE_MODEL_MARKUP_TYPE_TOTAL_MEDIA_COST_MARKUP" + ], + "enumDeprecated": [ + false, + false, + true, + false + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Calculate the partner revenue based on a fixed CPM.", + "Calculate the partner revenue based on a percentage surcharge of its media cost.", + "Calculate the partner revenue based on a percentage surcharge of its total media cost, which includes all partner costs and data costs." + ], + "type": "string" + } + }, + "type": "object" + }, + "PerformanceGoal": { + "description": "Settings that control the performance goal of a campaign.", + "id": "PerformanceGoal", + "properties": { + "performanceGoalAmountMicros": { + "description": "The goal amount, in micros of the advertiser's currency. Applicable when performance_goal_type is one of: * `PERFORMANCE_GOAL_TYPE_CPM` * `PERFORMANCE_GOAL_TYPE_CPC` * `PERFORMANCE_GOAL_TYPE_CPA` * `PERFORMANCE_GOAL_TYPE_CPIAVC` * `PERFORMANCE_GOAL_TYPE_VCPM` For example 1500000 represents 1.5 standard units of the currency.", + "format": "int64", + "type": "string" + }, + "performanceGoalPercentageMicros": { + "description": "The decimal representation of the goal percentage in micros. Applicable when performance_goal_type is one of: * `PERFORMANCE_GOAL_TYPE_CTR` * `PERFORMANCE_GOAL_TYPE_VIEWABILITY` * `PERFORMANCE_GOAL_TYPE_CLICK_CVR` * `PERFORMANCE_GOAL_TYPE_IMPRESSION_CVR` * `PERFORMANCE_GOAL_TYPE_VTR` * `PERFORMANCE_GOAL_TYPE_AUDIO_COMPLETION_RATE` * `PERFORMANCE_GOAL_TYPE_VIDEO_COMPLETION_RATE` For example, 70000 represents 7% (decimal 0.07).", + "format": "int64", + "type": "string" + }, + "performanceGoalString": { + "description": "A key performance indicator (KPI) string, which can be empty. Must be UTF-8 encoded with a length of no more than 100 characters. Applicable when performance_goal_type is set to `PERFORMANCE_GOAL_TYPE_OTHER`.", + "type": "string" + }, + "performanceGoalType": { + "description": "Required. The type of the performance goal.", + "enum": [ + "PERFORMANCE_GOAL_TYPE_UNSPECIFIED", + "PERFORMANCE_GOAL_TYPE_CPM", + "PERFORMANCE_GOAL_TYPE_CPC", + "PERFORMANCE_GOAL_TYPE_CPA", + "PERFORMANCE_GOAL_TYPE_CTR", + "PERFORMANCE_GOAL_TYPE_VIEWABILITY", + "PERFORMANCE_GOAL_TYPE_CPIAVC", + "PERFORMANCE_GOAL_TYPE_CPE", + "PERFORMANCE_GOAL_TYPE_CLICK_CVR", + "PERFORMANCE_GOAL_TYPE_IMPRESSION_CVR", + "PERFORMANCE_GOAL_TYPE_VCPM", + "PERFORMANCE_GOAL_TYPE_VTR", + "PERFORMANCE_GOAL_TYPE_AUDIO_COMPLETION_RATE", + "PERFORMANCE_GOAL_TYPE_VIDEO_COMPLETION_RATE", + "PERFORMANCE_GOAL_TYPE_OTHER" + ], + "enumDescriptions": [ + "Performance goal type is not specified or is unknown in this version.", + "The performance goal is set in CPM (cost per mille).", + "The performance goal is set in CPC (cost per click).", + "The performance goal is set in CPA (cost per action).", + "The performance goal is set in CTR (click-through rate) percentage.", + "The performance goal is set in Viewability percentage.", + "The performance goal is set as CPIAVC (cost per impression audible and visible at completion).", + "The performance goal is set in CPE (cost per engagement).", + "The performance goal is set in click conversion rate (conversions per click) percentage.", + "The performance goal is set in impression conversion rate (conversions per impression) percentage.", + "The performance goal is set in VCPM (cost per thousand viewable impressions).", + "The performance goal is set in YouTube view rate (YouTube views per impression) percentage.", + "The performance goal is set in audio completion rate (complete audio listens per impression) percentage.", + "The performance goal is set in video completion rate (complete video views per impression) percentage.", + "The performance goal is set to Other." + ], + "type": "string" + } + }, + "type": "object" + }, + "PerformanceGoalBidStrategy": { + "description": "A strategy that automatically adjusts the bid to meet or beat a specified performance goal.", + "id": "PerformanceGoalBidStrategy", + "properties": { + "customBiddingAlgorithmId": { + "description": "The ID of the Custom Bidding Algorithm used by this strategy. Only applicable when performance_goal_type is set to `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`.", + "format": "int64", + "type": "string" + }, + "maxAverageCpmBidAmountMicros": { + "description": "The maximum average CPM that may be bid, in micros of the advertiser's currency. Must be greater than or equal to a billable unit of the given currency. Not applicable when performance_goal_type is set to `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`. For example, 1500000 represents 1.5 standard units of the currency.", + "format": "int64", + "type": "string" + }, + "performanceGoalAmountMicros": { + "description": "Required. The performance goal the bidding strategy will attempt to meet or beat, in micros of the advertiser's currency or in micro of the ROAS (Return On Advertising Spend) value which is also based on advertiser's currency. Must be greater than or equal to a billable unit of the given currency and smaller or equal to upper bounds. Each performance_goal_type has its upper bound: * when performance_goal_type is `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA`, upper bound is 10000.00 USD. * when performance_goal_type is `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC`, upper bound is 1000.00 USD. * when performance_goal_type is `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`, upper bound is 1000.00 USD. * when performance_goal_type is `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`, upper bound is 1000.00 and lower bound is 0.01. Example: If set to `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`, the bid price will be based on the probability that each available impression will be viewable. For example, if viewable CPM target is $2 and an impression is 40% likely to be viewable, the bid price will be $0.80 CPM (40% of $2). For example, 1500000 represents 1.5 standard units of the currency or ROAS value.", + "format": "int64", + "type": "string" + }, + "performanceGoalType": { + "description": "Required. The type of the performance goal that the bidding strategy will try to meet or beat. For line item level usage, the value must be one of: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`.", + "enum": [ + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_UNSPECIFIED", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN", + "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Cost per action.", + "Cost per click.", + "Viewable CPM.", + "Custom bidding algorithm.", + "Completed inview and audible views.", + "Inview time over 10 secs views.", + "Viewable impressions." + ], + "type": "string" + } + }, + "type": "object" + }, + "PoiAssignedTargetingOptionDetails": { + "description": "Details for assigned POI targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`.", + "id": "PoiAssignedTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of a POI, e.g. \"Times Square\", \"Space Needle\", followed by its full address if available.", + "readOnly": true, + "type": "string" + }, + "latitude": { + "description": "Output only. Latitude of the POI rounding to 6th decimal place.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "longitude": { + "description": "Output only. Longitude of the POI rounding to 6th decimal place.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "proximityRadiusAmount": { + "description": "Required. The radius of the area around the POI that will be targeted. The units of the radius are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is `DISTANCE_UNIT_MILES`.", + "format": "double", + "type": "number" + }, + "proximityRadiusUnit": { + "description": "Required. The unit of distance by which the targeting radius is measured.", + "enum": [ + "DISTANCE_UNIT_UNSPECIFIED", + "DISTANCE_UNIT_MILES", + "DISTANCE_UNIT_KILOMETERS" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "Miles.", + "Kilometers." + ], + "type": "string" + }, + "targetingOptionId": { + "description": "Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_POI`. Accepted POI targeting option IDs can be retrieved using SearchTargetingOptions. If targeting a specific latitude/longitude coordinate removed from an address or POI name, you can generate the necessary targeting option ID by rounding the desired coordinate values to the 6th decimal place, removing the decimals, and concatenating the string values separated by a semicolon. For example, you can target the latitude/longitude pair of 40.7414691, -74.003387 using the targeting option ID \"40741469;-74003387\".", + "type": "string" + } + }, + "type": "object" + }, + "PoiSearchTerms": { + "description": "Search terms for POI targeting options.", + "id": "PoiSearchTerms", + "properties": { + "poiQuery": { + "description": "The search query for the desired POI name, street address, or coordinate of the desired POI. The query can be a prefix, e.g. \"Times squar\", \"40.7505045,-73.99562\", \"315 W 44th St\", etc.", + "type": "string" + } + }, + "type": "object" + }, + "PoiTargetingOptionDetails": { + "description": "Represents a targetable point of interest(POI). This will be populated in the poi_details field when targeting_type is `TARGETING_TYPE_POI`.", + "id": "PoiTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of a POI(e.g. \"Times Square\", \"Space Needle\"), followed by its full address if available.", + "readOnly": true, + "type": "string" + }, + "latitude": { + "description": "Output only. Latitude of the POI rounding to 6th decimal place.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "longitude": { + "description": "Output only. Longitude of the POI rounding to 6th decimal place.", + "format": "double", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "PrismaConfig": { + "description": "Settings specific to the Mediaocean Prisma tool.", + "id": "PrismaConfig", + "properties": { + "prismaCpeCode": { + "$ref": "PrismaCpeCode", + "description": "Required. Relevant client, product, and estimate codes from the Mediaocean Prisma tool." + }, + "prismaType": { + "description": "Required. The Prisma type.", + "enum": [ + "PRISMA_TYPE_UNSPECIFIED", + "PRISMA_TYPE_DISPLAY", + "PRISMA_TYPE_SEARCH", + "PRISMA_TYPE_VIDEO", + "PRISMA_TYPE_AUDIO", + "PRISMA_TYPE_SOCIAL", + "PRISMA_TYPE_FEE" + ], + "enumDescriptions": [ + "Type is not specified or unknown in this version.", + "Display type.", + "Search type.", + "Video type.", + "Audio type.", + "Social type.", + "Fee type." + ], + "type": "string" + }, + "supplier": { + "description": "Required. The entity allocated this budget (DSP, site, etc.).", + "type": "string" + } + }, + "type": "object" + }, + "PrismaCpeCode": { + "description": "Google Payments Center supports searching and filtering on the component fields of this code.", + "id": "PrismaCpeCode", + "properties": { + "prismaClientCode": { + "description": "The Prisma client code.", + "type": "string" + }, + "prismaEstimateCode": { + "description": "The Prisma estimate code.", + "type": "string" + }, + "prismaProductCode": { + "description": "The Prisma product code.", + "type": "string" + } + }, + "type": "object" + }, + "ProductFeedData": { + "description": "The details of product feed.", + "id": "ProductFeedData", + "properties": { + "isFeedDisabled": { + "description": "Whether the product feed has opted-out of showing products.", + "type": "boolean" + }, + "productMatchDimensions": { + "description": "A list of dimensions used to match products.", + "items": { + "$ref": "ProductMatchDimension" + }, + "type": "array" + }, + "productMatchType": { + "description": "How products are selected by the product feed.", + "enum": [ + "PRODUCT_MATCH_TYPE_UNSPECIFIED", + "PRODUCT_MATCH_TYPE_ALL_PRODUCTS", + "PRODUCT_MATCH_TYPE_SPECIFIC_PRODUCTS", + "PRODUCT_MATCH_TYPE_CUSTOM_LABEL" + ], + "enumDescriptions": [ + "Not specified or unknown.", + "All the products are matched.", + "Specific products are selected.", + "Match products by their custom labels." + ], + "type": "string" + } + }, + "type": "object" + }, + "ProductMatchDimension": { + "description": "A dimension used to match products.", + "id": "ProductMatchDimension", + "properties": { + "customLabel": { + "$ref": "CustomLabel", + "description": "The custom label to match all the products with the label." + }, + "productOfferId": { + "description": "The ID of the product offer to match with a product with the same offer ID.", + "type": "string" + } + }, + "type": "object" + }, + "ProximityLocationListAssignedTargetingOptionDetails": { + "description": "Targeting details for proximity location list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.", + "id": "ProximityLocationListAssignedTargetingOptionDetails", + "properties": { + "proximityLocationListId": { + "description": "Required. ID of the proximity location list. Should refer to the location_list_id field of a LocationList resource whose type is `TARGETING_LOCATION_TYPE_PROXIMITY`.", + "format": "int64", + "type": "string" + }, + "proximityRadius": { + "description": "Required. Radius expressed in the distance units set in proximity_radius_unit. This represents the size of the area around a chosen location that will be targeted. Radius should be between 1 and 500 miles or 800 kilometers.", + "format": "double", + "type": "number" + }, + "proximityRadiusUnit": { + "description": "Required. Radius distance units.", + "enum": [ + "PROXIMITY_RADIUS_UNIT_UNSPECIFIED", + "PROXIMITY_RADIUS_UNIT_MILES", + "PROXIMITY_RADIUS_UNIT_KILOMETERS" + ], + "enumDescriptions": [ + "Default value when distance units is not specified in this version. This enum is a place holder for default value and does not represent a real distance unit.", + "Radius distance unit in miles.", + "Radius distance unit in kilometeres" + ], + "type": "string" + } + }, + "type": "object" + }, + "PublisherReviewStatus": { + "description": "Publisher review status for the creative.", + "id": "PublisherReviewStatus", + "properties": { + "publisherName": { + "description": "The publisher reviewing the creative.", + "type": "string" + }, + "status": { + "description": "Status of the publisher review.", + "enum": [ + "REVIEW_STATUS_UNSPECIFIED", + "REVIEW_STATUS_APPROVED", + "REVIEW_STATUS_REJECTED", + "REVIEW_STATUS_PENDING" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "The creative is approved.", + "The creative is rejected.", + "The creative is pending review." + ], + "type": "string" + } + }, + "type": "object" + }, + "RateDetails": { + "description": "The rate related settings of the inventory source.", + "id": "RateDetails", + "properties": { + "inventorySourceRateType": { + "description": "The rate type. Acceptable values are `INVENTORY_SOURCE_RATE_TYPE_CPM_FIXED`, `INVENTORY_SOURCE_RATE_TYPE_CPM_FLOOR`, and `INVENTORY_SOURCE_RATE_TYPE_CPD`.", + "enum": [ + "INVENTORY_SOURCE_RATE_TYPE_UNSPECIFIED", + "INVENTORY_SOURCE_RATE_TYPE_CPM_FIXED", + "INVENTORY_SOURCE_RATE_TYPE_CPM_FLOOR", + "INVENTORY_SOURCE_RATE_TYPE_CPD", + "INVENTORY_SOURCE_RATE_TYPE_FLAT" + ], + "enumDescriptions": [ + "The rate type is not specified or is unknown in this version.", + "The rate type is CPM (Fixed).", + "The rate type is CPM (Floor).", + "The rate type is Cost per Day.", + "The rate type is Flat." + ], + "type": "string" + }, + "minimumSpend": { + "$ref": "Money", + "description": "Output only. The amount that the buyer has committed to spending on the inventory source up front. Only applicable for guaranteed inventory sources.", + "readOnly": true + }, + "rate": { + "$ref": "Money", + "description": "The rate for the inventory source." + }, + "unitsPurchased": { + "description": "Required for guaranteed inventory sources. The number of impressions guaranteed by the seller.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "RegionalLocationListAssignedTargetingOptionDetails": { + "description": "Targeting details for regional location list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_REGIONAL_LOCATION_LIST`.", + "id": "RegionalLocationListAssignedTargetingOptionDetails", + "properties": { + "negative": { + "description": "Indicates if this option is being negatively targeted.", + "type": "boolean" + }, + "regionalLocationListId": { + "description": "Required. ID of the regional location list. Should refer to the location_list_id field of a LocationList resource whose type is `TARGETING_LOCATION_TYPE_REGIONAL`.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ReplaceNegativeKeywordsRequest": { + "description": "Request message for NegativeKeywordService.ReplaceNegativeKeywords.", + "id": "ReplaceNegativeKeywordsRequest", + "properties": { + "newNegativeKeywords": { + "description": "The negative keywords that will replace the existing keywords in the negative keyword list, specified as a list of NegativeKeywords.", + "items": { + "$ref": "NegativeKeyword" + }, + "type": "array" + } + }, + "type": "object" + }, + "ReplaceNegativeKeywordsResponse": { + "description": "Response message for NegativeKeywordService.ReplaceNegativeKeywords.", + "id": "ReplaceNegativeKeywordsResponse", + "properties": { + "negativeKeywords": { + "description": "The full list of negative keywords now present in the negative keyword list.", + "items": { + "$ref": "NegativeKeyword" + }, + "type": "array" + } + }, + "type": "object" + }, + "ReplaceSitesRequest": { + "description": "Request message for SiteService.ReplaceSites.", + "id": "ReplaceSitesRequest", + "properties": { + "advertiserId": { + "description": "The ID of the advertiser that owns the parent channel.", + "format": "int64", + "type": "string" + }, + "newSites": { + "description": "The sites that will replace the existing sites assigned to the channel, specified as a list of Sites.", + "items": { + "$ref": "Site" + }, + "type": "array" + }, + "partnerId": { + "description": "The ID of the partner that owns the parent channel.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ReplaceSitesResponse": { + "description": "Response message for SiteService.ReplaceSites.", + "id": "ReplaceSitesResponse", + "properties": { + "sites": { + "description": "The list of sites in the channel after replacing.", + "items": { + "$ref": "Site" + }, + "type": "array" + } + }, + "type": "object" + }, + "ReviewStatusInfo": { + "description": "Review statuses for the creative.", + "id": "ReviewStatusInfo", + "properties": { + "approvalStatus": { + "description": "Represents the basic approval needed for a creative to begin serving. Summary of creative_and_landing_page_review_status and content_and_policy_review_status.", + "enum": [ + "APPROVAL_STATUS_UNSPECIFIED", + "APPROVAL_STATUS_PENDING_NOT_SERVABLE", + "APPROVAL_STATUS_PENDING_SERVABLE", + "APPROVAL_STATUS_APPROVED_SERVABLE", + "APPROVAL_STATUS_REJECTED_NOT_SERVABLE" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "The creative is still under review and not servable.", + "The creative has passed creative & landing page review and is servable, but is awaiting additional content & policy review.", + "Both creative & landing page review and content & policy review are approved. The creative is servable.", + "There is an issue with the creative that must be fixed before it can serve." + ], + "type": "string" + }, + "contentAndPolicyReviewStatus": { + "description": "Content and policy review status for the creative.", + "enum": [ + "REVIEW_STATUS_UNSPECIFIED", + "REVIEW_STATUS_APPROVED", + "REVIEW_STATUS_REJECTED", + "REVIEW_STATUS_PENDING" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "The creative is approved.", + "The creative is rejected.", + "The creative is pending review." + ], + "type": "string" + }, + "creativeAndLandingPageReviewStatus": { + "description": "Creative and landing page review status for the creative.", + "enum": [ + "REVIEW_STATUS_UNSPECIFIED", + "REVIEW_STATUS_APPROVED", + "REVIEW_STATUS_REJECTED", + "REVIEW_STATUS_PENDING" + ], + "enumDescriptions": [ + "Type value is not specified or is unknown in this version.", + "The creative is approved.", + "The creative is rejected.", + "The creative is pending review." + ], + "type": "string" + }, + "exchangeReviewStatuses": { + "description": "Exchange review statuses for the creative.", + "items": { + "$ref": "ExchangeReviewStatus" + }, + "type": "array" + }, + "publisherReviewStatuses": { + "description": "Publisher review statuses for the creative.", + "items": { + "$ref": "PublisherReviewStatus" + }, + "type": "array" + } + }, + "type": "object" + }, + "ScriptError": { + "description": "An error message for a custom bidding script.", + "id": "ScriptError", + "properties": { + "column": { + "description": "The column number in the script where the error was thrown.", + "format": "int64", + "type": "string" + }, + "errorCode": { + "description": "The type of error.", + "enum": [ + "ERROR_CODE_UNSPECIFIED", + "SYNTAX_ERROR", + "DEPRECATED_SYNTAX", + "INTERNAL_ERROR" + ], + "enumDescriptions": [ + "The script error is not specified or is unknown in this version.", + "The script has a syntax error.", + "The script uses deprecated syntax.", + "Internal errors were thrown while processing the script." + ], + "type": "string" + }, + "errorMessage": { + "description": "The detailed error message.", + "type": "string" + }, + "line": { + "description": "The line number in the script where the error was thrown.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "SdfConfig": { + "description": "Structured Data File (SDF) related settings.", + "id": "SdfConfig", + "properties": { + "adminEmail": { + "description": "An administrator email address to which the SDF processing status reports will be sent.", + "type": "string" + }, + "version": { + "description": "Required. The version of SDF being used.", + "enum": [ + "SDF_VERSION_UNSPECIFIED", + "SDF_VERSION_3_1", + "SDF_VERSION_4", + "SDF_VERSION_4_1", + "SDF_VERSION_4_2", + "SDF_VERSION_5", + "SDF_VERSION_5_1", + "SDF_VERSION_5_2", + "SDF_VERSION_5_3", + "SDF_VERSION_5_4", + "SDF_VERSION_5_5", + "SDF_VERSION_6" + ], + "enumDeprecated": [ + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false + ], + "enumDescriptions": [ + "SDF version value is not specified or is unknown in this version.", + "SDF version 3.1", + "SDF version 4", + "SDF version 4.1", + "SDF version 4.2", + "SDF version 5.", + "SDF version 5.1", + "SDF version 5.2", + "SDF version 5.3", + "SDF version 5.4", + "SDF version 5.5", + "SDF version 6" + ], + "type": "string" + } + }, + "type": "object" + }, + "SdfDownloadTask": { + "description": "Type for the response returned by [SdfDownloadTaskService.CreateSdfDownloadTask].", + "id": "SdfDownloadTask", + "properties": { + "resourceName": { + "description": "A resource name to be used in media.download to Download the prepared files. Resource names have the format `download/sdfdownloadtasks/media/{media_id}`. `media_id` will be made available by the long running operation service once the task status is done.", + "type": "string" + } + }, + "type": "object" + }, + "SdfDownloadTaskMetadata": { + "description": "Type for the metadata returned by [SdfDownloadTaskService.CreateSdfDownloadTask].", + "id": "SdfDownloadTaskMetadata", + "properties": { + "createTime": { + "description": "The time when the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "endTime": { + "description": "The time when execution was completed.", + "format": "google-datetime", + "type": "string" + }, + "version": { + "description": "The SDF version used to execute this download task.", + "enum": [ + "SDF_VERSION_UNSPECIFIED", + "SDF_VERSION_3_1", + "SDF_VERSION_4", + "SDF_VERSION_4_1", + "SDF_VERSION_4_2", + "SDF_VERSION_5", + "SDF_VERSION_5_1", + "SDF_VERSION_5_2", + "SDF_VERSION_5_3", + "SDF_VERSION_5_4", + "SDF_VERSION_5_5", + "SDF_VERSION_6" + ], + "enumDeprecated": [ + false, + true, + true, + true, + true, + true, + true, + true, + true, + false, + false, + false + ], + "enumDescriptions": [ + "SDF version value is not specified or is unknown in this version.", + "SDF version 3.1", + "SDF version 4", + "SDF version 4.1", + "SDF version 4.2", + "SDF version 5.", + "SDF version 5.1", + "SDF version 5.2", + "SDF version 5.3", + "SDF version 5.4", + "SDF version 5.5", + "SDF version 6" + ], + "type": "string" + } + }, + "type": "object" + }, + "SearchTargetingOptionsRequest": { + "description": "Request message for SearchTargetingOptions.", + "id": "SearchTargetingOptionsRequest", + "properties": { + "advertiserId": { + "description": "Required. The Advertiser this request is being made in the context of.", + "format": "int64", + "type": "string" + }, + "businessChainSearchTerms": { + "$ref": "BusinessChainSearchTerms", + "description": "Search terms for Business Chain targeting options. Can only be used when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`." + }, + "geoRegionSearchTerms": { + "$ref": "GeoRegionSearchTerms", + "description": "Search terms for geo region targeting options. Can only be used when targeting_type is `TARGETING_TYPE_GEO_REGION`." + }, + "pageSize": { + "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "format": "int32", + "type": "integer" + }, + "pageToken": { + "description": "A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `SearchTargetingOptions` method. If not specified, the first page of results will be returned.", + "type": "string" + }, + "poiSearchTerms": { + "$ref": "PoiSearchTerms", + "description": "Search terms for POI targeting options. Can only be used when targeting_type is `TARGETING_TYPE_POI`." + } + }, + "type": "object" + }, + "SearchTargetingOptionsResponse": { + "description": "Response message for SearchTargetingOptions.", + "id": "SearchTargetingOptionsResponse", + "properties": { + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call to `SearchTargetingOptions` method to retrieve the next page of results.", + "type": "string" + }, + "targetingOptions": { + "description": "The list of targeting options that match the search criteria. This list will be absent if empty.", + "items": { + "$ref": "TargetingOption" + }, + "type": "array" + } + }, + "type": "object" + }, + "SensitiveCategoryAssignedTargetingOptionDetails": { + "description": "Targeting details for sensitive category. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`.", + "id": "SensitiveCategoryAssignedTargetingOptionDetails", + "properties": { + "excludedSensitiveCategory": { + "description": "Required. An enum for the DV360 Sensitive category content classified to be EXCLUDED.", + "enum": [ + "SENSITIVE_CATEGORY_UNSPECIFIED", + "SENSITIVE_CATEGORY_ADULT", + "SENSITIVE_CATEGORY_DEROGATORY", + "SENSITIVE_CATEGORY_DOWNLOADS_SHARING", + "SENSITIVE_CATEGORY_WEAPONS", + "SENSITIVE_CATEGORY_GAMBLING", + "SENSITIVE_CATEGORY_VIOLENCE", + "SENSITIVE_CATEGORY_SUGGESTIVE", + "SENSITIVE_CATEGORY_PROFANITY", + "SENSITIVE_CATEGORY_ALCOHOL", + "SENSITIVE_CATEGORY_DRUGS", + "SENSITIVE_CATEGORY_TOBACCO", + "SENSITIVE_CATEGORY_POLITICS", + "SENSITIVE_CATEGORY_RELIGION", + "SENSITIVE_CATEGORY_TRAGEDY", + "SENSITIVE_CATEGORY_TRANSPORTATION_ACCIDENTS", + "SENSITIVE_CATEGORY_SENSITIVE_SOCIAL_ISSUES", + "SENSITIVE_CATEGORY_SHOCKING", + "SENSITIVE_CATEGORY_EMBEDDED_VIDEO", + "SENSITIVE_CATEGORY_LIVE_STREAMING_VIDEO" + ], + "enumDescriptions": [ + "This enum is only a placeholder and doesn't specify a DV360 sensitive category.", + "Adult or pornographic text, image, or video content.", + "Content that may be construed as biased against individuals, groups, or organizations based on criteria such as race, religion, disability, sex, age, veteran status, sexual orientation, gender identity, or political affiliation. May also indicate discussion of such content, for instance, in an academic or journalistic context.", + "Content related to audio, video, or software downloads.", + "Contains content related to personal weapons, including knives, guns, small firearms, and ammunition. Selecting either \"weapons\" or \"sensitive social issues\" will result in selecting both.", + "Contains content related to betting or wagering in a real-world or online setting.", + "Content which may be considered graphically violent, gory, gruesome, or shocking, such as street fighting videos, accident photos, descriptions of torture, etc.", + "Adult content, as well as suggestive content that's not explicitly pornographic. This category includes all pages categorized as adult.", + "Prominent use of words considered indecent, such as curse words and sexual slang. Pages with only very occasional usage, such as news sites that might include such words in a quotation, are not included.", + "Contains content related to alcoholic beverages, alcohol brands, recipes, etc.", + "Contains content related to the recreational use of legal or illegal drugs, as well as to drug paraphernalia or cultivation.", + "Contains content related to tobacco and tobacco accessories, including lighters, humidors, ashtrays, etc.", + "Political news and media, including discussions of social, governmental, and public policy.", + "Content related to religious thought or beliefs.", + "Content related to death, disasters, accidents, war, etc.", + "Content related to motor vehicle, aviation or other transportation accidents.", + "Issues that evoke strong, opposing views and spark debate. These include issues that are controversial in most countries and markets (such as abortion), as well as those that are controversial in specific countries and markets (such as immigration reform in the United States).", + "Content which may be considered shocking or disturbing, such as violent news stories, stunts, or toilet humor.", + "YouTube videos embedded on websites outside of YouTube.com. Only applicable to YouTube and Partners line items.", + "Video of live events streamed over the internet. Only applicable to YouTube and Partners line items." + ], + "type": "string" + } + }, + "type": "object" + }, + "SensitiveCategoryTargetingOptionDetails": { + "description": "Represents a targetable sensitive category. This will be populated in the sensitive_category_details field of the TargetingOption when targeting_type is `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`.", + "id": "SensitiveCategoryTargetingOptionDetails", + "properties": { + "sensitiveCategory": { + "description": "Output only. An enum for the DV360 Sensitive category content classifier.", + "enum": [ + "SENSITIVE_CATEGORY_UNSPECIFIED", + "SENSITIVE_CATEGORY_ADULT", + "SENSITIVE_CATEGORY_DEROGATORY", + "SENSITIVE_CATEGORY_DOWNLOADS_SHARING", + "SENSITIVE_CATEGORY_WEAPONS", + "SENSITIVE_CATEGORY_GAMBLING", + "SENSITIVE_CATEGORY_VIOLENCE", + "SENSITIVE_CATEGORY_SUGGESTIVE", + "SENSITIVE_CATEGORY_PROFANITY", + "SENSITIVE_CATEGORY_ALCOHOL", + "SENSITIVE_CATEGORY_DRUGS", + "SENSITIVE_CATEGORY_TOBACCO", + "SENSITIVE_CATEGORY_POLITICS", + "SENSITIVE_CATEGORY_RELIGION", + "SENSITIVE_CATEGORY_TRAGEDY", + "SENSITIVE_CATEGORY_TRANSPORTATION_ACCIDENTS", + "SENSITIVE_CATEGORY_SENSITIVE_SOCIAL_ISSUES", + "SENSITIVE_CATEGORY_SHOCKING", + "SENSITIVE_CATEGORY_EMBEDDED_VIDEO", + "SENSITIVE_CATEGORY_LIVE_STREAMING_VIDEO" + ], + "enumDescriptions": [ + "This enum is only a placeholder and doesn't specify a DV360 sensitive category.", + "Adult or pornographic text, image, or video content.", + "Content that may be construed as biased against individuals, groups, or organizations based on criteria such as race, religion, disability, sex, age, veteran status, sexual orientation, gender identity, or political affiliation. May also indicate discussion of such content, for instance, in an academic or journalistic context.", + "Content related to audio, video, or software downloads.", + "Contains content related to personal weapons, including knives, guns, small firearms, and ammunition. Selecting either \"weapons\" or \"sensitive social issues\" will result in selecting both.", + "Contains content related to betting or wagering in a real-world or online setting.", + "Content which may be considered graphically violent, gory, gruesome, or shocking, such as street fighting videos, accident photos, descriptions of torture, etc.", + "Adult content, as well as suggestive content that's not explicitly pornographic. This category includes all pages categorized as adult.", + "Prominent use of words considered indecent, such as curse words and sexual slang. Pages with only very occasional usage, such as news sites that might include such words in a quotation, are not included.", + "Contains content related to alcoholic beverages, alcohol brands, recipes, etc.", + "Contains content related to the recreational use of legal or illegal drugs, as well as to drug paraphernalia or cultivation.", + "Contains content related to tobacco and tobacco accessories, including lighters, humidors, ashtrays, etc.", + "Political news and media, including discussions of social, governmental, and public policy.", + "Content related to religious thought or beliefs.", + "Content related to death, disasters, accidents, war, etc.", + "Content related to motor vehicle, aviation or other transportation accidents.", + "Issues that evoke strong, opposing views and spark debate. These include issues that are controversial in most countries and markets (such as abortion), as well as those that are controversial in specific countries and markets (such as immigration reform in the United States).", + "Content which may be considered shocking or disturbing, such as violent news stories, stunts, or toilet humor.", + "YouTube videos embedded on websites outside of YouTube.com. Only applicable to YouTube and Partners line items.", + "Video of live events streamed over the internet. Only applicable to YouTube and Partners line items." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "SessionPositionAssignedTargetingOptionDetails": { + "description": "Details for session position assigned targeting option. This will be populated in the session_position_details field when targeting_type is `TARGETING_TYPE_SESSION_POSITION`.", + "id": "SessionPositionAssignedTargetingOptionDetails", + "properties": { + "sessionPosition": { + "description": "The position where the ad will show in a session.", + "enum": [ + "SESSION_POSITION_UNSPECIFIED", + "SESSION_POSITION_FIRST_IMPRESSION" + ], + "enumDescriptions": [ + "This is a placeholder, does not indicate any positions.", + "The first impression of the session." + ], + "type": "string" + } + }, + "type": "object" + }, + "Site": { + "description": "A single site. Sites are apps or websites belonging to a channel.", + "id": "Site", + "properties": { + "name": { + "description": "Output only. The resource name of the site.", + "readOnly": true, + "type": "string" + }, + "urlOrAppId": { + "description": "Required. The app ID or URL of the site. Must be UTF-8 encoded with a maximum length of 240 bytes.", + "type": "string" + } + }, + "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.", + "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" + }, + "SubExchangeAssignedTargetingOptionDetails": { + "description": "Details for assigned sub-exchange targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_SUB_EXCHANGE`.", + "id": "SubExchangeAssignedTargetingOptionDetails", + "properties": { + "targetingOptionId": { + "description": "Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_SUB_EXCHANGE`.", + "type": "string" + } + }, + "type": "object" + }, + "SubExchangeTargetingOptionDetails": { + "description": "Represents a targetable sub-exchange. This will be populated in the sub_exchange_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_SUB_EXCHANGE`.", + "id": "SubExchangeTargetingOptionDetails", + "properties": { + "displayName": { + "description": "Output only. The display name of the sub-exchange.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "TargetFrequency": { + "description": "Setting that controls the average number of times the ads will show to the same person over a certain period of time.", + "id": "TargetFrequency", + "properties": { + "targetCount": { + "description": "The target number of times, on average, the ads will be shown to the same person in the timespan dictated by time_unit and time_unit_count.", + "format": "int64", + "type": "string" + }, + "timeUnit": { + "description": "The unit of time in which the target frequency will be applied. The following time unit is applicable: * `TIME_UNIT_WEEKS`", + "enum": [ + "TIME_UNIT_UNSPECIFIED", + "TIME_UNIT_LIFETIME", + "TIME_UNIT_MONTHS", + "TIME_UNIT_WEEKS", + "TIME_UNIT_DAYS", + "TIME_UNIT_HOURS", + "TIME_UNIT_MINUTES" + ], + "enumDescriptions": [ + "Time unit value is not specified or is unknown in this version.", + "The frequency cap will be applied to the whole life time of the line item.", + "The frequency cap will be applied to a number of months.", + "The frequency cap will be applied to a number of weeks.", + "The frequency cap will be applied to a number of days.", + "The frequency cap will be applied to a number of hours.", + "The frequency cap will be applied to a number of minutes." + ], + "type": "string" + }, + "timeUnitCount": { + "description": "The number of time_unit the target frequency will last. The following restrictions apply based on the value of time_unit: * `TIME_UNIT_WEEKS` - must be 1", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "TargetingExpansionConfig": { + "description": "Settings that control the [optimized targeting](//support.google.com/displayvideo/answer/12060859) settings of the line item.", + "id": "TargetingExpansionConfig", + "properties": { + "audienceExpansionLevel": { + "description": "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.", + "enum": [ + "UNKNOWN", + "NO_REACH", + "LEAST_REACH", + "MID_REACH", + "MOST_REACH" + ], + "enumDescriptions": [ + "Audience expansion level is not specified or is unknown in this version.", + "Audience expansion off.", + "Conservative audience expansion.", + "Moderate audience expansion.", + "Aggressive audience expansion." + ], + "readOnly": true, + "type": "string" + }, + "audienceExpansionSeedListExcluded": { + "description": "Output only. Whether to exclude seed list for audience expansion. This field only applies to YouTube and Partners line item and ad group resources.", + "readOnly": true, + "type": "boolean" + }, + "enableOptimizedTargeting": { + "description": "Required. Whether to enable Optimized Targeting for the line item.", + "type": "boolean" + } + }, + "type": "object" + }, + "TargetingOption": { + "description": "Represents a single targeting option, which is a targetable concept in DV360.", + "id": "TargetingOption", + "properties": { + "ageRangeDetails": { + "$ref": "AgeRangeTargetingOptionDetails", + "description": "Age range details." + }, + "appCategoryDetails": { + "$ref": "AppCategoryTargetingOptionDetails", + "description": "App category details." + }, + "audioContentTypeDetails": { + "$ref": "AudioContentTypeTargetingOptionDetails", + "description": "Audio content type details." + }, + "authorizedSellerStatusDetails": { + "$ref": "AuthorizedSellerStatusTargetingOptionDetails", + "description": "Authorized seller status resource details." + }, + "browserDetails": { + "$ref": "BrowserTargetingOptionDetails", + "description": "Browser details." + }, + "businessChainDetails": { + "$ref": "BusinessChainTargetingOptionDetails", + "description": "Business chain resource details." + }, + "carrierAndIspDetails": { + "$ref": "CarrierAndIspTargetingOptionDetails", + "description": "Carrier and ISP details." + }, + "categoryDetails": { + "$ref": "CategoryTargetingOptionDetails", + "description": "Category resource details." + }, + "contentDurationDetails": { + "$ref": "ContentDurationTargetingOptionDetails", + "description": "Content duration resource details." + }, + "contentGenreDetails": { + "$ref": "ContentGenreTargetingOptionDetails", + "description": "Content genre resource details." + }, + "contentInstreamPositionDetails": { + "$ref": "ContentInstreamPositionTargetingOptionDetails", + "description": "Content instream position details." + }, + "contentOutstreamPositionDetails": { + "$ref": "ContentOutstreamPositionTargetingOptionDetails", + "description": "Content outstream position details." + }, + "contentStreamTypeDetails": { + "$ref": "ContentStreamTypeTargetingOptionDetails", + "description": "Content stream type resource details." + }, + "deviceMakeModelDetails": { + "$ref": "DeviceMakeModelTargetingOptionDetails", + "description": "Device make and model resource details." + }, + "deviceTypeDetails": { + "$ref": "DeviceTypeTargetingOptionDetails", + "description": "Device type details." + }, + "digitalContentLabelDetails": { + "$ref": "DigitalContentLabelTargetingOptionDetails", + "description": "Digital content label details." + }, + "environmentDetails": { + "$ref": "EnvironmentTargetingOptionDetails", + "description": "Environment details." + }, + "exchangeDetails": { + "$ref": "ExchangeTargetingOptionDetails", + "description": "Exchange details." + }, + "genderDetails": { + "$ref": "GenderTargetingOptionDetails", + "description": "Gender details." + }, + "geoRegionDetails": { + "$ref": "GeoRegionTargetingOptionDetails", + "description": "Geographic region resource details." + }, + "householdIncomeDetails": { + "$ref": "HouseholdIncomeTargetingOptionDetails", + "description": "Household income details." + }, + "languageDetails": { + "$ref": "LanguageTargetingOptionDetails", + "description": "Language resource details." + }, + "name": { + "description": "Output only. The resource name for this targeting option.", + "readOnly": true, + "type": "string" + }, + "nativeContentPositionDetails": { + "$ref": "NativeContentPositionTargetingOptionDetails", + "description": "Native content position details." + }, + "omidDetails": { + "$ref": "OmidTargetingOptionDetails", + "description": "Open Measurement enabled inventory details." + }, + "onScreenPositionDetails": { + "$ref": "OnScreenPositionTargetingOptionDetails", + "description": "On screen position details." + }, + "operatingSystemDetails": { + "$ref": "OperatingSystemTargetingOptionDetails", + "description": "Operating system resources details." + }, + "parentalStatusDetails": { + "$ref": "ParentalStatusTargetingOptionDetails", + "description": "Parental status details." + }, + "poiDetails": { + "$ref": "PoiTargetingOptionDetails", + "description": "POI resource details." + }, + "sensitiveCategoryDetails": { + "$ref": "SensitiveCategoryTargetingOptionDetails", + "description": "Sensitive Category details." + }, + "subExchangeDetails": { + "$ref": "SubExchangeTargetingOptionDetails", + "description": "Sub-exchange details." + }, + "targetingOptionId": { + "description": "Output only. A unique identifier for this targeting option. The tuple {`targeting_type`, `targeting_option_id`} will be unique.", + "readOnly": true, + "type": "string" + }, + "targetingType": { + "description": "Output only. The type of this targeting option.", + "enum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "enumDescriptions": [ + "Default value when type is not specified or is unknown in this version.", + "Target a channel (a custom group of related websites or apps).", + "Target an app category (for example, education or puzzle games).", + "Target a specific app (for example, Angry Birds).", + "Target a specific url (for example, quora.com).", + "Target ads during a chosen time period on a specific day.", + "Target ads to a specific age range (for example, 18-24).", + "Target ads to the specified regions on a regional location list.", + "Target ads to the specified points of interest on a proximity location list.", + "Target ads to a specific gender (for example, female or male).", + "Target a specific video player size for video ads.", + "Target user rewarded content for video ads.", + "Target ads to a specific parental status (for example, parent or not a parent).", + "Target video or audio ads in a specific content instream position (for example, pre-roll, mid-roll, or post-roll).", + "Target ads in a specific content outstream position.", + "Target ads to a specific device type (for example, tablet or connected TV).", + "Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a single Lineitem at a time.", + "Target ads to specific web browsers (for example, Chrome).", + "Target ads to a specific household income range (for example, top 10%).", + "Target ads in a specific on screen position.", + "Filter web sites through third party verification (for example, IAS or DoubleVerify).", + "Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only for mature audiences).", + "Filter website content by sensitive categories (for example, adult).", + "Target ads to a specific environment (for example, web or app).", + "Target ads to a specific network carrier or internet service provider (ISP) (for example, Comcast or Orange).", + "Target ads to a specific operating system (for example, macOS).", + "Target ads to a specific device make or model (for example, Roku or Samsung).", + "Target ads to a specific keyword (for example, dog or retriever).", + "Target ads to a specific negative keyword list.", + "Target ads to a specific viewability (for example, 80% viewable).", + "Target ads to a specific content category (for example, arts & entertainment).", + "Purchase impressions from specific deals and auction packages.", + "Target ads to a specific language (for example, English or Japanese).", + "Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the resource uses the \"Authorized Direct Sellers and Resellers\" option by default.", + "Target ads to a specific regional location (for example, a city or state).", + "Purchase impressions from a group of deals and auction packages.", + "Purchase impressions from specific exchanges.", + "Purchase impressions from specific sub-exchanges.", + "Target ads around a specific point of interest, such as a notable building, a street address, or latitude/longitude coordinates.", + "Target ads around locations of a business chain within a specific geo region.", + "Target ads to a specific video content duration.", + "Target ads to a specific video content stream type.", + "Target ads to a specific native content position.", + "Target ads in an Open Measurement enabled inventory.", + "Target ads to a specific audio content type.", + "Target ads to a specific content genre.", + "Target ads to a specific YouTube video. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated using the API. Although this targeting is inherited by child resources, **inherited targeting of this type will not be retrieveable**.", + "Target ads to a serve it in a certain position of a session. Only supported for Ad Group resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be created or updated using the API." + ], + "readOnly": true, + "type": "string" + }, + "userRewardedContentDetails": { + "$ref": "UserRewardedContentTargetingOptionDetails", + "description": "User rewarded content details." + }, + "videoPlayerSizeDetails": { + "$ref": "VideoPlayerSizeTargetingOptionDetails", + "description": "Video player size details." + }, + "viewabilityDetails": { + "$ref": "ViewabilityTargetingOptionDetails", + "description": "Viewability resource details." + } + }, + "type": "object" + }, + "ThirdPartyMeasurementConfigs": { + "description": "Settings that control what third-party vendors are measuring specific line item metrics.", + "id": "ThirdPartyMeasurementConfigs", + "properties": { + "brandLiftVendorConfigs": { + "description": "Optional. The third-party vendors measuring brand lift. The following third-party vendors are applicable: * `THIRD_PARTY_VENDOR_DYNATA` * `THIRD_PARTY_VENDOR_KANTAR`", + "items": { + "$ref": "ThirdPartyVendorConfig" + }, + "type": "array" + }, + "brandSafetyVendorConfigs": { + "description": "Optional. The third-party vendors measuring brand safety. The following third-party vendors are applicable: * `THIRD_PARTY_VENDOR_ZERF` * `THIRD_PARTY_VENDOR_DOUBLE_VERIFY` * `THIRD_PARTY_VENDOR_INTEGRAL_AD_SCIENCE`", + "items": { + "$ref": "ThirdPartyVendorConfig" + }, + "type": "array" + }, + "reachVendorConfigs": { + "description": "Optional. The third-party vendors measuring reach. The following third-party vendors are applicable: * `THIRD_PARTY_VENDOR_NIELSEN` * `THIRD_PARTY_VENDOR_COMSCORE` * `THIRD_PARTY_VENDOR_KANTAR`", + "items": { + "$ref": "ThirdPartyVendorConfig" + }, + "type": "array" + }, + "viewabilityVendorConfigs": { + "description": "Optional. The third-party vendors measuring viewability. The following third-party vendors are applicable: * `THIRD_PARTY_VENDOR_MOAT` * `THIRD_PARTY_VENDOR_DOUBLE_VERIFY` * `THIRD_PARTY_VENDOR_INTEGRAL_AD_SCIENCE` * `THIRD_PARTY_VENDOR_COMSCORE` * `THIRD_PARTY_VENDOR_TELEMETRY` * `THIRD_PARTY_VENDOR_MEETRICS`", + "items": { + "$ref": "ThirdPartyVendorConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "ThirdPartyOnlyConfig": { + "description": "Settings for advertisers that use third-party ad servers only.", + "id": "ThirdPartyOnlyConfig", + "properties": { + "pixelOrderIdReportingEnabled": { + "description": "Whether or not order ID reporting for pixels is enabled. This value cannot be changed once set to `true`.", + "type": "boolean" + } + }, + "type": "object" + }, + "ThirdPartyUrl": { + "description": "Tracking URLs from third parties to track interactions with an audio or a video creative.", + "id": "ThirdPartyUrl", + "properties": { + "type": { + "description": "The type of interaction needs to be tracked by the tracking URL", + "enum": [ + "THIRD_PARTY_URL_TYPE_UNSPECIFIED", + "THIRD_PARTY_URL_TYPE_IMPRESSION", + "THIRD_PARTY_URL_TYPE_CLICK_TRACKING", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_START", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_FIRST_QUARTILE", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_MIDPOINT", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_THIRD_QUARTILE", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_COMPLETE", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_MUTE", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_PAUSE", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_REWIND", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_FULLSCREEN", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_STOP", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_CUSTOM", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_SKIP", + "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_PROGRESS" + ], + "enumDescriptions": [ + "The type of third-party URL is unspecified or is unknown in this version.", + "Used to count impressions of the creative after the audio or video buffering is complete.", + "Used to track user clicks on the audio or video.", + "Used to track the number of times a user starts the audio or video.", + "Used to track the number of times the audio or video plays to 25% of its length.", + "Used to track the number of times the audio or video plays to 50% of its length.", + "Used to track the number of times the audio or video plays to 75% of its length.", + "Used to track the number of times the audio or video plays to the end.", + "Used to track the number of times a user mutes the audio or video.", + "Used to track the number of times a user pauses the audio or video.", + "Used to track the number of times a user replays the audio or video.", + "Used to track the number of times a user expands the player to full-screen size.", + "Used to track the number of times a user stops the audio or video.", + "Used to track the number of times a user performs a custom click, such as clicking on a video hot spot.", + "Used to track the number of times the audio or video was skipped.", + "Used to track the number of times the audio or video plays to an offset determined by the progress_offset." + ], + "type": "string" + }, + "url": { + "description": "Tracking URL used to track the interaction. Provide a URL with optional path or query string, beginning with `https:`. For example, https://www.example.com/path", + "type": "string" + } + }, + "type": "object" + }, + "ThirdPartyVendorConfig": { + "description": "Settings that control how third-party measurement vendors are configured.", + "id": "ThirdPartyVendorConfig", + "properties": { + "placementId": { + "description": "The ID used by the platform of the third-party vendor to identify the line item.", + "type": "string" + }, + "vendor": { + "description": "The third-party measurement vendor.", + "enum": [ + "THIRD_PARTY_VENDOR_UNSPECIFIED", + "THIRD_PARTY_VENDOR_MOAT", + "THIRD_PARTY_VENDOR_DOUBLE_VERIFY", + "THIRD_PARTY_VENDOR_INTEGRAL_AD_SCIENCE", + "THIRD_PARTY_VENDOR_COMSCORE", + "THIRD_PARTY_VENDOR_TELEMETRY", + "THIRD_PARTY_VENDOR_MEETRICS", + "THIRD_PARTY_VENDOR_ZEFR", + "THIRD_PARTY_VENDOR_NIELSEN", + "THIRD_PARTY_VENDOR_KANTAR", + "THIRD_PARTY_VENDOR_DYNATA" + ], + "enumDescriptions": [ + "Unknown third-party vendor.", + "Moat.", + "DoubleVerify.", + "Integral Ad Science.", + "Comscore.", + "Telemetry.", + "Meetrics.", + "ZEFR.", + "Nielsen.", + "Kantar.", + "Dynata." + ], + "type": "string" + } + }, + "type": "object" + }, + "ThirdPartyVerifierAssignedTargetingOptionDetails": { + "description": "Assigned third party verifier targeting option details. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_THIRD_PARTY_VERIFIER`.", + "id": "ThirdPartyVerifierAssignedTargetingOptionDetails", + "properties": { + "adloox": { + "$ref": "Adloox", + "description": "Third party brand verifier -- Adloox." + }, + "doubleVerify": { + "$ref": "DoubleVerify", + "description": "Third party brand verifier -- DoubleVerify." + }, + "integralAdScience": { + "$ref": "IntegralAdScience", + "description": "Third party brand verifier -- Integral Ad Science." + } + }, + "type": "object" + }, + "TimeRange": { + "description": "A time range.", + "id": "TimeRange", + "properties": { + "endTime": { + "description": "Required. The upper bound of a time range, inclusive.", + "format": "google-datetime", + "type": "string" + }, + "startTime": { + "description": "Required. The lower bound of a time range, inclusive.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "TimerEvent": { + "description": "Timer event of the creative.", + "id": "TimerEvent", + "properties": { + "name": { + "description": "Required. The name of the timer event.", + "type": "string" + }, + "reportingName": { + "description": "Required. The name used to identify this timer event in reports.", + "type": "string" + } + }, + "type": "object" + }, + "TrackingFloodlightActivityConfig": { + "description": "Settings that control the behavior of a single Floodlight activity config.", + "id": "TrackingFloodlightActivityConfig", + "properties": { + "floodlightActivityId": { + "description": "Required. The ID of the Floodlight activity.", + "format": "int64", + "type": "string" + }, + "postClickLookbackWindowDays": { + "description": "Required. The number of days after an ad has been clicked in which a conversion may be counted. Must be between 0 and 90 inclusive.", + "format": "int32", + "type": "integer" + }, + "postViewLookbackWindowDays": { + "description": "Required. The number of days after an ad has been viewed in which a conversion may be counted. Must be between 0 and 90 inclusive.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Transcode": { + "description": "Represents information about the transcoded audio or video file.", + "id": "Transcode", + "properties": { + "audioBitRateKbps": { + "description": "The bit rate for the audio stream of the transcoded video, or the bit rate for the transcoded audio, in kilobits per second.", + "format": "int64", + "type": "string" + }, + "audioSampleRateHz": { + "description": "The sample rate for the audio stream of the transcoded video, or the sample rate for the transcoded audio, in hertz.", + "format": "int64", + "type": "string" + }, + "bitRateKbps": { + "description": "The transcoding bit rate of the transcoded video, in kilobits per second.", + "format": "int64", + "type": "string" + }, + "dimensions": { + "$ref": "Dimensions", + "description": "The dimensions of the transcoded video." + }, + "fileSizeBytes": { + "description": "The size of the transcoded file, in bytes.", + "format": "int64", + "type": "string" + }, + "frameRate": { + "description": "The frame rate of the transcoded video, in frames per second.", + "format": "float", + "type": "number" + }, + "mimeType": { + "description": "The MIME type of the transcoded file.", + "type": "string" + }, + "name": { + "description": "The name of the transcoded file.", + "type": "string" + }, + "transcoded": { + "description": "Indicates if the transcoding was successful.", + "type": "boolean" + } + }, + "type": "object" + }, + "UniversalAdId": { + "description": "A creative identifier provided by a registry that is unique across all platforms. This is part of the VAST 4.0 standard.", + "id": "UniversalAdId", + "properties": { + "id": { + "description": "The unique creative identifier.", + "type": "string" + }, + "registry": { + "description": "The registry provides unique creative identifiers.", + "enum": [ + "UNIVERSAL_AD_REGISTRY_UNSPECIFIED", + "UNIVERSAL_AD_REGISTRY_OTHER", + "UNIVERSAL_AD_REGISTRY_AD_ID", + "UNIVERSAL_AD_REGISTRY_CLEARCAST", + "UNIVERSAL_AD_REGISTRY_DV360", + "UNIVERSAL_AD_REGISTRY_CM" + ], + "enumDescriptions": [ + "The Universal Ad registry is unspecified or is unknown in this version.", + "Use a custom provider to provide the Universal Ad ID.", + "Use Ad-ID to provide the Universal Ad ID.", + "Use clearcast.co.uk to provide the Universal Ad ID.", + "Use Display & Video 360 to provide the Universal Ad ID.", + "Use Campaign Manager 360 to provide the Universal Ad ID." + ], + "type": "string" + } + }, + "type": "object" + }, + "UrlAssignedTargetingOptionDetails": { + "description": "Details for assigned URL targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_URL`.", + "id": "UrlAssignedTargetingOptionDetails", + "properties": { + "negative": { + "description": "Indicates if this option is being negatively targeted.", + "type": "boolean" + }, + "url": { + "description": "Required. The URL, for example `example.com`. DV360 supports two levels of subdirectory targeting, for example `www.example.com/one-subdirectory-level/second-level`, and five levels of subdomain targeting, for example `five.four.three.two.one.example.com`.", + "type": "string" + } + }, + "type": "object" + }, + "User": { + "description": "A single user in Display & Video 360.", + "id": "User", + "properties": { + "assignedUserRoles": { + "description": "The assigned user roles. Required in CreateUser. Output only in UpdateUser. Can only be updated through BulkEditAssignedUserRoles.", + "items": { + "$ref": "AssignedUserRole" + }, + "type": "array" + }, + "displayName": { + "description": "Required. The display name of the user. Must be UTF-8 encoded with a maximum size of 240 bytes.", + "type": "string" + }, + "email": { + "description": "Required. Immutable. The email address used to identify the user.", + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the user.", + "readOnly": true, + "type": "string" + }, + "userId": { + "description": "Output only. The unique ID of the user. Assigned by the system.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "UserRewardedContentAssignedTargetingOptionDetails": { + "description": "User rewarded content targeting option details. This will be populated in the user_rewarded_content_details field when targeting_type is `TARGETING_TYPE_USER_REWARDED_CONTENT`.", + "id": "UserRewardedContentAssignedTargetingOptionDetails", + "properties": { + "targetingOptionId": { + "description": "Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_USER_REWARDED_CONTENT`.", + "type": "string" + }, + "userRewardedContent": { + "description": "Output only. User rewarded content status for video ads.", + "enum": [ + "USER_REWARDED_CONTENT_UNSPECIFIED", + "USER_REWARDED_CONTENT_USER_REWARDED", + "USER_REWARDED_CONTENT_NOT_USER_REWARDED" + ], + "enumDescriptions": [ + "User rewarded content is not specified or is unknown in this version.", + "Represents ads where the user will see a reward after viewing.", + "Represents all other ads besides user-rewarded." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "UserRewardedContentTargetingOptionDetails": { + "description": "Represents a targetable user rewarded content status for video ads only. This will be populated in the user_rewarded_content_details field when targeting_type is `TARGETING_TYPE_USER_REWARDED_CONTENT`.", + "id": "UserRewardedContentTargetingOptionDetails", + "properties": { + "userRewardedContent": { + "description": "Output only. User rewarded content status for video ads.", + "enum": [ + "USER_REWARDED_CONTENT_UNSPECIFIED", + "USER_REWARDED_CONTENT_USER_REWARDED", + "USER_REWARDED_CONTENT_NOT_USER_REWARDED" + ], + "enumDescriptions": [ + "User rewarded content is not specified or is unknown in this version.", + "Represents ads where the user will see a reward after viewing.", + "Represents all other ads besides user-rewarded." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "VideoAdSequenceSettings": { + "description": "Settings related to VideoAdSequence.", + "id": "VideoAdSequenceSettings", + "properties": { + "minimumDuration": { + "description": "The minimum time interval before the same user sees this sequence again.", + "enum": [ + "VIDEO_AD_SEQUENCE_MINIMUM_DURATION_UNSPECIFIED", + "VIDEO_AD_SEQUENCE_MINIMUM_DURATION_WEEK", + "VIDEO_AD_SEQUENCE_MINIMUM_DURATION_MONTH" + ], + "enumDescriptions": [ + "Unspecified or unknown.", + "7 days.", + "30 days." + ], + "type": "string" + }, + "steps": { + "description": "The steps of which the sequence consists.", + "items": { + "$ref": "VideoAdSequenceStep" + }, + "type": "array" + } + }, + "type": "object" + }, + "VideoAdSequenceStep": { + "description": "The detail of a single step in a VideoAdSequence.", + "id": "VideoAdSequenceStep", + "properties": { + "adGroupId": { + "description": "The ID of the corresponding ad group of the step.", + "format": "int64", + "type": "string" + }, + "interactionType": { + "description": "The interaction on the previous step that will lead the viewer to this step. The first step does not have interaction_type.", + "enum": [ + "INTERACTION_TYPE_UNSPECIFIED", + "INTERACTION_TYPE_PAID_VIEW", + "INTERACTION_TYPE_SKIP", + "INTERACTION_TYPE_IMPRESSION", + "INTERACTION_TYPE_ENGAGED_IMPRESSION" + ], + "enumDescriptions": [ + "Unspecified or unknown", + "A paid view.", + "Skipped by the viewer.", + "A (viewed) ad impression.", + "An ad impression that was not immediately skipped by the viewer, but didn't reach the billable event either." + ], + "type": "string" + }, + "previousStepId": { + "description": "The ID of the previous step. The first step does not have previous step.", + "format": "int64", + "type": "string" + }, + "stepId": { + "description": "The ID of the step.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "VideoDiscoveryAd": { + "description": "Details for a video discovery ad.", + "id": "VideoDiscoveryAd", + "properties": { + "description1": { + "description": "First text line for the ad.", + "type": "string" + }, + "description2": { + "description": "Second text line for the ad.", + "type": "string" + }, + "headline": { + "description": "The headline of ad.", + "type": "string" + }, + "thumbnail": { + "description": "Thumbnail image used in the ad.", + "enum": [ + "THUMBNAIL_UNSPECIFIED", + "THUMBNAIL_DEFAULT", + "THUMBNAIL_1", + "THUMBNAIL_2", + "THUMBNAIL_3" + ], + "enumDescriptions": [ + "Unknown or unspecified.", + "The default thumbnail, can be auto-generated or user-uploaded.", + "Thumbnail 1, generated from the video.", + "Thumbnail 2, generated from the video.", + "Thumbnail 3, generated from the video." + ], + "type": "string" + }, + "video": { + "$ref": "YoutubeVideoDetails", + "description": "The YouTube video the ad promotes." + } + }, + "type": "object" + }, + "VideoPerformanceAd": { + "description": "Details for a video performance ad.", + "id": "VideoPerformanceAd", + "properties": { + "actionButtonLabels": { + "description": "The list of text assets shown on the call-to-action button.", + "items": { + "type": "string" + }, + "type": "array" + }, + "companionBanners": { + "description": "The list of companion banners used by this ad.", + "items": { + "$ref": "ImageAsset" + }, + "type": "array" + }, + "customParameters": { + "additionalProperties": { + "type": "string" + }, + "description": "The custom parameters to pass custom values to tracking URL template.", + "type": "object" + }, + "descriptions": { + "description": "The list of descriptions shown on the call-to-action banner.", + "items": { + "type": "string" + }, + "type": "array" + }, + "displayUrlBreadcrumb1": { + "description": "The first piece after the domain in the display URL.", + "type": "string" + }, + "displayUrlBreadcrumb2": { + "description": "The second piece after the domain in the display URL.", + "type": "string" + }, + "domain": { + "description": "The domain of the display URL.", + "type": "string" + }, + "finalUrl": { + "description": "The URL address of the webpage that people reach after they click the ad.", + "type": "string" + }, + "headlines": { + "description": "The list of headlines shown on the call-to-action banner.", + "items": { + "type": "string" + }, + "type": "array" + }, + "longHeadlines": { + "description": "The list of lone headlines shown on the call-to-action banner.", + "items": { + "type": "string" + }, + "type": "array" + }, + "trackingUrl": { + "description": "The URL address loaded in the background for tracking purposes.", + "type": "string" + }, + "videos": { + "description": "The list of YouTube video assets used by this ad.", + "items": { + "$ref": "YoutubeVideoDetails" + }, + "type": "array" + } + }, + "type": "object" + }, + "VideoPlayerSizeAssignedTargetingOptionDetails": { + "description": "Video player size targeting option details. This will be populated in the video_player_size_details field when targeting_type is `TARGETING_TYPE_VIDEO_PLAYER_SIZE`. Explicitly targeting all options is not supported. Remove all video player size targeting options to achieve this effect.", + "id": "VideoPlayerSizeAssignedTargetingOptionDetails", + "properties": { + "videoPlayerSize": { + "description": "Required. The video player size.", + "enum": [ + "VIDEO_PLAYER_SIZE_UNSPECIFIED", + "VIDEO_PLAYER_SIZE_SMALL", + "VIDEO_PLAYER_SIZE_LARGE", + "VIDEO_PLAYER_SIZE_HD", + "VIDEO_PLAYER_SIZE_UNKNOWN" + ], + "enumDescriptions": [ + "Video player size is not specified in this version. This enum is a place holder for a default value and does not represent a real video player size.", + "The dimensions of the video player are less than 400\u00d7300 (desktop), or up to 20% of screen covered (mobile).", + "The dimensions of the video player are between 400x300 and 1280x720 pixels (desktop), or 20% to 90% of the screen covered (mobile).", + "The dimensions of the video player are 1280\u00d7720 or greater (desktop), or over 90% of the screen covered (mobile).", + "The dimensions of the video player are unknown." + ], + "type": "string" + } + }, + "type": "object" + }, + "VideoPlayerSizeTargetingOptionDetails": { + "description": "Represents a targetable video player size. This will be populated in the video_player_size_details field when targeting_type is `TARGETING_TYPE_VIDEO_PLAYER_SIZE`.", + "id": "VideoPlayerSizeTargetingOptionDetails", + "properties": { + "videoPlayerSize": { + "description": "Output only. The video player size.", + "enum": [ + "VIDEO_PLAYER_SIZE_UNSPECIFIED", + "VIDEO_PLAYER_SIZE_SMALL", + "VIDEO_PLAYER_SIZE_LARGE", + "VIDEO_PLAYER_SIZE_HD", + "VIDEO_PLAYER_SIZE_UNKNOWN" + ], + "enumDescriptions": [ + "Video player size is not specified in this version. This enum is a place holder for a default value and does not represent a real video player size.", + "The dimensions of the video player are less than 400\u00d7300 (desktop), or up to 20% of screen covered (mobile).", + "The dimensions of the video player are between 400x300 and 1280x720 pixels (desktop), or 20% to 90% of the screen covered (mobile).", + "The dimensions of the video player are 1280\u00d7720 or greater (desktop), or over 90% of the screen covered (mobile).", + "The dimensions of the video player are unknown." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ViewabilityAssignedTargetingOptionDetails": { + "description": "Assigned viewability targeting option details. This will be populated in the viewability_details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_VIEWABILITY`.", + "id": "ViewabilityAssignedTargetingOptionDetails", + "properties": { + "viewability": { + "description": "Required. The predicted viewability percentage.", + "enum": [ + "VIEWABILITY_UNSPECIFIED", + "VIEWABILITY_10_PERCENT_OR_MORE", + "VIEWABILITY_20_PERCENT_OR_MORE", + "VIEWABILITY_30_PERCENT_OR_MORE", + "VIEWABILITY_40_PERCENT_OR_MORE", + "VIEWABILITY_50_PERCENT_OR_MORE", + "VIEWABILITY_60_PERCENT_OR_MORE", + "VIEWABILITY_70_PERCENT_OR_MORE", + "VIEWABILITY_80_PERCENT_OR_MORE", + "VIEWABILITY_90_PERCENT_OR_MORE" + ], + "enumDescriptions": [ + "Default value when viewability is not specified in this version. This enum is a placeholder for default value and does not represent a real viewability option.", + "Bid only on impressions that are at least 10% likely to be viewable.", + "Bid only on impressions that are at least 20% likely to be viewable.", + "Bid only on impressions that are at least 30% likely to be viewable.", + "Bid only on impressions that are at least 40% likely to be viewable.", + "Bid only on impressions that are at least 50% likely to be viewable.", + "Bid only on impressions that are at least 60% likely to be viewable.", + "Bid only on impressions that are at least 70% likely to be viewable.", + "Bid only on impressions that are at least 80% likely to be viewable.", + "Bid only on impressions that are at least 90% likely to be viewable." + ], + "type": "string" + } + }, + "type": "object" + }, + "ViewabilityTargetingOptionDetails": { + "description": "Represents a targetable viewability. This will be populated in the viewability_details field of a TargetingOption when targeting_type is `TARGETING_TYPE_VIEWABILITY`.", + "id": "ViewabilityTargetingOptionDetails", + "properties": { + "viewability": { + "description": "Output only. The predicted viewability percentage.", + "enum": [ + "VIEWABILITY_UNSPECIFIED", + "VIEWABILITY_10_PERCENT_OR_MORE", + "VIEWABILITY_20_PERCENT_OR_MORE", + "VIEWABILITY_30_PERCENT_OR_MORE", + "VIEWABILITY_40_PERCENT_OR_MORE", + "VIEWABILITY_50_PERCENT_OR_MORE", + "VIEWABILITY_60_PERCENT_OR_MORE", + "VIEWABILITY_70_PERCENT_OR_MORE", + "VIEWABILITY_80_PERCENT_OR_MORE", + "VIEWABILITY_90_PERCENT_OR_MORE" + ], + "enumDescriptions": [ + "Default value when viewability is not specified in this version. This enum is a placeholder for default value and does not represent a real viewability option.", + "Bid only on impressions that are at least 10% likely to be viewable.", + "Bid only on impressions that are at least 20% likely to be viewable.", + "Bid only on impressions that are at least 30% likely to be viewable.", + "Bid only on impressions that are at least 40% likely to be viewable.", + "Bid only on impressions that are at least 50% likely to be viewable.", + "Bid only on impressions that are at least 60% likely to be viewable.", + "Bid only on impressions that are at least 70% likely to be viewable.", + "Bid only on impressions that are at least 80% likely to be viewable.", + "Bid only on impressions that are at least 90% likely to be viewable." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "YoutubeAndPartnersBiddingStrategy": { + "description": "Settings that control the bid strategy for YouTube and Partners resources.", + "id": "YoutubeAndPartnersBiddingStrategy", + "properties": { + "adGroupEffectiveTargetCpaSource": { + "description": "Output only. Source of the effective target CPA value for ad group.", + "enum": [ + "BIDDING_SOURCE_UNSPECIFIED", + "BIDDING_SOURCE_LINE_ITEM", + "BIDDING_SOURCE_AD_GROUP" + ], + "enumDescriptions": [ + "Bidding source is not specified or unknown.", + "Bidding value is inherited from the line item.", + "Bidding value is defined in the ad group." + ], + "readOnly": true, + "type": "string" + }, + "adGroupEffectiveTargetCpaValue": { + "description": "Output only. The effective target CPA for ad group, in micros of advertiser's currency.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "The type of the bidding strategy.", + "enum": [ + "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_UNSPECIFIED", + "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPV", + "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPM", + "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPA", + "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPM", + "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_LIFT", + "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_CONVERSIONS", + "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPV", + "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_ROAS", + "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_CONVERSION_VALUE" + ], + "enumDescriptions": [ + "Type is not specified or unknown.", + "A bidding strategy that pays a configurable amount per video view.", + "A bidding strategy that pays a configurable amount per impression.", + "A bidding strategy that automatically optimizes conversions per dollar.", + "A bidding strategy that pays a configurable amount per impression.", + "An automated bidding strategy that sets bids to achieve maximum lift.", + "A bidding strategy that automatically maximizes number of conversions given a daily budget.", + "A bidding strategy that automatically optimizes cost per video view.", + "A bidding strategy that automatically maximizes revenue while averaging a specific target Return On Ad Spend (ROAS).", + "A bidding strategy that automatically sets bids to maximize revenue while spending your budget." + ], + "type": "string" + }, + "value": { + "description": "The value used by the bidding strategy. When the bidding strategy is assigned at the line item level, this field is only applicable for the following strategy types: * `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPA` * `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_ROAS` When the bidding strategy is assigned at the ad group level, this field is only applicable for the following strategy types: * `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPM` * `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPV` * `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPA` * `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPM` * `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_ROAS` If not using an applicable strategy, the value of this field will be 0.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "YoutubeAndPartnersInventorySourceConfig": { + "description": "Settings that control what YouTube related inventories the YouTube and Partners line item will target.", + "id": "YoutubeAndPartnersInventorySourceConfig", + "properties": { + "includeYoutube": { + "description": "Whether to target inventory on YouTube. This includes both search, channels and videos.", + "type": "boolean" + }, + "includeYoutubeVideoPartners": { + "description": "Whether to target inventory on a collection of partner sites and apps that follow the same brand safety standards as YouTube.", + "type": "boolean" + } + }, + "type": "object" + }, + "YoutubeAndPartnersSettings": { + "description": "Settings for YouTube and Partners line items.", + "id": "YoutubeAndPartnersSettings", + "properties": { + "contentCategory": { + "description": "The kind of content on which the YouTube and Partners ads will be shown.", + "enum": [ + "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_UNSPECIFIED", + "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_STANDARD", + "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_EXPANDED", + "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_LIMITED" + ], + "enumDescriptions": [ + "Content category is not specified or is unknown in this version.", + "A category consisting of a wide range of content appropriate for most brands. The content is based off of YouTube's [advertiser-friendly content guidelines](https://support.google.com/youtube/answer/6162278).", + "A category including all content across YouTube and video partners that meets standards for monetization.", + "A category consisting of a reduced range of content that meets heightened requirements, especially regarding inappropriate language and sexual suggestiveness." + ], + "type": "string" + }, + "effectiveContentCategory": { + "description": "Output only. The content category which takes effect when serving the line item. When content category is set in both line item and advertiser, the stricter one will take effect when serving the line item.", + "enum": [ + "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_UNSPECIFIED", + "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_STANDARD", + "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_EXPANDED", + "YOUTUBE_AND_PARTNERS_CONTENT_CATEGORY_LIMITED" + ], + "enumDescriptions": [ + "Content category is not specified or is unknown in this version.", + "A category consisting of a wide range of content appropriate for most brands. The content is based off of YouTube's [advertiser-friendly content guidelines](https://support.google.com/youtube/answer/6162278).", + "A category including all content across YouTube and video partners that meets standards for monetization.", + "A category consisting of a reduced range of content that meets heightened requirements, especially regarding inappropriate language and sexual suggestiveness." + ], + "readOnly": true, + "type": "string" + }, + "inventorySourceSettings": { + "$ref": "YoutubeAndPartnersInventorySourceConfig", + "description": "Settings that control what YouTube and Partners inventories the line item will target." + }, + "leadFormId": { + "description": "The ID of the form to generate leads.", + "format": "int64", + "type": "string" + }, + "linkedMerchantId": { + "description": "The ID of the merchant which is linked to the line item for product feed.", + "format": "int64", + "type": "string" + }, + "relatedVideoIds": { + "description": "The IDs of the videos appear below the primary video ad when the ad is playing in the YouTube app on mobile devices.", + "items": { + "type": "string" + }, + "type": "array" + }, + "targetFrequency": { + "$ref": "TargetFrequency", + "description": "The average number of times you want ads from this line item to show to the same person over a certain period of time." + }, + "thirdPartyMeasurementConfigs": { + "$ref": "ThirdPartyMeasurementConfigs", + "description": "Optional. The third-party measurement configs of the line item." + }, + "videoAdSequenceSettings": { + "$ref": "VideoAdSequenceSettings", + "description": "The settings related to VideoAdSequence." + }, + "viewFrequencyCap": { + "$ref": "FrequencyCap", + "description": "The view frequency cap settings of the line item. The max_views field in this settings object must be used if assigning a limited cap." + } + }, + "type": "object" + }, + "YoutubeChannelAssignedTargetingOptionDetails": { + "description": "Details for YouTube channel assigned targeting option. This will be populated in the youtube_channel_details field when targeting_type is `TARGETING_TYPE_YOUTUBE_CHANNEL`.", + "id": "YoutubeChannelAssignedTargetingOptionDetails", + "properties": { + "channelId": { + "description": "The YouTube uploader channel id or the channel code of a YouTube channel.", + "type": "string" + }, + "negative": { + "description": "Indicates if this option is being negatively targeted.", + "type": "boolean" + } + }, + "type": "object" + }, + "YoutubeVideoAssignedTargetingOptionDetails": { + "description": "Details for YouTube video assigned targeting option. This will be populated in the youtube_video_details field when targeting_type is `TARGETING_TYPE_YOUTUBE_VIDEO`.", + "id": "YoutubeVideoAssignedTargetingOptionDetails", + "properties": { + "negative": { + "description": "Indicates if this option is being negatively targeted.", + "type": "boolean" + }, + "videoId": { + "description": "YouTube video id as it appears on the YouTube watch page.", + "type": "string" + } + }, + "type": "object" + }, + "YoutubeVideoDetails": { + "description": "Details of a YouTube video.", + "id": "YoutubeVideoDetails", + "properties": { + "id": { + "description": "The YouTube video ID which can be searched on YouTube webpage.", + "type": "string" + }, + "unavailableReason": { + "description": "The reason why the video data is not available.", + "enum": [ + "VIDEO_UNAVAILABLE_REASON_UNSPECIFIED", + "VIDEO_UNAVAILABLE_REASON_PRIVATE", + "VIDEO_UNAVAILABLE_REASON_DELETED" + ], + "enumDescriptions": [ + "Unknown or unspecified.", + "The video is private.", + "The video is deleted." + ], + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Display & Video 360 API", + "version": "v3", + "version_module": true +} \ No newline at end of file diff --git a/DiscoveryJson/firebaseappcheck_v1.json b/DiscoveryJson/firebaseappcheck_v1.json index 5432a6ab40d..42bc19988c3 100644 --- a/DiscoveryJson/firebaseappcheck_v1.json +++ b/DiscoveryJson/firebaseappcheck_v1.json @@ -1343,7 +1343,7 @@ } } }, - "revision": "20230825", + "revision": "20231009", "rootUrl": "https://firebaseappcheck.googleapis.com/", "schemas": { "GoogleFirebaseAppcheckV1AppAttestConfig": { @@ -1564,7 +1564,7 @@ "type": "string" }, "limitedUse": { - "description": "Forces a short lived token with a 5 minute TTL. Useful when the client wishes to self impose stricter TTL requirements for this exchange. Default: false.", + "description": "Specifies whether this attestation is for use in a *limited use* (`true`) or *session based* (`false`) context. To enable this attestation to be used with the *replay protection* feature, set this to `true`. The default value is `false`.", "type": "boolean" } }, @@ -1590,7 +1590,7 @@ "type": "string" }, "limitedUse": { - "description": "Forces a short lived token with a 5 minute TTL. Useful when the client wishes to self impose stricter TTL requirements for this exchange. Default: false.", + "description": "Specifies whether this attestation is for use in a *limited use* (`true`) or *session based* (`false`) context. To enable this attestation to be used with the *replay protection* feature, set this to `true`. The default value is `false`.", "type": "boolean" } }, @@ -1621,7 +1621,7 @@ "type": "string" }, "limitedUse": { - "description": "Forces a short lived token with a 5 minute TTL. Useful when the client wishes to self impose stricter TTL requirements for this exchange. Default: false.", + "description": "Specifies whether this attestation is for use in a *limited use* (`true`) or *session based* (`false`) context. To enable this attestation to be used with the *replay protection* feature, set this to `true`. The default value is `false`.", "type": "boolean" } }, @@ -1636,7 +1636,7 @@ "type": "string" }, "limitedUse": { - "description": "Forces a short lived token with a 5 minute TTL. Useful when the client wishes to self impose stricter TTL requirements for this exchange. Default: false.", + "description": "Specifies whether this attestation is for use in a *limited use* (`true`) or *session based* (`false`) context. To enable this attestation to be used with the *replay protection* feature, set this to `true`. The default value is `false`.", "type": "boolean" } }, @@ -1651,7 +1651,7 @@ "type": "string" }, "limitedUse": { - "description": "Forces a short lived token with a 5 minute TTL. Useful when the client wishes to self impose stricter TTL requirements for this exchange. Default: false.", + "description": "Specifies whether this attestation is for use in a *limited use* (`true`) or *session based* (`false`) context. To enable this attestation to be used with the *replay protection* feature, set this to `true`. The default value is `false`.", "type": "boolean" } }, @@ -1662,7 +1662,7 @@ "id": "GoogleFirebaseAppcheckV1ExchangePlayIntegrityTokenRequest", "properties": { "limitedUse": { - "description": "Forces a short-lived token with a 5 minute TTL. Useful when the client wishes to impose stricter TTL requirements for this exchange. Default: false.", + "description": "Specifies whether this attestation is for use in a *limited use* (`true`) or *session based* (`false`) context. To enable this attestation to be used with the *replay protection* feature, set this to `true`. The default value is `false`.", "type": "boolean" }, "playIntegrityToken": { @@ -1677,7 +1677,7 @@ "id": "GoogleFirebaseAppcheckV1ExchangeRecaptchaEnterpriseTokenRequest", "properties": { "limitedUse": { - "description": "Forces a short lived token with a 5 minute TTL. Useful when the client wishes to self impose stricter TTL requirements for this exchange. Default: false.", + "description": "Specifies whether this attestation is for use in a *limited use* (`true`) or *session based* (`false`) context. To enable this attestation to be used with the *replay protection* feature, set this to `true`. The default value is `false`.", "type": "boolean" }, "recaptchaEnterpriseToken": { @@ -1692,7 +1692,7 @@ "id": "GoogleFirebaseAppcheckV1ExchangeRecaptchaV3TokenRequest", "properties": { "limitedUse": { - "description": "Forces a short lived token with a 5 minute TTL. Useful when the client wishes to self impose stricter TTL requirements for this exchange. Default: false.", + "description": "Specifies whether this attestation is for use in a *limited use* (`true`) or *session based* (`false`) context. To enable this attestation to be used with the *replay protection* feature, set this to `true`. The default value is `false`.", "type": "boolean" }, "recaptchaV3Token": { diff --git a/DiscoveryJson/gkebackup_v1.json b/DiscoveryJson/gkebackup_v1.json index 0414eb53f51..03bb99eb6d0 100644 --- a/DiscoveryJson/gkebackup_v1.json +++ b/DiscoveryJson/gkebackup_v1.json @@ -1688,7 +1688,7 @@ } } }, - "revision": "20230925", + "revision": "20231004", "rootUrl": "https://gkebackup.googleapis.com/", "schemas": { "AuditConfig": { @@ -2259,7 +2259,7 @@ "type": "string" }, "resourceKind": { - "description": "Optional. Kind of a Kubernetes resource, e.g. \"CustomResourceDefinition\", \"StorageClass\", etc.", + "description": "Optional. Kind of a Kubernetes resource, must be in UpperCamelCase (PascalCase) and singular form. E.g. \"CustomResourceDefinition\", \"StorageClass\", etc.", "type": "string" } }, @@ -2590,7 +2590,7 @@ "type": "object" }, "Restore": { - "description": "Represents both a request to Restore some portion of a Backup into a target GKE cluster and a record of the restore operation itself. Next id: 18", + "description": "Represents both a request to Restore some portion of a Backup into a target GKE cluster and a record of the restore operation itself. Next id: 19", "id": "Restore", "properties": { "backup": { diff --git a/DiscoveryJson/gkeonprem_v1.json b/DiscoveryJson/gkeonprem_v1.json index e708ea54898..2d4787386ae 100644 --- a/DiscoveryJson/gkeonprem_v1.json +++ b/DiscoveryJson/gkeonprem_v1.json @@ -2996,7 +2996,7 @@ } } }, - "revision": "20230925", + "revision": "20231004", "rootUrl": "https://gkeonprem.googleapis.com/", "schemas": { "Authorization": { @@ -3029,7 +3029,7 @@ "type": "object" }, "BareMetalAdminCluster": { - "description": "## Resource that represents a bare metal admin cluster.", + "description": "Resource that represents a bare metal admin cluster. LINT.IfChange", "id": "BareMetalAdminCluster", "properties": { "annotations": { @@ -3532,7 +3532,7 @@ "type": "object" }, "BareMetalCluster": { - "description": "Resource that represents a bare metal user cluster.", + "description": "Resource that represents a bare metal user cluster. LINT.IfChange", "id": "BareMetalCluster", "properties": { "adminClusterMembership": { @@ -5503,6 +5503,10 @@ "$ref": "VmwarePlatformConfig", "description": "The VMware platform configuration." }, + "preparedSecrets": { + "$ref": "VmwareAdminPreparedSecretsConfig", + "description": "The VMware admin cluster prepared secrets configuration." + }, "reconciling": { "description": "Output only. If set, there are currently changes in flight to the VMware admin cluster.", "readOnly": true, @@ -5712,6 +5716,17 @@ }, "type": "object" }, + "VmwareAdminPreparedSecretsConfig": { + "description": "VmwareAdminPreparedSecretsConfig represents configuration for admin cluster prepared secrets.", + "id": "VmwareAdminPreparedSecretsConfig", + "properties": { + "enabled": { + "description": "Whether prepared secrets is enabled.", + "type": "boolean" + } + }, + "type": "object" + }, "VmwareAdminSeesawConfig": { "description": "VmwareSeesawConfig represents configuration parameters for an already existing Seesaw load balancer. IMPORTANT: Please note that the Anthos On-Prem API will not generate or update Seesaw configurations it can only bind a pre-existing configuration to a new user cluster. IMPORTANT: When attempting to create a user cluster with a pre-existing Seesaw load balancer you will need to follow some preparation steps before calling the 'CreateVmwareCluster' API method. First you will need to create the user cluster's namespace via kubectl. The namespace will need to use the following naming convention : -gke-onprem-mgmt or -gke-onprem-mgmt depending on whether you used the 'VmwareCluster.local_name' to disambiguate collisions; for more context see the documentation of 'VmwareCluster.local_name'. Once the namespace is created you will need to create a secret resource via kubectl. This secret will contain copies of your Seesaw credentials. The Secret must be called 'user-cluster-creds' and contain Seesaw's SSH and Cert credentials. The credentials must be keyed with the following names: 'seesaw-ssh-private-key', 'seesaw-ssh-public-key', 'seesaw-ssh-ca-key', 'seesaw-ssh-ca-cert'.", "id": "VmwareAdminSeesawConfig", diff --git a/DiscoveryJson/healthcare_v1.json b/DiscoveryJson/healthcare_v1.json index 891709f3d9c..f6621bb2a95 100644 --- a/DiscoveryJson/healthcare_v1.json +++ b/DiscoveryJson/healthcare_v1.json @@ -1757,6 +1757,32 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "getDICOMStoreMetrics": { + "description": "Gets metrics associated with the DICOM store.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:getDICOMStoreMetrics", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.dicomStores.getDICOMStoreMetrics", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the DICOM store to get metrics for.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:getDICOMStoreMetrics", + "response": { + "$ref": "DicomStoreMetrics" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-healthcare", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "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}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:getIamPolicy", @@ -2094,6 +2120,72 @@ } }, "resources": { + "dicomWeb": { + "resources": { + "studies": { + "methods": { + "getStudyMetrics": { + "description": "GetStudyMetrics returns metrics for a study.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}:getStudyMetrics", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.dicomStores.dicomWeb.studies.getStudyMetrics", + "parameterOrder": [ + "study" + ], + "parameters": { + "study": { + "description": "The study resource path. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}/dicomWeb/studies/{study_uid}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+/dicomWeb/studies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+study}:getStudyMetrics", + "response": { + "$ref": "StudyMetrics" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-healthcare", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "series": { + "methods": { + "getSeriesMetrics": { + "description": "GetSeriesMetrics returns metrics for a series.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}:getSeriesMetrics", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.dicomStores.dicomWeb.studies.series.getSeriesMetrics", + "parameterOrder": [ + "series" + ], + "parameters": { + "series": { + "description": "The series resource path. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}/dicomWeb/studies/{study_uid}/series/{series_uid}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+/dicomWeb/studies/[^/]+/series/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+series}:getSeriesMetrics", + "response": { + "$ref": "SeriesMetrics" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-healthcare", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + }, "studies": { "methods": { "delete": { @@ -3730,6 +3822,32 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "getHL7v2StoreMetrics": { + "description": "Gets metrics asssociated with the HL7v2 store.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:getHL7v2StoreMetrics", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.hl7V2Stores.getHL7v2StoreMetrics", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the HL7v2 store to get metrics for, in the format `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:getHL7v2StoreMetrics", + "response": { + "$ref": "Hl7V2StoreMetrics" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-healthcare", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "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}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:getIamPolicy", @@ -4313,7 +4431,7 @@ } } }, - "revision": "20230921", + "revision": "20231003", "rootUrl": "https://healthcare.googleapis.com/", "schemas": { "ActivateConsentRequest": { @@ -5064,6 +5182,42 @@ }, "type": "object" }, + "DicomStoreMetrics": { + "description": "DicomStoreMetrics contains metrics describing a DICOM store.", + "id": "DicomStoreMetrics", + "properties": { + "blobStorageSizeBytes": { + "description": "Total blob storage bytes for all instances in the store.", + "format": "int64", + "type": "string" + }, + "instanceCount": { + "description": "Number of instances in the store.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "Resource name of the DICOM store, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", + "type": "string" + }, + "seriesCount": { + "description": "Number of series in the store.", + "format": "int64", + "type": "string" + }, + "structuredStorageSizeBytes": { + "description": "Total structured storage bytes for all instances in the store.", + "format": "int64", + "type": "string" + }, + "studyCount": { + "description": "Number of studies in the store.", + "format": "int64", + "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", @@ -5904,6 +6058,45 @@ }, "type": "object" }, + "Hl7V2StoreMetric": { + "description": "Count of messages and total storage size by type for a given HL7 store.", + "id": "Hl7V2StoreMetric", + "properties": { + "count": { + "description": "The total count of HL7v2 messages in the store for the given message type.", + "format": "int64", + "type": "string" + }, + "messageType": { + "description": "The Hl7v2 message type this metric applies to, such as `ADT` or `ORU`.", + "type": "string" + }, + "structuredStorageSizeBytes": { + "description": "The total amount of structured storage used by HL7v2 messages of this message type in the store.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "Hl7V2StoreMetrics": { + "description": "List of metrics for a given HL7v2 store.", + "id": "Hl7V2StoreMetrics", + "properties": { + "metrics": { + "description": "List of HL7v2 store metrics by message type.", + "items": { + "$ref": "Hl7V2StoreMetric" + }, + "type": "array" + }, + "name": { + "description": "The resource name of the HL7v2 store to get metrics for, in the format `projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_id}`.", + "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", @@ -6952,6 +7145,32 @@ }, "type": "object" }, + "SeriesMetrics": { + "description": "SeriesMetrics contains metrics describing a DICOM series.", + "id": "SeriesMetrics", + "properties": { + "blobStorageSizeBytes": { + "description": "Total blob storage bytes for all instances in the series.", + "format": "int64", + "type": "string" + }, + "instanceCount": { + "description": "Number of instances in the series.", + "format": "int64", + "type": "string" + }, + "series": { + "description": "The series resource path. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}/dicomWeb/studies/{study_uid}/series/{series_uid}`.", + "type": "string" + }, + "structuredStorageSizeBytes": { + "description": "Total structured storage bytes for all instances in the series.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "SetIamPolicyRequest": { "description": "Request message for `SetIamPolicy` method.", "id": "SetIamPolicyRequest", @@ -7044,6 +7263,37 @@ }, "type": "object" }, + "StudyMetrics": { + "description": "StudyMetrics contains metrics describing a DICOM study.", + "id": "StudyMetrics", + "properties": { + "blobStorageSizeBytes": { + "description": "Total blob storage bytes for all instances in the study.", + "format": "int64", + "type": "string" + }, + "instanceCount": { + "description": "Number of instances in the study.", + "format": "int64", + "type": "string" + }, + "seriesCount": { + "description": "Number of series in the study.", + "format": "int64", + "type": "string" + }, + "structuredStorageSizeBytes": { + "description": "Total structured storage bytes for all instances in the study.", + "format": "int64", + "type": "string" + }, + "study": { + "description": "The study resource path. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}/dicomWeb/studies/{study_uid}`.", + "type": "string" + } + }, + "type": "object" + }, "TagFilterList": { "description": "List of tags to be filtered.", "id": "TagFilterList", diff --git a/DiscoveryJson/healthcare_v1beta1.json b/DiscoveryJson/healthcare_v1beta1.json index 1f11c80848b..8a218fd1c55 100644 --- a/DiscoveryJson/healthcare_v1beta1.json +++ b/DiscoveryJson/healthcare_v1beta1.json @@ -2280,6 +2280,32 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "getDICOMStoreMetrics": { + "description": "Gets metrics associated with the DICOM store.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:getDICOMStoreMetrics", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.dicomStores.getDICOMStoreMetrics", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the DICOM store to get metrics for.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:getDICOMStoreMetrics", + "response": { + "$ref": "DicomStoreMetrics" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-healthcare", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}:getIamPolicy", @@ -2617,6 +2643,72 @@ } }, "resources": { + "dicomWeb": { + "resources": { + "studies": { + "methods": { + "getStudyMetrics": { + "description": "GetStudyMetrics returns metrics for a study.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}:getStudyMetrics", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.dicomStores.dicomWeb.studies.getStudyMetrics", + "parameterOrder": [ + "study" + ], + "parameters": { + "study": { + "description": "The study resource path. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}/dicomWeb/studies/{study_uid}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+/dicomWeb/studies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+study}:getStudyMetrics", + "response": { + "$ref": "StudyMetrics" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-healthcare", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "series": { + "methods": { + "getSeriesMetrics": { + "description": "GetSeriesMetrics returns metrics for a series.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dicomStores/{dicomStoresId}/dicomWeb/studies/{studiesId}/series/{seriesId}:getSeriesMetrics", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.dicomStores.dicomWeb.studies.series.getSeriesMetrics", + "parameterOrder": [ + "series" + ], + "parameters": { + "series": { + "description": "The series resource path. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}/dicomWeb/studies/{study_uid}/series/{series_uid}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+/dicomWeb/studies/[^/]+/series/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+series}:getSeriesMetrics", + "response": { + "$ref": "SeriesMetrics" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-healthcare", + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + }, "studies": { "methods": { "delete": { @@ -4578,6 +4670,32 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "getHL7v2StoreMetrics": { + "description": "Gets metrics asssociated with the HL7v2 store.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:getHL7v2StoreMetrics", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.hl7V2Stores.getHL7v2StoreMetrics", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The resource name of the HL7v2 store to get metrics for, in the format `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:getHL7v2StoreMetrics", + "response": { + "$ref": "Hl7V2StoreMetrics" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-healthcare", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/hl7V2Stores/{hl7V2StoresId}:getIamPolicy", @@ -5214,7 +5332,7 @@ } } }, - "revision": "20230921", + "revision": "20231003", "rootUrl": "https://healthcare.googleapis.com/", "schemas": { "AccessDeterminationLogConfig": { @@ -6420,6 +6538,42 @@ }, "type": "object" }, + "DicomStoreMetrics": { + "description": "DicomStoreMetrics contains metrics describing a DICOM store.", + "id": "DicomStoreMetrics", + "properties": { + "blobStorageSizeBytes": { + "description": "Total blob storage bytes for all instances in the store.", + "format": "int64", + "type": "string" + }, + "instanceCount": { + "description": "Number of instances in the store.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "Resource name of the DICOM store, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.", + "type": "string" + }, + "seriesCount": { + "description": "Number of series in the store.", + "format": "int64", + "type": "string" + }, + "structuredStorageSizeBytes": { + "description": "Total structured storage bytes for all instances in the store.", + "format": "int64", + "type": "string" + }, + "studyCount": { + "description": "Number of studies in the store.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "DicomTagConfig": { "description": "Specifies the parameters needed for the de-identification of DICOM stores.", "id": "DicomTagConfig", @@ -6848,7 +7002,7 @@ "enumDescriptions": [ "No profile provided. Same as `BASIC`.", "Keep all fields.", - "Transforms known [HIPAA 18](https://www.hhs.gov/hipaa/for-professionals/privacy/special-topics/de-identification/index.html#standard)", + "Transforms known [HIPAA 18](https://www.hhs.gov/hipaa/for-professionals/privacy/special-topics/de-identification/index.html#standard) fields and cleans known unstructured text fields.", "Cleans all supported tags. Applies to types: Code, Date, DateTime, Decimal, HumanName, Id, LanguageCode, Markdown, Oid, String, Uri, Uuid, Xhtml." ], "type": "string" @@ -7598,6 +7752,45 @@ }, "type": "object" }, + "Hl7V2StoreMetric": { + "description": "Count of messages and total storage size by type for a given HL7 store.", + "id": "Hl7V2StoreMetric", + "properties": { + "count": { + "description": "The total count of HL7v2 messages in the store for the given message type.", + "format": "int64", + "type": "string" + }, + "messageType": { + "description": "The Hl7v2 message type this metric applies to, such as `ADT` or `ORU`.", + "type": "string" + }, + "structuredStorageSizeBytes": { + "description": "The total amount of structured storage used by HL7v2 messages of this message type in the store.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "Hl7V2StoreMetrics": { + "description": "List of metrics for a given HL7v2 store.", + "id": "Hl7V2StoreMetrics", + "properties": { + "metrics": { + "description": "List of HL7v2 store metrics by message type.", + "items": { + "$ref": "Hl7V2StoreMetric" + }, + "type": "array" + }, + "name": { + "description": "The resource name of the HL7v2 store to get metrics for, in the format `projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_id}`.", + "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", @@ -8901,6 +9094,32 @@ }, "type": "object" }, + "SeriesMetrics": { + "description": "SeriesMetrics contains metrics describing a DICOM series.", + "id": "SeriesMetrics", + "properties": { + "blobStorageSizeBytes": { + "description": "Total blob storage bytes for all instances in the series.", + "format": "int64", + "type": "string" + }, + "instanceCount": { + "description": "Number of instances in the series.", + "format": "int64", + "type": "string" + }, + "series": { + "description": "The series resource path. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}/dicomWeb/studies/{study_uid}/series/{series_uid}`.", + "type": "string" + }, + "structuredStorageSizeBytes": { + "description": "Total structured storage bytes for all instances in the series.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "SetIamPolicyRequest": { "description": "Request message for `SetIamPolicy` method.", "id": "SetIamPolicyRequest", @@ -8993,6 +9212,37 @@ }, "type": "object" }, + "StudyMetrics": { + "description": "StudyMetrics contains metrics describing a DICOM study.", + "id": "StudyMetrics", + "properties": { + "blobStorageSizeBytes": { + "description": "Total blob storage bytes for all instances in the study.", + "format": "int64", + "type": "string" + }, + "instanceCount": { + "description": "Number of instances in the study.", + "format": "int64", + "type": "string" + }, + "seriesCount": { + "description": "Number of series in the study.", + "format": "int64", + "type": "string" + }, + "structuredStorageSizeBytes": { + "description": "Total structured storage bytes for all instances in the study.", + "format": "int64", + "type": "string" + }, + "study": { + "description": "The study resource path. For example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}/dicomWeb/studies/{study_uid}`.", + "type": "string" + } + }, + "type": "object" + }, "TagFilterList": { "description": "List of tags to be filtered.", "id": "TagFilterList", diff --git a/DiscoveryJson/recaptchaenterprise_v1.json b/DiscoveryJson/recaptchaenterprise_v1.json index 532bce892a3..d197c5d5f8f 100644 --- a/DiscoveryJson/recaptchaenterprise_v1.json +++ b/DiscoveryJson/recaptchaenterprise_v1.json @@ -119,7 +119,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the Assessment, in the format \"projects/{project}/assessments/{assessment}\".", + "description": "Required. The resource name of the Assessment, in the format `projects/{project}/assessments/{assessment}`.", "location": "path", "pattern": "^projects/[^/]+/assessments/[^/]+$", "required": true, @@ -147,7 +147,7 @@ ], "parameters": { "parent": { - "description": "Required. The name of the project in which the assessment will be created, in the format \"projects/{project}\".", + "description": "Required. The name of the project in which the assessment will be created, in the format `projects/{project}`.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -179,7 +179,7 @@ ], "parameters": { "parent": { - "description": "Required. The name of the project this policy will apply to, in the format \"projects/{project}\".", + "description": "Required. The name of the project this policy will apply to, in the format `projects/{project}`.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -207,7 +207,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the policy to be deleted, in the format \"projects/{project}/firewallpolicies/{firewallpolicy}\".", + "description": "Required. The name of the policy to be deleted, in the format `projects/{project}/firewallpolicies/{firewallpolicy}`.", "location": "path", "pattern": "^projects/[^/]+/firewallpolicies/[^/]+$", "required": true, @@ -232,7 +232,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the requested policy, in the format \"projects/{project}/firewallpolicies/{firewallpolicy}\".", + "description": "Required. The name of the requested policy, in the format `projects/{project}/firewallpolicies/{firewallpolicy}`.", "location": "path", "pattern": "^projects/[^/]+/firewallpolicies/[^/]+$", "required": true, @@ -268,7 +268,7 @@ "type": "string" }, "parent": { - "description": "Required. The name of the project to list the policies for, in the format \"projects/{project}\".", + "description": "Required. The name of the project to list the policies for, in the format `projects/{project}`.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -293,7 +293,7 @@ ], "parameters": { "name": { - "description": "The resource name for the FirewallPolicy in the format \"projects/{project}/firewallpolicies/{firewallpolicy}\".", + "description": "The resource name for the FirewallPolicy in the format `projects/{project}/firewallpolicies/{firewallpolicy}`.", "location": "path", "pattern": "^projects/[^/]+/firewallpolicies/[^/]+$", "required": true, @@ -331,7 +331,7 @@ ], "parameters": { "parent": { - "description": "Required. The name of the project in which the key will be created, in the format \"projects/{project}\".", + "description": "Required. The name of the project in which the key will be created, in the format `projects/{project}`.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -359,7 +359,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the key to be deleted, in the format \"projects/{project}/keys/{key}\".", + "description": "Required. The name of the key to be deleted, in the format `projects/{project}/keys/{key}`.", "location": "path", "pattern": "^projects/[^/]+/keys/[^/]+$", "required": true, @@ -384,7 +384,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the requested key, in the format \"projects/{project}/keys/{key}\".", + "description": "Required. The name of the requested key, in the format `projects/{project}/keys/{key}`.", "location": "path", "pattern": "^projects/[^/]+/keys/[^/]+$", "required": true, @@ -409,7 +409,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the requested metrics, in the format \"projects/{project}/keys/{key}/metrics\".", + "description": "Required. The name of the requested metrics, in the format `projects/{project}/keys/{key}/metrics`.", "location": "path", "pattern": "^projects/[^/]+/keys/[^/]+/metrics$", "required": true, @@ -445,7 +445,7 @@ "type": "string" }, "parent": { - "description": "Required. The name of the project that contains the keys that will be listed, in the format \"projects/{project}\".", + "description": "Required. The name of the project that contains the keys that will be listed, in the format `projects/{project}`.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -470,7 +470,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the key to be migrated, in the format \"projects/{project}/keys/{key}\".", + "description": "Required. The name of the key to be migrated, in the format `projects/{project}/keys/{key}`.", "location": "path", "pattern": "^projects/[^/]+/keys/[^/]+$", "required": true, @@ -498,7 +498,7 @@ ], "parameters": { "name": { - "description": "The resource name for the Key in the format \"projects/{project}/keys/{key}\".", + "description": "The resource name for the Key in the format `projects/{project}/keys/{key}`.", "location": "path", "pattern": "^projects/[^/]+/keys/[^/]+$", "required": true, @@ -532,7 +532,7 @@ ], "parameters": { "key": { - "description": "Required. The public key name linked to the requested secret key in the format \"projects/{project}/keys/{key}\".", + "description": "Required. The public key name linked to the requested secret key in the format `projects/{project}/keys/{key}`.", "location": "path", "pattern": "^projects/[^/]+/keys/[^/]+$", "required": true, @@ -561,7 +561,7 @@ ], "parameters": { "project": { - "description": "Required. The name of the project to search related account group memberships from. Specify the project name in the following format: \"projects/{project}\".", + "description": "Required. The name of the project to search related account group memberships from. Specify the project name in the following format: `projects/{project}`.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -604,7 +604,7 @@ "type": "string" }, "parent": { - "description": "Required. The name of the project to list related account groups from, in the format \"projects/{project}\".", + "description": "Required. The name of the project to list related account groups from, in the format `projects/{project}`.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -666,7 +666,7 @@ } } }, - "revision": "20230917", + "revision": "20231008", "rootUrl": "https://recaptchaenterprise.googleapis.com/", "schemas": { "GoogleCloudRecaptchaenterpriseV1AccountDefenderAssessment": { @@ -674,7 +674,7 @@ "id": "GoogleCloudRecaptchaenterpriseV1AccountDefenderAssessment", "properties": { "labels": { - "description": "Labels for this request.", + "description": "Output only. Labels for this request.", "items": { "enum": [ "ACCOUNT_DEFENDER_LABEL_UNSPECIFIED", @@ -692,6 +692,7 @@ ], "type": "string" }, + "readOnly": true, "type": "array" } }, @@ -702,14 +703,14 @@ "id": "GoogleCloudRecaptchaenterpriseV1AccountVerificationInfo", "properties": { "endpoints": { - "description": "Endpoints that can be used for identity verification.", + "description": "Optional. Endpoints that can be used for identity verification.", "items": { "$ref": "GoogleCloudRecaptchaenterpriseV1EndpointVerificationInfo" }, "type": "array" }, "languageCode": { - "description": "Language code preference for the verification message, set as a IETF BCP 47 language code.", + "description": "Optional. Language code preference for the verification message, set as a IETF BCP 47 language code.", "type": "string" }, "latestVerificationResult": { @@ -754,18 +755,18 @@ "id": "GoogleCloudRecaptchaenterpriseV1AndroidKeySettings", "properties": { "allowAllPackageNames": { - "description": "If set to true, allowed_package_names are not enforced.", + "description": "Optional. If set to true, allowed_package_names are not enforced.", "type": "boolean" }, "allowedPackageNames": { - "description": "Android package names of apps allowed to use the key. Example: 'com.companyname.appname'", + "description": "Optional. Android package names of apps allowed to use the key. Example: 'com.companyname.appname'", "items": { "type": "string" }, "type": "array" }, "supportNonGoogleAppStoreDistribution": { - "description": "Set to true for keys that are used in an Android application that is available for download in app stores in addition to the Google Play Store.", + "description": "Optional. Set to true for keys that are used in an Android application that is available for download in app stores in addition to the Google Play Store.", "type": "boolean" } }, @@ -884,23 +885,26 @@ "properties": { "accountDefenderAssessment": { "$ref": "GoogleCloudRecaptchaenterpriseV1AccountDefenderAssessment", - "description": "Assessment returned by account defender when a hashed_account_id is provided." + "description": "Output only. Assessment returned by account defender when a hashed_account_id is provided.", + "readOnly": true }, "accountVerification": { "$ref": "GoogleCloudRecaptchaenterpriseV1AccountVerificationInfo", - "description": "Account verification information for identity verification. The assessment event must include a token and site key to use this feature." + "description": "Optional. Account verification information for identity verification. The assessment event must include a token and site key to use this feature." }, "event": { "$ref": "GoogleCloudRecaptchaenterpriseV1Event", - "description": "The event being assessed." + "description": "Optional. The event being assessed." }, "firewallPolicyAssessment": { "$ref": "GoogleCloudRecaptchaenterpriseV1FirewallPolicyAssessment", - "description": "Assessment returned when firewall policies belonging to the project are evaluated using the field firewall_policy_evaluation." + "description": "Output only. Assessment returned when firewall policies belonging to the project are evaluated using the field firewall_policy_evaluation.", + "readOnly": true }, "fraudPreventionAssessment": { "$ref": "GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessment", - "description": "Assessment returned by Fraud Prevention when TransactionData is provided." + "description": "Output only. Assessment returned by Fraud Prevention when TransactionData is provided.", + "readOnly": true }, "fraudSignals": { "$ref": "GoogleCloudRecaptchaenterpriseV1FraudSignals", @@ -908,13 +912,13 @@ "readOnly": true }, "name": { - "description": "Output only. The resource name for the Assessment in the format \"projects/{project}/assessments/{assessment}\".", + "description": "Output only. The resource name for the Assessment in the format `projects/{project}/assessments/{assessment}`.", "readOnly": true, "type": "string" }, "privatePasswordLeakVerification": { "$ref": "GoogleCloudRecaptchaenterpriseV1PrivatePasswordLeakVerification", - "description": "The private password leak verification field contains the parameters that are used to to check for leaks privately without sharing user credentials." + "description": "Optional. The private password leak verification field contains the parameters that are used to to check for leaks privately without sharing user credentials." }, "riskAnalysis": { "$ref": "GoogleCloudRecaptchaenterpriseV1RiskAnalysis", @@ -1011,7 +1015,7 @@ "type": "array" }, "ja3": { - "description": "Optional. Optional JA3 fingerprint for SSL clients.", + "description": "Optional. JA3 fingerprint for SSL clients.", "type": "string" }, "requestedUri": { @@ -1095,11 +1099,11 @@ "id": "GoogleCloudRecaptchaenterpriseV1FirewallActionSetHeaderAction", "properties": { "key": { - "description": "The header key to set in the request to the backend server.", + "description": "Optional. The header key to set in the request to the backend server.", "type": "string" }, "value": { - "description": "The header value to set in the request to the backend server.", + "description": "Optional. The header value to set in the request to the backend server.", "type": "string" } }, @@ -1110,7 +1114,7 @@ "id": "GoogleCloudRecaptchaenterpriseV1FirewallActionSubstituteAction", "properties": { "path": { - "description": "The address to redirect to. The target is a relative path in the current host. Example: \"/blog/404.html\".", + "description": "Optional. The address to redirect to. The target is a relative path in the current host. Example: \"/blog/404.html\".", "type": "string" } }, @@ -1121,26 +1125,26 @@ "id": "GoogleCloudRecaptchaenterpriseV1FirewallPolicy", "properties": { "actions": { - "description": "The actions that the caller should take regarding user access. There should be at most one terminal action. A terminal action is any action that forces a response, such as AllowAction, BlockAction or SubstituteAction. Zero or more non-terminal actions such as SetHeader might be specified. A single policy can contain up to 16 actions.", + "description": "Optional. The actions that the caller should take regarding user access. There should be at most one terminal action. A terminal action is any action that forces a response, such as `AllowAction`, `BlockAction` or `SubstituteAction`. Zero or more non-terminal actions such as `SetHeader` might be specified. A single policy can contain up to 16 actions.", "items": { "$ref": "GoogleCloudRecaptchaenterpriseV1FirewallAction" }, "type": "array" }, "condition": { - "description": "A CEL (Common Expression Language) conditional expression that specifies if this policy applies to an incoming user request. If this condition evaluates to true and the requested path matched the path pattern, the associated actions should be executed by the caller. The condition string is checked for CEL syntax correctness on creation. For more information, see the [CEL spec](https://github.com/google/cel-spec) and its [language definition](https://github.com/google/cel-spec/blob/master/doc/langdef.md). A condition has a max length of 500 characters.", + "description": "Optional. A CEL (Common Expression Language) conditional expression that specifies if this policy applies to an incoming user request. If this condition evaluates to true and the requested path matched the path pattern, the associated actions should be executed by the caller. The condition string is checked for CEL syntax correctness on creation. For more information, see the [CEL spec](https://github.com/google/cel-spec) and its [language definition](https://github.com/google/cel-spec/blob/master/doc/langdef.md). A condition has a max length of 500 characters.", "type": "string" }, "description": { - "description": "A description of what this policy aims to achieve, for convenience purposes. The description can at most include 256 UTF-8 characters.", + "description": "Optional. A description of what this policy aims to achieve, for convenience purposes. The description can at most include 256 UTF-8 characters.", "type": "string" }, "name": { - "description": "The resource name for the FirewallPolicy in the format \"projects/{project}/firewallpolicies/{firewallpolicy}\".", + "description": "The resource name for the FirewallPolicy in the format `projects/{project}/firewallpolicies/{firewallpolicy}`.", "type": "string" }, "path": { - "description": "The path for which this policy applies, specified as a glob pattern. For more information on glob, see the [manual page](https://man7.org/linux/man-pages/man7/glob.7.html). A path has a max length of 200 characters.", + "description": "Optional. The path for which this policy applies, specified as a glob pattern. For more information on glob, see the [manual page](https://man7.org/linux/man-pages/man7/glob.7.html). A path has a max length of 200 characters.", "type": "string" } }, @@ -1152,7 +1156,8 @@ "properties": { "error": { "$ref": "GoogleRpcStatus", - "description": "If the processing of a policy config fails, an error will be populated and the firewall_policy will be left empty." + "description": "Output only. If the processing of a policy config fails, an error will be populated and the firewall_policy will be left empty.", + "readOnly": true }, "firewallPolicy": { "$ref": "GoogleCloudRecaptchaenterpriseV1FirewallPolicy", @@ -1168,19 +1173,23 @@ "properties": { "behavioralTrustVerdict": { "$ref": "GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessmentBehavioralTrustVerdict", - "description": "Assessment of this transaction for behavioral trust." + "description": "Output only. Assessment of this transaction for behavioral trust.", + "readOnly": true }, "cardTestingVerdict": { "$ref": "GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessmentCardTestingVerdict", - "description": "Assessment of this transaction for risk of being part of a card testing attack." + "description": "Output only. Assessment of this transaction for risk of being part of a card testing attack.", + "readOnly": true }, "stolenInstrumentVerdict": { "$ref": "GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessmentStolenInstrumentVerdict", - "description": "Assessment of this transaction for risk of a stolen instrument." + "description": "Output only. Assessment of this transaction for risk of a stolen instrument.", + "readOnly": true }, "transactionRisk": { - "description": "Probability of this transaction being fraudulent. Summarizes the combined risk of attack vectors below. Values are from 0.0 (lowest) to 1.0 (highest).", + "description": "Output only. Probability of this transaction being fraudulent. Summarizes the combined risk of attack vectors below. Values are from 0.0 (lowest) to 1.0 (highest).", "format": "float", + "readOnly": true, "type": "number" } }, @@ -1191,8 +1200,9 @@ "id": "GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessmentBehavioralTrustVerdict", "properties": { "trust": { - "description": "Probability of this transaction attempt being executed in a behaviorally trustworthy way. Values are from 0.0 (lowest) to 1.0 (highest).", + "description": "Output only. Probability of this transaction attempt being executed in a behaviorally trustworthy way. Values are from 0.0 (lowest) to 1.0 (highest).", "format": "float", + "readOnly": true, "type": "number" } }, @@ -1203,8 +1213,9 @@ "id": "GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessmentCardTestingVerdict", "properties": { "risk": { - "description": "Probability of this transaction attempt being part of a card testing attack. Values are from 0.0 (lowest) to 1.0 (highest).", + "description": "Output only. Probability of this transaction attempt being part of a card testing attack. Values are from 0.0 (lowest) to 1.0 (highest).", "format": "float", + "readOnly": true, "type": "number" } }, @@ -1215,8 +1226,9 @@ "id": "GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessmentStolenInstrumentVerdict", "properties": { "risk": { - "description": "Probability of this transaction being executed with a stolen instrument. Values are from 0.0 (lowest) to 1.0 (highest).", + "description": "Output only. Probability of this transaction being executed with a stolen instrument. Values are from 0.0 (lowest) to 1.0 (highest).", "format": "float", + "readOnly": true, "type": "number" } }, @@ -1290,11 +1302,11 @@ "id": "GoogleCloudRecaptchaenterpriseV1IOSKeySettings", "properties": { "allowAllBundleIds": { - "description": "If set to true, allowed_bundle_ids are not enforced.", + "description": "Optional. If set to true, allowed_bundle_ids are not enforced.", "type": "boolean" }, "allowedBundleIds": { - "description": "iOS bundle ids of apps allowed to use the key. Example: 'com.companyname.productname.appname'", + "description": "Optional. iOS bundle ids of apps allowed to use the key. Example: 'com.companyname.productname.appname'", "items": { "type": "string" }, @@ -1302,7 +1314,7 @@ }, "appleDeveloperId": { "$ref": "GoogleCloudRecaptchaenterpriseV1AppleDeveloperId", - "description": "Apple Developer account details for the app that is protected by the reCAPTCHA Key. reCAPTCHA Enterprise leverages platform-specific checks like Apple App Attest and Apple DeviceCheck to protect your app from abuse. Providing these fields allows reCAPTCHA Enterprise to get a better assessment of the integrity of your app." + "description": "Optional. Apple Developer account details for the app that is protected by the reCAPTCHA Key. reCAPTCHA Enterprise leverages platform-specific checks like Apple App Attest and Apple DeviceCheck to protect your app from abuse. Providing these fields allows reCAPTCHA Enterprise to get a better assessment of the integrity of your app." } }, "type": "object" @@ -1322,7 +1334,7 @@ "type": "string" }, "displayName": { - "description": "Human-readable display name of this key. Modifiable by user.", + "description": "Required. Human-readable display name of this key. Modifiable by user.", "type": "string" }, "iosSettings": { @@ -1333,20 +1345,20 @@ "additionalProperties": { "type": "string" }, - "description": "See Creating and managing labels.", + "description": "Optional. See [Creating and managing labels] (https://cloud.google.com/recaptcha-enterprise/docs/labels).", "type": "object" }, "name": { - "description": "The resource name for the Key in the format \"projects/{project}/keys/{key}\".", + "description": "The resource name for the Key in the format `projects/{project}/keys/{key}`.", "type": "string" }, "testingOptions": { "$ref": "GoogleCloudRecaptchaenterpriseV1TestingOptions", - "description": "Options for user acceptance testing." + "description": "Optional. Options for user acceptance testing." }, "wafSettings": { "$ref": "GoogleCloudRecaptchaenterpriseV1WafSettings", - "description": "Settings for WAF" + "description": "Optional. Settings for WAF" }, "webSettings": { "$ref": "GoogleCloudRecaptchaenterpriseV1WebKeySettings", @@ -1439,7 +1451,7 @@ "type": "array" }, "name": { - "description": "Output only. The name of the metrics, in the format \"projects/{project}/keys/{key}/metrics\".", + "description": "Output only. The name of the metrics, in the format `projects/{project}/keys/{key}/metrics`.", "readOnly": true, "type": "string" }, @@ -1488,7 +1500,7 @@ "type": "string" }, "lookupHashPrefix": { - "description": "Optional. Exactly 26-bit prefix of the SHA-256 hash of the canonicalized username. It is used to look up password leaks associated with that hash prefix.", + "description": "Required. Exactly 26-bit prefix of the SHA-256 hash of the canonicalized username. It is used to look up password leaks associated with that hash prefix.", "format": "byte", "type": "string" }, @@ -1544,14 +1556,15 @@ "id": "GoogleCloudRecaptchaenterpriseV1RiskAnalysis", "properties": { "extendedVerdictReasons": { - "description": "Extended verdict reasons to be used for experimentation only. The set of possible reasons is subject to change.", + "description": "Output only. Extended verdict reasons to be used for experimentation only. The set of possible reasons is subject to change.", "items": { "type": "string" }, + "readOnly": true, "type": "array" }, "reasons": { - "description": "Reasons contributing to the risk analysis verdict.", + "description": "Output only. Reasons contributing to the risk analysis verdict.", "items": { "enum": [ "CLASSIFICATION_REASON_UNSPECIFIED", @@ -1575,11 +1588,13 @@ ], "type": "string" }, + "readOnly": true, "type": "array" }, "score": { - "description": "Legitimate event score from 0.0 to 1.0. (1.0 means very likely legitimate traffic while 0.0 means very likely non-legitimate traffic).", + "description": "Output only. Legitimate event score from 0.0 to 1.0. (1.0 means very likely legitimate traffic while 0.0 means very likely non-legitimate traffic).", "format": "float", + "readOnly": true, "type": "number" } }, @@ -1662,7 +1677,7 @@ "id": "GoogleCloudRecaptchaenterpriseV1TestingOptions", "properties": { "testingChallenge": { - "description": "For challenge-based keys only (CHECKBOX, INVISIBLE), all challenge requests for this site will return nocaptcha if NOCAPTCHA, or an unsolvable challenge if CHALLENGE.", + "description": "Optional. For challenge-based keys only (CHECKBOX, INVISIBLE), all challenge requests for this site will return nocaptcha if NOCAPTCHA, or an unsolvable challenge if CHALLENGE.", "enum": [ "TESTING_CHALLENGE_UNSPECIFIED", "NOCAPTCHA", @@ -1676,7 +1691,7 @@ "type": "string" }, "testingScore": { - "description": "All assessments for this Key will return this score. Must be between 0 (likely not legitimate) and 1 (likely legitimate) inclusive.", + "description": "Optional. All assessments for this Key will return this score. Must be between 0 (likely not legitimate) and 1 (likely legitimate) inclusive.", "format": "float", "type": "number" } @@ -1688,24 +1703,28 @@ "id": "GoogleCloudRecaptchaenterpriseV1TokenProperties", "properties": { "action": { - "description": "Action name provided at token generation.", + "description": "Output only. Action name provided at token generation.", + "readOnly": true, "type": "string" }, "androidPackageName": { - "description": "The name of the Android package with which the token was generated (Android keys only).", + "description": "Output only. The name of the Android package with which the token was generated (Android keys only).", + "readOnly": true, "type": "string" }, "createTime": { - "description": "The timestamp corresponding to the generation of the token.", + "description": "Output only. The timestamp corresponding to the generation of the token.", "format": "google-datetime", + "readOnly": true, "type": "string" }, "hostname": { - "description": "The hostname of the page on which the token was generated (Web keys only).", + "description": "Output only. The hostname of the page on which the token was generated (Web keys only).", + "readOnly": true, "type": "string" }, "invalidReason": { - "description": "Reason associated with the response when valid = false.", + "description": "Output only. Reason associated with the response when valid = false.", "enum": [ "INVALID_REASON_UNSPECIFIED", "UNKNOWN_INVALID_REASON", @@ -1724,67 +1743,70 @@ "The user verification token was not present.", "A retriable error (such as network failure) occurred on the browser. Could easily be simulated by an attacker." ], + "readOnly": true, "type": "string" }, "iosBundleId": { - "description": "The ID of the iOS bundle with which the token was generated (iOS keys only).", + "description": "Output only. The ID of the iOS bundle with which the token was generated (iOS keys only).", + "readOnly": true, "type": "string" }, "valid": { - "description": "Whether the provided user response token is valid. When valid = false, the reason could be specified in invalid_reason or it could also be due to a user failing to solve a challenge or a sitekey mismatch (i.e the sitekey used to generate the token was different than the one specified in the assessment).", + "description": "Output only. Whether the provided user response token is valid. When valid = false, the reason could be specified in invalid_reason or it could also be due to a user failing to solve a challenge or a sitekey mismatch (i.e the sitekey used to generate the token was different than the one specified in the assessment).", + "readOnly": true, "type": "boolean" } }, "type": "object" }, "GoogleCloudRecaptchaenterpriseV1TransactionData": { - "description": "Transaction data associated with a payment protected by reCAPTCHA Enterprise. All fields are optional.", + "description": "Transaction data associated with a payment protected by reCAPTCHA Enterprise.", "id": "GoogleCloudRecaptchaenterpriseV1TransactionData", "properties": { "billingAddress": { "$ref": "GoogleCloudRecaptchaenterpriseV1TransactionDataAddress", - "description": "Address associated with the payment method when applicable." + "description": "Optional. Address associated with the payment method when applicable." }, "cardBin": { - "description": "The Bank Identification Number - generally the first 6 or 8 digits of the card.", + "description": "Optional. The Bank Identification Number - generally the first 6 or 8 digits of the card.", "type": "string" }, "cardLastFour": { - "description": "The last four digits of the card.", + "description": "Optional. The last four digits of the card.", "type": "string" }, "currencyCode": { - "description": "The currency code in ISO-4217 format.", + "description": "Optional. The currency code in ISO-4217 format.", "type": "string" }, "gatewayInfo": { "$ref": "GoogleCloudRecaptchaenterpriseV1TransactionDataGatewayInfo", - "description": "Information about the payment gateway's response to the transaction." + "description": "Optional. Information about the payment gateway's response to the transaction." }, "items": { - "description": "Items purchased in this transaction.", + "description": "Optional. Items purchased in this transaction.", "items": { "$ref": "GoogleCloudRecaptchaenterpriseV1TransactionDataItem" }, "type": "array" }, "merchants": { - "description": "Information about the user or users fulfilling the transaction.", + "description": "Optional. Information about the user or users fulfilling the transaction.", "items": { "$ref": "GoogleCloudRecaptchaenterpriseV1TransactionDataUser" }, "type": "array" }, "paymentMethod": { - "description": "The payment method for the transaction. The allowed values are: * credit-card * debit-card * gift-card * processor-{name} (If a third-party is used, for example, processor-paypal) * custom-{name} (If an alternative method is used, for example, custom-crypto)", + "description": "Optional. The payment method for the transaction. The allowed values are: * credit-card * debit-card * gift-card * processor-{name} (If a third-party is used, for example, processor-paypal) * custom-{name} (If an alternative method is used, for example, custom-crypto)", "type": "string" }, "shippingAddress": { "$ref": "GoogleCloudRecaptchaenterpriseV1TransactionDataAddress", - "description": "Destination address if this transaction involves shipping a physical item." + "description": "Optional. Destination address if this transaction involves shipping a physical item." }, "shippingValue": { - "description": "The value of shipping in the specified currency. 0 for free or no shipping.", + "description": "Optional. The value of shipping in the specified currency. 0 for free or no shipping.", "format": "double", "type": "number" }, @@ -1794,10 +1816,10 @@ }, "user": { "$ref": "GoogleCloudRecaptchaenterpriseV1TransactionDataUser", - "description": "Information about the user paying/initiating the transaction." + "description": "Optional. Information about the user paying/initiating the transaction." }, "value": { - "description": "The decimal value of the transaction in the specified currency.", + "description": "Optional. The decimal value of the transaction in the specified currency.", "format": "double", "type": "number" } @@ -1809,30 +1831,30 @@ "id": "GoogleCloudRecaptchaenterpriseV1TransactionDataAddress", "properties": { "address": { - "description": "The first lines of the address. The first line generally contains the street name and number, and further lines may include information such as an apartment number.", + "description": "Optional. The first lines of the address. The first line generally contains the street name and number, and further lines may include information such as an apartment number.", "items": { "type": "string" }, "type": "array" }, "administrativeArea": { - "description": "The state, province, or otherwise administrative area of the address.", + "description": "Optional. The state, province, or otherwise administrative area of the address.", "type": "string" }, "locality": { - "description": "The town/city of the address.", + "description": "Optional. The town/city of the address.", "type": "string" }, "postalCode": { - "description": "The postal or ZIP code of the address.", + "description": "Optional. The postal or ZIP code of the address.", "type": "string" }, "recipient": { - "description": "The recipient name, potentially including information such as \"care of\".", + "description": "Optional. The recipient name, potentially including information such as \"care of\".", "type": "string" }, "regionCode": { - "description": "The CLDR country/region of the address.", + "description": "Optional. The CLDR country/region of the address.", "type": "string" } }, @@ -1843,19 +1865,19 @@ "id": "GoogleCloudRecaptchaenterpriseV1TransactionDataGatewayInfo", "properties": { "avsResponseCode": { - "description": "AVS response code from the gateway (available only when reCAPTCHA Enterprise is called after authorization).", + "description": "Optional. AVS response code from the gateway (available only when reCAPTCHA Enterprise is called after authorization).", "type": "string" }, "cvvResponseCode": { - "description": "CVV response code from the gateway (available only when reCAPTCHA Enterprise is called after authorization).", + "description": "Optional. CVV response code from the gateway (available only when reCAPTCHA Enterprise is called after authorization).", "type": "string" }, "gatewayResponseCode": { - "description": "Gateway response code describing the state of the transaction.", + "description": "Optional. Gateway response code describing the state of the transaction.", "type": "string" }, "name": { - "description": "Name of the gateway service (for example, stripe, square, paypal).", + "description": "Optional. Name of the gateway service (for example, stripe, square, paypal).", "type": "string" } }, @@ -1866,20 +1888,20 @@ "id": "GoogleCloudRecaptchaenterpriseV1TransactionDataItem", "properties": { "merchantAccountId": { - "description": "When a merchant is specified, its corresponding account_id. Necessary to populate marketplace-style transactions.", + "description": "Optional. When a merchant is specified, its corresponding account_id. Necessary to populate marketplace-style transactions.", "type": "string" }, "name": { - "description": "The full name of the item.", + "description": "Optional. The full name of the item.", "type": "string" }, "quantity": { - "description": "The quantity of this item that is being purchased.", + "description": "Optional. The quantity of this item that is being purchased.", "format": "int64", "type": "string" }, "value": { - "description": "The value per item that the user is paying, in the transaction currency, after discounts.", + "description": "Optional. The value per item that the user is paying, in the transaction currency, after discounts.", "format": "double", "type": "number" } @@ -1891,28 +1913,28 @@ "id": "GoogleCloudRecaptchaenterpriseV1TransactionDataUser", "properties": { "accountId": { - "description": "Unique account identifier for this user. If using account defender, this should match the hashed_account_id field. Otherwise, a unique and persistent identifier for this account.", + "description": "Optional. Unique account identifier for this user. If using account defender, this should match the hashed_account_id field. Otherwise, a unique and persistent identifier for this account.", "type": "string" }, "creationMs": { - "description": "The epoch milliseconds of the user's account creation.", + "description": "Optional. The epoch milliseconds of the user's account creation.", "format": "int64", "type": "string" }, "email": { - "description": "The email address of the user.", + "description": "Optional. The email address of the user.", "type": "string" }, "emailVerified": { - "description": "Whether the email has been verified to be accessible by the user (OTP or similar).", + "description": "Optional. Whether the email has been verified to be accessible by the user (OTP or similar).", "type": "boolean" }, "phoneNumber": { - "description": "The phone number of the user, with country code.", + "description": "Optional. The phone number of the user, with country code.", "type": "string" }, "phoneVerified": { - "description": "Whether the phone number has been verified to be accessible by the user (OTP or similar).", + "description": "Optional. Whether the phone number has been verified to be accessible by the user (OTP or similar).", "type": "boolean" } }, @@ -2029,22 +2051,22 @@ "id": "GoogleCloudRecaptchaenterpriseV1WebKeySettings", "properties": { "allowAllDomains": { - "description": "If set to true, it means allowed_domains will not be enforced.", + "description": "Optional. If set to true, it means allowed_domains will not be enforced.", "type": "boolean" }, "allowAmpTraffic": { - "description": "If set to true, the key can be used on AMP (Accelerated Mobile Pages) websites. This is supported only for the SCORE integration type.", + "description": "Optional. If set to true, the key can be used on AMP (Accelerated Mobile Pages) websites. This is supported only for the SCORE integration type.", "type": "boolean" }, "allowedDomains": { - "description": "Domains or subdomains of websites allowed to use the key. All subdomains of an allowed domain are automatically allowed. A valid domain requires a host and must not include any path, port, query or fragment. Examples: 'example.com' or 'subdomain.example.com'", + "description": "Optional. Domains or subdomains of websites allowed to use the key. All subdomains of an allowed domain are automatically allowed. A valid domain requires a host and must not include any path, port, query or fragment. Examples: 'example.com' or 'subdomain.example.com'", "items": { "type": "string" }, "type": "array" }, "challengeSecurityPreference": { - "description": "Settings for the frequency and difficulty at which this key triggers captcha challenges. This should only be specified for IntegrationTypes CHECKBOX and INVISIBLE.", + "description": "Optional. Settings for the frequency and difficulty at which this key triggers captcha challenges. This should only be specified for IntegrationTypes CHECKBOX and INVISIBLE.", "enum": [ "CHALLENGE_SECURITY_PREFERENCE_UNSPECIFIED", "USABILITY", diff --git a/DiscoveryJson/recommender_v1beta1.json b/DiscoveryJson/recommender_v1beta1.json index e3881f41e1d..2e81215bd6d 100644 --- a/DiscoveryJson/recommender_v1beta1.json +++ b/DiscoveryJson/recommender_v1beta1.json @@ -1748,7 +1748,7 @@ } } }, - "revision": "20230910", + "revision": "20231008", "rootUrl": "https://recommender.googleapis.com/", "schemas": { "GoogleCloudRecommenderV1beta1CostProjection": { @@ -1759,6 +1759,10 @@ "$ref": "GoogleTypeMoney", "description": "An approximate projection on amount saved or amount incurred. Negative cost units indicate cost savings and positive cost units indicate increase. See google.type.Money documentation for positive/negative units. A user's permissions may affect whether the cost is computed using list prices or custom contract prices." }, + "costInLocalCurrency": { + "$ref": "GoogleTypeMoney", + "description": "The approximate cost savings in the billing account's local currency." + }, "duration": { "description": "Duration for which this cost applies.", "format": "google-duration", @@ -2309,6 +2313,13 @@ "$ref": "GoogleCloudRecommenderV1beta1RecommendationStateInfo", "description": "Information for state. Contains state and metadata." }, + "targetResources": { + "description": "Fully qualified resource names that this recommendation is targeting.", + "items": { + "type": "string" + }, + "type": "array" + }, "xorGroupId": { "description": "Corresponds to a mutually exclusive group ID within a recommender. A non-empty ID indicates that the recommendation belongs to a mutually exclusive group. This means that only one recommendation within the group is suggested to be applied.", "type": "string" diff --git a/DiscoveryJson/retail_v2alpha.json b/DiscoveryJson/retail_v2alpha.json index 233be8a0579..dd952571067 100644 --- a/DiscoveryJson/retail_v2alpha.json +++ b/DiscoveryJson/retail_v2alpha.json @@ -135,6 +135,31 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "getLoggingConfig": { + "description": "Gets the LoggingConfig of the requested project.", + "flatPath": "v2alpha/projects/{projectsId}/loggingConfig", + "httpMethod": "GET", + "id": "retail.projects.getLoggingConfig", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Full LoggingConfig resource name. Format: projects/{project_number}/loggingConfig", + "location": "path", + "pattern": "^projects/[^/]+/loggingConfig$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+name}", + "response": { + "$ref": "GoogleCloudRetailV2alphaLoggingConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "getRetailProject": { "description": "Gets the project. Throws `NOT_FOUND` if the project wasn't initialized for the Retail API service.", "flatPath": "v2alpha/projects/{projectsId}/retailProject", @@ -184,6 +209,40 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "updateLoggingConfig": { + "description": "Updates the LoggingConfig of the requested project.", + "flatPath": "v2alpha/projects/{projectsId}/loggingConfig", + "httpMethod": "PATCH", + "id": "retail.projects.updateLoggingConfig", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Immutable. The name of the LoggingConfig singleton resource. Format: projects/*/loggingConfig", + "location": "path", + "pattern": "^projects/[^/]+/loggingConfig$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Indicates which fields in the provided LoggingConfig to update. The following are the only supported fields: * default_log_generation_rule * per_service_log_generation_rules If not set, all supported fields are updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2alpha/{+name}", + "request": { + "$ref": "GoogleCloudRetailV2alphaLoggingConfig" + }, + "response": { + "$ref": "GoogleCloudRetailV2alphaLoggingConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } }, "resources": { @@ -2329,7 +2388,7 @@ } } }, - "revision": "20230831", + "revision": "20231005", "rootUrl": "https://retail.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -4399,6 +4458,73 @@ }, "type": "object" }, + "GoogleCloudRetailV2alphaLoggingConfig": { + "description": "Project level logging config to control what level of log will be generated and written to Cloud Logging.", + "id": "GoogleCloudRetailV2alphaLoggingConfig", + "properties": { + "defaultLogGenerationRule": { + "$ref": "GoogleCloudRetailV2alphaLoggingConfigLogGenerationRule", + "description": "The log generation rule that applies by default to all services supporting log generation. It can be overridden by ServiceLogGenerationRule for service level control." + }, + "name": { + "description": "Required. Immutable. The name of the LoggingConfig singleton resource. Format: projects/*/loggingConfig", + "type": "string" + }, + "serviceLogGenerationRules": { + "description": "Controls logging configurations more granularly for each supported service. This overrides the default_log_generation_rule for the services specified. For those not mentioned, they will fallback to the default log generation rule.", + "items": { + "$ref": "GoogleCloudRetailV2alphaLoggingConfigServiceLogGenerationRule" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2alphaLoggingConfigLogGenerationRule": { + "description": "The logging configurations for services supporting log generation.", + "id": "GoogleCloudRetailV2alphaLoggingConfigLogGenerationRule", + "properties": { + "infoLogSampleRate": { + "description": "The log sample rate for INFO level log entries. You can use this to reduce the number of entries generated for INFO level logs. DO NOT set this field if the logging_level is not LoggingLevel.LOG_ALL. Otherwise, an INVALID_ARGUMENT error is returned. Sample rate for INFO logs defaults to 1 when unset (generate and send all INFO logs to Cloud Logging). Its value must be greater than 0 and less than or equal to 1.", + "format": "float", + "type": "number" + }, + "loggingLevel": { + "description": "The logging level. By default it is set to `LOG_WARNINGS_AND_ABOVE`.", + "enum": [ + "LOGGING_LEVEL_UNSPECIFIED", + "LOGGING_DISABLED", + "LOG_ERRORS_AND_ABOVE", + "LOG_WARNINGS_AND_ABOVE", + "LOG_ALL" + ], + "enumDescriptions": [ + "Default value. Defaults to `LOG_FOR_WARNINGS_AND_ABOVE` if unset.", + "No log will be generated and sent to Cloud Logging.", + "Log for operations resulted in fatal error.", + "In addition to `LOG_ERRORS_AND_ABOVE`, also log for operations that have soft errors, quality suggestions.", + "Log all operations, including successful ones." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2alphaLoggingConfigServiceLogGenerationRule": { + "description": "The granular logging configurations for supported services.", + "id": "GoogleCloudRetailV2alphaLoggingConfigServiceLogGenerationRule", + "properties": { + "logGenerationRule": { + "$ref": "GoogleCloudRetailV2alphaLoggingConfigLogGenerationRule", + "description": "The log generation rule that applies to this service." + }, + "serviceName": { + "description": "Required. Supported service names: \"CatalogService\", \"CompletionService\", \"ControlService\", \"MerchantCenterStreaming\", \"ModelService\", \"PredictionService\", \"ProductService\", \"ServingConfigService\", \"UserEventService\",", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudRetailV2alphaMerchantCenterAccountLink": { "description": "Represents a link between a Merchant Center account and a branch. After a link is established, products from the linked Merchant Center account are streamed to the linked branch.", "id": "GoogleCloudRetailV2alphaMerchantCenterAccountLink", diff --git a/DiscoveryJson/securitycenter_v1.json b/DiscoveryJson/securitycenter_v1.json index c0cfc46d603..6d95a28fc35 100644 --- a/DiscoveryJson/securitycenter_v1.json +++ b/DiscoveryJson/securitycenter_v1.json @@ -4750,7 +4750,7 @@ } } }, - "revision": "20231001", + "revision": "20231005", "rootUrl": "https://securitycenter.googleapis.com/", "schemas": { "Access": { @@ -6467,7 +6467,7 @@ "type": "object" }, "GoogleCloudSecuritycenterV1ResourceValueConfig": { - "description": "A resource value config is a mapping configuration of user's tag values to resource values. Used by the attack path simulation.", + "description": "A resource value config (RVC) is a mapping configuration of user's resources to resource values. Used in Attack path simulations.", "id": "GoogleCloudSecuritycenterV1ResourceValueConfig", "properties": { "createTime": { diff --git a/DiscoveryJson/securitycenter_v1beta1.json b/DiscoveryJson/securitycenter_v1beta1.json index 4ea16023c40..57c56822a0f 100644 --- a/DiscoveryJson/securitycenter_v1beta1.json +++ b/DiscoveryJson/securitycenter_v1beta1.json @@ -896,7 +896,7 @@ } } }, - "revision": "20231001", + "revision": "20231005", "rootUrl": "https://securitycenter.googleapis.com/", "schemas": { "Access": { @@ -2332,7 +2332,7 @@ "type": "object" }, "GoogleCloudSecuritycenterV1ResourceValueConfig": { - "description": "A resource value config is a mapping configuration of user's tag values to resource values. Used by the attack path simulation.", + "description": "A resource value config (RVC) is a mapping configuration of user's resources to resource values. Used in Attack path simulations.", "id": "GoogleCloudSecuritycenterV1ResourceValueConfig", "properties": { "createTime": { diff --git a/DiscoveryJson/securitycenter_v1beta2.json b/DiscoveryJson/securitycenter_v1beta2.json index 6f1b1c093ba..868154acb4b 100644 --- a/DiscoveryJson/securitycenter_v1beta2.json +++ b/DiscoveryJson/securitycenter_v1beta2.json @@ -1906,7 +1906,7 @@ } } }, - "revision": "20231001", + "revision": "20231005", "rootUrl": "https://securitycenter.googleapis.com/", "schemas": { "Access": { @@ -3326,7 +3326,7 @@ "type": "object" }, "GoogleCloudSecuritycenterV1ResourceValueConfig": { - "description": "A resource value config is a mapping configuration of user's tag values to resource values. Used by the attack path simulation.", + "description": "A resource value config (RVC) is a mapping configuration of user's resources to resource values. Used in Attack path simulations.", "id": "GoogleCloudSecuritycenterV1ResourceValueConfig", "properties": { "createTime": { diff --git a/DiscoveryJson/sqladmin_v1.json b/DiscoveryJson/sqladmin_v1.json index d3efae8b2d9..4543ad9d29b 100644 --- a/DiscoveryJson/sqladmin_v1.json +++ b/DiscoveryJson/sqladmin_v1.json @@ -1023,6 +1023,11 @@ "instance" ], "parameters": { + "failover": { + "description": "Set to true if the promote operation should attempt to re-add the original primary as a replica when it comes back online. Otherwise, if this value is false or not set, the original primary will be a standalone instance.", + "location": "query", + "type": "boolean" + }, "instance": { "description": "Cloud SQL read replica instance name.", "location": "path", @@ -1278,6 +1283,44 @@ "https://www.googleapis.com/auth/sqlservice.admin" ] }, + "switchover": { + "description": "Switches over from the primary instance to the replica instance.", + "flatPath": "v1/projects/{project}/instances/{instance}/switchover", + "httpMethod": "POST", + "id": "sql.instances.switchover", + "parameterOrder": [ + "project", + "instance" + ], + "parameters": { + "dbTimeout": { + "description": "Optional. (MySQL only) Cloud SQL instance operations timeout, which is a sum of all database operations. Default value is 10 minutes and can be modified to a maximum value of 24 hours.", + "format": "google-duration", + "location": "query", + "type": "string" + }, + "instance": { + "description": "Cloud SQL read replica instance name.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "ID of the project that contains the replica.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v1/projects/{project}/instances/{instance}/switchover", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/sqlservice.admin" + ] + }, "truncateLog": { "description": "Truncate MySQL general and slow query log tables MySQL only.", "flatPath": "v1/projects/{project}/instances/{instance}/truncateLog", @@ -2122,7 +2165,7 @@ } } }, - "revision": "20230913", + "revision": "20231011", "rootUrl": "https://sqladmin.googleapis.com/", "schemas": { "AclEntry": { @@ -3025,7 +3068,8 @@ "description": "This field represents the report generated by the proactive database wellness job for OutOfDisk issues. * Writers: * the proactive database wellness job for OOD. * Readers: * the proactive database wellness job" }, "primaryDnsName": { - "description": "Output only. The dns name of the primary instance in a replication group.", + "deprecated": true, + "description": "Output only. DEPRECATED: please use write_endpoint instead.", "readOnly": true, "type": "string" }, @@ -3139,6 +3183,11 @@ "type": "string" }, "type": "array" + }, + "writeEndpoint": { + "description": "Output only. The dns name of the primary instance in a replication group.", + "readOnly": true, + "type": "string" } }, "type": "object" @@ -4052,14 +4101,30 @@ "description": "PSC settings for this instance." }, "requireSsl": { - "description": "Whether SSL connections over IP are enforced or not.", + "description": "LINT.IfChange(require_ssl_deprecate) Whether SSL/TLS connections over IP are enforced or not. If set to false, allow both non-SSL/non-TLS and SSL/TLS connections. For SSL/TLS connections, the client certificate will not be verified. If set to true, only allow connections encrypted with SSL/TLS and with valid client certificates. If you want to enforce SSL/TLS without enforcing the requirement for valid client certificates, use the `ssl_mode` flag instead of the legacy `require_ssl` flag. LINT.ThenChange(//depot/google3/java/com/google/storage/speckle/boss/admin/actions/InstanceUpdateAction.java:update_api_temp_fix)", "type": "boolean" + }, + "sslMode": { + "description": "Specify how SSL/TLS will be enforced in database connections. This flag is only supported for PostgreSQL. Use the legacy `require_ssl` flag for enforcing SSL/TLS in MySQL and SQL Server. But, for PostgreSQL, it is recommended to use the `ssl_mode` flag instead of the legacy `require_ssl` flag. To avoid the conflict between those flags in PostgreSQL, only the following value pairs are valid: ssl_mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED, require_ssl=false; ssl_mode=ENCRYPTED_ONLY, require_ssl=false; ssl_mode=TRUSTED_CLIENT_CERTIFICATE_REQUIRED, require_ssl=true; Note that the value of `ssl_mode` gets priority over the value of the legacy `require_ssl`. For example, for the pair `ssl_mode=ENCRYPTED_ONLY, require_ssl=false`, the `ssl_mode=ENCRYPTED_ONLY` means \"only accepts SSL connection\", while the `require_ssl=false` means \"both non-SSL and SSL connections are allowed\". The database will respect `ssl_mode` in this case and only accept SSL connections.", + "enum": [ + "SSL_MODE_UNSPECIFIED", + "ALLOW_UNENCRYPTED_AND_ENCRYPTED", + "ENCRYPTED_ONLY", + "TRUSTED_CLIENT_CERTIFICATE_REQUIRED" + ], + "enumDescriptions": [ + "SSL mode is unknown.", + "Allow non-SSL/non-TLS and SSL/TLS connections. For SSL/TLS connections, the client certificate will not be verified. When this value is used, legacy `require_ssl` flag must be false or unset to avoid the conflict between values of two flags.", + "Only allow connections encrypted with SSL/TLS. When this value is used, legacy `require_ssl` flag must be false or unset to avoid the conflict between values of two flags.", + "Only allow connections encrypted with SSL/TLS and with valid client certificates. When this value is used, legacy `require_ssl` flag must be true or unset to avoid the conflict between values of two flags." + ], + "type": "string" } }, "type": "object" }, "IpMapping": { - "description": "Database instance IP Mapping.", + "description": "Database instance IP mapping", "id": "IpMapping", "properties": { "ipAddress": { @@ -4604,6 +4669,10 @@ ], "type": "string" }, + "disallowCompromisedCredentials": { + "description": "Disallow credentials that have been previously compromised by a public data breach.", + "type": "boolean" + }, "disallowUsernameSubstring": { "description": "Disallow username as a part of the password.", "type": "boolean" @@ -4647,7 +4716,7 @@ "id": "PscConfig", "properties": { "allowedConsumerProjects": { - "description": "List of consumer projects that are allow-listed for PSC connections to this instance. This instance can be connected to with PSC from any network in these projects. Each consumer project in this list may be represented by a project number (numeric) or by a project id (alphanumeric).", + "description": "Optional. The list of consumer projects that are allow-listed for PSC connections to this instance. This instance can be connected to with PSC from any network in these projects. Each consumer project in this list may be represented by a project number (numeric) or by a project id (alphanumeric).", "items": { "type": "string" }, @@ -4664,6 +4733,10 @@ "description": "Read-replica configuration for connecting to the primary instance.", "id": "ReplicaConfiguration", "properties": { + "cascadableReplica": { + "description": "Optional. Specifies if a SQL Server replica is a cascadable replica. A cascadable replica is a SQL Server cross region replica that supports replica(s) under it.", + "type": "boolean" + }, "failoverTarget": { "description": "Specifies if the replica is the failover target. If the field is set to `true`, the replica will be designated as a failover replica. In case the primary instance fails, the replica instance will be promoted as the new primary instance. Only one replica can be specified as failover target, and the replica has to be in different zone with the primary instance.", "type": "boolean" diff --git a/DiscoveryJson/sqladmin_v1beta4.json b/DiscoveryJson/sqladmin_v1beta4.json index 5c5c81e8a84..d7536426b82 100644 --- a/DiscoveryJson/sqladmin_v1beta4.json +++ b/DiscoveryJson/sqladmin_v1beta4.json @@ -753,7 +753,7 @@ ], "parameters": { "instance": { - "description": "Cloud SQL instance ID. This does not include the project ID.", + "description": "The Cloud SQL instance ID. This doesn't include the project ID.", "location": "path", "required": true, "type": "string" @@ -1023,6 +1023,11 @@ "instance" ], "parameters": { + "failover": { + "description": "Set to true if the promote operation should attempt to re-add the original primary as a replica when it comes back online. Otherwise, if this value is false or not set, the original primary will be a standalone instance.", + "location": "query", + "type": "boolean" + }, "instance": { "description": "Cloud SQL read replica instance name.", "location": "path", @@ -1278,6 +1283,44 @@ "https://www.googleapis.com/auth/sqlservice.admin" ] }, + "switchover": { + "description": "Switches over from the primary instance to a replica instance.", + "flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/switchover", + "httpMethod": "POST", + "id": "sql.instances.switchover", + "parameterOrder": [ + "project", + "instance" + ], + "parameters": { + "dbTimeout": { + "description": "Optional. (MySQL only) Cloud SQL instance operations timeout, which is a sum of all database operations. Default value is 10 minutes and can be modified to a maximum value of 24 hours.", + "format": "google-duration", + "location": "query", + "type": "string" + }, + "instance": { + "description": "Cloud SQL read replica instance name.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "ID of the project that contains the replica.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "sql/v1beta4/projects/{project}/instances/{instance}/switchover", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/sqlservice.admin" + ] + }, "truncateLog": { "description": "Truncate MySQL general and slow query log tables MySQL only.", "flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/truncateLog", @@ -2122,7 +2165,7 @@ } } }, - "revision": "20230913", + "revision": "20231011", "rootUrl": "https://sqladmin.googleapis.com/", "schemas": { "AclEntry": { @@ -3025,7 +3068,8 @@ "description": "This field represents the report generated by the proactive database wellness job for OutOfDisk issues. * Writers: * the proactive database wellness job for OOD. * Readers: * the proactive database wellness job" }, "primaryDnsName": { - "description": "Output only. The dns name of the primary instance in a replication group.", + "deprecated": true, + "description": "Output only. DEPRECATED: please use write_endpoint instead.", "readOnly": true, "type": "string" }, @@ -3139,6 +3183,11 @@ "type": "string" }, "type": "array" + }, + "writeEndpoint": { + "description": "Output only. The dns name of the primary instance in a replication group.", + "readOnly": true, + "type": "string" } }, "type": "object" @@ -4052,14 +4101,30 @@ "description": "PSC settings for this instance." }, "requireSsl": { - "description": "Whether SSL connections over IP are enforced or not.", + "description": "LINT.IfChange(require_ssl_deprecate) Whether SSL/TLS connections over IP are enforced or not. If set to false, allow both non-SSL/non-TLS and SSL/TLS connections. For SSL/TLS connections, the client certificate will not be verified. If set to true, only allow connections encrypted with SSL/TLS and with valid client certificates. If you want to enforce SSL/TLS without enforcing the requirement for valid client certificates, use the `ssl_mode` flag instead of the legacy `require_ssl` flag. LINT.ThenChange(//depot/google3/java/com/google/storage/speckle/boss/admin/actions/InstanceUpdateAction.java:update_api_temp_fix)", "type": "boolean" + }, + "sslMode": { + "description": "Specify how SSL/TLS will be enforced in database connections. This flag is only supported for PostgreSQL. Use the legacy `require_ssl` flag for enforcing SSL/TLS in MySQL and SQL Server. But, for PostgreSQL, it is recommended to use the `ssl_mode` flag instead of the legacy `require_ssl` flag. To avoid the conflict between those flags in PostgreSQL, only the following value pairs are valid: ssl_mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED, require_ssl=false; ssl_mode=ENCRYPTED_ONLY, require_ssl=false; ssl_mode=TRUSTED_CLIENT_CERTIFICATE_REQUIRED, require_ssl=true; Note that the value of `ssl_mode` gets priority over the value of the legacy `require_ssl`. For example, for the pair `ssl_mode=ENCRYPTED_ONLY, require_ssl=false`, the `ssl_mode=ENCRYPTED_ONLY` means \"only accepts SSL connection\", while the `require_ssl=false` means \"both non-SSL and SSL connections are allowed\". The database will respect `ssl_mode` in this case and only accept SSL connections.", + "enum": [ + "SSL_MODE_UNSPECIFIED", + "ALLOW_UNENCRYPTED_AND_ENCRYPTED", + "ENCRYPTED_ONLY", + "TRUSTED_CLIENT_CERTIFICATE_REQUIRED" + ], + "enumDescriptions": [ + "SSL mode is unknown.", + "Allow non-SSL/non-TLS and SSL/TLS connections. For SSL/TLS connections, the client certificate will not be verified. When this value is used, legacy `require_ssl` flag must be false or unset to avoid the conflict between values of two flags.", + "Only allow connections encrypted with SSL/TLS. When this value is used, legacy `require_ssl` flag must be false or unset to avoid the conflict between values of two flags.", + "Only allow connections encrypted with SSL/TLS and with valid client certificates. When this value is used, legacy `require_ssl` flag must be true or unset to avoid the conflict between values of two flags." + ], + "type": "string" } }, "type": "object" }, "IpMapping": { - "description": "Database instance IP Mapping.", + "description": "Database instance IP mapping", "id": "IpMapping", "properties": { "ipAddress": { @@ -4604,6 +4669,10 @@ ], "type": "string" }, + "disallowCompromisedCredentials": { + "description": "Disallow credentials that have been previously compromised by a public data breach.", + "type": "boolean" + }, "disallowUsernameSubstring": { "description": "Disallow username as a part of the password.", "type": "boolean" @@ -4647,7 +4716,7 @@ "id": "PscConfig", "properties": { "allowedConsumerProjects": { - "description": "List of consumer projects that are allow-listed for PSC connections to this instance. This instance can be connected to with PSC from any network in these projects. Each consumer project in this list may be represented by a project number (numeric) or by a project id (alphanumeric).", + "description": "Optional. The list of consumer projects that are allow-listed for PSC connections to this instance. This instance can be connected to with PSC from any network in these projects. Each consumer project in this list may be represented by a project number (numeric) or by a project id (alphanumeric).", "items": { "type": "string" }, @@ -4664,6 +4733,10 @@ "description": "Read-replica configuration for connecting to the primary instance.", "id": "ReplicaConfiguration", "properties": { + "cascadableReplica": { + "description": "Optional. Specifies if a SQL Server replica is a cascadable replica. A cascadable replica is a SQL Server cross region replica that supports replica(s) under it.", + "type": "boolean" + }, "failoverTarget": { "description": "Specifies if the replica is the failover target. If the field is set to `true` the replica will be designated as a failover replica. In case the primary instance fails, the replica instance will be promoted as the new primary instance. Only one replica can be specified as failover target, and the replica has to be in different zone with the primary instance.", "type": "boolean" diff --git a/DiscoveryJson/youtube_v3.json b/DiscoveryJson/youtube_v3.json index 8774b54fb11..2587011b42d 100644 --- a/DiscoveryJson/youtube_v3.json +++ b/DiscoveryJson/youtube_v3.json @@ -717,6 +717,11 @@ "location": "query", "type": "string" }, + "forHandle": { + "description": "Return the channel associated with a YouTube handle. UNIMPLEMENTED.", + "location": "query", + "type": "string" + }, "forUsername": { "description": "Return the channel associated with a YouTube username.", "location": "query", @@ -3847,7 +3852,7 @@ } } }, - "revision": "20230905", + "revision": "20231009", "rootUrl": "https://youtube.googleapis.com/", "schemas": { "AbuseReport": { diff --git a/EnumStorage/displayvideo_v3.json b/EnumStorage/displayvideo_v3.json new file mode 100644 index 00000000000..b2d0a60c0c4 --- /dev/null +++ b/EnumStorage/displayvideo_v3.json @@ -0,0 +1,1207 @@ +{ + "Google.Apis.DisplayVideo.v3.AdvertisersResource+AdGroupsResource+TargetingTypesResource+AssignedTargetingOptionsResource+GetRequest.TargetingTypeEnum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "Google.Apis.DisplayVideo.v3.AdvertisersResource+AdGroupsResource+TargetingTypesResource+AssignedTargetingOptionsResource+ListRequest.TargetingTypeEnum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "Google.Apis.DisplayVideo.v3.AdvertisersResource+AssetsResource+UploadMediaUpload.AltEnum": [ + "json", + "media", + "proto" + ], + "Google.Apis.DisplayVideo.v3.AdvertisersResource+AssetsResource+UploadMediaUpload.XgafvEnum": [ + "1", + "2" + ], + "Google.Apis.DisplayVideo.v3.AdvertisersResource+CampaignsResource+TargetingTypesResource+AssignedTargetingOptionsResource+GetRequest.TargetingTypeEnum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "Google.Apis.DisplayVideo.v3.AdvertisersResource+CampaignsResource+TargetingTypesResource+AssignedTargetingOptionsResource+ListRequest.TargetingTypeEnum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "Google.Apis.DisplayVideo.v3.AdvertisersResource+InsertionOrdersResource+TargetingTypesResource+AssignedTargetingOptionsResource+CreateRequest.TargetingTypeEnum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "Google.Apis.DisplayVideo.v3.AdvertisersResource+InsertionOrdersResource+TargetingTypesResource+AssignedTargetingOptionsResource+DeleteRequest.TargetingTypeEnum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "Google.Apis.DisplayVideo.v3.AdvertisersResource+InsertionOrdersResource+TargetingTypesResource+AssignedTargetingOptionsResource+GetRequest.TargetingTypeEnum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "Google.Apis.DisplayVideo.v3.AdvertisersResource+InsertionOrdersResource+TargetingTypesResource+AssignedTargetingOptionsResource+ListRequest.TargetingTypeEnum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "Google.Apis.DisplayVideo.v3.AdvertisersResource+InvoicesResource+ListRequest.LoiSapinInvoiceTypeEnum": [ + "LOI_SAPIN_INVOICE_TYPE_UNSPECIFIED", + "LOI_SAPIN_INVOICE_TYPE_MEDIA", + "LOI_SAPIN_INVOICE_TYPE_PLATFORM" + ], + "Google.Apis.DisplayVideo.v3.AdvertisersResource+LineItemsResource+TargetingTypesResource+AssignedTargetingOptionsResource+CreateRequest.TargetingTypeEnum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "Google.Apis.DisplayVideo.v3.AdvertisersResource+LineItemsResource+TargetingTypesResource+AssignedTargetingOptionsResource+DeleteRequest.TargetingTypeEnum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "Google.Apis.DisplayVideo.v3.AdvertisersResource+LineItemsResource+TargetingTypesResource+AssignedTargetingOptionsResource+GetRequest.TargetingTypeEnum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "Google.Apis.DisplayVideo.v3.AdvertisersResource+LineItemsResource+TargetingTypesResource+AssignedTargetingOptionsResource+ListRequest.TargetingTypeEnum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "Google.Apis.DisplayVideo.v3.AdvertisersResource+TargetingTypesResource+AssignedTargetingOptionsResource+CreateRequest.TargetingTypeEnum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "Google.Apis.DisplayVideo.v3.AdvertisersResource+TargetingTypesResource+AssignedTargetingOptionsResource+DeleteRequest.TargetingTypeEnum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "Google.Apis.DisplayVideo.v3.AdvertisersResource+TargetingTypesResource+AssignedTargetingOptionsResource+GetRequest.TargetingTypeEnum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "Google.Apis.DisplayVideo.v3.AdvertisersResource+TargetingTypesResource+AssignedTargetingOptionsResource+ListRequest.TargetingTypeEnum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "Google.Apis.DisplayVideo.v3.DisplayVideoBaseServiceRequest<>.AltEnum": [ + "json", + "media", + "proto" + ], + "Google.Apis.DisplayVideo.v3.DisplayVideoBaseServiceRequest<>.XgafvEnum": [ + "1", + "2" + ], + "Google.Apis.DisplayVideo.v3.MediaResource+UploadMediaUpload.AltEnum": [ + "json", + "media", + "proto" + ], + "Google.Apis.DisplayVideo.v3.MediaResource+UploadMediaUpload.XgafvEnum": [ + "1", + "2" + ], + "Google.Apis.DisplayVideo.v3.PartnersResource+TargetingTypesResource+AssignedTargetingOptionsResource+CreateRequest.TargetingTypeEnum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "Google.Apis.DisplayVideo.v3.PartnersResource+TargetingTypesResource+AssignedTargetingOptionsResource+DeleteRequest.TargetingTypeEnum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "Google.Apis.DisplayVideo.v3.PartnersResource+TargetingTypesResource+AssignedTargetingOptionsResource+GetRequest.TargetingTypeEnum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "Google.Apis.DisplayVideo.v3.PartnersResource+TargetingTypesResource+AssignedTargetingOptionsResource+ListRequest.TargetingTypeEnum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "Google.Apis.DisplayVideo.v3.TargetingTypesResource+TargetingOptionsResource+GetRequest.TargetingTypeEnum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "Google.Apis.DisplayVideo.v3.TargetingTypesResource+TargetingOptionsResource+ListRequest.TargetingTypeEnum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ], + "Google.Apis.DisplayVideo.v3.TargetingTypesResource+TargetingOptionsResource+SearchRequest.TargetingTypeEnum": [ + "TARGETING_TYPE_UNSPECIFIED", + "TARGETING_TYPE_CHANNEL", + "TARGETING_TYPE_APP_CATEGORY", + "TARGETING_TYPE_APP", + "TARGETING_TYPE_URL", + "TARGETING_TYPE_DAY_AND_TIME", + "TARGETING_TYPE_AGE_RANGE", + "TARGETING_TYPE_REGIONAL_LOCATION_LIST", + "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", + "TARGETING_TYPE_GENDER", + "TARGETING_TYPE_VIDEO_PLAYER_SIZE", + "TARGETING_TYPE_USER_REWARDED_CONTENT", + "TARGETING_TYPE_PARENTAL_STATUS", + "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", + "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", + "TARGETING_TYPE_DEVICE_TYPE", + "TARGETING_TYPE_AUDIENCE_GROUP", + "TARGETING_TYPE_BROWSER", + "TARGETING_TYPE_HOUSEHOLD_INCOME", + "TARGETING_TYPE_ON_SCREEN_POSITION", + "TARGETING_TYPE_THIRD_PARTY_VERIFIER", + "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", + "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", + "TARGETING_TYPE_ENVIRONMENT", + "TARGETING_TYPE_CARRIER_AND_ISP", + "TARGETING_TYPE_OPERATING_SYSTEM", + "TARGETING_TYPE_DEVICE_MAKE_MODEL", + "TARGETING_TYPE_KEYWORD", + "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", + "TARGETING_TYPE_VIEWABILITY", + "TARGETING_TYPE_CATEGORY", + "TARGETING_TYPE_INVENTORY_SOURCE", + "TARGETING_TYPE_LANGUAGE", + "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", + "TARGETING_TYPE_GEO_REGION", + "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", + "TARGETING_TYPE_EXCHANGE", + "TARGETING_TYPE_SUB_EXCHANGE", + "TARGETING_TYPE_POI", + "TARGETING_TYPE_BUSINESS_CHAIN", + "TARGETING_TYPE_CONTENT_DURATION", + "TARGETING_TYPE_CONTENT_STREAM_TYPE", + "TARGETING_TYPE_NATIVE_CONTENT_POSITION", + "TARGETING_TYPE_OMID", + "TARGETING_TYPE_AUDIO_CONTENT_TYPE", + "TARGETING_TYPE_CONTENT_GENRE", + "TARGETING_TYPE_YOUTUBE_VIDEO", + "TARGETING_TYPE_YOUTUBE_CHANNEL", + "TARGETING_TYPE_SESSION_POSITION" + ] +} \ No newline at end of file diff --git a/Src/Generated/Google.Apis.AccessContextManager.v1/Google.Apis.AccessContextManager.v1.cs b/Src/Generated/Google.Apis.AccessContextManager.v1/Google.Apis.AccessContextManager.v1.cs index 9842af9d9bf..c28d2046142 100644 --- a/Src/Generated/Google.Apis.AccessContextManager.v1/Google.Apis.AccessContextManager.v1.cs +++ b/Src/Generated/Google.Apis.AccessContextManager.v1/Google.Apis.AccessContextManager.v1.cs @@ -3571,10 +3571,7 @@ public class GcpUserAccessBinding : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } - /// - /// Currently, a completed operation means nothing. In the future, this metadata and a completed operation may - /// indicate that the binding has taken effect and is affecting access decisions for all users. - /// + /// Metadata of GCP Access Binding Long Running Operations. public class GcpUserAccessBindingOperationMetadata : Google.Apis.Requests.IDirectResponseSchema { /// The ETag of the item. diff --git a/Src/Generated/Google.Apis.AccessContextManager.v1/Google.Apis.AccessContextManager.v1.csproj b/Src/Generated/Google.Apis.AccessContextManager.v1/Google.Apis.AccessContextManager.v1.csproj index f4e08583b2f..420974b86f9 100644 --- a/Src/Generated/Google.Apis.AccessContextManager.v1/Google.Apis.AccessContextManager.v1.csproj +++ b/Src/Generated/Google.Apis.AccessContextManager.v1/Google.Apis.AccessContextManager.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.AccessContextManager.v1 Client Library - 1.62.0.3174 + 1.62.1.3205 Google LLC Copyright 2023 Google LLC Google @@ -57,8 +57,8 @@ - - + + diff --git a/Src/Generated/Google.Apis.Admin.Directory.directory_v1/Google.Apis.Admin.Directory.directory_v1.cs b/Src/Generated/Google.Apis.Admin.Directory.directory_v1/Google.Apis.Admin.Directory.directory_v1.cs index 01f3dd7fc83..2b89f4030d0 100644 --- a/Src/Generated/Google.Apis.Admin.Directory.directory_v1/Google.Apis.Admin.Directory.directory_v1.cs +++ b/Src/Generated/Google.Apis.Admin.Directory.directory_v1/Google.Apis.Admin.Directory.directory_v1.cs @@ -12781,9 +12781,9 @@ public class OrgUnit : Google.Apis.Requests.IDirectResponseSchema /// /// Determines if a sub-organizational unit can inherit the settings of the parent organization. The default /// value is `false`, meaning a sub-organizational unit inherits the settings of the nearest parent - /// organizational unit. We recommend using the default value because setting `block_inheritance` to `true` can - /// have _unintended consequences_. For more information about inheritance and users in an organization - /// structure, see the [administration help center](https://support.google.com/a/answer/4352075). + /// organizational unit. This field is deprecated. Setting it to `true` is no longer supported and can have + /// _unintended consequences_. For more information about inheritance and users in an organization structure, + /// see the [administration help center](https://support.google.com/a/answer/4352075). /// [Newtonsoft.Json.JsonPropertyAttribute("blockInheritance")] public virtual System.Nullable BlockInheritance { get; set; } diff --git a/Src/Generated/Google.Apis.Admin.Directory.directory_v1/Google.Apis.Admin.Directory.directory_v1.csproj b/Src/Generated/Google.Apis.Admin.Directory.directory_v1/Google.Apis.Admin.Directory.directory_v1.csproj index 01c9366dd7d..c8e2e3029a0 100644 --- a/Src/Generated/Google.Apis.Admin.Directory.directory_v1/Google.Apis.Admin.Directory.directory_v1.csproj +++ b/Src/Generated/Google.Apis.Admin.Directory.directory_v1/Google.Apis.Admin.Directory.directory_v1.csproj @@ -3,7 +3,7 @@ Google.Apis.Admin.Directory.directory_v1 Client Library - 1.62.0.3182 + 1.62.1.3199 Google LLC Copyright 2023 Google LLC Google @@ -57,8 +57,8 @@ - - + + diff --git a/Src/Generated/Google.Apis.Adsense.v2/Google.Apis.Adsense.v2.cs b/Src/Generated/Google.Apis.Adsense.v2/Google.Apis.Adsense.v2.cs index c717447b3c8..22614152494 100644 --- a/Src/Generated/Google.Apis.Adsense.v2/Google.Apis.Adsense.v2.cs +++ b/Src/Generated/Google.Apis.Adsense.v2/Google.Apis.Adsense.v2.cs @@ -275,6 +275,7 @@ public AccountsResource(Google.Apis.Services.IClientService service) Adclients = new AdclientsResource(service); Alerts = new AlertsResource(service); Payments = new PaymentsResource(service); + PolicyIssues = new PolicyIssuesResource(service); Reports = new ReportsResource(service); Sites = new SitesResource(service); } @@ -1668,6 +1669,154 @@ protected override void InitParameters() } } + /// Gets the PolicyIssues resource. + public virtual PolicyIssuesResource PolicyIssues { get; } + + /// The "policyIssues" collection of methods. + public class PolicyIssuesResource + { + private const string Resource = "policyIssues"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public PolicyIssuesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Gets information about the selected policy issue. + /// + /// Required. Name of the policy issue. Format: accounts/{account}/policyIssues/{policy_issue} + /// + public virtual GetRequest Get(string name) + { + return new GetRequest(service, name); + } + + /// Gets information about the selected policy issue. + public class GetRequest : AdsenseBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// + /// Required. Name of the policy issue. Format: accounts/{account}/policyIssues/{policy_issue} + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v2/{+name}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^accounts/[^/]+/policyIssues/[^/]+$", + }); + } + } + + /// Lists all the policy issues for the specified account. + /// + /// Required. The account for which policy issues are being retrieved. Format: accounts/{account} + /// + public virtual ListRequest List(string parent) + { + return new ListRequest(service, parent); + } + + /// Lists all the policy issues for the specified account. + public class ListRequest : AdsenseBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, string parent) : base(service) + { + Parent = parent; + InitParameters(); + } + + /// + /// Required. The account for which policy issues are being retrieved. Format: accounts/{account} + /// + [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Parent { get; private set; } + + /// + /// The maximum number of policy issues to include in the response, used for paging. If unspecified, at + /// most 10000 policy issues will be returned. The maximum value is 10000; values above 10000 will be + /// coerced to 10000. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A page token, received from a previous `ListPolicyIssues` call. Provide this to retrieve the + /// subsequent page. When paginating, all other parameters provided to `ListPolicyIssues` must match the + /// call that provided the page token. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v2/{+parent}/policyIssues"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("parent", new Google.Apis.Discovery.Parameter + { + Name = "parent", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^accounts/[^/]+$", + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + /// Gets the Reports resource. public virtual ReportsResource Reports { get; } @@ -4933,6 +5082,28 @@ public class ListPaymentsResponse : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// + /// Response definition for the policy issues list rpc. Policy issues are reported only if the publisher has at + /// least one AFC ad client in READY or GETTING_READY state. If the publisher has no such AFC ad client, the + /// response will be an empty list. + /// + public class ListPolicyIssuesResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Continuation token used to page through policy issues. To retrieve the next page of the results, set the + /// next request's "page_token" value to this. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The policy issues returned in the list response. + [Newtonsoft.Json.JsonPropertyAttribute("policyIssues")] + public virtual System.Collections.Generic.IList PolicyIssues { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Response definition for the saved reports list rpc. public class ListSavedReportsResponse : Google.Apis.Requests.IDirectResponseSchema { @@ -5022,6 +5193,119 @@ public class Payment : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// + /// Representation of a policy issue for a single entity (site, site-section, or page). All issues for a single + /// entity are represented by a single PolicyIssue resource, though that PolicyIssue can have multiple causes (or + /// "topics") that can change over time. Policy issues are removed if there are no issues detected recently or if + /// there's a recent successful appeal for the entity. + /// + public class PolicyIssue : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. The most severe action taken on the entity over the past seven days. + [Newtonsoft.Json.JsonPropertyAttribute("action")] + public virtual string Action { get; set; } + + /// + /// Optional. List of ad clients associated with the policy issue (either as the primary ad client or an + /// associated host/secondary ad client). In the latter case, this will be an ad client that is not owned by the + /// current account. + /// + [Newtonsoft.Json.JsonPropertyAttribute("adClients")] + public virtual System.Collections.Generic.IList AdClients { get; set; } + + /// + /// Required. Total number of ad requests affected by the policy violations over the past seven days. + /// + [Newtonsoft.Json.JsonPropertyAttribute("adRequestCount")] + public virtual System.Nullable AdRequestCount { get; set; } + + /// Required. Type of the entity indicating if the entity is a site, site-section, or page. + [Newtonsoft.Json.JsonPropertyAttribute("entityType")] + public virtual string EntityType { get; set; } + + /// + /// Required. The date (in the America/Los_Angeles timezone) when policy violations were first detected on the + /// entity. + /// + [Newtonsoft.Json.JsonPropertyAttribute("firstDetectedDate")] + public virtual Date FirstDetectedDate { get; set; } + + /// + /// Required. The date (in the America/Los_Angeles timezone) when policy violations were last detected on the + /// entity. + /// + [Newtonsoft.Json.JsonPropertyAttribute("lastDetectedDate")] + public virtual Date LastDetectedDate { get; set; } + + /// + /// Required. Resource name of the entity with policy issues. Format: + /// accounts/{account}/policyIssues/{policy_issue} + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// + /// Required. Unordered list. The policy topics that this entity was found to violate over the past seven days. + /// + [Newtonsoft.Json.JsonPropertyAttribute("policyTopics")] + public virtual System.Collections.Generic.IList PolicyTopics { get; set; } + + /// + /// Required. Hostname/domain of the entity (for example "foo.com" or "www.foo.com"). This _should_ be a bare + /// domain/host name without any protocol. This will be present for all policy issues. + /// + [Newtonsoft.Json.JsonPropertyAttribute("site")] + public virtual string Site { get; set; } + + /// + /// Optional. Prefix of the site-section having policy issues (For example "foo.com/bar-section"). This will be + /// present if the `entity_type` is `SITE_SECTION` and will be absent for other entity types. + /// + [Newtonsoft.Json.JsonPropertyAttribute("siteSection")] + public virtual string SiteSection { get; set; } + + /// + /// Optional. URI of the page having policy violations (for example "foo.com/bar" or "www.foo.com/bar"). This + /// will be present if the `entity_type` is `PAGE` and will be absent for other entity types. + /// + [Newtonsoft.Json.JsonPropertyAttribute("uri")] + public virtual string Uri { get; set; } + + /// + /// Optional. The date (in the America/Los_Angeles timezone) when the entity will have ad serving demand + /// restricted or ad serving disabled. This is present only for issues with a `WARNED` enforcement action. See + /// https://support.google.com/adsense/answer/11066888. + /// + [Newtonsoft.Json.JsonPropertyAttribute("warningEscalationDate")] + public virtual Date WarningEscalationDate { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Information about a particular policy topic. A policy topic represents a single class of policy issue that can + /// impact ad serving for your site. For example, sexual content or having ads that obscure your content. A single + /// policy issue can have multiple policy topics for a single entity. + /// + public class PolicyTopic : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Required. Indicates if this is a policy violation or not. When the value is true, issues that are instances + /// of this topic must be addressed to remain in compliance with the partner's agreements with Google. A false + /// value indicates that it's not mandatory to fix the issues but advertising demand might be restricted. + /// + [Newtonsoft.Json.JsonPropertyAttribute("mustFix")] + public virtual System.Nullable MustFix { get; set; } + + /// Required. The policy topic. For example, "sexual-content" or "ads-obscuring-content"." + [Newtonsoft.Json.JsonPropertyAttribute("topic")] + public virtual string Topic { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Result of a generated report. public class ReportResult : Google.Apis.Requests.IDirectResponseSchema { diff --git a/Src/Generated/Google.Apis.Adsense.v2/Google.Apis.Adsense.v2.csproj b/Src/Generated/Google.Apis.Adsense.v2/Google.Apis.Adsense.v2.csproj index c1813fd7e0e..a048f03cc59 100644 --- a/Src/Generated/Google.Apis.Adsense.v2/Google.Apis.Adsense.v2.csproj +++ b/Src/Generated/Google.Apis.Adsense.v2/Google.Apis.Adsense.v2.csproj @@ -3,7 +3,7 @@ Google.Apis.Adsense.v2 Client Library - 1.62.0.3106 + 1.62.1.3205 Google LLC Copyright 2023 Google LLC Google @@ -57,8 +57,8 @@ - - + + diff --git a/Src/Generated/Google.Apis.Aiplatform.v1/Google.Apis.Aiplatform.v1.cs b/Src/Generated/Google.Apis.Aiplatform.v1/Google.Apis.Aiplatform.v1.cs index 218a00f4b04..129df896b0b 100644 --- a/Src/Generated/Google.Apis.Aiplatform.v1/Google.Apis.Aiplatform.v1.cs +++ b/Src/Generated/Google.Apis.Aiplatform.v1/Google.Apis.Aiplatform.v1.cs @@ -34685,10 +34685,6 @@ public class GoogleCloudAiplatformV1ExportDataConfig : Google.Apis.Requests.IDir [Newtonsoft.Json.JsonPropertyAttribute("annotationsFilter")] public virtual string AnnotationsFilter { get; set; } - /// Split based on the provided filters for each set. - [Newtonsoft.Json.JsonPropertyAttribute("filterSplit")] - public virtual GoogleCloudAiplatformV1ExportFilterSplit FilterSplit { get; set; } - /// Split based on fractions defining the size of each set. [Newtonsoft.Json.JsonPropertyAttribute("fractionSplit")] public virtual GoogleCloudAiplatformV1ExportFractionSplit FractionSplit { get; set; } @@ -34971,45 +34967,6 @@ public class GoogleCloudAiplatformV1ExportFeatureValuesResponse : Google.Apis.Re public virtual string ETag { get; set; } } - /// - /// Assigns input data to training, validation, and test sets based on the given filters, data pieces not matched by - /// any filter are ignored. Currently only supported for Datasets containing DataItems. If any of the filters in - /// this message are to match nothing, then they can be set as '-' (the minus sign). Supported only for unstructured - /// Datasets. - /// - public class GoogleCloudAiplatformV1ExportFilterSplit : Google.Apis.Requests.IDirectResponseSchema - { - /// - /// Required. A filter on DataItems of the Dataset. DataItems that match this filter are used to test the Model. - /// A filter with same syntax as the one used in DatasetService.ListDataItems may be used. If a single DataItem - /// is matched by more than one of the FilterSplit filters, then it is assigned to the first set that applies to - /// it in the training, validation, test order. - /// - [Newtonsoft.Json.JsonPropertyAttribute("testFilter")] - public virtual string TestFilter { get; set; } - - /// - /// Required. A filter on DataItems of the Dataset. DataItems that match this filter are used to train the - /// Model. A filter with same syntax as the one used in DatasetService.ListDataItems may be used. If a single - /// DataItem is matched by more than one of the FilterSplit filters, then it is assigned to the first set that - /// applies to it in the training, validation, test order. - /// - [Newtonsoft.Json.JsonPropertyAttribute("trainingFilter")] - public virtual string TrainingFilter { get; set; } - - /// - /// Required. A filter on DataItems of the Dataset. DataItems that match this filter are used to validate the - /// Model. A filter with same syntax as the one used in DatasetService.ListDataItems may be used. If a single - /// DataItem is matched by more than one of the FilterSplit filters, then it is assigned to the first set that - /// applies to it in the training, validation, test order. - /// - [Newtonsoft.Json.JsonPropertyAttribute("validationFilter")] - public virtual string ValidationFilter { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - /// /// Assigns the input data to training, validation, and test sets as per the given fractions. Any of /// `training_fraction`, `validation_fraction` and `test_fraction` may optionally be provided, they must sum to up @@ -38084,6 +38041,13 @@ public class GoogleCloudAiplatformV1MachineSpec : Google.Apis.Requests.IDirectRe [Newtonsoft.Json.JsonPropertyAttribute("machineType")] public virtual string MachineType { get; set; } + /// + /// Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: + /// tpu_topology: "2x2x1"). + /// + [Newtonsoft.Json.JsonPropertyAttribute("tpuTopology")] + public virtual string TpuTopology { get; set; } + /// The ETag of the item. public virtual string ETag { get; set; } } diff --git a/Src/Generated/Google.Apis.Aiplatform.v1/Google.Apis.Aiplatform.v1.csproj b/Src/Generated/Google.Apis.Aiplatform.v1/Google.Apis.Aiplatform.v1.csproj index 9dcd3d96c89..ab30b6233ed 100644 --- a/Src/Generated/Google.Apis.Aiplatform.v1/Google.Apis.Aiplatform.v1.csproj +++ b/Src/Generated/Google.Apis.Aiplatform.v1/Google.Apis.Aiplatform.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.Aiplatform.v1 Client Library - 1.62.1.3193 + 1.62.1.3196 Google LLC Copyright 2023 Google LLC Google diff --git a/Src/Generated/Google.Apis.Aiplatform.v1beta1/Google.Apis.Aiplatform.v1beta1.cs b/Src/Generated/Google.Apis.Aiplatform.v1beta1/Google.Apis.Aiplatform.v1beta1.cs index 0b67b3b2bd7..6bb436c5e0e 100644 --- a/Src/Generated/Google.Apis.Aiplatform.v1beta1/Google.Apis.Aiplatform.v1beta1.cs +++ b/Src/Generated/Google.Apis.Aiplatform.v1beta1/Google.Apis.Aiplatform.v1beta1.cs @@ -42133,10 +42133,6 @@ public class GoogleCloudAiplatformV1beta1ExportDataConfig : Google.Apis.Requests [Newtonsoft.Json.JsonPropertyAttribute("annotationsFilter")] public virtual string AnnotationsFilter { get; set; } - /// Split based on the provided filters for each set. - [Newtonsoft.Json.JsonPropertyAttribute("filterSplit")] - public virtual GoogleCloudAiplatformV1beta1ExportFilterSplit FilterSplit { get; set; } - /// Split based on fractions defining the size of each set. [Newtonsoft.Json.JsonPropertyAttribute("fractionSplit")] public virtual GoogleCloudAiplatformV1beta1ExportFractionSplit FractionSplit { get; set; } @@ -42454,45 +42450,6 @@ public class GoogleCloudAiplatformV1beta1ExportFeatureValuesResponse : Google.Ap public virtual string ETag { get; set; } } - /// - /// Assigns input data to training, validation, and test sets based on the given filters, data pieces not matched by - /// any filter are ignored. Currently only supported for Datasets containing DataItems. If any of the filters in - /// this message are to match nothing, then they can be set as '-' (the minus sign). Supported only for unstructured - /// Datasets. - /// - public class GoogleCloudAiplatformV1beta1ExportFilterSplit : Google.Apis.Requests.IDirectResponseSchema - { - /// - /// Required. A filter on DataItems of the Dataset. DataItems that match this filter are used to test the Model. - /// A filter with same syntax as the one used in DatasetService.ListDataItems may be used. If a single DataItem - /// is matched by more than one of the FilterSplit filters, then it is assigned to the first set that applies to - /// it in the training, validation, test order. - /// - [Newtonsoft.Json.JsonPropertyAttribute("testFilter")] - public virtual string TestFilter { get; set; } - - /// - /// Required. A filter on DataItems of the Dataset. DataItems that match this filter are used to train the - /// Model. A filter with same syntax as the one used in DatasetService.ListDataItems may be used. If a single - /// DataItem is matched by more than one of the FilterSplit filters, then it is assigned to the first set that - /// applies to it in the training, validation, test order. - /// - [Newtonsoft.Json.JsonPropertyAttribute("trainingFilter")] - public virtual string TrainingFilter { get; set; } - - /// - /// Required. A filter on DataItems of the Dataset. DataItems that match this filter are used to validate the - /// Model. A filter with same syntax as the one used in DatasetService.ListDataItems may be used. If a single - /// DataItem is matched by more than one of the FilterSplit filters, then it is assigned to the first set that - /// applies to it in the training, validation, test order. - /// - [Newtonsoft.Json.JsonPropertyAttribute("validationFilter")] - public virtual string ValidationFilter { get; set; } - - /// The ETag of the item. - public virtual string ETag { get; set; } - } - /// /// Assigns the input data to training, validation, and test sets as per the given fractions. Any of /// `training_fraction`, `validation_fraction` and `test_fraction` may optionally be provided, they must sum to up @@ -42804,7 +42761,11 @@ public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset /// Vertex AI Feature Group. public class GoogleCloudAiplatformV1beta1FeatureGroup : Google.Apis.Requests.IDirectResponseSchema { - /// Indicates that features for this group come from BigQuery. + /// + /// Indicates that features for this group come from BigQuery Table/View. By default treats the source as a + /// sparse time series source, which is required to have an entity_id and a feature_timestamp column in the + /// source. + /// [Newtonsoft.Json.JsonPropertyAttribute("bigQuery")] public virtual GoogleCloudAiplatformV1beta1FeatureGroupBigQuery BigQuery { get; set; } @@ -43600,7 +43561,7 @@ public class GoogleCloudAiplatformV1beta1FeatureViewBigQuerySource : Google.Apis public virtual System.Collections.Generic.IList EntityIdColumns { get; set; } /// - /// Required. The Bigquery View URI that will be materialized on each sync trigger based on + /// Required. The BigQuery view URI that will be materialized on each sync trigger based on /// FeatureView.SyncConfig. /// [Newtonsoft.Json.JsonPropertyAttribute("uri")] @@ -46487,6 +46448,13 @@ public class GoogleCloudAiplatformV1beta1MachineSpec : Google.Apis.Requests.IDir [Newtonsoft.Json.JsonPropertyAttribute("machineType")] public virtual string MachineType { get; set; } + /// + /// Immutable. The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: + /// tpu_topology: "2x2x1"). + /// + [Newtonsoft.Json.JsonPropertyAttribute("tpuTopology")] + public virtual string TpuTopology { get; set; } + /// The ETag of the item. public virtual string ETag { get; set; } } diff --git a/Src/Generated/Google.Apis.Aiplatform.v1beta1/Google.Apis.Aiplatform.v1beta1.csproj b/Src/Generated/Google.Apis.Aiplatform.v1beta1/Google.Apis.Aiplatform.v1beta1.csproj index f737fbc0907..459a36c509b 100644 --- a/Src/Generated/Google.Apis.Aiplatform.v1beta1/Google.Apis.Aiplatform.v1beta1.csproj +++ b/Src/Generated/Google.Apis.Aiplatform.v1beta1/Google.Apis.Aiplatform.v1beta1.csproj @@ -3,7 +3,7 @@ Google.Apis.Aiplatform.v1beta1 Client Library - 1.62.1.3193 + 1.62.1.3196 Google LLC Copyright 2023 Google LLC Google diff --git a/Src/Generated/Google.Apis.AndroidManagement.v1/Google.Apis.AndroidManagement.v1.cs b/Src/Generated/Google.Apis.AndroidManagement.v1/Google.Apis.AndroidManagement.v1.cs index 64ec2e7ea0c..2a274ca9e49 100644 --- a/Src/Generated/Google.Apis.AndroidManagement.v1/Google.Apis.AndroidManagement.v1.cs +++ b/Src/Generated/Google.Apis.AndroidManagement.v1/Google.Apis.AndroidManagement.v1.cs @@ -5666,7 +5666,13 @@ public class PersonalUsagePolicies : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("cameraDisabled")] public virtual System.Nullable CameraDisabled { get; set; } - /// Controls how long the work profile can stay off. The duration must be at least 3 days. + /// + /// Controls how long the work profile can stay off. The minimum duration must be at least 3 days. Other details + /// are as follows: - If the duration is set to 0, the feature is turned off. - If the duration is set to any + /// value between 1-2 days, the feature is automatically set to 3 days. *Note:* If you want to avoid personal + /// profiles being suspended during long periods of off-time, you can temporarily set a large value for this + /// parameter. + /// [Newtonsoft.Json.JsonPropertyAttribute("maxDaysWithWorkOff")] public virtual System.Nullable MaxDaysWithWorkOff { get; set; } @@ -6440,16 +6446,16 @@ public class SetupAction : Google.Apis.Requests.IDirectResponseSchema /// /// A resource containing sign in details for an enterprise. Use enterprises to manage SigninDetails for a given - /// enterprise. For an enterprise, we can have any number of SigninDetails that is uniquely identified by - /// combination of the following three fields (signin_url, allow_personal_usage, token_tag). One cannot create two - /// SigninDetails with the same (signin_url, allow_personal_usage, token_tag). (token_tag is an optional field) - /// Patch: The operation updates the current list of SigninDetails with the new list of SigninDetails. If the stored + /// enterprise.For an enterprise, we can have any number of SigninDetails that is uniquely identified by combination + /// of the following three fields (signin_url, allow_personal_usage, token_tag). One cannot create two SigninDetails + /// with the same (signin_url, allow_personal_usage, token_tag). (token_tag is an optional field).Patch: The + /// operation updates the current list of SigninDetails with the new list of SigninDetails. If the stored /// SigninDetail configuration is passed, it returns the same signin_enrollment_token and qr_code. If we pass /// multiple identical SigninDetail configurations that are not stored, it will store the first one amongst those - /// SigninDetail configurations and if the configuration already exists we cannot request it more than once in a + /// SigninDetail configurations. if the configuration already exists we cannot request it more than once in a /// particular patch API call, otherwise it will give a duplicate key error and the whole operation will fail. If we - /// remove certain SigninDetail configuration from the request then it will get removed from the storage. And then - /// we can request for another signin_enrollment_token and qr_code for the same SigninDetail configuration. + /// remove certain SigninDetail configuration from the request then it will get removed from the storage. We can + /// then request another signin_enrollment_token and qr_code for the same SigninDetail configuration. /// public class SigninDetail : Google.Apis.Requests.IDirectResponseSchema { @@ -6489,7 +6495,7 @@ public class SigninDetail : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("signinUrl")] public virtual string SigninUrl { get; set; } - /// An EMM-specified tag to distinguish between instances of SigninDetail. + /// An EMM-specified metadata to distinguish between instances of SigninDetail. [Newtonsoft.Json.JsonPropertyAttribute("tokenTag")] public virtual string TokenTag { get; set; } diff --git a/Src/Generated/Google.Apis.AndroidManagement.v1/Google.Apis.AndroidManagement.v1.csproj b/Src/Generated/Google.Apis.AndroidManagement.v1/Google.Apis.AndroidManagement.v1.csproj index a2dc3710d6d..37eb8203b24 100644 --- a/Src/Generated/Google.Apis.AndroidManagement.v1/Google.Apis.AndroidManagement.v1.csproj +++ b/Src/Generated/Google.Apis.AndroidManagement.v1/Google.Apis.AndroidManagement.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.AndroidManagement.v1 Client Library - 1.62.1.3198 + 1.62.1.3196 Google LLC Copyright 2023 Google LLC Google diff --git a/Src/Generated/Google.Apis.AndroidPublisher.v3/Google.Apis.AndroidPublisher.v3.cs b/Src/Generated/Google.Apis.AndroidPublisher.v3/Google.Apis.AndroidPublisher.v3.cs index 72b9bbc4b97..d1e55325694 100644 --- a/Src/Generated/Google.Apis.AndroidPublisher.v3/Google.Apis.AndroidPublisher.v3.cs +++ b/Src/Generated/Google.Apis.AndroidPublisher.v3/Google.Apis.AndroidPublisher.v3.cs @@ -13023,7 +13023,8 @@ public class SubscriptionItemPriceChangeDetails : Google.Apis.Requests.IDirectRe /// /// The renewal time at which the price change will become effective for the user. This is subject to change(to - /// a future time) due to cases where the renewal time shifts like pause. + /// a future time) due to cases where the renewal time shifts like pause. This field is only populated if the + /// price change has not taken effect. /// [Newtonsoft.Json.JsonPropertyAttribute("expectedNewPriceChargeTime")] public virtual string ExpectedNewPriceChargeTimeRaw diff --git a/Src/Generated/Google.Apis.AndroidPublisher.v3/Google.Apis.AndroidPublisher.v3.csproj b/Src/Generated/Google.Apis.AndroidPublisher.v3/Google.Apis.AndroidPublisher.v3.csproj index 2de9842d00d..11518259407 100644 --- a/Src/Generated/Google.Apis.AndroidPublisher.v3/Google.Apis.AndroidPublisher.v3.csproj +++ b/Src/Generated/Google.Apis.AndroidPublisher.v3/Google.Apis.AndroidPublisher.v3.csproj @@ -3,7 +3,7 @@ Google.Apis.AndroidPublisher.v3 Client Library - 1.62.1.3197 + 1.62.1.3204 Google LLC Copyright 2023 Google LLC Google diff --git a/Src/Generated/Google.Apis.BackupforGKE.v1/Google.Apis.BackupforGKE.v1.cs b/Src/Generated/Google.Apis.BackupforGKE.v1/Google.Apis.BackupforGKE.v1.cs index 5a1fde59399..c55b9fee0e7 100644 --- a/Src/Generated/Google.Apis.BackupforGKE.v1/Google.Apis.BackupforGKE.v1.cs +++ b/Src/Generated/Google.Apis.BackupforGKE.v1/Google.Apis.BackupforGKE.v1.cs @@ -4879,7 +4879,8 @@ public class GroupKind : Google.Apis.Requests.IDirectResponseSchema public virtual string ResourceGroup { get; set; } /// - /// Optional. Kind of a Kubernetes resource, e.g. "CustomResourceDefinition", "StorageClass", etc. + /// Optional. Kind of a Kubernetes resource, must be in UpperCamelCase (PascalCase) and singular form. E.g. + /// "CustomResourceDefinition", "StorageClass", etc. /// [Newtonsoft.Json.JsonPropertyAttribute("resourceKind")] public virtual string ResourceKind { get; set; } @@ -5311,7 +5312,7 @@ public class ResourceFilter : Google.Apis.Requests.IDirectResponseSchema /// /// Represents both a request to Restore some portion of a Backup into a target GKE cluster and a record of the - /// restore operation itself. Next id: 18 + /// restore operation itself. Next id: 19 /// public class Restore : Google.Apis.Requests.IDirectResponseSchema { diff --git a/Src/Generated/Google.Apis.BackupforGKE.v1/Google.Apis.BackupforGKE.v1.csproj b/Src/Generated/Google.Apis.BackupforGKE.v1/Google.Apis.BackupforGKE.v1.csproj index 10c21566c76..70545e0a4fc 100644 --- a/Src/Generated/Google.Apis.BackupforGKE.v1/Google.Apis.BackupforGKE.v1.csproj +++ b/Src/Generated/Google.Apis.BackupforGKE.v1/Google.Apis.BackupforGKE.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.BackupforGKE.v1 Client Library - 1.62.1.3189 + 1.62.1.3198 Google LLC Copyright 2023 Google LLC Google diff --git a/Src/Generated/Google.Apis.CloudAlloyDBAdmin.v1/Google.Apis.CloudAlloyDBAdmin.v1.cs b/Src/Generated/Google.Apis.CloudAlloyDBAdmin.v1/Google.Apis.CloudAlloyDBAdmin.v1.cs index 501f05e156a..1923b0ada77 100644 --- a/Src/Generated/Google.Apis.CloudAlloyDBAdmin.v1/Google.Apis.CloudAlloyDBAdmin.v1.cs +++ b/Src/Generated/Google.Apis.CloudAlloyDBAdmin.v1/Google.Apis.CloudAlloyDBAdmin.v1.cs @@ -4798,7 +4798,9 @@ public virtual System.DateTimeOffset? DeleteTimeDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("queryInsightsConfig")] public virtual QueryInsightsInstanceConfig QueryInsightsConfig { get; set; } - /// Read pool specific config. + /// + /// Read pool instance configuration. This is required if the value of instanceType is READ_POOL. + /// [Newtonsoft.Json.JsonPropertyAttribute("readPoolConfig")] public virtual ReadPoolConfig ReadPoolConfig { get; set; } @@ -5026,8 +5028,8 @@ public class NetworkConfig : Google.Apis.Requests.IDirectResponseSchema /// Optional. Name of the allocated IP range for the private IP AlloyDB cluster, for example: /// "google-managed-services-default". If set, the instance IPs for this cluster will be created in the /// allocated range. The range name must comply with RFC 1035. Specifically, the name must be 1-63 characters - /// long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])?. Field name is intended to be consistent - /// with CloudSQL. + /// long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. Field name is intended to be consistent + /// with Cloud SQL. /// [Newtonsoft.Json.JsonPropertyAttribute("allocatedIpRange")] public virtual string AllocatedIpRange { get; set; } @@ -5718,7 +5720,7 @@ public class StorageDatabasecenterPartnerapiV1mainDatabaseResourceHealthSignalDa private object _eventTime; - /// The last time at which the event described by this signal took place + /// Required. The last time at which the event described by this signal took place [Newtonsoft.Json.JsonPropertyAttribute("eventTime")] public virtual string EventTimeRaw { @@ -5758,7 +5760,7 @@ public virtual System.DateTimeOffset? EventTimeDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("externalUri")] public virtual string ExternalUri { get; set; } - /// The name of the signal, ex: PUBLIC_SQL_INSTANCE, SQL_LOG_ERROR_VERBOSITY etc. + /// Required. The name of the signal, ex: PUBLIC_SQL_INSTANCE, SQL_LOG_ERROR_VERBOSITY etc. [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } @@ -5775,23 +5777,29 @@ public virtual System.DateTimeOffset? EventTimeDateTimeOffset public virtual string ResourceContainer { get; set; } /// - /// Database resource name associated with the signal. Resource name to follow CAIS resource_name format as - /// noted here go/condor-common-datamodel + /// Required. Database resource name associated with the signal. Resource name to follow CAIS resource_name + /// format as noted here go/condor-common-datamodel /// [Newtonsoft.Json.JsonPropertyAttribute("resourceName")] public virtual string ResourceName { get; set; } - /// The class of the signal, such as if it's a THREAT or VULNERABILITY. + /// Required. The class of the signal, such as if it's a THREAT or VULNERABILITY. [Newtonsoft.Json.JsonPropertyAttribute("signalClass")] public virtual string SignalClass { get; set; } /// - /// Unique identifier for the signal. This is an unique id which would be mainatined by partner to identify a - /// signal. + /// Required. Unique identifier for the signal. This is an unique id which would be mainatined by partner to + /// identify a signal. /// [Newtonsoft.Json.JsonPropertyAttribute("signalId")] public virtual string SignalId { get; set; } + /// + /// Required. Type of signal, for example, `AVAILABLE_IN_MULTIPLE_ZONES`, `LOGGING_MOST_ERRORS`, etc. + /// + [Newtonsoft.Json.JsonPropertyAttribute("signalType")] + public virtual string SignalType { get; set; } + [Newtonsoft.Json.JsonPropertyAttribute("state")] public virtual string State { get; set; } diff --git a/Src/Generated/Google.Apis.CloudAlloyDBAdmin.v1/Google.Apis.CloudAlloyDBAdmin.v1.csproj b/Src/Generated/Google.Apis.CloudAlloyDBAdmin.v1/Google.Apis.CloudAlloyDBAdmin.v1.csproj index 23923540564..aceca6d58b1 100644 --- a/Src/Generated/Google.Apis.CloudAlloyDBAdmin.v1/Google.Apis.CloudAlloyDBAdmin.v1.csproj +++ b/Src/Generated/Google.Apis.CloudAlloyDBAdmin.v1/Google.Apis.CloudAlloyDBAdmin.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.CloudAlloyDBAdmin.v1 Client Library - 1.62.1.3182 + 1.62.1.3200 Google LLC Copyright 2023 Google LLC Google diff --git a/Src/Generated/Google.Apis.CloudAsset.v1/Google.Apis.CloudAsset.v1.cs b/Src/Generated/Google.Apis.CloudAsset.v1/Google.Apis.CloudAsset.v1.cs index 3b610691f87..8fe15e46eda 100644 --- a/Src/Generated/Google.Apis.CloudAsset.v1/Google.Apis.CloudAsset.v1.cs +++ b/Src/Generated/Google.Apis.CloudAsset.v1/Google.Apis.CloudAsset.v1.cs @@ -2802,17 +2802,20 @@ public SearchAllResourcesRequest(Google.Apis.Services.IClientService service, st /// Compute Engine instances that have relationships of type `INSTANCE_TO_INSTANCEGROUP`. * /// `relationships.INSTANCE_TO_INSTANCEGROUP:instance-group-1` to find Compute Engine instances that have /// relationships with `instance-group-1` in the Compute Engine instance group resource name, for - /// relationship type `INSTANCE_TO_INSTANCEGROUP`. * `state:ACTIVE` to find Google Cloud resources whose - /// state contains `ACTIVE` as a word. * `NOT state:ACTIVE` to find Google Cloud resources whose state - /// doesn't contain `ACTIVE` as a word. * `createTime&lt;1609459200` to find Google Cloud resources that - /// were created before `2021-01-01 00:00:00 UTC`. `1609459200` is the epoch timestamp of `2021-01-01 - /// 00:00:00 UTC` in seconds. * `updateTime&gt;1609459200` to find Google Cloud resources that were - /// updated after `2021-01-01 00:00:00 UTC`. `1609459200` is the epoch timestamp of `2021-01-01 00:00:00 - /// UTC` in seconds. * `Important` to find Google Cloud resources that contain `Important` as a word in any - /// of the searchable fields. * `Impor*` to find Google Cloud resources that contain `Impor` as a prefix of - /// any word in any of the searchable fields. * `Important location:(us-west1 OR global)` to find Google - /// Cloud resources that contain `Important` as a word in any of the searchable fields and are also located - /// in the `us-west1` region or the `global` location. + /// relationship type `INSTANCE_TO_INSTANCEGROUP`. * `sccSecurityMarks.key=value` to find Cloud resources + /// that are attached with security marks whose key is `key` and value is `value'. * + /// `sccSecurityMarks.key:*` to find Cloud resources that are attached with security marks whose key is + /// `key`. * `state:ACTIVE` to find Google Cloud resources whose state contains `ACTIVE` as a word. * `NOT + /// state:ACTIVE` to find Google Cloud resources whose state doesn't contain `ACTIVE` as a word. * + /// `createTime&lt;1609459200` to find Google Cloud resources that were created before `2021-01-01 + /// 00:00:00 UTC`. `1609459200` is the epoch timestamp of `2021-01-01 00:00:00 UTC` in seconds. * + /// `updateTime&gt;1609459200` to find Google Cloud resources that were updated after `2021-01-01 + /// 00:00:00 UTC`. `1609459200` is the epoch timestamp of `2021-01-01 00:00:00 UTC` in seconds. * + /// `Important` to find Google Cloud resources that contain `Important` as a word in any of the searchable + /// fields. * `Impor*` to find Google Cloud resources that contain `Impor` as a prefix of any word in any of + /// the searchable fields. * `Important location:(us-west1 OR global)` to find Google Cloud resources that + /// contain `Important` as a word in any of the searchable fields and are also located in the `us-west1` + /// region or the `global` location. /// [Google.Apis.Util.RequestParameterAttribute("query", Google.Apis.Util.RequestParameterType.Query)] public virtual string Query { get; set; } diff --git a/Src/Generated/Google.Apis.CloudAsset.v1/Google.Apis.CloudAsset.v1.csproj b/Src/Generated/Google.Apis.CloudAsset.v1/Google.Apis.CloudAsset.v1.csproj index 1e5be3de115..42e248fe6cd 100644 --- a/Src/Generated/Google.Apis.CloudAsset.v1/Google.Apis.CloudAsset.v1.csproj +++ b/Src/Generated/Google.Apis.CloudAsset.v1/Google.Apis.CloudAsset.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.CloudAsset.v1 Client Library - 1.62.1.3186 + 1.62.1.3200 Google LLC Copyright 2023 Google LLC Google diff --git a/Src/Generated/Google.Apis.CloudDataplex.v1/Google.Apis.CloudDataplex.v1.cs b/Src/Generated/Google.Apis.CloudDataplex.v1/Google.Apis.CloudDataplex.v1.cs index 383c548d3c4..156aeb5d983 100644 --- a/Src/Generated/Google.Apis.CloudDataplex.v1/Google.Apis.CloudDataplex.v1.cs +++ b/Src/Generated/Google.Apis.CloudDataplex.v1/Google.Apis.CloudDataplex.v1.cs @@ -13702,6 +13702,43 @@ public class GoogleCloudDataplexV1EnvironmentSessionStatus : Google.Apis.Request public virtual string ETag { get; set; } } + /// Payload associated with Governance related log events. + public class GoogleCloudDataplexV1GovernanceEvent : Google.Apis.Requests.IDirectResponseSchema + { + /// Entity resource information if the log event is associated with a specific entity. + [Newtonsoft.Json.JsonPropertyAttribute("entity")] + public virtual GoogleCloudDataplexV1GovernanceEventEntity Entity { get; set; } + + /// The type of the event. + [Newtonsoft.Json.JsonPropertyAttribute("eventType")] + public virtual string EventType { get; set; } + + /// The log message. + [Newtonsoft.Json.JsonPropertyAttribute("message")] + public virtual string Message { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Information about Entity resource that the log event is associated with. + public class GoogleCloudDataplexV1GovernanceEventEntity : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The Entity resource the log event is associated with. Format: + /// projects/{project_number}/locations/{location_id}/lakes/{lake_id}/zones/{zone_id}/entities/{entity_id} + /// + [Newtonsoft.Json.JsonPropertyAttribute("entity")] + public virtual string Entity { get; set; } + + /// Type of entity. + [Newtonsoft.Json.JsonPropertyAttribute("entityType")] + public virtual string EntityType { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// A job represents an instance of a task. public class GoogleCloudDataplexV1Job : Google.Apis.Requests.IDirectResponseSchema { diff --git a/Src/Generated/Google.Apis.CloudDataplex.v1/Google.Apis.CloudDataplex.v1.csproj b/Src/Generated/Google.Apis.CloudDataplex.v1/Google.Apis.CloudDataplex.v1.csproj index 7fd3863a400..dd5747f11b9 100644 --- a/Src/Generated/Google.Apis.CloudDataplex.v1/Google.Apis.CloudDataplex.v1.csproj +++ b/Src/Generated/Google.Apis.CloudDataplex.v1/Google.Apis.CloudDataplex.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.CloudDataplex.v1 Client Library - 1.62.1.3186 + 1.62.1.3201 Google LLC Copyright 2023 Google LLC Google diff --git a/Src/Generated/Google.Apis.CloudHealthcare.v1/Google.Apis.CloudHealthcare.v1.cs b/Src/Generated/Google.Apis.CloudHealthcare.v1/Google.Apis.CloudHealthcare.v1.cs index 89815315b0d..3df358c26aa 100644 --- a/Src/Generated/Google.Apis.CloudHealthcare.v1/Google.Apis.CloudHealthcare.v1.cs +++ b/Src/Generated/Google.Apis.CloudHealthcare.v1/Google.Apis.CloudHealthcare.v1.cs @@ -2985,9 +2985,168 @@ public class DicomStoresResource public DicomStoresResource(Google.Apis.Services.IClientService service) { this.service = service; + DicomWeb = new DicomWebResource(service); Studies = new StudiesResource(service); } + /// Gets the DicomWeb resource. + public virtual DicomWebResource DicomWeb { get; } + + /// The "dicomWeb" collection of methods. + public class DicomWebResource + { + private const string Resource = "dicomWeb"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public DicomWebResource(Google.Apis.Services.IClientService service) + { + this.service = service; + Studies = new StudiesResource(service); + } + + /// Gets the Studies resource. + public virtual StudiesResource Studies { get; } + + /// The "studies" collection of methods. + public class StudiesResource + { + private const string Resource = "studies"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public StudiesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + Series = new SeriesResource(service); + } + + /// Gets the Series resource. + public virtual SeriesResource Series { get; } + + /// The "series" collection of methods. + public class SeriesResource + { + private const string Resource = "series"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public SeriesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// GetSeriesMetrics returns metrics for a series. + /// + /// The series resource path. For example, + /// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}/dicomWeb/studies/{study_uid}/series/{series_uid}`. + /// + public virtual GetSeriesMetricsRequest GetSeriesMetrics(string series) + { + return new GetSeriesMetricsRequest(service, series); + } + + /// GetSeriesMetrics returns metrics for a series. + public class GetSeriesMetricsRequest : CloudHealthcareBaseServiceRequest + { + /// Constructs a new GetSeriesMetrics request. + public GetSeriesMetricsRequest(Google.Apis.Services.IClientService service, string series) : base(service) + { + Series = series; + InitParameters(); + } + + /// + /// The series resource path. For example, + /// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}/dicomWeb/studies/{study_uid}/series/{series_uid}`. + /// + [Google.Apis.Util.RequestParameterAttribute("series", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Series { get; private set; } + + /// Gets the method name. + public override string MethodName => "getSeriesMetrics"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1/{+series}:getSeriesMetrics"; + + /// Initializes GetSeriesMetrics parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("series", new Google.Apis.Discovery.Parameter + { + Name = "series", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+/dicomWeb/studies/[^/]+/series/[^/]+$", + }); + } + } + } + + /// GetStudyMetrics returns metrics for a study. + /// + /// The study resource path. For example, + /// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}/dicomWeb/studies/{study_uid}`. + /// + public virtual GetStudyMetricsRequest GetStudyMetrics(string study) + { + return new GetStudyMetricsRequest(service, study); + } + + /// GetStudyMetrics returns metrics for a study. + public class GetStudyMetricsRequest : CloudHealthcareBaseServiceRequest + { + /// Constructs a new GetStudyMetrics request. + public GetStudyMetricsRequest(Google.Apis.Services.IClientService service, string study) : base(service) + { + Study = study; + InitParameters(); + } + + /// + /// The study resource path. For example, + /// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}/dicomWeb/studies/{study_uid}`. + /// + [Google.Apis.Util.RequestParameterAttribute("study", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Study { get; private set; } + + /// Gets the method name. + public override string MethodName => "getStudyMetrics"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1/{+study}:getStudyMetrics"; + + /// Initializes GetStudyMetrics parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("study", new Google.Apis.Discovery.Parameter + { + Name = "study", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+/dicomWeb/studies/[^/]+$", + }); + } + } + } + } + /// Gets the Studies resource. public virtual StudiesResource Studies { get; } @@ -4780,6 +4939,51 @@ protected override void InitParameters() } } + /// Gets metrics associated with the DICOM store. + /// The resource name of the DICOM store to get metrics for. + public virtual GetDICOMStoreMetricsRequest GetDICOMStoreMetrics(string name) + { + return new GetDICOMStoreMetricsRequest(service, name); + } + + /// Gets metrics associated with the DICOM store. + public class GetDICOMStoreMetricsRequest : CloudHealthcareBaseServiceRequest + { + /// Constructs a new GetDICOMStoreMetrics request. + public GetDICOMStoreMetricsRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// The resource name of the DICOM store to get metrics for. + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "getDICOMStoreMetrics"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}:getDICOMStoreMetrics"; + + /// Initializes GetDICOMStoreMetrics parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", + }); + } + } + /// /// Gets the access control policy for a resource. Returns an empty policy if the resource exists /// and does not have a policy set. @@ -9209,6 +9413,57 @@ protected override void InitParameters() } } + /// Gets metrics asssociated with the HL7v2 store. + /// + /// The resource name of the HL7v2 store to get metrics for, in the format + /// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_id}`. + /// + public virtual GetHL7v2StoreMetricsRequest GetHL7v2StoreMetrics(string name) + { + return new GetHL7v2StoreMetricsRequest(service, name); + } + + /// Gets metrics asssociated with the HL7v2 store. + public class GetHL7v2StoreMetricsRequest : CloudHealthcareBaseServiceRequest + { + /// Constructs a new GetHL7v2StoreMetrics request. + public GetHL7v2StoreMetricsRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// + /// The resource name of the HL7v2 store to get metrics for, in the format + /// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_id}`. + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "getHL7v2StoreMetrics"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1/{+name}:getHL7v2StoreMetrics"; + + /// Initializes GetHL7v2StoreMetrics parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$", + }); + } + } + /// /// Gets the access control policy for a resource. Returns an empty policy if the resource exists /// and does not have a policy set. @@ -11772,6 +12027,40 @@ public class DicomStore : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// DicomStoreMetrics contains metrics describing a DICOM store. + public class DicomStoreMetrics : Google.Apis.Requests.IDirectResponseSchema + { + /// Total blob storage bytes for all instances in the store. + [Newtonsoft.Json.JsonPropertyAttribute("blobStorageSizeBytes")] + public virtual System.Nullable BlobStorageSizeBytes { get; set; } + + /// Number of instances in the store. + [Newtonsoft.Json.JsonPropertyAttribute("instanceCount")] + public virtual System.Nullable InstanceCount { get; set; } + + /// + /// Resource name of the DICOM store, of the form + /// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Number of series in the store. + [Newtonsoft.Json.JsonPropertyAttribute("seriesCount")] + public virtual System.Nullable SeriesCount { get; set; } + + /// Total structured storage bytes for all instances in the store. + [Newtonsoft.Json.JsonPropertyAttribute("structuredStorageSizeBytes")] + public virtual System.Nullable StructuredStorageSizeBytes { get; set; } + + /// Number of studies in the store. + [Newtonsoft.Json.JsonPropertyAttribute("studyCount")] + public virtual System.Nullable StudyCount { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// /// 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 @@ -12965,6 +13254,45 @@ public class Hl7V2Store : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// Count of messages and total storage size by type for a given HL7 store. + public class Hl7V2StoreMetric : Google.Apis.Requests.IDirectResponseSchema + { + /// The total count of HL7v2 messages in the store for the given message type. + [Newtonsoft.Json.JsonPropertyAttribute("count")] + public virtual System.Nullable Count { get; set; } + + /// The Hl7v2 message type this metric applies to, such as `ADT` or `ORU`. + [Newtonsoft.Json.JsonPropertyAttribute("messageType")] + public virtual string MessageType { get; set; } + + /// + /// The total amount of structured storage used by HL7v2 messages of this message type in the store. + /// + [Newtonsoft.Json.JsonPropertyAttribute("structuredStorageSizeBytes")] + public virtual System.Nullable StructuredStorageSizeBytes { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// List of metrics for a given HL7v2 store. + public class Hl7V2StoreMetrics : Google.Apis.Requests.IDirectResponseSchema + { + /// List of HL7v2 store metrics by message type. + [Newtonsoft.Json.JsonPropertyAttribute("metrics")] + public virtual System.Collections.Generic.IList Metrics { get; set; } + + /// + /// The resource name of the HL7v2 store to get metrics for, in the format + /// `projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_id}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// /// 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 @@ -14272,6 +14600,32 @@ public class Segment : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// SeriesMetrics contains metrics describing a DICOM series. + public class SeriesMetrics : Google.Apis.Requests.IDirectResponseSchema + { + /// Total blob storage bytes for all instances in the series. + [Newtonsoft.Json.JsonPropertyAttribute("blobStorageSizeBytes")] + public virtual System.Nullable BlobStorageSizeBytes { get; set; } + + /// Number of instances in the series. + [Newtonsoft.Json.JsonPropertyAttribute("instanceCount")] + public virtual System.Nullable InstanceCount { get; set; } + + /// + /// The series resource path. For example, + /// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}/dicomWeb/studies/{study_uid}/series/{series_uid}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("series")] + public virtual string Series { get; set; } + + /// Total structured storage bytes for all instances in the series. + [Newtonsoft.Json.JsonPropertyAttribute("structuredStorageSizeBytes")] + public virtual System.Nullable StructuredStorageSizeBytes { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Request message for `SetIamPolicy` method. public class SetIamPolicyRequest : Google.Apis.Requests.IDirectResponseSchema { @@ -14438,6 +14792,36 @@ public class StreamConfig : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// StudyMetrics contains metrics describing a DICOM study. + public class StudyMetrics : Google.Apis.Requests.IDirectResponseSchema + { + /// Total blob storage bytes for all instances in the study. + [Newtonsoft.Json.JsonPropertyAttribute("blobStorageSizeBytes")] + public virtual System.Nullable BlobStorageSizeBytes { get; set; } + + /// Number of instances in the study. + [Newtonsoft.Json.JsonPropertyAttribute("instanceCount")] + public virtual System.Nullable InstanceCount { get; set; } + + /// Number of series in the study. + [Newtonsoft.Json.JsonPropertyAttribute("seriesCount")] + public virtual System.Nullable SeriesCount { get; set; } + + /// Total structured storage bytes for all instances in the study. + [Newtonsoft.Json.JsonPropertyAttribute("structuredStorageSizeBytes")] + public virtual System.Nullable StructuredStorageSizeBytes { get; set; } + + /// + /// The study resource path. For example, + /// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}/dicomWeb/studies/{study_uid}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("study")] + public virtual string Study { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// List of tags to be filtered. public class TagFilterList : Google.Apis.Requests.IDirectResponseSchema { diff --git a/Src/Generated/Google.Apis.CloudHealthcare.v1/Google.Apis.CloudHealthcare.v1.csproj b/Src/Generated/Google.Apis.CloudHealthcare.v1/Google.Apis.CloudHealthcare.v1.csproj index bc295e28457..5e031b637e3 100644 --- a/Src/Generated/Google.Apis.CloudHealthcare.v1/Google.Apis.CloudHealthcare.v1.csproj +++ b/Src/Generated/Google.Apis.CloudHealthcare.v1/Google.Apis.CloudHealthcare.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.CloudHealthcare.v1 Client Library - 1.62.1.3185 + 1.62.1.3197 Google LLC Copyright 2023 Google LLC Google diff --git a/Src/Generated/Google.Apis.CloudHealthcare.v1beta1/Google.Apis.CloudHealthcare.v1beta1.cs b/Src/Generated/Google.Apis.CloudHealthcare.v1beta1/Google.Apis.CloudHealthcare.v1beta1.cs index e50d1c60925..1c8d5208409 100644 --- a/Src/Generated/Google.Apis.CloudHealthcare.v1beta1/Google.Apis.CloudHealthcare.v1beta1.cs +++ b/Src/Generated/Google.Apis.CloudHealthcare.v1beta1/Google.Apis.CloudHealthcare.v1beta1.cs @@ -4196,9 +4196,168 @@ public class DicomStoresResource public DicomStoresResource(Google.Apis.Services.IClientService service) { this.service = service; + DicomWeb = new DicomWebResource(service); Studies = new StudiesResource(service); } + /// Gets the DicomWeb resource. + public virtual DicomWebResource DicomWeb { get; } + + /// The "dicomWeb" collection of methods. + public class DicomWebResource + { + private const string Resource = "dicomWeb"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public DicomWebResource(Google.Apis.Services.IClientService service) + { + this.service = service; + Studies = new StudiesResource(service); + } + + /// Gets the Studies resource. + public virtual StudiesResource Studies { get; } + + /// The "studies" collection of methods. + public class StudiesResource + { + private const string Resource = "studies"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public StudiesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + Series = new SeriesResource(service); + } + + /// Gets the Series resource. + public virtual SeriesResource Series { get; } + + /// The "series" collection of methods. + public class SeriesResource + { + private const string Resource = "series"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public SeriesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// GetSeriesMetrics returns metrics for a series. + /// + /// The series resource path. For example, + /// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}/dicomWeb/studies/{study_uid}/series/{series_uid}`. + /// + public virtual GetSeriesMetricsRequest GetSeriesMetrics(string series) + { + return new GetSeriesMetricsRequest(service, series); + } + + /// GetSeriesMetrics returns metrics for a series. + public class GetSeriesMetricsRequest : CloudHealthcareBaseServiceRequest + { + /// Constructs a new GetSeriesMetrics request. + public GetSeriesMetricsRequest(Google.Apis.Services.IClientService service, string series) : base(service) + { + Series = series; + InitParameters(); + } + + /// + /// The series resource path. For example, + /// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}/dicomWeb/studies/{study_uid}/series/{series_uid}`. + /// + [Google.Apis.Util.RequestParameterAttribute("series", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Series { get; private set; } + + /// Gets the method name. + public override string MethodName => "getSeriesMetrics"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1beta1/{+series}:getSeriesMetrics"; + + /// Initializes GetSeriesMetrics parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("series", new Google.Apis.Discovery.Parameter + { + Name = "series", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+/dicomWeb/studies/[^/]+/series/[^/]+$", + }); + } + } + } + + /// GetStudyMetrics returns metrics for a study. + /// + /// The study resource path. For example, + /// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}/dicomWeb/studies/{study_uid}`. + /// + public virtual GetStudyMetricsRequest GetStudyMetrics(string study) + { + return new GetStudyMetricsRequest(service, study); + } + + /// GetStudyMetrics returns metrics for a study. + public class GetStudyMetricsRequest : CloudHealthcareBaseServiceRequest + { + /// Constructs a new GetStudyMetrics request. + public GetStudyMetricsRequest(Google.Apis.Services.IClientService service, string study) : base(service) + { + Study = study; + InitParameters(); + } + + /// + /// The study resource path. For example, + /// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}/dicomWeb/studies/{study_uid}`. + /// + [Google.Apis.Util.RequestParameterAttribute("study", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Study { get; private set; } + + /// Gets the method name. + public override string MethodName => "getStudyMetrics"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1beta1/{+study}:getStudyMetrics"; + + /// Initializes GetStudyMetrics parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("study", new Google.Apis.Discovery.Parameter + { + Name = "study", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+/dicomWeb/studies/[^/]+$", + }); + } + } + } + } + /// Gets the Studies resource. public virtual StudiesResource Studies { get; } @@ -5985,6 +6144,51 @@ protected override void InitParameters() } } + /// Gets metrics associated with the DICOM store. + /// The resource name of the DICOM store to get metrics for. + public virtual GetDICOMStoreMetricsRequest GetDICOMStoreMetrics(string name) + { + return new GetDICOMStoreMetricsRequest(service, name); + } + + /// Gets metrics associated with the DICOM store. + public class GetDICOMStoreMetricsRequest : CloudHealthcareBaseServiceRequest + { + /// Constructs a new GetDICOMStoreMetrics request. + public GetDICOMStoreMetricsRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// The resource name of the DICOM store to get metrics for. + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "getDICOMStoreMetrics"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1beta1/{+name}:getDICOMStoreMetrics"; + + /// Initializes GetDICOMStoreMetrics parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/datasets/[^/]+/dicomStores/[^/]+$", + }); + } + } + /// /// Gets the access control policy for a resource. Returns an empty policy if the resource exists /// and does not have a policy set. @@ -11449,6 +11653,57 @@ protected override void InitParameters() } } + /// Gets metrics asssociated with the HL7v2 store. + /// + /// The resource name of the HL7v2 store to get metrics for, in the format + /// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_id}`. + /// + public virtual GetHL7v2StoreMetricsRequest GetHL7v2StoreMetrics(string name) + { + return new GetHL7v2StoreMetricsRequest(service, name); + } + + /// Gets metrics asssociated with the HL7v2 store. + public class GetHL7v2StoreMetricsRequest : CloudHealthcareBaseServiceRequest + { + /// Constructs a new GetHL7v2StoreMetrics request. + public GetHL7v2StoreMetricsRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// + /// The resource name of the HL7v2 store to get metrics for, in the format + /// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_id}`. + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "getHL7v2StoreMetrics"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v1beta1/{+name}:getHL7v2StoreMetrics"; + + /// Initializes GetHL7v2StoreMetrics parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/datasets/[^/]+/hl7V2Stores/[^/]+$", + }); + } + } + /// /// Gets the access control policy for a resource. Returns an empty policy if the resource exists /// and does not have a policy set. @@ -14582,6 +14837,40 @@ public class DicomStore : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// DicomStoreMetrics contains metrics describing a DICOM store. + public class DicomStoreMetrics : Google.Apis.Requests.IDirectResponseSchema + { + /// Total blob storage bytes for all instances in the store. + [Newtonsoft.Json.JsonPropertyAttribute("blobStorageSizeBytes")] + public virtual System.Nullable BlobStorageSizeBytes { get; set; } + + /// Number of instances in the store. + [Newtonsoft.Json.JsonPropertyAttribute("instanceCount")] + public virtual System.Nullable InstanceCount { get; set; } + + /// + /// Resource name of the DICOM store, of the form + /// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Number of series in the store. + [Newtonsoft.Json.JsonPropertyAttribute("seriesCount")] + public virtual System.Nullable SeriesCount { get; set; } + + /// Total structured storage bytes for all instances in the store. + [Newtonsoft.Json.JsonPropertyAttribute("structuredStorageSizeBytes")] + public virtual System.Nullable StructuredStorageSizeBytes { get; set; } + + /// Number of studies in the store. + [Newtonsoft.Json.JsonPropertyAttribute("studyCount")] + public virtual System.Nullable StudyCount { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Specifies the parameters needed for the de-identification of DICOM stores. public class DicomTagConfig : Google.Apis.Requests.IDirectResponseSchema { @@ -16179,6 +16468,45 @@ public class Hl7V2Store : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// Count of messages and total storage size by type for a given HL7 store. + public class Hl7V2StoreMetric : Google.Apis.Requests.IDirectResponseSchema + { + /// The total count of HL7v2 messages in the store for the given message type. + [Newtonsoft.Json.JsonPropertyAttribute("count")] + public virtual System.Nullable Count { get; set; } + + /// The Hl7v2 message type this metric applies to, such as `ADT` or `ORU`. + [Newtonsoft.Json.JsonPropertyAttribute("messageType")] + public virtual string MessageType { get; set; } + + /// + /// The total amount of structured storage used by HL7v2 messages of this message type in the store. + /// + [Newtonsoft.Json.JsonPropertyAttribute("structuredStorageSizeBytes")] + public virtual System.Nullable StructuredStorageSizeBytes { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// List of metrics for a given HL7v2 store. + public class Hl7V2StoreMetrics : Google.Apis.Requests.IDirectResponseSchema + { + /// List of HL7v2 store metrics by message type. + [Newtonsoft.Json.JsonPropertyAttribute("metrics")] + public virtual System.Collections.Generic.IList Metrics { get; set; } + + /// + /// The resource name of the HL7v2 store to get metrics for, in the format + /// `projects/{project_id}/datasets/{dataset_id}/hl7V2Stores/{hl7v2_store_id}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// /// 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 @@ -17774,6 +18102,32 @@ public class SensitiveTextAnnotation : Google.Apis.Requests.IDirectResponseSchem public virtual string ETag { get; set; } } + /// SeriesMetrics contains metrics describing a DICOM series. + public class SeriesMetrics : Google.Apis.Requests.IDirectResponseSchema + { + /// Total blob storage bytes for all instances in the series. + [Newtonsoft.Json.JsonPropertyAttribute("blobStorageSizeBytes")] + public virtual System.Nullable BlobStorageSizeBytes { get; set; } + + /// Number of instances in the series. + [Newtonsoft.Json.JsonPropertyAttribute("instanceCount")] + public virtual System.Nullable InstanceCount { get; set; } + + /// + /// The series resource path. For example, + /// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}/dicomWeb/studies/{study_uid}/series/{series_uid}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("series")] + public virtual string Series { get; set; } + + /// Total structured storage bytes for all instances in the series. + [Newtonsoft.Json.JsonPropertyAttribute("structuredStorageSizeBytes")] + public virtual System.Nullable StructuredStorageSizeBytes { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Request message for `SetIamPolicy` method. public class SetIamPolicyRequest : Google.Apis.Requests.IDirectResponseSchema { @@ -17940,6 +18294,36 @@ public class StreamConfig : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// StudyMetrics contains metrics describing a DICOM study. + public class StudyMetrics : Google.Apis.Requests.IDirectResponseSchema + { + /// Total blob storage bytes for all instances in the study. + [Newtonsoft.Json.JsonPropertyAttribute("blobStorageSizeBytes")] + public virtual System.Nullable BlobStorageSizeBytes { get; set; } + + /// Number of instances in the study. + [Newtonsoft.Json.JsonPropertyAttribute("instanceCount")] + public virtual System.Nullable InstanceCount { get; set; } + + /// Number of series in the study. + [Newtonsoft.Json.JsonPropertyAttribute("seriesCount")] + public virtual System.Nullable SeriesCount { get; set; } + + /// Total structured storage bytes for all instances in the study. + [Newtonsoft.Json.JsonPropertyAttribute("structuredStorageSizeBytes")] + public virtual System.Nullable StructuredStorageSizeBytes { get; set; } + + /// + /// The study resource path. For example, + /// `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}/dicomWeb/studies/{study_uid}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("study")] + public virtual string Study { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// List of tags to be filtered. public class TagFilterList : Google.Apis.Requests.IDirectResponseSchema { diff --git a/Src/Generated/Google.Apis.CloudHealthcare.v1beta1/Google.Apis.CloudHealthcare.v1beta1.csproj b/Src/Generated/Google.Apis.CloudHealthcare.v1beta1/Google.Apis.CloudHealthcare.v1beta1.csproj index 29933d4a257..6b771f73547 100644 --- a/Src/Generated/Google.Apis.CloudHealthcare.v1beta1/Google.Apis.CloudHealthcare.v1beta1.csproj +++ b/Src/Generated/Google.Apis.CloudHealthcare.v1beta1/Google.Apis.CloudHealthcare.v1beta1.csproj @@ -3,7 +3,7 @@ Google.Apis.CloudHealthcare.v1beta1 Client Library - 1.62.1.3185 + 1.62.1.3197 Google LLC Copyright 2023 Google LLC Google diff --git a/Src/Generated/Google.Apis.CloudRetail.v2alpha/Google.Apis.CloudRetail.v2alpha.cs b/Src/Generated/Google.Apis.CloudRetail.v2alpha/Google.Apis.CloudRetail.v2alpha.cs index 75eec5faf76..47409af9e08 100644 --- a/Src/Generated/Google.Apis.CloudRetail.v2alpha/Google.Apis.CloudRetail.v2alpha.cs +++ b/Src/Generated/Google.Apis.CloudRetail.v2alpha/Google.Apis.CloudRetail.v2alpha.cs @@ -5633,6 +5633,55 @@ protected override void InitParameters() } } + /// Gets the LoggingConfig of the requested project. + /// + /// Required. Full LoggingConfig resource name. Format: projects/{project_number}/loggingConfig + /// + public virtual GetLoggingConfigRequest GetLoggingConfig(string name) + { + return new GetLoggingConfigRequest(service, name); + } + + /// Gets the LoggingConfig of the requested project. + public class GetLoggingConfigRequest : CloudRetailBaseServiceRequest + { + /// Constructs a new GetLoggingConfig request. + public GetLoggingConfigRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// + /// Required. Full LoggingConfig resource name. Format: projects/{project_number}/loggingConfig + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "getLoggingConfig"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v2alpha/{+name}"; + + /// Initializes GetLoggingConfig parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/loggingConfig$", + }); + } + } + /// /// Gets the project. Throws `NOT_FOUND` if the project wasn't initialized for the Retail API service. /// @@ -5732,6 +5781,79 @@ protected override void InitParameters() }); } } + + /// Updates the LoggingConfig of the requested project. + /// The body of the request. + /// + /// Required. Immutable. The name of the LoggingConfig singleton resource. Format: projects/*/loggingConfig + /// + public virtual UpdateLoggingConfigRequest UpdateLoggingConfig(Google.Apis.CloudRetail.v2alpha.Data.GoogleCloudRetailV2alphaLoggingConfig body, string name) + { + return new UpdateLoggingConfigRequest(service, body, name); + } + + /// Updates the LoggingConfig of the requested project. + public class UpdateLoggingConfigRequest : CloudRetailBaseServiceRequest + { + /// Constructs a new UpdateLoggingConfig request. + public UpdateLoggingConfigRequest(Google.Apis.Services.IClientService service, Google.Apis.CloudRetail.v2alpha.Data.GoogleCloudRetailV2alphaLoggingConfig body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// + /// Required. Immutable. The name of the LoggingConfig singleton resource. Format: projects/*/loggingConfig + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// + /// Indicates which fields in the provided LoggingConfig to update. The following are the only supported + /// fields: * default_log_generation_rule * per_service_log_generation_rules If not set, all supported + /// fields are updated. + /// + [Google.Apis.Util.RequestParameterAttribute("updateMask", Google.Apis.Util.RequestParameterType.Query)] + public virtual object UpdateMask { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.CloudRetail.v2alpha.Data.GoogleCloudRetailV2alphaLoggingConfig Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "updateLoggingConfig"; + + /// Gets the HTTP method. + public override string HttpMethod => "PATCH"; + + /// Gets the REST path. + public override string RestPath => "v2alpha/{+name}"; + + /// Initializes UpdateLoggingConfig parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/loggingConfig$", + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } } } namespace Google.Apis.CloudRetail.v2alpha.Data @@ -8698,6 +8820,75 @@ public class GoogleCloudRetailV2alphaLocalInventory : Google.Apis.Requests.IDire public virtual string ETag { get; set; } } + /// + /// Project level logging config to control what level of log will be generated and written to Cloud Logging. + /// + public class GoogleCloudRetailV2alphaLoggingConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The log generation rule that applies by default to all services supporting log generation. It can be + /// overridden by ServiceLogGenerationRule for service level control. + /// + [Newtonsoft.Json.JsonPropertyAttribute("defaultLogGenerationRule")] + public virtual GoogleCloudRetailV2alphaLoggingConfigLogGenerationRule DefaultLogGenerationRule { get; set; } + + /// + /// Required. Immutable. The name of the LoggingConfig singleton resource. Format: projects/*/loggingConfig + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// + /// Controls logging configurations more granularly for each supported service. This overrides the + /// default_log_generation_rule for the services specified. For those not mentioned, they will fallback to the + /// default log generation rule. + /// + [Newtonsoft.Json.JsonPropertyAttribute("serviceLogGenerationRules")] + public virtual System.Collections.Generic.IList ServiceLogGenerationRules { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// The logging configurations for services supporting log generation. + public class GoogleCloudRetailV2alphaLoggingConfigLogGenerationRule : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The log sample rate for INFO level log entries. You can use this to reduce the number of entries generated + /// for INFO level logs. DO NOT set this field if the logging_level is not LoggingLevel.LOG_ALL. Otherwise, an + /// INVALID_ARGUMENT error is returned. Sample rate for INFO logs defaults to 1 when unset (generate and send + /// all INFO logs to Cloud Logging). Its value must be greater than 0 and less than or equal to 1. + /// + [Newtonsoft.Json.JsonPropertyAttribute("infoLogSampleRate")] + public virtual System.Nullable InfoLogSampleRate { get; set; } + + /// The logging level. By default it is set to `LOG_WARNINGS_AND_ABOVE`. + [Newtonsoft.Json.JsonPropertyAttribute("loggingLevel")] + public virtual string LoggingLevel { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// The granular logging configurations for supported services. + public class GoogleCloudRetailV2alphaLoggingConfigServiceLogGenerationRule : Google.Apis.Requests.IDirectResponseSchema + { + /// The log generation rule that applies to this service. + [Newtonsoft.Json.JsonPropertyAttribute("logGenerationRule")] + public virtual GoogleCloudRetailV2alphaLoggingConfigLogGenerationRule LogGenerationRule { get; set; } + + /// + /// Required. Supported service names: "CatalogService", "CompletionService", "ControlService", + /// "MerchantCenterStreaming", "ModelService", "PredictionService", "ProductService", "ServingConfigService", + /// "UserEventService", + /// + [Newtonsoft.Json.JsonPropertyAttribute("serviceName")] + public virtual string ServiceName { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// /// Represents a link between a Merchant Center account and a branch. After a link is established, products from the /// linked Merchant Center account are streamed to the linked branch. diff --git a/Src/Generated/Google.Apis.CloudRetail.v2alpha/Google.Apis.CloudRetail.v2alpha.csproj b/Src/Generated/Google.Apis.CloudRetail.v2alpha/Google.Apis.CloudRetail.v2alpha.csproj index 1c2453004bb..bb4989c9563 100644 --- a/Src/Generated/Google.Apis.CloudRetail.v2alpha/Google.Apis.CloudRetail.v2alpha.csproj +++ b/Src/Generated/Google.Apis.CloudRetail.v2alpha/Google.Apis.CloudRetail.v2alpha.csproj @@ -3,7 +3,7 @@ Google.Apis.CloudRetail.v2alpha Client Library - 1.62.0.3164 + 1.62.1.3199 Google LLC Copyright 2023 Google LLC Google @@ -57,8 +57,8 @@ - - + + diff --git a/Src/Generated/Google.Apis.CloudTasks.v2/Google.Apis.CloudTasks.v2.cs b/Src/Generated/Google.Apis.CloudTasks.v2/Google.Apis.CloudTasks.v2.cs index 7869c5636a3..d58ebeb79ae 100644 --- a/Src/Generated/Google.Apis.CloudTasks.v2/Google.Apis.CloudTasks.v2.cs +++ b/Src/Generated/Google.Apis.CloudTasks.v2/Google.Apis.CloudTasks.v2.cs @@ -1627,6 +1627,61 @@ protected override void InitParameters() } } + /// + /// Gets the CMEK config. Gets the Customer Managed Encryption Key configured with the Cloud Tasks lcoation. + /// By default there is no kms_key configured. + /// + /// + /// Required. The config. For example: projects/PROJECT_ID/locations/LOCATION_ID/CmekConfig` + /// + public virtual GetCmekConfigRequest GetCmekConfig(string name) + { + return new GetCmekConfigRequest(service, name); + } + + /// + /// Gets the CMEK config. Gets the Customer Managed Encryption Key configured with the Cloud Tasks lcoation. + /// By default there is no kms_key configured. + /// + public class GetCmekConfigRequest : CloudTasksBaseServiceRequest + { + /// Constructs a new GetCmekConfig request. + public GetCmekConfigRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// + /// Required. The config. For example: projects/PROJECT_ID/locations/LOCATION_ID/CmekConfig` + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "getCmekConfig"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v2/{+name}"; + + /// Initializes GetCmekConfig parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/cmekConfig$", + }); + } + } + /// Lists information about the supported locations for this service. /// The resource that owns the locations collection, if applicable. public virtual ListRequest List(string name) @@ -1715,6 +1770,85 @@ protected override void InitParameters() }); } } + + /// + /// Creates or Updates a CMEK config. Updates the Customer Managed Encryption Key assotiated with the Cloud + /// Tasks location (Creates if the key does not already exist). All new tasks created in the location will + /// be encrypted at-rest with the KMS-key provided in the config. + /// + /// The body of the request. + /// + /// Output only. The config resource name which includes the project and location and must end in + /// 'cmekConfig', in the format projects/PROJECT_ID/locations/LOCATION_ID/cmekConfig` + /// + public virtual UpdateCmekConfigRequest UpdateCmekConfig(Google.Apis.CloudTasks.v2.Data.CmekConfig body, string name) + { + return new UpdateCmekConfigRequest(service, body, name); + } + + /// + /// Creates or Updates a CMEK config. Updates the Customer Managed Encryption Key assotiated with the Cloud + /// Tasks location (Creates if the key does not already exist). All new tasks created in the location will + /// be encrypted at-rest with the KMS-key provided in the config. + /// + public class UpdateCmekConfigRequest : CloudTasksBaseServiceRequest + { + /// Constructs a new UpdateCmekConfig request. + public UpdateCmekConfigRequest(Google.Apis.Services.IClientService service, Google.Apis.CloudTasks.v2.Data.CmekConfig body, string name) : base(service) + { + Name = name; + Body = body; + InitParameters(); + } + + /// + /// Output only. The config resource name which includes the project and location and must end in + /// 'cmekConfig', in the format projects/PROJECT_ID/locations/LOCATION_ID/cmekConfig` + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// List of fields to be updated in this request. + [Google.Apis.Util.RequestParameterAttribute("updateMask", Google.Apis.Util.RequestParameterType.Query)] + public virtual object UpdateMask { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.CloudTasks.v2.Data.CmekConfig Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "updateCmekConfig"; + + /// Gets the HTTP method. + public override string HttpMethod => "PATCH"; + + /// Gets the REST path. + public override string RestPath => "v2/{+name}"; + + /// Initializes UpdateCmekConfig parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/cmekConfig$", + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } } } } @@ -2051,6 +2185,31 @@ public class Binding : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } + /// + /// CMEK, or Customer Managed Encryption Keys, enables GCP products to put control over encryption and key + /// management in their customer’s hands. + /// + public class CmekConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Resource name of the Cloud KMS key, of the form + /// `projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KEY_RING_ID/cryptoKeys/KEY_ID`, that will be used to + /// encrypt the Queues &amp; Tasks in the region. Setting this as blank will turn off CMEK encryption. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kmsKey")] + public virtual string KmsKey { get; set; } + + /// + /// Output only. The config resource name which includes the project and location and must end in 'cmekConfig', + /// in the format projects/PROJECT_ID/locations/LOCATION_ID/cmekConfig` + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// Request message for CreateTask. public class CreateTaskRequest : Google.Apis.Requests.IDirectResponseSchema { diff --git a/Src/Generated/Google.Apis.CloudTasks.v2/Google.Apis.CloudTasks.v2.csproj b/Src/Generated/Google.Apis.CloudTasks.v2/Google.Apis.CloudTasks.v2.csproj index d16b38ac310..6f69d8f2583 100644 --- a/Src/Generated/Google.Apis.CloudTasks.v2/Google.Apis.CloudTasks.v2.csproj +++ b/Src/Generated/Google.Apis.CloudTasks.v2/Google.Apis.CloudTasks.v2.csproj @@ -3,7 +3,7 @@ Google.Apis.CloudTasks.v2 Client Library - 1.62.0.3170 + 1.62.1.3193 Google LLC Copyright 2023 Google LLC Google @@ -58,8 +58,8 @@ - - + + diff --git a/Src/Generated/Google.Apis.CloudTasks.v2beta2/Google.Apis.CloudTasks.v2beta2.cs b/Src/Generated/Google.Apis.CloudTasks.v2beta2/Google.Apis.CloudTasks.v2beta2.cs index 478266c4553..9aaa780646a 100644 --- a/Src/Generated/Google.Apis.CloudTasks.v2beta2/Google.Apis.CloudTasks.v2beta2.cs +++ b/Src/Generated/Google.Apis.CloudTasks.v2beta2/Google.Apis.CloudTasks.v2beta2.cs @@ -2299,11 +2299,13 @@ protected override void InitParameters() /// be encrypted at-rest with the KMS-key provided in the config. /// /// The body of the request. - /// null - /// null - public virtual UpdateCmekConfigRequest UpdateCmekConfig(Google.Apis.CloudTasks.v2beta2.Data.CmekConfig body, string projectsId, string locationsId) + /// + /// Output only. The config resource name which includes the project and location and must end in + /// 'cmekConfig', in the format projects/PROJECT_ID/locations/LOCATION_ID/cmekConfig` + /// + public virtual UpdateCmekConfigRequest UpdateCmekConfig(Google.Apis.CloudTasks.v2beta2.Data.CmekConfig body, string name) { - return new UpdateCmekConfigRequest(service, body, projectsId, locationsId); + return new UpdateCmekConfigRequest(service, body, name); } /// @@ -2314,19 +2316,19 @@ public virtual UpdateCmekConfigRequest UpdateCmekConfig(Google.Apis.CloudTasks.v public class UpdateCmekConfigRequest : CloudTasksBaseServiceRequest { /// Constructs a new UpdateCmekConfig request. - public UpdateCmekConfigRequest(Google.Apis.Services.IClientService service, Google.Apis.CloudTasks.v2beta2.Data.CmekConfig body, string projectsId, string locationsId) : base(service) + public UpdateCmekConfigRequest(Google.Apis.Services.IClientService service, Google.Apis.CloudTasks.v2beta2.Data.CmekConfig body, string name) : base(service) { - ProjectsId = projectsId; - LocationsId = locationsId; + Name = name; Body = body; InitParameters(); } - [Google.Apis.Util.RequestParameterAttribute("projectsId", Google.Apis.Util.RequestParameterType.Path)] - public virtual string ProjectsId { get; private set; } - - [Google.Apis.Util.RequestParameterAttribute("locationsId", Google.Apis.Util.RequestParameterType.Path)] - public virtual string LocationsId { get; private set; } + /// + /// Output only. The config resource name which includes the project and location and must end in + /// 'cmekConfig', in the format projects/PROJECT_ID/locations/LOCATION_ID/cmekConfig` + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } /// List of fields to be updated in this request. [Google.Apis.Util.RequestParameterAttribute("updateMask", Google.Apis.Util.RequestParameterType.Query)] @@ -2345,27 +2347,19 @@ public UpdateCmekConfigRequest(Google.Apis.Services.IClientService service, Goog public override string HttpMethod => "PATCH"; /// Gets the REST path. - public override string RestPath => "v2beta2/projects/{projectsId}/locations/{locationsId}/cmekConfig"; + public override string RestPath => "v2beta2/{+name}"; /// Initializes UpdateCmekConfig parameter list. protected override void InitParameters() { base.InitParameters(); - RequestParameters.Add("projectsId", new Google.Apis.Discovery.Parameter - { - Name = "projectsId", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = null, - }); - RequestParameters.Add("locationsId", new Google.Apis.Discovery.Parameter + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter { - Name = "locationsId", + Name = "name", IsRequired = true, ParameterType = "path", DefaultValue = null, - Pattern = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/cmekConfig$", }); RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter { diff --git a/Src/Generated/Google.Apis.CloudTasks.v2beta2/Google.Apis.CloudTasks.v2beta2.csproj b/Src/Generated/Google.Apis.CloudTasks.v2beta2/Google.Apis.CloudTasks.v2beta2.csproj index 588d2c70e44..ba6ba107847 100644 --- a/Src/Generated/Google.Apis.CloudTasks.v2beta2/Google.Apis.CloudTasks.v2beta2.csproj +++ b/Src/Generated/Google.Apis.CloudTasks.v2beta2/Google.Apis.CloudTasks.v2beta2.csproj @@ -3,7 +3,7 @@ Google.Apis.CloudTasks.v2beta2 Client Library - 1.62.0.3170 + 1.62.1.3193 Google LLC Copyright 2023 Google LLC Google @@ -57,8 +57,8 @@ - - + + diff --git a/Src/Generated/Google.Apis.CloudTasks.v2beta3/Google.Apis.CloudTasks.v2beta3.cs b/Src/Generated/Google.Apis.CloudTasks.v2beta3/Google.Apis.CloudTasks.v2beta3.cs index 40fc8e07893..e9f3367a708 100644 --- a/Src/Generated/Google.Apis.CloudTasks.v2beta3/Google.Apis.CloudTasks.v2beta3.cs +++ b/Src/Generated/Google.Apis.CloudTasks.v2beta3/Google.Apis.CloudTasks.v2beta3.cs @@ -1907,11 +1907,13 @@ protected override void InitParameters() /// be encrypted at-rest with the KMS-key provided in the config. /// /// The body of the request. - /// null - /// null - public virtual UpdateCmekConfigRequest UpdateCmekConfig(Google.Apis.CloudTasks.v2beta3.Data.CmekConfig body, string projectsId, string locationsId) + /// + /// Output only. The config resource name which includes the project and location and must end in + /// 'cmekConfig', in the format projects/PROJECT_ID/locations/LOCATION_ID/cmekConfig` + /// + public virtual UpdateCmekConfigRequest UpdateCmekConfig(Google.Apis.CloudTasks.v2beta3.Data.CmekConfig body, string name) { - return new UpdateCmekConfigRequest(service, body, projectsId, locationsId); + return new UpdateCmekConfigRequest(service, body, name); } /// @@ -1922,19 +1924,19 @@ public virtual UpdateCmekConfigRequest UpdateCmekConfig(Google.Apis.CloudTasks.v public class UpdateCmekConfigRequest : CloudTasksBaseServiceRequest { /// Constructs a new UpdateCmekConfig request. - public UpdateCmekConfigRequest(Google.Apis.Services.IClientService service, Google.Apis.CloudTasks.v2beta3.Data.CmekConfig body, string projectsId, string locationsId) : base(service) + public UpdateCmekConfigRequest(Google.Apis.Services.IClientService service, Google.Apis.CloudTasks.v2beta3.Data.CmekConfig body, string name) : base(service) { - ProjectsId = projectsId; - LocationsId = locationsId; + Name = name; Body = body; InitParameters(); } - [Google.Apis.Util.RequestParameterAttribute("projectsId", Google.Apis.Util.RequestParameterType.Path)] - public virtual string ProjectsId { get; private set; } - - [Google.Apis.Util.RequestParameterAttribute("locationsId", Google.Apis.Util.RequestParameterType.Path)] - public virtual string LocationsId { get; private set; } + /// + /// Output only. The config resource name which includes the project and location and must end in + /// 'cmekConfig', in the format projects/PROJECT_ID/locations/LOCATION_ID/cmekConfig` + /// + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } /// List of fields to be updated in this request. [Google.Apis.Util.RequestParameterAttribute("updateMask", Google.Apis.Util.RequestParameterType.Query)] @@ -1953,27 +1955,19 @@ public UpdateCmekConfigRequest(Google.Apis.Services.IClientService service, Goog public override string HttpMethod => "PATCH"; /// Gets the REST path. - public override string RestPath => "v2beta3/projects/{projectsId}/locations/{locationsId}/cmekConfig"; + public override string RestPath => "v2beta3/{+name}"; /// Initializes UpdateCmekConfig parameter list. protected override void InitParameters() { base.InitParameters(); - RequestParameters.Add("projectsId", new Google.Apis.Discovery.Parameter - { - Name = "projectsId", - IsRequired = true, - ParameterType = "path", - DefaultValue = null, - Pattern = null, - }); - RequestParameters.Add("locationsId", new Google.Apis.Discovery.Parameter + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter { - Name = "locationsId", + Name = "name", IsRequired = true, ParameterType = "path", DefaultValue = null, - Pattern = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/cmekConfig$", }); RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter { diff --git a/Src/Generated/Google.Apis.CloudTasks.v2beta3/Google.Apis.CloudTasks.v2beta3.csproj b/Src/Generated/Google.Apis.CloudTasks.v2beta3/Google.Apis.CloudTasks.v2beta3.csproj index f92546ab7c4..3c40466a428 100644 --- a/Src/Generated/Google.Apis.CloudTasks.v2beta3/Google.Apis.CloudTasks.v2beta3.csproj +++ b/Src/Generated/Google.Apis.CloudTasks.v2beta3/Google.Apis.CloudTasks.v2beta3.csproj @@ -3,7 +3,7 @@ Google.Apis.CloudTasks.v2beta3 Client Library - 1.62.1.3191 + 1.62.1.3193 Google LLC Copyright 2023 Google LLC Google diff --git a/Src/Generated/Google.Apis.ContainerAnalysis.v1/Google.Apis.ContainerAnalysis.v1.cs b/Src/Generated/Google.Apis.ContainerAnalysis.v1/Google.Apis.ContainerAnalysis.v1.cs index 15bbf06e375..ea1d03cfffa 100644 --- a/Src/Generated/Google.Apis.ContainerAnalysis.v1/Google.Apis.ContainerAnalysis.v1.cs +++ b/Src/Generated/Google.Apis.ContainerAnalysis.v1/Google.Apis.ContainerAnalysis.v1.cs @@ -3945,6 +3945,10 @@ public class ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource : Google.A [Newtonsoft.Json.JsonPropertyAttribute("object")] public virtual string Object__ { get; set; } + /// Optional. Option to specify the tool to fetch the source file for the build. + [Newtonsoft.Json.JsonPropertyAttribute("sourceFetcher")] + public virtual string SourceFetcher { get; set; } + /// The ETag of the item. public virtual string ETag { get; set; } } @@ -7288,10 +7292,6 @@ public class VulnerabilityNote : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("details")] public virtual System.Collections.Generic.IList Details { get; set; } - /// Occurrence-specific extra details about the vulnerability. - [Newtonsoft.Json.JsonPropertyAttribute("extraDetails")] - public virtual string ExtraDetails { get; set; } - /// The note provider assigned severity of this vulnerability. [Newtonsoft.Json.JsonPropertyAttribute("severity")] public virtual string Severity { get; set; } @@ -7383,6 +7383,10 @@ public class VulnerabilityOccurrence : Google.Apis.Requests.IDirectResponseSchem [Newtonsoft.Json.JsonPropertyAttribute("effectiveSeverity")] public virtual string EffectiveSeverity { get; set; } + /// Occurrence-specific extra details about the vulnerability. + [Newtonsoft.Json.JsonPropertyAttribute("extraDetails")] + public virtual string ExtraDetails { get; set; } + /// Output only. Whether at least one of the affected packages has a fix available. [Newtonsoft.Json.JsonPropertyAttribute("fixAvailable")] public virtual System.Nullable FixAvailable { get; set; } diff --git a/Src/Generated/Google.Apis.ContainerAnalysis.v1/Google.Apis.ContainerAnalysis.v1.csproj b/Src/Generated/Google.Apis.ContainerAnalysis.v1/Google.Apis.ContainerAnalysis.v1.csproj index 26dd71aed76..919bf1ff15b 100644 --- a/Src/Generated/Google.Apis.ContainerAnalysis.v1/Google.Apis.ContainerAnalysis.v1.csproj +++ b/Src/Generated/Google.Apis.ContainerAnalysis.v1/Google.Apis.ContainerAnalysis.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.ContainerAnalysis.v1 Client Library - 1.62.1.3186 + 1.62.1.3200 Google LLC Copyright 2023 Google LLC Google diff --git a/Src/Generated/Google.Apis.ContainerAnalysis.v1alpha1/Google.Apis.ContainerAnalysis.v1alpha1.cs b/Src/Generated/Google.Apis.ContainerAnalysis.v1alpha1/Google.Apis.ContainerAnalysis.v1alpha1.cs index 1bd30379d84..cdc6c3c24fd 100644 --- a/Src/Generated/Google.Apis.ContainerAnalysis.v1alpha1/Google.Apis.ContainerAnalysis.v1alpha1.cs +++ b/Src/Generated/Google.Apis.ContainerAnalysis.v1alpha1/Google.Apis.ContainerAnalysis.v1alpha1.cs @@ -9022,6 +9022,10 @@ public class VulnerabilityDetails : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("effectiveSeverity")] public virtual string EffectiveSeverity { get; set; } + /// Occurrence-specific extra details about the vulnerability. + [Newtonsoft.Json.JsonPropertyAttribute("extraDetails")] + public virtual string ExtraDetails { get; set; } + /// /// The set of affected locations and their fixes (if available) within the associated resource. /// diff --git a/Src/Generated/Google.Apis.ContainerAnalysis.v1alpha1/Google.Apis.ContainerAnalysis.v1alpha1.csproj b/Src/Generated/Google.Apis.ContainerAnalysis.v1alpha1/Google.Apis.ContainerAnalysis.v1alpha1.csproj index 5eb6bf74524..31c127aef45 100644 --- a/Src/Generated/Google.Apis.ContainerAnalysis.v1alpha1/Google.Apis.ContainerAnalysis.v1alpha1.csproj +++ b/Src/Generated/Google.Apis.ContainerAnalysis.v1alpha1/Google.Apis.ContainerAnalysis.v1alpha1.csproj @@ -3,7 +3,7 @@ Google.Apis.ContainerAnalysis.v1alpha1 Client Library - 1.62.1.3186 + 1.62.1.3193 Google LLC Copyright 2023 Google LLC Google diff --git a/Src/Generated/Google.Apis.Dataproc.v1/Google.Apis.Dataproc.v1.cs b/Src/Generated/Google.Apis.Dataproc.v1/Google.Apis.Dataproc.v1.cs index ab29a379a3b..9a744031c20 100644 --- a/Src/Generated/Google.Apis.Dataproc.v1/Google.Apis.Dataproc.v1.cs +++ b/Src/Generated/Google.Apis.Dataproc.v1/Google.Apis.Dataproc.v1.cs @@ -3596,6 +3596,10 @@ public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.Da [Google.Apis.Util.RequestParameterAttribute("nodeGroupId", Google.Apis.Util.RequestParameterType.Query)] public virtual string NodeGroupId { get; set; } + /// Optional. operation id of the parent operation sending the create request + [Google.Apis.Util.RequestParameterAttribute("parentOperationId", Google.Apis.Util.RequestParameterType.Query)] + public virtual string ParentOperationId { get; set; } + /// /// Optional. A unique ID used to identify the request. If the server receives two /// CreateNodeGroupRequest @@ -3644,6 +3648,14 @@ protected override void InitParameters() DefaultValue = null, Pattern = null, }); + RequestParameters.Add("parentOperationId", new Google.Apis.Discovery.Parameter + { + Name = "parentOperationId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); RequestParameters.Add("requestId", new Google.Apis.Discovery.Parameter { Name = "requestId", @@ -10755,6 +10767,10 @@ public class ResizeNodeGroupRequest : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("gracefulDecommissionTimeout")] public virtual object GracefulDecommissionTimeout { get; set; } + /// Optional. operation id of the parent operation sending the resize request + [Newtonsoft.Json.JsonPropertyAttribute("parentOperationId")] + public virtual string ParentOperationId { get; set; } + /// /// Optional. A unique ID used to identify the request. If the server receives two ResizeNodeGroupRequest /// (https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.ResizeNodeGroupRequests) diff --git a/Src/Generated/Google.Apis.Dataproc.v1/Google.Apis.Dataproc.v1.csproj b/Src/Generated/Google.Apis.Dataproc.v1/Google.Apis.Dataproc.v1.csproj index 028833d70bd..d235cc87f70 100644 --- a/Src/Generated/Google.Apis.Dataproc.v1/Google.Apis.Dataproc.v1.csproj +++ b/Src/Generated/Google.Apis.Dataproc.v1/Google.Apis.Dataproc.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.Dataproc.v1 Client Library - 1.62.1.3190 + 1.62.1.3196 Google LLC Copyright 2023 Google LLC Google diff --git a/Src/Generated/Google.Apis.DiscoveryEngine.v1alpha/Google.Apis.DiscoveryEngine.v1alpha.cs b/Src/Generated/Google.Apis.DiscoveryEngine.v1alpha/Google.Apis.DiscoveryEngine.v1alpha.cs index 7dc4ecbd5f0..00e47287ca1 100644 --- a/Src/Generated/Google.Apis.DiscoveryEngine.v1alpha/Google.Apis.DiscoveryEngine.v1alpha.cs +++ b/Src/Generated/Google.Apis.DiscoveryEngine.v1alpha/Google.Apis.DiscoveryEngine.v1alpha.cs @@ -3605,6 +3605,7 @@ public EnginesResource(Google.Apis.Services.IClientService service) { this.service = service; Operations = new OperationsResource(service); + ServingConfigs = new ServingConfigsResource(service); } /// Gets the Operations resource. @@ -3762,6 +3763,149 @@ protected override void InitParameters() } } } + + /// Gets the ServingConfigs resource. + public virtual ServingConfigsResource ServingConfigs { get; } + + /// The "servingConfigs" collection of methods. + public class ServingConfigsResource + { + private const string Resource = "servingConfigs"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public ServingConfigsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Makes a recommendation, which requires a contextual user event. + /// The body of the request. + /// + /// Required. Full resource name of the format: + /// `projects/*/locations/global/collections/*/dataStores/*/servingConfigs/*` Before you can + /// request recommendations from your model, you must create at least one serving config for it. + /// + public virtual RecommendRequest Recommend(Google.Apis.DiscoveryEngine.v1alpha.Data.GoogleCloudDiscoveryengineV1alphaRecommendRequest body, string servingConfig) + { + return new RecommendRequest(service, body, servingConfig); + } + + /// Makes a recommendation, which requires a contextual user event. + public class RecommendRequest : DiscoveryEngineBaseServiceRequest + { + /// Constructs a new Recommend request. + public RecommendRequest(Google.Apis.Services.IClientService service, Google.Apis.DiscoveryEngine.v1alpha.Data.GoogleCloudDiscoveryengineV1alphaRecommendRequest body, string servingConfig) : base(service) + { + ServingConfig = servingConfig; + Body = body; + InitParameters(); + } + + /// + /// Required. Full resource name of the format: + /// `projects/*/locations/global/collections/*/dataStores/*/servingConfigs/*` Before you can + /// request recommendations from your model, you must create at least one serving config for + /// it. + /// + [Google.Apis.Util.RequestParameterAttribute("servingConfig", Google.Apis.Util.RequestParameterType.Path)] + public virtual string ServingConfig { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.DiscoveryEngine.v1alpha.Data.GoogleCloudDiscoveryengineV1alphaRecommendRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "recommend"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1alpha/{+servingConfig}:recommend"; + + /// Initializes Recommend parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("servingConfig", new Google.Apis.Discovery.Parameter + { + Name = "servingConfig", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/servingConfigs/[^/]+$", + }); + } + } + + /// Performs a search. + /// The body of the request. + /// + /// Required. The resource name of the Search serving config, such as + /// `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. + /// This field is used to identify the serving configuration name, set of models used to make + /// the search. + /// + public virtual SearchRequest Search(Google.Apis.DiscoveryEngine.v1alpha.Data.GoogleCloudDiscoveryengineV1alphaSearchRequest body, string servingConfig) + { + return new SearchRequest(service, body, servingConfig); + } + + /// Performs a search. + public class SearchRequest : DiscoveryEngineBaseServiceRequest + { + /// Constructs a new Search request. + public SearchRequest(Google.Apis.Services.IClientService service, Google.Apis.DiscoveryEngine.v1alpha.Data.GoogleCloudDiscoveryengineV1alphaSearchRequest body, string servingConfig) : base(service) + { + ServingConfig = servingConfig; + Body = body; + InitParameters(); + } + + /// + /// Required. The resource name of the Search serving config, such as + /// `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. + /// This field is used to identify the serving configuration name, set of models used to + /// make the search. + /// + [Google.Apis.Util.RequestParameterAttribute("servingConfig", Google.Apis.Util.RequestParameterType.Path)] + public virtual string ServingConfig { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.DiscoveryEngine.v1alpha.Data.GoogleCloudDiscoveryengineV1alphaSearchRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "search"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1alpha/{+servingConfig}:search"; + + /// Initializes Search parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("servingConfig", new Google.Apis.Discovery.Parameter + { + Name = "servingConfig", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/servingConfigs/[^/]+$", + }); + } + } + } } /// Gets the Operations resource. @@ -11103,6 +11247,10 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("llmEnabled")] public virtual System.Nullable LlmEnabled { get; set; } + /// Output only. Whether the customer accepted data use terms. + [Newtonsoft.Json.JsonPropertyAttribute("minimumDataTermAccepted")] + public virtual System.Nullable MinimumDataTermAccepted { get; set; } + /// /// Immutable. The full resource name of the widget config. Format: /// `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/widgetConfigs/{widget_config_id}`. diff --git a/Src/Generated/Google.Apis.DiscoveryEngine.v1alpha/Google.Apis.DiscoveryEngine.v1alpha.csproj b/Src/Generated/Google.Apis.DiscoveryEngine.v1alpha/Google.Apis.DiscoveryEngine.v1alpha.csproj index cdd4541c965..b8b82a8a407 100644 --- a/Src/Generated/Google.Apis.DiscoveryEngine.v1alpha/Google.Apis.DiscoveryEngine.v1alpha.csproj +++ b/Src/Generated/Google.Apis.DiscoveryEngine.v1alpha/Google.Apis.DiscoveryEngine.v1alpha.csproj @@ -3,7 +3,7 @@ Google.Apis.DiscoveryEngine.v1alpha Client Library - 1.62.1.3192 + 1.62.1.3197 Google LLC Copyright 2023 Google LLC Google diff --git a/Src/Generated/Google.Apis.DiscoveryEngine.v1beta/Google.Apis.DiscoveryEngine.v1beta.cs b/Src/Generated/Google.Apis.DiscoveryEngine.v1beta/Google.Apis.DiscoveryEngine.v1beta.cs index b4602d55bd4..737d805652f 100644 --- a/Src/Generated/Google.Apis.DiscoveryEngine.v1beta/Google.Apis.DiscoveryEngine.v1beta.cs +++ b/Src/Generated/Google.Apis.DiscoveryEngine.v1beta/Google.Apis.DiscoveryEngine.v1beta.cs @@ -3213,6 +3213,7 @@ public EnginesResource(Google.Apis.Services.IClientService service) { this.service = service; Operations = new OperationsResource(service); + ServingConfigs = new ServingConfigsResource(service); } /// Gets the Operations resource. @@ -3370,6 +3371,149 @@ protected override void InitParameters() } } } + + /// Gets the ServingConfigs resource. + public virtual ServingConfigsResource ServingConfigs { get; } + + /// The "servingConfigs" collection of methods. + public class ServingConfigsResource + { + private const string Resource = "servingConfigs"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public ServingConfigsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Makes a recommendation, which requires a contextual user event. + /// The body of the request. + /// + /// Required. Full resource name of the format: + /// `projects/*/locations/global/collections/*/dataStores/*/servingConfigs/*` Before you can + /// request recommendations from your model, you must create at least one serving config for it. + /// + public virtual RecommendRequest Recommend(Google.Apis.DiscoveryEngine.v1beta.Data.GoogleCloudDiscoveryengineV1betaRecommendRequest body, string servingConfig) + { + return new RecommendRequest(service, body, servingConfig); + } + + /// Makes a recommendation, which requires a contextual user event. + public class RecommendRequest : DiscoveryEngineBaseServiceRequest + { + /// Constructs a new Recommend request. + public RecommendRequest(Google.Apis.Services.IClientService service, Google.Apis.DiscoveryEngine.v1beta.Data.GoogleCloudDiscoveryengineV1betaRecommendRequest body, string servingConfig) : base(service) + { + ServingConfig = servingConfig; + Body = body; + InitParameters(); + } + + /// + /// Required. Full resource name of the format: + /// `projects/*/locations/global/collections/*/dataStores/*/servingConfigs/*` Before you can + /// request recommendations from your model, you must create at least one serving config for + /// it. + /// + [Google.Apis.Util.RequestParameterAttribute("servingConfig", Google.Apis.Util.RequestParameterType.Path)] + public virtual string ServingConfig { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.DiscoveryEngine.v1beta.Data.GoogleCloudDiscoveryengineV1betaRecommendRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "recommend"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1beta/{+servingConfig}:recommend"; + + /// Initializes Recommend parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("servingConfig", new Google.Apis.Discovery.Parameter + { + Name = "servingConfig", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/servingConfigs/[^/]+$", + }); + } + } + + /// Performs a search. + /// The body of the request. + /// + /// Required. The resource name of the Search serving config, such as + /// `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. + /// This field is used to identify the serving configuration name, set of models used to make + /// the search. + /// + public virtual SearchRequest Search(Google.Apis.DiscoveryEngine.v1beta.Data.GoogleCloudDiscoveryengineV1betaSearchRequest body, string servingConfig) + { + return new SearchRequest(service, body, servingConfig); + } + + /// Performs a search. + public class SearchRequest : DiscoveryEngineBaseServiceRequest + { + /// Constructs a new Search request. + public SearchRequest(Google.Apis.Services.IClientService service, Google.Apis.DiscoveryEngine.v1beta.Data.GoogleCloudDiscoveryengineV1betaSearchRequest body, string servingConfig) : base(service) + { + ServingConfig = servingConfig; + Body = body; + InitParameters(); + } + + /// + /// Required. The resource name of the Search serving config, such as + /// `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. + /// This field is used to identify the serving configuration name, set of models used to + /// make the search. + /// + [Google.Apis.Util.RequestParameterAttribute("servingConfig", Google.Apis.Util.RequestParameterType.Path)] + public virtual string ServingConfig { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.DiscoveryEngine.v1beta.Data.GoogleCloudDiscoveryengineV1betaSearchRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "search"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1beta/{+servingConfig}:search"; + + /// Initializes Search parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("servingConfig", new Google.Apis.Discovery.Parameter + { + Name = "servingConfig", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/servingConfigs/[^/]+$", + }); + } + } + } } /// Gets the Operations resource. diff --git a/Src/Generated/Google.Apis.DiscoveryEngine.v1beta/Google.Apis.DiscoveryEngine.v1beta.csproj b/Src/Generated/Google.Apis.DiscoveryEngine.v1beta/Google.Apis.DiscoveryEngine.v1beta.csproj index dfb3412c310..65c39ea355c 100644 --- a/Src/Generated/Google.Apis.DiscoveryEngine.v1beta/Google.Apis.DiscoveryEngine.v1beta.csproj +++ b/Src/Generated/Google.Apis.DiscoveryEngine.v1beta/Google.Apis.DiscoveryEngine.v1beta.csproj @@ -3,7 +3,7 @@ Google.Apis.DiscoveryEngine.v1beta Client Library - 1.62.1.3192 + 1.62.1.3197 Google LLC Copyright 2023 Google LLC Google diff --git a/Src/Generated/Google.Apis.DisplayVideo.v1/Google.Apis.DisplayVideo.v1.cs b/Src/Generated/Google.Apis.DisplayVideo.v1/Google.Apis.DisplayVideo.v1.cs index b3fd4797a39..4a853d5153d 100644 --- a/Src/Generated/Google.Apis.DisplayVideo.v1/Google.Apis.DisplayVideo.v1.cs +++ b/Src/Generated/Google.Apis.DisplayVideo.v1/Google.Apis.DisplayVideo.v1.cs @@ -7228,9 +7228,8 @@ public AssignedLocationsResource(Google.Apis.Services.IClientService service) /// /// Bulk edits multiple assignments between locations and a single location list. The operation will - /// delete the assigned locations provided in - /// BulkEditAssignedLocationsRequest.deleted_assigned_locations and then create the assigned locations - /// provided in BulkEditAssignedLocationsRequest.created_assigned_locations. + /// delete the assigned locations provided in deletedAssignedLocations and then create the assigned + /// locations provided in createdAssignedLocations. /// /// The body of the request. /// @@ -7246,9 +7245,8 @@ public virtual BulkEditRequest BulkEdit(Google.Apis.DisplayVideo.v1.Data.BulkEdi /// /// Bulk edits multiple assignments between locations and a single location list. The operation will - /// delete the assigned locations provided in - /// BulkEditAssignedLocationsRequest.deleted_assigned_locations and then create the assigned locations - /// provided in BulkEditAssignedLocationsRequest.created_assigned_locations. + /// delete the assigned locations provided in deletedAssignedLocations and then create the assigned + /// locations provided in createdAssignedLocations. /// public class BulkEditRequest : DisplayVideoBaseServiceRequest { @@ -19460,10 +19458,10 @@ public class AdvertiserTargetingConfig : Google.Apis.Requests.IDirectResponseSch public class AgeRangeAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema { /// - /// The age range of an audience. We only support targeting a continuous age range of an audience. Thus, the age - /// range represented in this field can be 1) targeted solely, or, 2) part of a larger continuous age range. The - /// reach of a continuous age range targeting can be expanded by also targeting an audience of an unknown age. - /// Output only in v1. Required in v2. + /// Required. The age range of an audience. We only support targeting a continuous age range of an audience. + /// Thus, the age range represented in this field can be 1) targeted solely, or, 2) part of a larger continuous + /// age range. The reach of a continuous age range targeting can be expanded by also targeting an audience of an + /// unknown age. /// [Newtonsoft.Json.JsonPropertyAttribute("ageRange")] public virtual string AgeRange { get; set; } @@ -19620,10 +19618,7 @@ public class AssignedInventorySource : Google.Apis.Requests.IDirectResponseSchem public virtual string ETag { get; set; } } - /// - /// An assignment between a location list and a relevant targeting option. Currently, geo region targeting options - /// are the only supported option for assignment. - /// + /// An assignment between a location list and a relevant targeting option. public class AssignedLocation : Google.Apis.Requests.IDirectResponseSchema { /// @@ -19637,11 +19632,7 @@ public class AssignedLocation : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } - /// - /// Required. The ID of the targeting option assigned to the location list. Assigned locations can only be - /// modified in TARGETING_LOCATION_TYPE_REGIONAL location lists. When creating or deleting assigned locations, - /// this value must be of type TARGETING_TYPE_GEO_REGION. - /// + /// Required. The ID of the targeting option assigned to the location list. [Newtonsoft.Json.JsonPropertyAttribute("targetingOptionId")] public virtual string TargetingOptionId { get; set; } @@ -20076,7 +20067,7 @@ public class AudienceGroupAssignedTargetingOptionDetails : Google.Apis.Requests. /// public class AudioContentTypeAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema { - /// The audio content type. Output only in v1. Required in v2. + /// Required. The audio content type. [Newtonsoft.Json.JsonPropertyAttribute("audioContentType")] public virtual string AudioContentType { get; set; } @@ -20426,12 +20417,14 @@ public class BulkEditAssignedInventorySourcesResponse : Google.Apis.Requests.IDi /// Request message for AssignedLocationService.BulkEditAssignedLocations. public class BulkEditAssignedLocationsRequest : Google.Apis.Requests.IDirectResponseSchema { - /// The assigned locations to create in bulk, specified as a list of AssignedLocations. + /// + /// The assigned locations to create in bulk, specified as a list of AssignedLocation resources. + /// [Newtonsoft.Json.JsonPropertyAttribute("createdAssignedLocations")] public virtual System.Collections.Generic.IList CreatedAssignedLocations { get; set; } /// - /// The IDs of the assigned locations to delete in bulk, specified as a list of assigned_location_ids. + /// The IDs of the assigned locations to delete in bulk, specified as a list of assignedLocationId values. /// [Newtonsoft.Json.JsonPropertyAttribute("deletedAssignedLocations")] public virtual System.Collections.Generic.IList> DeletedAssignedLocations { get; set; } @@ -20440,7 +20433,6 @@ public class BulkEditAssignedLocationsRequest : Google.Apis.Requests.IDirectResp public virtual string ETag { get; set; } } - /// Response message for AssignedLocationService.BulkEditAssignedLocations. public class BulkEditAssignedLocationsResponse : Google.Apis.Requests.IDirectResponseSchema { /// @@ -21370,7 +21362,7 @@ public class ContentInstreamPositionAssignedTargetingOptionDetails : Google.Apis [Newtonsoft.Json.JsonPropertyAttribute("adType")] public virtual string AdType { get; set; } - /// The content instream position for video or audio ads. Output only in v1. Required in v2. + /// Required. The content instream position for video or audio ads. [Newtonsoft.Json.JsonPropertyAttribute("contentInstreamPosition")] public virtual string ContentInstreamPosition { get; set; } @@ -21415,7 +21407,7 @@ public class ContentOutstreamPositionAssignedTargetingOptionDetails : Google.Api [Newtonsoft.Json.JsonPropertyAttribute("adType")] public virtual string AdType { get; set; } - /// The content outstream position. Output only in v1. Required in v2. + /// Required. The content outstream position. [Newtonsoft.Json.JsonPropertyAttribute("contentOutstreamPosition")] public virtual string ContentOutstreamPosition { get; set; } @@ -22172,8 +22164,8 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset public virtual System.Nullable CustomBiddingScriptId { get; set; } /// - /// Output only. Error details of a rejected custom bidding script. This field will only be populated when - /// Script.state is REJECTED. + /// Output only. Error details of a rejected custom bidding script. This field will only be populated when state + /// is REJECTED. /// [Newtonsoft.Json.JsonPropertyAttribute("errors")] public virtual System.Collections.Generic.IList Errors { get; set; } @@ -22405,7 +22397,7 @@ public class DeviceMakeModelTargetingOptionDetails : Google.Apis.Requests.IDirec /// public class DeviceTypeAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema { - /// The display name of the device type. Output only in v1. Required in v2. + /// Required. The display name of the device type. [Newtonsoft.Json.JsonPropertyAttribute("deviceType")] public virtual string DeviceType { get; set; } @@ -22732,7 +22724,7 @@ public class Empty : Google.Apis.Requests.IDirectResponseSchema /// public class EnvironmentAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema { - /// The serving environment. Output only in v1. Required in v2. + /// Required. The serving environment. [Newtonsoft.Json.JsonPropertyAttribute("environment")] public virtual string Environment { get; set; } @@ -23151,7 +23143,7 @@ public class FrequencyCap : Google.Apis.Requests.IDirectResponseSchema /// public class GenderAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema { - /// The gender of the audience. Output only in v1. Required in v2. + /// Required. The gender of the audience. [Newtonsoft.Json.JsonPropertyAttribute("gender")] public virtual string Gender { get; set; } @@ -23494,7 +23486,7 @@ public class GuaranteedOrderStatus : Google.Apis.Requests.IDirectResponseSchema /// public class HouseholdIncomeAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema { - /// The household income of the audience. Output only in v1. Required in v2. + /// Required. The household income of the audience. [Newtonsoft.Json.JsonPropertyAttribute("householdIncome")] public virtual string HouseholdIncome { get; set; } @@ -25399,7 +25391,7 @@ public class Money : Google.Apis.Requests.IDirectResponseSchema /// public class NativeContentPositionAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema { - /// The content position. Output only in v1. Required in v2. + /// Required. The content position. [Newtonsoft.Json.JsonPropertyAttribute("contentPosition")] public virtual string ContentPosition { get; set; } @@ -25548,7 +25540,7 @@ public class ObaIcon : Google.Apis.Requests.IDirectResponseSchema /// public class OmidAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema { - /// The type of Open Measurement enabled inventory. Output only in v1. Required in v2. + /// Required. The type of Open Measurement enabled inventory. [Newtonsoft.Json.JsonPropertyAttribute("omid")] public virtual string Omid { get; set; } @@ -25724,7 +25716,7 @@ public class Pacing : Google.Apis.Requests.IDirectResponseSchema /// /// Required. The time period in which the pacing budget will be spent. When automatic budget allocation is - /// enabled at the insertion order via auto_budget_allocation, this field is output only and defaults to + /// enabled at the insertion order via automationType, this field is output only and defaults to /// `PACING_PERIOD_FLIGHT`. /// [Newtonsoft.Json.JsonPropertyAttribute("pacingPeriod")] @@ -25770,7 +25762,7 @@ public class ParentEntityFilter : Google.Apis.Requests.IDirectResponseSchema /// public class ParentalStatusAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema { - /// The parental status of the audience. Output only in v1. Required in v2. + /// Required. The parental status of the audience. [Newtonsoft.Json.JsonPropertyAttribute("parentalStatus")] public virtual string ParentalStatus { get; set; } @@ -25981,7 +25973,7 @@ public class PartnerRevenueModel : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } - /// Settings that control the performance goal of a campaign or insertion order. + /// Settings that control the performance goal of a campaign. public class PerformanceGoal : Google.Apis.Requests.IDirectResponseSchema { /// @@ -27209,7 +27201,7 @@ public class VideoPlayerSizeAssignedTargetingOptionDetails : Google.Apis.Request [Newtonsoft.Json.JsonPropertyAttribute("targetingOptionId")] public virtual string TargetingOptionId { get; set; } - /// The video player size. Output only in v1. Required in v2. + /// Required. The video player size. [Newtonsoft.Json.JsonPropertyAttribute("videoPlayerSize")] public virtual string VideoPlayerSize { get; set; } @@ -27244,7 +27236,7 @@ public class ViewabilityAssignedTargetingOptionDetails : Google.Apis.Requests.ID [Newtonsoft.Json.JsonPropertyAttribute("targetingOptionId")] public virtual string TargetingOptionId { get; set; } - /// The predicted viewability percentage. Output only in v1. Required in v2. + /// Required. The predicted viewability percentage. [Newtonsoft.Json.JsonPropertyAttribute("viewability")] public virtual string Viewability { get; set; } diff --git a/Src/Generated/Google.Apis.DisplayVideo.v1/Google.Apis.DisplayVideo.v1.csproj b/Src/Generated/Google.Apis.DisplayVideo.v1/Google.Apis.DisplayVideo.v1.csproj index aaa87722d47..40f09b47f14 100644 --- a/Src/Generated/Google.Apis.DisplayVideo.v1/Google.Apis.DisplayVideo.v1.csproj +++ b/Src/Generated/Google.Apis.DisplayVideo.v1/Google.Apis.DisplayVideo.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.DisplayVideo.v1 Client Library - 1.62.0.3178 + 1.62.1.3203 Google LLC Copyright 2023 Google LLC Google @@ -57,8 +57,8 @@ - - + + diff --git a/Src/Generated/Google.Apis.DisplayVideo.v2/Google.Apis.DisplayVideo.v2.cs b/Src/Generated/Google.Apis.DisplayVideo.v2/Google.Apis.DisplayVideo.v2.cs index d758618db60..c29912a9b69 100644 --- a/Src/Generated/Google.Apis.DisplayVideo.v2/Google.Apis.DisplayVideo.v2.cs +++ b/Src/Generated/Google.Apis.DisplayVideo.v2/Google.Apis.DisplayVideo.v2.cs @@ -8308,9 +8308,8 @@ public AssignedLocationsResource(Google.Apis.Services.IClientService service) /// /// Bulk edits multiple assignments between locations and a single location list. The operation will - /// delete the assigned locations provided in - /// BulkEditAssignedLocationsRequest.deleted_assigned_locations and then create the assigned locations - /// provided in BulkEditAssignedLocationsRequest.created_assigned_locations. + /// delete the assigned locations provided in deletedAssignedLocations and then create the assigned + /// locations provided in createdAssignedLocations. /// /// The body of the request. /// @@ -8326,9 +8325,8 @@ public virtual BulkEditRequest BulkEdit(Google.Apis.DisplayVideo.v2.Data.BulkEdi /// /// Bulk edits multiple assignments between locations and a single location list. The operation will - /// delete the assigned locations provided in - /// BulkEditAssignedLocationsRequest.deleted_assigned_locations and then create the assigned locations - /// provided in BulkEditAssignedLocationsRequest.created_assigned_locations. + /// delete the assigned locations provided in deletedAssignedLocations and then create the assigned + /// locations provided in createdAssignedLocations. /// public class BulkEditRequest : DisplayVideoBaseServiceRequest { @@ -12843,7 +12841,7 @@ protected override void InitParameters() } /// - /// Lists assigned targeting options for multiple YouTube ad groups across targeting types. Inherieted + /// Lists assigned targeting options for multiple YouTube ad groups across targeting types. Inherited /// assigned targeting options are not included. /// /// Required. The ID of the advertiser the line items belongs to. @@ -12853,7 +12851,7 @@ public virtual BulkListAdGroupAssignedTargetingOptionsRequest BulkListAdGroupAss } /// - /// Lists assigned targeting options for multiple YouTube ad groups across targeting types. Inherieted + /// Lists assigned targeting options for multiple YouTube ad groups across targeting types. Inherited /// assigned targeting options are not included. /// public class BulkListAdGroupAssignedTargetingOptionsRequest : DisplayVideoBaseServiceRequest @@ -12883,10 +12881,10 @@ public BulkListAdGroupAssignedTargetingOptionsRequest(Google.Apis.Services.IClie public virtual string Filter { get; set; } /// - /// Optional. Field by which to sort the list. Acceptable values are: * `youtubeAdGroupId` (acceptable - /// in v2) * `adGroupId` (acceptable in v3) * `assignedTargetingOption.targetingType` The default - /// sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added - /// to the field name. Example: `targetingType desc`. + /// Optional. Field by which to sort the list. Acceptable values are: * `adGroupId` (default) * + /// `assignedTargetingOption.targetingType` The default sorting order is ascending. To specify + /// descending order for a field, a suffix "desc" should be added to the field name. Example: + /// `targetingType desc`. /// [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] public virtual string OrderBy { get; set; } @@ -21929,7 +21927,7 @@ public class Advertiser : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("advertiserId")] public virtual System.Nullable AdvertiserId { get; set; } - /// Billing related settings of the advertiser. + /// Required. Billing related settings of the advertiser. [Newtonsoft.Json.JsonPropertyAttribute("billingConfig")] public virtual AdvertiserBillingConfig BillingConfig { get; set; } @@ -22049,10 +22047,7 @@ public class AdvertiserAdServerConfig : Google.Apis.Requests.IDirectResponseSche /// Billing related settings of an advertiser. public class AdvertiserBillingConfig : Google.Apis.Requests.IDirectResponseSchema { - /// - /// The ID of a billing profile assigned to the advertiser. This field will default to the default billing - /// profile ID of the advertiser's parent partner if a value is not provided. - /// + /// The ID of a billing profile assigned to the advertiser. [Newtonsoft.Json.JsonPropertyAttribute("billingProfileId")] public virtual System.Nullable BillingProfileId { get; set; } @@ -22191,10 +22186,10 @@ public class AdvertiserTargetingConfig : Google.Apis.Requests.IDirectResponseSch public class AgeRangeAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema { /// - /// The age range of an audience. We only support targeting a continuous age range of an audience. Thus, the age - /// range represented in this field can be 1) targeted solely, or, 2) part of a larger continuous age range. The - /// reach of a continuous age range targeting can be expanded by also targeting an audience of an unknown age. - /// Output only in v1. Required in v2. + /// Required. The age range of an audience. We only support targeting a continuous age range of an audience. + /// Thus, the age range represented in this field can be 1) targeted solely, or, 2) part of a larger continuous + /// age range. The reach of a continuous age range targeting can be expanded by also targeting an audience of an + /// unknown age. /// [Newtonsoft.Json.JsonPropertyAttribute("ageRange")] public virtual string AgeRange { get; set; } @@ -22345,10 +22340,7 @@ public class AssignedInventorySource : Google.Apis.Requests.IDirectResponseSchem public virtual string ETag { get; set; } } - /// - /// An assignment between a location list and a relevant targeting option. Currently, geo region targeting options - /// are the only supported option for assignment. - /// + /// An assignment between a location list and a relevant targeting option. public class AssignedLocation : Google.Apis.Requests.IDirectResponseSchema { /// @@ -22362,11 +22354,7 @@ public class AssignedLocation : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } - /// - /// Required. The ID of the targeting option assigned to the location list. Assigned locations can only be - /// modified in TARGETING_LOCATION_TYPE_REGIONAL location lists. When creating or deleting assigned locations, - /// this value must be of type TARGETING_TYPE_GEO_REGION. - /// + /// Required. The ID of the targeting option assigned to the location list. [Newtonsoft.Json.JsonPropertyAttribute("targetingOptionId")] public virtual string TargetingOptionId { get; set; } @@ -22860,7 +22848,7 @@ public class AudioAd : Google.Apis.Requests.IDirectResponseSchema /// public class AudioContentTypeAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema { - /// The audio content type. Output only in v1. Required in v2. + /// Required. The audio content type. [Newtonsoft.Json.JsonPropertyAttribute("audioContentType")] public virtual string AudioContentType { get; set; } @@ -23204,12 +23192,14 @@ public class BulkEditAssignedInventorySourcesResponse : Google.Apis.Requests.IDi /// Request message for AssignedLocationService.BulkEditAssignedLocations. public class BulkEditAssignedLocationsRequest : Google.Apis.Requests.IDirectResponseSchema { - /// The assigned locations to create in bulk, specified as a list of AssignedLocations. + /// + /// The assigned locations to create in bulk, specified as a list of AssignedLocation resources. + /// [Newtonsoft.Json.JsonPropertyAttribute("createdAssignedLocations")] public virtual System.Collections.Generic.IList CreatedAssignedLocations { get; set; } /// - /// The IDs of the assigned locations to delete in bulk, specified as a list of assigned_location_ids. + /// The IDs of the assigned locations to delete in bulk, specified as a list of assignedLocationId values. /// [Newtonsoft.Json.JsonPropertyAttribute("deletedAssignedLocations")] public virtual System.Collections.Generic.IList> DeletedAssignedLocations { get; set; } @@ -23218,7 +23208,6 @@ public class BulkEditAssignedLocationsRequest : Google.Apis.Requests.IDirectResp public virtual string ETag { get; set; } } - /// Response message for AssignedLocationService.BulkEditAssignedLocations. public class BulkEditAssignedLocationsResponse : Google.Apis.Requests.IDirectResponseSchema { /// @@ -23437,8 +23426,7 @@ public class BulkListAdGroupAssignedTargetingOptionsResponse : Google.Apis.Reque /// /// A token identifying the next page of results. This value should be specified as the pageToken in a /// subsequent call to `BulkListAdGroupAssignedTargetingOptions` to fetch the next page of results. This token - /// will be absent if there are no more youtube_ad_group_assigned_targeting_options or - /// ad_group_assigned_targeting_options to return. + /// will be absent if there are no more AdGroupAssignedTargetingOption resources to return. /// [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] public virtual string NextPageToken { get; set; } @@ -24311,7 +24299,7 @@ public class ContentInstreamPositionAssignedTargetingOptionDetails : Google.Apis [Newtonsoft.Json.JsonPropertyAttribute("adType")] public virtual string AdType { get; set; } - /// The content instream position for video or audio ads. Output only in v1. Required in v2. + /// Required. The content instream position for video or audio ads. [Newtonsoft.Json.JsonPropertyAttribute("contentInstreamPosition")] public virtual string ContentInstreamPosition { get; set; } @@ -24350,7 +24338,7 @@ public class ContentOutstreamPositionAssignedTargetingOptionDetails : Google.Api [Newtonsoft.Json.JsonPropertyAttribute("adType")] public virtual string AdType { get; set; } - /// The content outstream position. Output only in v1. Required in v2. + /// Required. The content outstream position. [Newtonsoft.Json.JsonPropertyAttribute("contentOutstreamPosition")] public virtual string ContentOutstreamPosition { get; set; } @@ -25101,8 +25089,8 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset public virtual System.Nullable CustomBiddingScriptId { get; set; } /// - /// Output only. Error details of a rejected custom bidding script. This field will only be populated when - /// Script.state is REJECTED. + /// Output only. Error details of a rejected custom bidding script. This field will only be populated when state + /// is REJECTED. /// [Newtonsoft.Json.JsonPropertyAttribute("errors")] public virtual System.Collections.Generic.IList Errors { get; set; } @@ -25349,7 +25337,7 @@ public class DeviceMakeModelTargetingOptionDetails : Google.Apis.Requests.IDirec /// public class DeviceTypeAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema { - /// The display name of the device type. Output only in v1. Required in v2. + /// Required. The display name of the device type. [Newtonsoft.Json.JsonPropertyAttribute("deviceType")] public virtual string DeviceType { get; set; } @@ -25712,7 +25700,7 @@ public class Empty : Google.Apis.Requests.IDirectResponseSchema /// public class EnvironmentAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema { - /// The serving environment. Output only in v1. Required in v2. + /// Required. The serving environment. [Newtonsoft.Json.JsonPropertyAttribute("environment")] public virtual string Environment { get; set; } @@ -26132,7 +26120,7 @@ public class FrequencyCap : Google.Apis.Requests.IDirectResponseSchema /// public class GenderAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema { - /// The gender of the audience. Output only in v1. Required in v2. + /// Required. The gender of the audience. [Newtonsoft.Json.JsonPropertyAttribute("gender")] public virtual string Gender { get; set; } @@ -26471,7 +26459,7 @@ public class GuaranteedOrderStatus : Google.Apis.Requests.IDirectResponseSchema /// public class HouseholdIncomeAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema { - /// The household income of the audience. Output only in v1. Required in v2. + /// Required. The household income of the audience. [Newtonsoft.Json.JsonPropertyAttribute("householdIncome")] public virtual string HouseholdIncome { get; set; } @@ -28514,7 +28502,7 @@ public class Money : Google.Apis.Requests.IDirectResponseSchema /// public class NativeContentPositionAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema { - /// The content position. Output only in v1. Required in v2. + /// Required. The content position. [Newtonsoft.Json.JsonPropertyAttribute("contentPosition")] public virtual string ContentPosition { get; set; } @@ -28672,7 +28660,7 @@ public class ObaIcon : Google.Apis.Requests.IDirectResponseSchema /// public class OmidAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema { - /// The type of Open Measurement enabled inventory. Output only in v1. Required in v2. + /// Required. The type of Open Measurement enabled inventory. [Newtonsoft.Json.JsonPropertyAttribute("omid")] public virtual string Omid { get; set; } @@ -28844,7 +28832,7 @@ public class Pacing : Google.Apis.Requests.IDirectResponseSchema /// /// Required. The time period in which the pacing budget will be spent. When automatic budget allocation is - /// enabled at the insertion order via auto_budget_allocation, this field is output only and defaults to + /// enabled at the insertion order via automationType, this field is output only and defaults to /// `PACING_PERIOD_FLIGHT`. /// [Newtonsoft.Json.JsonPropertyAttribute("pacingPeriod")] @@ -28890,7 +28878,7 @@ public class ParentEntityFilter : Google.Apis.Requests.IDirectResponseSchema /// public class ParentalStatusAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema { - /// The parental status of the audience. Output only in v1. Required in v2. + /// Required. The parental status of the audience. [Newtonsoft.Json.JsonPropertyAttribute("parentalStatus")] public virtual string ParentalStatus { get; set; } @@ -29095,7 +29083,7 @@ public class PartnerRevenueModel : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } - /// Settings that control the performance goal of a campaign or insertion order. + /// Settings that control the performance goal of a campaign. public class PerformanceGoal : Google.Apis.Requests.IDirectResponseSchema { /// @@ -30533,7 +30521,7 @@ public class VideoPerformanceAd : Google.Apis.Requests.IDirectResponseSchema /// public class VideoPlayerSizeAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema { - /// The video player size. Output only in v1. Required in v2. + /// Required. The video player size. [Newtonsoft.Json.JsonPropertyAttribute("videoPlayerSize")] public virtual string VideoPlayerSize { get; set; } @@ -30561,7 +30549,7 @@ public class VideoPlayerSizeTargetingOptionDetails : Google.Apis.Requests.IDirec /// public class ViewabilityAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema { - /// The predicted viewability percentage. Output only in v1. Required in v2. + /// Required. The predicted viewability percentage. [Newtonsoft.Json.JsonPropertyAttribute("viewability")] public virtual string Viewability { get; set; } @@ -30729,7 +30717,7 @@ public class YoutubeAdGroupAd : Google.Apis.Requests.IDirectResponseSchema } /// - /// Wrapper object associating an assigned_targeting_option resource and the youtube ad group it is assigned to. + /// Wrapper object associating an AssignedTargetingOption resource and the youtube ad group it is assigned to. /// public class YoutubeAdGroupAssignedTargetingOption : Google.Apis.Requests.IDirectResponseSchema { @@ -30748,11 +30736,11 @@ public class YoutubeAdGroupAssignedTargetingOption : Google.Apis.Requests.IDirec /// Settings that control the bid strategy for YouTube and Partners resources. public class YoutubeAndPartnersBiddingStrategy : Google.Apis.Requests.IDirectResponseSchema { - /// Output only. Source of the effective targetCpa value for AdGroup. + /// Output only. Source of the effective target CPA value for ad group. [Newtonsoft.Json.JsonPropertyAttribute("adGroupEffectiveTargetCpaSource")] public virtual string AdGroupEffectiveTargetCpaSource { get; set; } - /// Output only. The effective targetCpa for AdGroup, in micros of advertiser's currency. + /// Output only. The effective target CPA for ad group, in micros of advertiser's currency. [Newtonsoft.Json.JsonPropertyAttribute("adGroupEffectiveTargetCpaValue")] public virtual System.Nullable AdGroupEffectiveTargetCpaValue { get; set; } diff --git a/Src/Generated/Google.Apis.DisplayVideo.v2/Google.Apis.DisplayVideo.v2.csproj b/Src/Generated/Google.Apis.DisplayVideo.v2/Google.Apis.DisplayVideo.v2.csproj index ab0fa5939c9..597e1f67ab3 100644 --- a/Src/Generated/Google.Apis.DisplayVideo.v2/Google.Apis.DisplayVideo.v2.csproj +++ b/Src/Generated/Google.Apis.DisplayVideo.v2/Google.Apis.DisplayVideo.v2.csproj @@ -3,7 +3,7 @@ Google.Apis.DisplayVideo.v2 Client Library - 1.62.0.3185 + 1.62.1.3203 Google LLC Copyright 2023 Google LLC Google @@ -57,8 +57,8 @@ - - + + diff --git a/Src/Generated/Google.Apis.DisplayVideo.v3/Google.Apis.DisplayVideo.v3.cs b/Src/Generated/Google.Apis.DisplayVideo.v3/Google.Apis.DisplayVideo.v3.cs new file mode 100644 index 00000000000..4c7b29203c4 --- /dev/null +++ b/Src/Generated/Google.Apis.DisplayVideo.v3/Google.Apis.DisplayVideo.v3.cs @@ -0,0 +1,31062 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Generated code. DO NOT EDIT! + +namespace Google.Apis.DisplayVideo.v3 +{ + /// The DisplayVideo Service. + public class DisplayVideoService : Google.Apis.Services.BaseClientService + { + /// The API version. + public const string Version = "v3"; + + /// The discovery version used to generate this service. + public static Google.Apis.Discovery.DiscoveryVersion DiscoveryVersionUsed = Google.Apis.Discovery.DiscoveryVersion.Version_1_0; + + /// Constructs a new service. + public DisplayVideoService() : this(new Google.Apis.Services.BaseClientService.Initializer()) + { + } + + /// Constructs a new service. + /// The service initializer. + public DisplayVideoService(Google.Apis.Services.BaseClientService.Initializer initializer) : base(initializer) + { + Advertisers = new AdvertisersResource(this); + CombinedAudiences = new CombinedAudiencesResource(this); + CustomBiddingAlgorithms = new CustomBiddingAlgorithmsResource(this); + CustomLists = new CustomListsResource(this); + FirstAndThirdPartyAudiences = new FirstAndThirdPartyAudiencesResource(this); + FloodlightGroups = new FloodlightGroupsResource(this); + GoogleAudiences = new GoogleAudiencesResource(this); + GuaranteedOrders = new GuaranteedOrdersResource(this); + InventorySourceGroups = new InventorySourceGroupsResource(this); + InventorySources = new InventorySourcesResource(this); + Media = new MediaResource(this); + Partners = new PartnersResource(this); + Sdfdownloadtasks = new SdfdownloadtasksResource(this); + TargetingTypes = new TargetingTypesResource(this); + Users = new UsersResource(this); + } + + /// Gets the service supported features. + public override System.Collections.Generic.IList Features => new string[0]; + + /// Gets the service name. + public override string Name => "displayvideo"; + + /// Gets the service base URI. + public override string BaseUri => BaseUriOverride ?? "https://displayvideo.googleapis.com/"; + + /// Gets the service base path. + public override string BasePath => ""; + + /// Gets the batch base URI; null if unspecified. + public override string BatchUri => "https://displayvideo.googleapis.com/batch"; + + /// Gets the batch base path; null if unspecified. + public override string BatchPath => "batch"; + + /// Available OAuth 2.0 scopes for use with the Display & Video 360 API. + public class Scope + { + /// + /// Create, see, edit, and permanently delete your Display &amp; Video 360 entities and reports + /// + public static string DisplayVideo = "https://www.googleapis.com/auth/display-video"; + + /// + /// Create, see, and edit Display &amp; Video 360 Campaign entities and see billing invoices + /// + public static string DisplayVideoMediaplanning = "https://www.googleapis.com/auth/display-video-mediaplanning"; + + /// Private Service: https://www.googleapis.com/auth/display-video-user-management + public static string DisplayVideoUserManagement = "https://www.googleapis.com/auth/display-video-user-management"; + + /// View and manage your reports in DoubleClick Bid Manager + public static string Doubleclickbidmanager = "https://www.googleapis.com/auth/doubleclickbidmanager"; + } + + /// Available OAuth 2.0 scope constants for use with the Display & Video 360 API. + public static class ScopeConstants + { + /// + /// Create, see, edit, and permanently delete your Display &amp; Video 360 entities and reports + /// + public const string DisplayVideo = "https://www.googleapis.com/auth/display-video"; + + /// + /// Create, see, and edit Display &amp; Video 360 Campaign entities and see billing invoices + /// + public const string DisplayVideoMediaplanning = "https://www.googleapis.com/auth/display-video-mediaplanning"; + + /// Private Service: https://www.googleapis.com/auth/display-video-user-management + public const string DisplayVideoUserManagement = "https://www.googleapis.com/auth/display-video-user-management"; + + /// View and manage your reports in DoubleClick Bid Manager + public const string Doubleclickbidmanager = "https://www.googleapis.com/auth/doubleclickbidmanager"; + } + + /// Gets the Advertisers resource. + public virtual AdvertisersResource Advertisers { get; } + + /// Gets the CombinedAudiences resource. + public virtual CombinedAudiencesResource CombinedAudiences { get; } + + /// Gets the CustomBiddingAlgorithms resource. + public virtual CustomBiddingAlgorithmsResource CustomBiddingAlgorithms { get; } + + /// Gets the CustomLists resource. + public virtual CustomListsResource CustomLists { get; } + + /// Gets the FirstAndThirdPartyAudiences resource. + public virtual FirstAndThirdPartyAudiencesResource FirstAndThirdPartyAudiences { get; } + + /// Gets the FloodlightGroups resource. + public virtual FloodlightGroupsResource FloodlightGroups { get; } + + /// Gets the GoogleAudiences resource. + public virtual GoogleAudiencesResource GoogleAudiences { get; } + + /// Gets the GuaranteedOrders resource. + public virtual GuaranteedOrdersResource GuaranteedOrders { get; } + + /// Gets the InventorySourceGroups resource. + public virtual InventorySourceGroupsResource InventorySourceGroups { get; } + + /// Gets the InventorySources resource. + public virtual InventorySourcesResource InventorySources { get; } + + /// Gets the Media resource. + public virtual MediaResource Media { get; } + + /// Gets the Partners resource. + public virtual PartnersResource Partners { get; } + + /// Gets the Sdfdownloadtasks resource. + public virtual SdfdownloadtasksResource Sdfdownloadtasks { get; } + + /// Gets the TargetingTypes resource. + public virtual TargetingTypesResource TargetingTypes { get; } + + /// Gets the Users resource. + public virtual UsersResource Users { get; } + } + + /// A base abstract class for DisplayVideo requests. + public abstract class DisplayVideoBaseServiceRequest : Google.Apis.Requests.ClientServiceRequest + { + /// Constructs a new DisplayVideoBaseServiceRequest instance. + protected DisplayVideoBaseServiceRequest(Google.Apis.Services.IClientService service) : base(service) + { + } + + /// V1 error format. + [Google.Apis.Util.RequestParameterAttribute("$.xgafv", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable Xgafv { get; set; } + + /// V1 error format. + public enum XgafvEnum + { + /// v1 error format + [Google.Apis.Util.StringValueAttribute("1")] + Value1 = 0, + + /// v2 error format + [Google.Apis.Util.StringValueAttribute("2")] + Value2 = 1, + } + + /// OAuth access token. + [Google.Apis.Util.RequestParameterAttribute("access_token", Google.Apis.Util.RequestParameterType.Query)] + public virtual string AccessToken { get; set; } + + /// Data format for response. + [Google.Apis.Util.RequestParameterAttribute("alt", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable Alt { get; set; } + + /// Data format for response. + public enum AltEnum + { + /// Responses with Content-Type of application/json + [Google.Apis.Util.StringValueAttribute("json")] + Json = 0, + + /// Media download with context-dependent Content-Type + [Google.Apis.Util.StringValueAttribute("media")] + Media = 1, + + /// Responses with Content-Type of application/x-protobuf + [Google.Apis.Util.StringValueAttribute("proto")] + Proto = 2, + } + + /// JSONP + [Google.Apis.Util.RequestParameterAttribute("callback", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Callback { get; set; } + + /// Selector specifying which fields to include in a partial response. + [Google.Apis.Util.RequestParameterAttribute("fields", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Fields { get; set; } + + /// + /// 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. + /// + [Google.Apis.Util.RequestParameterAttribute("key", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Key { get; set; } + + /// OAuth 2.0 token for the current user. + [Google.Apis.Util.RequestParameterAttribute("oauth_token", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OauthToken { get; set; } + + /// Returns response with indentations and line breaks. + [Google.Apis.Util.RequestParameterAttribute("prettyPrint", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PrettyPrint { get; set; } + + /// + /// 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. + /// + [Google.Apis.Util.RequestParameterAttribute("quotaUser", Google.Apis.Util.RequestParameterType.Query)] + public virtual string QuotaUser { get; set; } + + /// Legacy upload protocol for media (e.g. "media", "multipart"). + [Google.Apis.Util.RequestParameterAttribute("uploadType", Google.Apis.Util.RequestParameterType.Query)] + public virtual string UploadType { get; set; } + + /// Upload protocol for media (e.g. "raw", "multipart"). + [Google.Apis.Util.RequestParameterAttribute("upload_protocol", Google.Apis.Util.RequestParameterType.Query)] + public virtual string UploadProtocol { get; set; } + + /// Initializes DisplayVideo parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("$.xgafv", new Google.Apis.Discovery.Parameter + { + Name = "$.xgafv", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("access_token", new Google.Apis.Discovery.Parameter + { + Name = "access_token", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("alt", new Google.Apis.Discovery.Parameter + { + Name = "alt", + IsRequired = false, + ParameterType = "query", + DefaultValue = "json", + Pattern = null, + }); + RequestParameters.Add("callback", new Google.Apis.Discovery.Parameter + { + Name = "callback", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("fields", new Google.Apis.Discovery.Parameter + { + Name = "fields", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("key", new Google.Apis.Discovery.Parameter + { + Name = "key", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("oauth_token", new Google.Apis.Discovery.Parameter + { + Name = "oauth_token", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("prettyPrint", new Google.Apis.Discovery.Parameter + { + Name = "prettyPrint", + IsRequired = false, + ParameterType = "query", + DefaultValue = "true", + Pattern = null, + }); + RequestParameters.Add("quotaUser", new Google.Apis.Discovery.Parameter + { + Name = "quotaUser", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("uploadType", new Google.Apis.Discovery.Parameter + { + Name = "uploadType", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("upload_protocol", new Google.Apis.Discovery.Parameter + { + Name = "upload_protocol", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// The "advertisers" collection of methods. + public class AdvertisersResource + { + private const string Resource = "advertisers"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public AdvertisersResource(Google.Apis.Services.IClientService service) + { + this.service = service; + AdGroupAds = new AdGroupAdsResource(service); + AdGroups = new AdGroupsResource(service); + Assets = new AssetsResource(service); + Campaigns = new CampaignsResource(service); + Channels = new ChannelsResource(service); + Creatives = new CreativesResource(service); + InsertionOrders = new InsertionOrdersResource(service); + Invoices = new InvoicesResource(service); + LineItems = new LineItemsResource(service); + LocationLists = new LocationListsResource(service); + NegativeKeywordLists = new NegativeKeywordListsResource(service); + TargetingTypes = new TargetingTypesResource(service); + } + + /// Gets the AdGroupAds resource. + public virtual AdGroupAdsResource AdGroupAds { get; } + + /// The "adGroupAds" collection of methods. + public class AdGroupAdsResource + { + private const string Resource = "adGroupAds"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public AdGroupAdsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Gets an ad group ad. + /// Required. The ID of the advertiser this ad group ad belongs to. + /// Required. The ID of the ad group ad to fetch. + public virtual GetRequest Get(long advertiserId, long adGroupAdId) + { + return new GetRequest(service, advertiserId, adGroupAdId); + } + + /// Gets an ad group ad. + public class GetRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, long advertiserId, long adGroupAdId) : base(service) + { + AdvertiserId = advertiserId; + AdGroupAdId = adGroupAdId; + InitParameters(); + } + + /// Required. The ID of the advertiser this ad group ad belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Required. The ID of the ad group ad to fetch. + [Google.Apis.Util.RequestParameterAttribute("adGroupAdId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdGroupAdId { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/adGroupAds/{+adGroupAdId}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("adGroupAdId", new Google.Apis.Discovery.Parameter + { + Name = "adGroupAdId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// Lists ad group ads. + /// Required. The ID of the advertiser the ad groups belongs to. + public virtual ListRequest List(long advertiserId) + { + return new ListRequest(service, advertiserId); + } + + /// Lists ad group ads. + public class ListRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, long advertiserId) : base(service) + { + AdvertiserId = advertiserId; + InitParameters(); + } + + /// Required. The ID of the advertiser the ad groups belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// + /// Optional. Allows filtering by custom ad group ad fields. Supported syntax: * Filter expressions are + /// made up of one or more restrictions. * Restrictions can be combined by `AND` and `OR`. A sequence of + /// restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * + /// All fields must use the `EQUALS (=)` operator. Supported fields: * `adGroupId` * `displayName` * + /// `entityStatus` * `adGroupAdId` Examples: * All ad group ads under an ad group: `adGroupId="1234"` * + /// All ad group ads under an ad group with an entityStatus of `ENTITY_STATUS_ACTIVE` or + /// `ENTITY_STATUS_PAUSED`: `(entityStatus="ENTITY_STATUS_ACTIVE" OR + /// entityStatus="ENTITY_STATUS_PAUSED") AND adGroupId="12345"` The length of this field should be no + /// more than 500 characters. Reference our [filter `LIST` + /// requests](/display-video/api/guides/how-tos/filters) guide for more information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Optional. Field by which to sort the list. Acceptable values are: * `displayName` (default) * + /// `entityStatus` The default sorting order is ascending. To specify descending order for a field, a + /// suffix "desc" should be added to the field name. Example: `displayName desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Optional. Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. + /// Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// Optional. A token identifying a page of results the server should return. Typically, this is the + /// value of next_page_token returned from the previous call to `ListAdGroupAds` method. If not + /// specified, the first page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/adGroupAds"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// Gets the AdGroups resource. + public virtual AdGroupsResource AdGroups { get; } + + /// The "adGroups" collection of methods. + public class AdGroupsResource + { + private const string Resource = "adGroups"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public AdGroupsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + TargetingTypes = new TargetingTypesResource(service); + } + + /// Gets the TargetingTypes resource. + public virtual TargetingTypesResource TargetingTypes { get; } + + /// The "targetingTypes" collection of methods. + public class TargetingTypesResource + { + private const string Resource = "targetingTypes"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public TargetingTypesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + AssignedTargetingOptions = new AssignedTargetingOptionsResource(service); + } + + /// Gets the AssignedTargetingOptions resource. + public virtual AssignedTargetingOptionsResource AssignedTargetingOptions { get; } + + /// The "assignedTargetingOptions" collection of methods. + public class AssignedTargetingOptionsResource + { + private const string Resource = "assignedTargetingOptions"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public AssignedTargetingOptionsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// + /// Gets a single targeting option assigned to an ad group. Inherited assigned targeting options are + /// not included. + /// + /// Required. The ID of the advertiser the ad group belongs to. + /// + /// Required. The ID of the ad group the assigned targeting option belongs to. + /// + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types + /// include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * + /// `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_GENDER` * + /// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_PARENTAL_STATUS` + /// * `TARGETING_TYPE_SESSION_POSITION` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * + /// `TARGETING_TYPE_YOUTUBE_VIDEO` + /// + /// + /// Required. An identifier unique to the targeting type in this line item that identifies the + /// assigned targeting option being requested. + /// + public virtual GetRequest Get(long advertiserId, long adGroupId, GetRequest.TargetingTypeEnum targetingType, string assignedTargetingOptionId) + { + return new GetRequest(service, advertiserId, adGroupId, targetingType, assignedTargetingOptionId); + } + + /// + /// Gets a single targeting option assigned to an ad group. Inherited assigned targeting options are + /// not included. + /// + public class GetRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, long advertiserId, long adGroupId, TargetingTypeEnum targetingType, string assignedTargetingOptionId) : base(service) + { + AdvertiserId = advertiserId; + AdGroupId = adGroupId; + TargetingType = targetingType; + AssignedTargetingOptionId = assignedTargetingOptionId; + InitParameters(); + } + + /// Required. The ID of the advertiser the ad group belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// + /// Required. The ID of the ad group the assigned targeting option belongs to. + /// + [Google.Apis.Util.RequestParameterAttribute("adGroupId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdGroupId { get; private set; } + + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types + /// include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` + /// * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_GENDER` * + /// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_KEYWORD` * + /// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SESSION_POSITION` * `TARGETING_TYPE_URL` + /// * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_YOUTUBE_VIDEO` + /// + [Google.Apis.Util.RequestParameterAttribute("targetingType", Google.Apis.Util.RequestParameterType.Path)] + public virtual TargetingTypeEnum TargetingType { get; private set; } + + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types + /// include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` + /// * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_GENDER` * + /// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_KEYWORD` * + /// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SESSION_POSITION` * `TARGETING_TYPE_URL` + /// * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_YOUTUBE_VIDEO` + /// + public enum TargetingTypeEnum + { + /// + /// Default value when type is not specified or is unknown in this version. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_UNSPECIFIED")] + TARGETINGTYPEUNSPECIFIED = 0, + + /// Target a channel (a custom group of related websites or apps). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CHANNEL")] + TARGETINGTYPECHANNEL = 1, + + /// Target an app category (for example, education or puzzle games). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP_CATEGORY")] + TARGETINGTYPEAPPCATEGORY = 2, + + /// Target a specific app (for example, Angry Birds). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP")] + TARGETINGTYPEAPP = 3, + + /// Target a specific url (for example, quora.com). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_URL")] + TARGETINGTYPEURL = 4, + + /// Target ads during a chosen time period on a specific day. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DAY_AND_TIME")] + TARGETINGTYPEDAYANDTIME = 5, + + /// Target ads to a specific age range (for example, 18-24). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AGE_RANGE")] + TARGETINGTYPEAGERANGE = 6, + + /// Target ads to the specified regions on a regional location list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_REGIONAL_LOCATION_LIST")] + TARGETINGTYPEREGIONALLOCATIONLIST = 7, + + /// + /// Target ads to the specified points of interest on a proximity location list. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PROXIMITY_LOCATION_LIST")] + TARGETINGTYPEPROXIMITYLOCATIONLIST = 8, + + /// Target ads to a specific gender (for example, female or male). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GENDER")] + TARGETINGTYPEGENDER = 9, + + /// Target a specific video player size for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIDEO_PLAYER_SIZE")] + TARGETINGTYPEVIDEOPLAYERSIZE = 10, + + /// Target user rewarded content for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_USER_REWARDED_CONTENT")] + TARGETINGTYPEUSERREWARDEDCONTENT = 11, + + /// + /// Target ads to a specific parental status (for example, parent or not a parent). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PARENTAL_STATUS")] + TARGETINGTYPEPARENTALSTATUS = 12, + + /// + /// Target video or audio ads in a specific content instream position (for example, + /// pre-roll, mid-roll, or post-roll). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_INSTREAM_POSITION")] + TARGETINGTYPECONTENTINSTREAMPOSITION = 13, + + /// Target ads in a specific content outstream position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION")] + TARGETINGTYPECONTENTOUTSTREAMPOSITION = 14, + + /// + /// Target ads to a specific device type (for example, tablet or connected TV). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_TYPE")] + TARGETINGTYPEDEVICETYPE = 15, + + /// + /// Target ads to an audience or groups of audiences. Singleton field, at most one can exist + /// on a single Lineitem at a time. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIENCE_GROUP")] + TARGETINGTYPEAUDIENCEGROUP = 16, + + /// Target ads to specific web browsers (for example, Chrome). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BROWSER")] + TARGETINGTYPEBROWSER = 17, + + /// + /// Target ads to a specific household income range (for example, top 10%). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_HOUSEHOLD_INCOME")] + TARGETINGTYPEHOUSEHOLDINCOME = 18, + + /// Target ads in a specific on screen position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ON_SCREEN_POSITION")] + TARGETINGTYPEONSCREENPOSITION = 19, + + /// + /// Filter web sites through third party verification (for example, IAS or DoubleVerify). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_THIRD_PARTY_VERIFIER")] + TARGETINGTYPETHIRDPARTYVERIFIER = 20, + + /// + /// Filter web sites by specific digital content label ratings (for example, DL-MA: suitable + /// only for mature audiences). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION")] + TARGETINGTYPEDIGITALCONTENTLABELEXCLUSION = 21, + + /// Filter website content by sensitive categories (for example, adult). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION")] + TARGETINGTYPESENSITIVECATEGORYEXCLUSION = 22, + + /// Target ads to a specific environment (for example, web or app). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ENVIRONMENT")] + TARGETINGTYPEENVIRONMENT = 23, + + /// + /// Target ads to a specific network carrier or internet service provider (ISP) (for + /// example, Comcast or Orange). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CARRIER_AND_ISP")] + TARGETINGTYPECARRIERANDISP = 24, + + /// Target ads to a specific operating system (for example, macOS). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OPERATING_SYSTEM")] + TARGETINGTYPEOPERATINGSYSTEM = 25, + + /// + /// Target ads to a specific device make or model (for example, Roku or Samsung). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_MAKE_MODEL")] + TARGETINGTYPEDEVICEMAKEMODEL = 26, + + /// Target ads to a specific keyword (for example, dog or retriever). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_KEYWORD")] + TARGETINGTYPEKEYWORD = 27, + + /// Target ads to a specific negative keyword list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NEGATIVE_KEYWORD_LIST")] + TARGETINGTYPENEGATIVEKEYWORDLIST = 28, + + /// Target ads to a specific viewability (for example, 80% viewable). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIEWABILITY")] + TARGETINGTYPEVIEWABILITY = 29, + + /// + /// Target ads to a specific content category (for example, arts &amp; entertainment). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CATEGORY")] + TARGETINGTYPECATEGORY = 30, + + /// Purchase impressions from specific deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE")] + TARGETINGTYPEINVENTORYSOURCE = 31, + + /// Target ads to a specific language (for example, English or Japanese). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_LANGUAGE")] + TARGETINGTYPELANGUAGE = 32, + + /// + /// Target ads to ads.txt authorized sellers. If no targeting option of this type is + /// assigned, the resource uses the "Authorized Direct Sellers and Resellers" option by + /// default. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUTHORIZED_SELLER_STATUS")] + TARGETINGTYPEAUTHORIZEDSELLERSTATUS = 33, + + /// + /// Target ads to a specific regional location (for example, a city or state). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GEO_REGION")] + TARGETINGTYPEGEOREGION = 34, + + /// Purchase impressions from a group of deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE_GROUP")] + TARGETINGTYPEINVENTORYSOURCEGROUP = 35, + + /// Purchase impressions from specific exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_EXCHANGE")] + TARGETINGTYPEEXCHANGE = 36, + + /// Purchase impressions from specific sub-exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SUB_EXCHANGE")] + TARGETINGTYPESUBEXCHANGE = 37, + + /// + /// Target ads around a specific point of interest, such as a notable building, a street + /// address, or latitude/longitude coordinates. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_POI")] + TARGETINGTYPEPOI = 38, + + /// + /// Target ads around locations of a business chain within a specific geo region. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BUSINESS_CHAIN")] + TARGETINGTYPEBUSINESSCHAIN = 39, + + /// Target ads to a specific video content duration. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_DURATION")] + TARGETINGTYPECONTENTDURATION = 40, + + /// Target ads to a specific video content stream type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_STREAM_TYPE")] + TARGETINGTYPECONTENTSTREAMTYPE = 41, + + /// Target ads to a specific native content position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NATIVE_CONTENT_POSITION")] + TARGETINGTYPENATIVECONTENTPOSITION = 42, + + /// Target ads in an Open Measurement enabled inventory. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OMID")] + TARGETINGTYPEOMID = 43, + + /// Target ads to a specific audio content type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIO_CONTENT_TYPE")] + TARGETINGTYPEAUDIOCONTENTTYPE = 44, + + /// Target ads to a specific content genre. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_GENRE")] + TARGETINGTYPECONTENTGENRE = 45, + + /// + /// Target ads to a specific YouTube video. Targeting of this type cannot be created or + /// updated using the API. Although this targeting is inherited by child resources, + /// **inherited targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_VIDEO")] + TARGETINGTYPEYOUTUBEVIDEO = 46, + + /// + /// Target ads to a specific YouTube channel. Targeting of this type cannot be created or + /// updated using the API. Although this targeting is inherited by child resources, + /// **inherited targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_CHANNEL")] + TARGETINGTYPEYOUTUBECHANNEL = 47, + + /// + /// Target ads to a serve it in a certain position of a session. Only supported for Ad Group + /// resources under YouTube Programmatic Reservation line items. Targeting of this type + /// cannot be created or updated using the API. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SESSION_POSITION")] + TARGETINGTYPESESSIONPOSITION = 48, + } + + /// + /// Required. An identifier unique to the targeting type in this line item that identifies the + /// assigned targeting option being requested. + /// + [Google.Apis.Util.RequestParameterAttribute("assignedTargetingOptionId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string AssignedTargetingOptionId { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/adGroups/{+adGroupId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("adGroupId", new Google.Apis.Discovery.Parameter + { + Name = "adGroupId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("targetingType", new Google.Apis.Discovery.Parameter + { + Name = "targetingType", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("assignedTargetingOptionId", new Google.Apis.Discovery.Parameter + { + Name = "assignedTargetingOptionId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// + /// Lists the targeting options assigned to an ad group. Inherited assigned targeting options are + /// not included. + /// + /// Required. The ID of the advertiser the ad group belongs to. + /// + /// Required. The ID of the ad group to list assigned targeting options for. + /// + /// + /// Required. Identifies the type of assigned targeting options to list. Supported targeting types + /// include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * + /// `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_GENDER` * + /// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_PARENTAL_STATUS` + /// * `TARGETING_TYPE_SESSION_POSITION` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * + /// `TARGETING_TYPE_YOUTUBE_VIDEO` + /// + public virtual ListRequest List(long advertiserId, long adGroupId, ListRequest.TargetingTypeEnum targetingType) + { + return new ListRequest(service, advertiserId, adGroupId, targetingType); + } + + /// + /// Lists the targeting options assigned to an ad group. Inherited assigned targeting options are + /// not included. + /// + public class ListRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, long advertiserId, long adGroupId, TargetingTypeEnum targetingType) : base(service) + { + AdvertiserId = advertiserId; + AdGroupId = adGroupId; + TargetingType = targetingType; + InitParameters(); + } + + /// Required. The ID of the advertiser the ad group belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Required. The ID of the ad group to list assigned targeting options for. + [Google.Apis.Util.RequestParameterAttribute("adGroupId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdGroupId { get; private set; } + + /// + /// Required. Identifies the type of assigned targeting options to list. Supported targeting + /// types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * + /// `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_CATEGORY` + /// * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_KEYWORD` * + /// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SESSION_POSITION` * `TARGETING_TYPE_URL` + /// * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_YOUTUBE_VIDEO` + /// + [Google.Apis.Util.RequestParameterAttribute("targetingType", Google.Apis.Util.RequestParameterType.Path)] + public virtual TargetingTypeEnum TargetingType { get; private set; } + + /// + /// Required. Identifies the type of assigned targeting options to list. Supported targeting + /// types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * + /// `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_CATEGORY` + /// * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_KEYWORD` * + /// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SESSION_POSITION` * `TARGETING_TYPE_URL` + /// * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_YOUTUBE_VIDEO` + /// + public enum TargetingTypeEnum + { + /// + /// Default value when type is not specified or is unknown in this version. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_UNSPECIFIED")] + TARGETINGTYPEUNSPECIFIED = 0, + + /// Target a channel (a custom group of related websites or apps). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CHANNEL")] + TARGETINGTYPECHANNEL = 1, + + /// Target an app category (for example, education or puzzle games). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP_CATEGORY")] + TARGETINGTYPEAPPCATEGORY = 2, + + /// Target a specific app (for example, Angry Birds). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP")] + TARGETINGTYPEAPP = 3, + + /// Target a specific url (for example, quora.com). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_URL")] + TARGETINGTYPEURL = 4, + + /// Target ads during a chosen time period on a specific day. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DAY_AND_TIME")] + TARGETINGTYPEDAYANDTIME = 5, + + /// Target ads to a specific age range (for example, 18-24). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AGE_RANGE")] + TARGETINGTYPEAGERANGE = 6, + + /// Target ads to the specified regions on a regional location list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_REGIONAL_LOCATION_LIST")] + TARGETINGTYPEREGIONALLOCATIONLIST = 7, + + /// + /// Target ads to the specified points of interest on a proximity location list. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PROXIMITY_LOCATION_LIST")] + TARGETINGTYPEPROXIMITYLOCATIONLIST = 8, + + /// Target ads to a specific gender (for example, female or male). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GENDER")] + TARGETINGTYPEGENDER = 9, + + /// Target a specific video player size for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIDEO_PLAYER_SIZE")] + TARGETINGTYPEVIDEOPLAYERSIZE = 10, + + /// Target user rewarded content for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_USER_REWARDED_CONTENT")] + TARGETINGTYPEUSERREWARDEDCONTENT = 11, + + /// + /// Target ads to a specific parental status (for example, parent or not a parent). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PARENTAL_STATUS")] + TARGETINGTYPEPARENTALSTATUS = 12, + + /// + /// Target video or audio ads in a specific content instream position (for example, + /// pre-roll, mid-roll, or post-roll). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_INSTREAM_POSITION")] + TARGETINGTYPECONTENTINSTREAMPOSITION = 13, + + /// Target ads in a specific content outstream position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION")] + TARGETINGTYPECONTENTOUTSTREAMPOSITION = 14, + + /// + /// Target ads to a specific device type (for example, tablet or connected TV). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_TYPE")] + TARGETINGTYPEDEVICETYPE = 15, + + /// + /// Target ads to an audience or groups of audiences. Singleton field, at most one can exist + /// on a single Lineitem at a time. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIENCE_GROUP")] + TARGETINGTYPEAUDIENCEGROUP = 16, + + /// Target ads to specific web browsers (for example, Chrome). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BROWSER")] + TARGETINGTYPEBROWSER = 17, + + /// + /// Target ads to a specific household income range (for example, top 10%). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_HOUSEHOLD_INCOME")] + TARGETINGTYPEHOUSEHOLDINCOME = 18, + + /// Target ads in a specific on screen position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ON_SCREEN_POSITION")] + TARGETINGTYPEONSCREENPOSITION = 19, + + /// + /// Filter web sites through third party verification (for example, IAS or DoubleVerify). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_THIRD_PARTY_VERIFIER")] + TARGETINGTYPETHIRDPARTYVERIFIER = 20, + + /// + /// Filter web sites by specific digital content label ratings (for example, DL-MA: suitable + /// only for mature audiences). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION")] + TARGETINGTYPEDIGITALCONTENTLABELEXCLUSION = 21, + + /// Filter website content by sensitive categories (for example, adult). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION")] + TARGETINGTYPESENSITIVECATEGORYEXCLUSION = 22, + + /// Target ads to a specific environment (for example, web or app). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ENVIRONMENT")] + TARGETINGTYPEENVIRONMENT = 23, + + /// + /// Target ads to a specific network carrier or internet service provider (ISP) (for + /// example, Comcast or Orange). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CARRIER_AND_ISP")] + TARGETINGTYPECARRIERANDISP = 24, + + /// Target ads to a specific operating system (for example, macOS). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OPERATING_SYSTEM")] + TARGETINGTYPEOPERATINGSYSTEM = 25, + + /// + /// Target ads to a specific device make or model (for example, Roku or Samsung). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_MAKE_MODEL")] + TARGETINGTYPEDEVICEMAKEMODEL = 26, + + /// Target ads to a specific keyword (for example, dog or retriever). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_KEYWORD")] + TARGETINGTYPEKEYWORD = 27, + + /// Target ads to a specific negative keyword list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NEGATIVE_KEYWORD_LIST")] + TARGETINGTYPENEGATIVEKEYWORDLIST = 28, + + /// Target ads to a specific viewability (for example, 80% viewable). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIEWABILITY")] + TARGETINGTYPEVIEWABILITY = 29, + + /// + /// Target ads to a specific content category (for example, arts &amp; entertainment). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CATEGORY")] + TARGETINGTYPECATEGORY = 30, + + /// Purchase impressions from specific deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE")] + TARGETINGTYPEINVENTORYSOURCE = 31, + + /// Target ads to a specific language (for example, English or Japanese). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_LANGUAGE")] + TARGETINGTYPELANGUAGE = 32, + + /// + /// Target ads to ads.txt authorized sellers. If no targeting option of this type is + /// assigned, the resource uses the "Authorized Direct Sellers and Resellers" option by + /// default. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUTHORIZED_SELLER_STATUS")] + TARGETINGTYPEAUTHORIZEDSELLERSTATUS = 33, + + /// + /// Target ads to a specific regional location (for example, a city or state). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GEO_REGION")] + TARGETINGTYPEGEOREGION = 34, + + /// Purchase impressions from a group of deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE_GROUP")] + TARGETINGTYPEINVENTORYSOURCEGROUP = 35, + + /// Purchase impressions from specific exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_EXCHANGE")] + TARGETINGTYPEEXCHANGE = 36, + + /// Purchase impressions from specific sub-exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SUB_EXCHANGE")] + TARGETINGTYPESUBEXCHANGE = 37, + + /// + /// Target ads around a specific point of interest, such as a notable building, a street + /// address, or latitude/longitude coordinates. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_POI")] + TARGETINGTYPEPOI = 38, + + /// + /// Target ads around locations of a business chain within a specific geo region. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BUSINESS_CHAIN")] + TARGETINGTYPEBUSINESSCHAIN = 39, + + /// Target ads to a specific video content duration. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_DURATION")] + TARGETINGTYPECONTENTDURATION = 40, + + /// Target ads to a specific video content stream type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_STREAM_TYPE")] + TARGETINGTYPECONTENTSTREAMTYPE = 41, + + /// Target ads to a specific native content position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NATIVE_CONTENT_POSITION")] + TARGETINGTYPENATIVECONTENTPOSITION = 42, + + /// Target ads in an Open Measurement enabled inventory. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OMID")] + TARGETINGTYPEOMID = 43, + + /// Target ads to a specific audio content type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIO_CONTENT_TYPE")] + TARGETINGTYPEAUDIOCONTENTTYPE = 44, + + /// Target ads to a specific content genre. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_GENRE")] + TARGETINGTYPECONTENTGENRE = 45, + + /// + /// Target ads to a specific YouTube video. Targeting of this type cannot be created or + /// updated using the API. Although this targeting is inherited by child resources, + /// **inherited targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_VIDEO")] + TARGETINGTYPEYOUTUBEVIDEO = 46, + + /// + /// Target ads to a specific YouTube channel. Targeting of this type cannot be created or + /// updated using the API. Although this targeting is inherited by child resources, + /// **inherited targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_CHANNEL")] + TARGETINGTYPEYOUTUBECHANNEL = 47, + + /// + /// Target ads to a serve it in a certain position of a session. Only supported for Ad Group + /// resources under YouTube Programmatic Reservation line items. Targeting of this type + /// cannot be created or updated using the API. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SESSION_POSITION")] + TARGETINGTYPESESSIONPOSITION = 48, + } + + /// + /// Optional. Allows filtering by assigned targeting option fields. Supported syntax: * Filter + /// expressions are made up of one or more restrictions. * Restrictions can be combined by the + /// logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * All + /// fields must use the `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` + /// Examples: * `AssignedTargetingOption` resources with ID 1 or 2: + /// `assignedTargetingOptionId="1" OR assignedTargetingOptionId="2"` The length of this field + /// should be no more than 500 characters. Reference our [filter `LIST` + /// requests](/display-video/api/guides/how-tos/filters) guide for more information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Optional. Field by which to sort the list. Acceptable values are: * + /// `assignedTargetingOptionId` (default) The default sorting order is ascending. To specify + /// descending order for a field, a suffix "desc" should be added to the field name. Example: + /// `assignedTargetingOptionId desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Optional. Requested page size. Must be between `1` and `5000`. If unspecified will default + /// to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// Optional. A token identifying a page of results the server should return. Typically, this is + /// the value of next_page_token returned from the previous call to + /// `ListAdGroupAssignedTargetingOptions` method. If not specified, the first page of results + /// will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/adGroups/{+adGroupId}/targetingTypes/{+targetingType}/assignedTargetingOptions"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("adGroupId", new Google.Apis.Discovery.Parameter + { + Name = "adGroupId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("targetingType", new Google.Apis.Discovery.Parameter + { + Name = "targetingType", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + } + + /// + /// Lists assigned targeting options for multiple ad groups across targeting types. Inherited assigned + /// targeting options are not included. + /// + /// Required. The ID of the advertiser the line items belongs to. + public virtual BulkListAdGroupAssignedTargetingOptionsRequest BulkListAdGroupAssignedTargetingOptions(long advertiserId) + { + return new BulkListAdGroupAssignedTargetingOptionsRequest(service, advertiserId); + } + + /// + /// Lists assigned targeting options for multiple ad groups across targeting types. Inherited assigned + /// targeting options are not included. + /// + public class BulkListAdGroupAssignedTargetingOptionsRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new BulkListAdGroupAssignedTargetingOptions request. + public BulkListAdGroupAssignedTargetingOptionsRequest(Google.Apis.Services.IClientService service, long advertiserId) : base(service) + { + AdvertiserId = advertiserId; + InitParameters(); + } + + /// Required. The ID of the advertiser the line items belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Required. The IDs of the ad groups to list assigned targeting options for. + [Google.Apis.Util.RequestParameterAttribute("adGroupIds", Google.Apis.Util.RequestParameterType.Query)] + public virtual Google.Apis.Util.Repeatable AdGroupIds { get; set; } + + /// + /// Optional. Allows filtering by assigned targeting option fields. Supported syntax: * Filter + /// expressions are made up of one or more restrictions. * Restrictions can be combined by the logical + /// operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use + /// the `EQUALS (=)` operator. Supported fields: * `targetingType` Examples: * `AssignedTargetingOption` + /// resources of targeting type `TARGETING_TYPE_YOUTUBE_VIDEO` or `TARGETING_TYPE_YOUTUBE_CHANNEL`: + /// `targetingType="TARGETING_TYPE_YOUTUBE_VIDEO" OR targetingType="TARGETING_TYPE_YOUTUBE_CHANNEL"` The + /// length of this field should be no more than 500 characters. Reference our [filter `LIST` + /// requests](/display-video/api/guides/how-tos/filters) guide for more information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Optional. Field by which to sort the list. Acceptable values are: * `adGroupId` (default) * + /// `assignedTargetingOption.targetingType` The default sorting order is ascending. To specify + /// descending order for a field, a suffix "desc" should be added to the field name. Example: + /// `targetingType desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Optional. Requested page size. The size must be an integer between `1` and `5000`. If unspecified, + /// the default is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// Optional. A token that lets the client fetch the next page of results. Typically, this is the value + /// of next_page_token returned from the previous call to the `BulkListAdGroupAssignedTargetingOptions` + /// method. If not specified, the first page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "bulkListAdGroupAssignedTargetingOptions"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/adGroups:bulkListAdGroupAssignedTargetingOptions"; + + /// Initializes BulkListAdGroupAssignedTargetingOptions parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("adGroupIds", new Google.Apis.Discovery.Parameter + { + Name = "adGroupIds", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Gets an ad group. + /// Required. The ID of the advertiser this ad group belongs to. + /// Required. The ID of the ad group to fetch. + public virtual GetRequest Get(long advertiserId, long adGroupId) + { + return new GetRequest(service, advertiserId, adGroupId); + } + + /// Gets an ad group. + public class GetRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, long advertiserId, long adGroupId) : base(service) + { + AdvertiserId = advertiserId; + AdGroupId = adGroupId; + InitParameters(); + } + + /// Required. The ID of the advertiser this ad group belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Required. The ID of the ad group to fetch. + [Google.Apis.Util.RequestParameterAttribute("adGroupId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdGroupId { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/adGroups/{+adGroupId}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("adGroupId", new Google.Apis.Discovery.Parameter + { + Name = "adGroupId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// Lists ad groups. + /// Required. The ID of the advertiser the ad groups belongs to. + public virtual ListRequest List(long advertiserId) + { + return new ListRequest(service, advertiserId); + } + + /// Lists ad groups. + public class ListRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, long advertiserId) : base(service) + { + AdvertiserId = advertiserId; + InitParameters(); + } + + /// Required. The ID of the advertiser the ad groups belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// + /// Optional. Allows filtering by custom ad group fields. Supported syntax: * Filter expressions are + /// made up of one or more restrictions. * Restrictions can be combined by `AND` and `OR`. A sequence of + /// restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * + /// All fields must use the `EQUALS (=)` operator. Supported properties: * `adGroupId` * `displayName` * + /// `entityStatus` * `lineItemId` * `adGroupFormat` Examples: * All ad groups under an line item: + /// `lineItemId="1234"` * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` + /// `AD_GROUP_FORMAT_IN_STREAM` ad groups under an advertiser: `(entityStatus="ENTITY_STATUS_ACTIVE" OR + /// entityStatus="ENTITY_STATUS_PAUSED") AND adGroupFormat="AD_GROUP_FORMAT_IN_STREAM"` The length of + /// this field should be no more than 500 characters. Reference our [filter `LIST` + /// requests](/display-video/api/guides/how-tos/filters) guide for more information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Optional. Field by which to sort the list. Acceptable values are: * `displayName` (default) * + /// `entityStatus` The default sorting order is ascending. To specify descending order for a field, a + /// suffix "desc" should be added to the field name. Example: `displayName desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Optional. Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. + /// Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// Optional. A token identifying a page of results the server should return. Typically, this is the + /// value of next_page_token returned from the previous call to `ListAdGroups` method. If not specified, + /// the first page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/adGroups"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// Gets the Assets resource. + public virtual AssetsResource Assets { get; } + + /// The "assets" collection of methods. + public class AssetsResource + { + private const string Resource = "assets"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public AssetsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// + /// Uploads an asset. Returns the ID of the newly uploaded asset if successful. The asset file size should + /// be no more than 10 MB for images, 200 MB for ZIP files, and 1 GB for videos. Must be used within the + /// [multipart media upload process](/display-video/api/guides/how-tos/upload#multipart). Examples using + /// provided client libraries can be found in our [Creating Creatives + /// guide](/display-video/api/guides/creating-creatives/overview#upload_an_asset). + /// + /// The body of the request. + /// Required. The ID of the advertiser this asset belongs to. + public virtual UploadRequest Upload(Google.Apis.DisplayVideo.v3.Data.CreateAssetRequest body, long advertiserId) + { + return new UploadRequest(service, body, advertiserId); + } + + /// + /// Uploads an asset. Returns the ID of the newly uploaded asset if successful. The asset file size should + /// be no more than 10 MB for images, 200 MB for ZIP files, and 1 GB for videos. Must be used within the + /// [multipart media upload process](/display-video/api/guides/how-tos/upload#multipart). Examples using + /// provided client libraries can be found in our [Creating Creatives + /// guide](/display-video/api/guides/creating-creatives/overview#upload_an_asset). + /// + public class UploadRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Upload request. + public UploadRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.CreateAssetRequest body, long advertiserId) : base(service) + { + AdvertiserId = advertiserId; + Body = body; + InitParameters(); + } + + /// Required. The ID of the advertiser this asset belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.CreateAssetRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "upload"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/assets"; + + /// Initializes Upload parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// + /// Uploads an asset. Returns the ID of the newly uploaded asset if successful. The asset file size should + /// be no more than 10 MB for images, 200 MB for ZIP files, and 1 GB for videos. Must be used within the + /// [multipart media upload process](/display-video/api/guides/how-tos/upload#multipart). Examples using + /// provided client libraries can be found in our [Creating Creatives + /// guide](/display-video/api/guides/creating-creatives/overview#upload_an_asset). + /// + /// + /// Considerations regarding : + /// + /// + /// + /// If is seekable, then the stream position will be reset to 0 before + /// reading commences. If is not seekable, then it will be read from its current + /// position + /// + /// + /// + /// + /// Caller is responsible for maintaining the open until the upload is completed + /// + /// + /// Caller is responsible for closing the + /// + /// + /// The body of the request. + /// Required. The ID of the advertiser this asset belongs to. + /// The stream to upload. See remarks for further information. + /// The content type of the stream to upload. + public virtual UploadMediaUpload Upload(Google.Apis.DisplayVideo.v3.Data.CreateAssetRequest body, long advertiserId, System.IO.Stream stream, string contentType) + { + return new UploadMediaUpload(service, body, advertiserId, stream, contentType); + } + + /// Upload media upload which supports resumable upload. + public class UploadMediaUpload : Google.Apis.Upload.ResumableUpload + { + /// V1 error format. + [Google.Apis.Util.RequestParameterAttribute("$.xgafv", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable Xgafv { get; set; } + + /// V1 error format. + public enum XgafvEnum + { + /// v1 error format + [Google.Apis.Util.StringValueAttribute("1")] + Value1 = 0, + + /// v2 error format + [Google.Apis.Util.StringValueAttribute("2")] + Value2 = 1, + } + + /// OAuth access token. + [Google.Apis.Util.RequestParameterAttribute("access_token", Google.Apis.Util.RequestParameterType.Query)] + public virtual string AccessToken { get; set; } + + /// Data format for response. + [Google.Apis.Util.RequestParameterAttribute("alt", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable Alt { get; set; } + + /// Data format for response. + public enum AltEnum + { + /// Responses with Content-Type of application/json + [Google.Apis.Util.StringValueAttribute("json")] + Json = 0, + + /// Media download with context-dependent Content-Type + [Google.Apis.Util.StringValueAttribute("media")] + Media = 1, + + /// Responses with Content-Type of application/x-protobuf + [Google.Apis.Util.StringValueAttribute("proto")] + Proto = 2, + } + + /// JSONP + [Google.Apis.Util.RequestParameterAttribute("callback", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Callback { get; set; } + + /// Selector specifying which fields to include in a partial response. + [Google.Apis.Util.RequestParameterAttribute("fields", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Fields { get; set; } + + /// + /// 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. + /// + [Google.Apis.Util.RequestParameterAttribute("key", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Key { get; set; } + + /// OAuth 2.0 token for the current user. + [Google.Apis.Util.RequestParameterAttribute("oauth_token", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OauthToken { get; set; } + + /// Returns response with indentations and line breaks. + [Google.Apis.Util.RequestParameterAttribute("prettyPrint", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PrettyPrint { get; set; } + + /// + /// 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. + /// + [Google.Apis.Util.RequestParameterAttribute("quotaUser", Google.Apis.Util.RequestParameterType.Query)] + public virtual string QuotaUser { get; set; } + + /// Legacy upload protocol for media (e.g. "media", "multipart"). + [Google.Apis.Util.RequestParameterAttribute("uploadType", Google.Apis.Util.RequestParameterType.Query)] + public virtual string UploadType { get; set; } + + /// Upload protocol for media (e.g. "raw", "multipart"). + [Google.Apis.Util.RequestParameterAttribute("upload_protocol", Google.Apis.Util.RequestParameterType.Query)] + public virtual string UploadProtocol { get; set; } + + /// Required. The ID of the advertiser this asset belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Constructs a new Upload media upload instance. + /// + /// Considerations regarding : + /// + /// + /// + /// If is seekable, then the stream position will be reset to 0 before + /// reading commences. If is not seekable, then it will be read from its + /// current position + /// + /// + /// + /// + /// Caller is responsible for maintaining the open until the upload is + /// completed + /// + /// + /// + /// Caller is responsible for closing the + /// + /// + /// + public UploadMediaUpload(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.CreateAssetRequest body, long advertiserId, System.IO.Stream stream, string contentType) + : base(service, string.Format("/{0}/{1}{2}", "upload", service.BasePath, "v3/advertisers/{+advertiserId}/assets"), "POST", stream, contentType) + { + AdvertiserId = advertiserId; + Body = body; + } + } + } + + /// Gets the Campaigns resource. + public virtual CampaignsResource Campaigns { get; } + + /// The "campaigns" collection of methods. + public class CampaignsResource + { + private const string Resource = "campaigns"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public CampaignsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + TargetingTypes = new TargetingTypesResource(service); + } + + /// Gets the TargetingTypes resource. + public virtual TargetingTypesResource TargetingTypes { get; } + + /// The "targetingTypes" collection of methods. + public class TargetingTypesResource + { + private const string Resource = "targetingTypes"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public TargetingTypesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + AssignedTargetingOptions = new AssignedTargetingOptionsResource(service); + } + + /// Gets the AssignedTargetingOptions resource. + public virtual AssignedTargetingOptionsResource AssignedTargetingOptions { get; } + + /// The "assignedTargetingOptions" collection of methods. + public class AssignedTargetingOptionsResource + { + private const string Resource = "assignedTargetingOptions"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public AssignedTargetingOptionsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Gets a single targeting option assigned to a campaign. + /// Required. The ID of the advertiser the campaign belongs to. + /// + /// Required. The ID of the campaign the assigned targeting option belongs to. + /// + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types: * + /// `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * + /// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * + /// `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * + /// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * + /// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_LANGUAGE` * + /// `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_PARENTAL_STATUS` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * + /// `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_VIEWABILITY` + /// + /// + /// Required. An identifier unique to the targeting type in this campaign that identifies the + /// assigned targeting option being requested. + /// + public virtual GetRequest Get(long advertiserId, long campaignId, GetRequest.TargetingTypeEnum targetingType, string assignedTargetingOptionId) + { + return new GetRequest(service, advertiserId, campaignId, targetingType, assignedTargetingOptionId); + } + + /// Gets a single targeting option assigned to a campaign. + public class GetRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, long advertiserId, long campaignId, TargetingTypeEnum targetingType, string assignedTargetingOptionId) : base(service) + { + AdvertiserId = advertiserId; + CampaignId = campaignId; + TargetingType = targetingType; + AssignedTargetingOptionId = assignedTargetingOptionId; + InitParameters(); + } + + /// Required. The ID of the advertiser the campaign belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// + /// Required. The ID of the campaign the assigned targeting option belongs to. + /// + [Google.Apis.Util.RequestParameterAttribute("campaignId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long CampaignId { get; private set; } + + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types: + /// * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * + /// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * + /// `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * + /// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * + /// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_LANGUAGE` * + /// `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_PARENTAL_STATUS` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * + /// `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_VIEWABILITY` + /// + [Google.Apis.Util.RequestParameterAttribute("targetingType", Google.Apis.Util.RequestParameterType.Path)] + public virtual TargetingTypeEnum TargetingType { get; private set; } + + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types: + /// * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * + /// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * + /// `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * + /// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * + /// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_LANGUAGE` * + /// `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_PARENTAL_STATUS` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * + /// `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_VIEWABILITY` + /// + public enum TargetingTypeEnum + { + /// + /// Default value when type is not specified or is unknown in this version. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_UNSPECIFIED")] + TARGETINGTYPEUNSPECIFIED = 0, + + /// Target a channel (a custom group of related websites or apps). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CHANNEL")] + TARGETINGTYPECHANNEL = 1, + + /// Target an app category (for example, education or puzzle games). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP_CATEGORY")] + TARGETINGTYPEAPPCATEGORY = 2, + + /// Target a specific app (for example, Angry Birds). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP")] + TARGETINGTYPEAPP = 3, + + /// Target a specific url (for example, quora.com). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_URL")] + TARGETINGTYPEURL = 4, + + /// Target ads during a chosen time period on a specific day. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DAY_AND_TIME")] + TARGETINGTYPEDAYANDTIME = 5, + + /// Target ads to a specific age range (for example, 18-24). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AGE_RANGE")] + TARGETINGTYPEAGERANGE = 6, + + /// Target ads to the specified regions on a regional location list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_REGIONAL_LOCATION_LIST")] + TARGETINGTYPEREGIONALLOCATIONLIST = 7, + + /// + /// Target ads to the specified points of interest on a proximity location list. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PROXIMITY_LOCATION_LIST")] + TARGETINGTYPEPROXIMITYLOCATIONLIST = 8, + + /// Target ads to a specific gender (for example, female or male). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GENDER")] + TARGETINGTYPEGENDER = 9, + + /// Target a specific video player size for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIDEO_PLAYER_SIZE")] + TARGETINGTYPEVIDEOPLAYERSIZE = 10, + + /// Target user rewarded content for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_USER_REWARDED_CONTENT")] + TARGETINGTYPEUSERREWARDEDCONTENT = 11, + + /// + /// Target ads to a specific parental status (for example, parent or not a parent). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PARENTAL_STATUS")] + TARGETINGTYPEPARENTALSTATUS = 12, + + /// + /// Target video or audio ads in a specific content instream position (for example, + /// pre-roll, mid-roll, or post-roll). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_INSTREAM_POSITION")] + TARGETINGTYPECONTENTINSTREAMPOSITION = 13, + + /// Target ads in a specific content outstream position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION")] + TARGETINGTYPECONTENTOUTSTREAMPOSITION = 14, + + /// + /// Target ads to a specific device type (for example, tablet or connected TV). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_TYPE")] + TARGETINGTYPEDEVICETYPE = 15, + + /// + /// Target ads to an audience or groups of audiences. Singleton field, at most one can exist + /// on a single Lineitem at a time. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIENCE_GROUP")] + TARGETINGTYPEAUDIENCEGROUP = 16, + + /// Target ads to specific web browsers (for example, Chrome). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BROWSER")] + TARGETINGTYPEBROWSER = 17, + + /// + /// Target ads to a specific household income range (for example, top 10%). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_HOUSEHOLD_INCOME")] + TARGETINGTYPEHOUSEHOLDINCOME = 18, + + /// Target ads in a specific on screen position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ON_SCREEN_POSITION")] + TARGETINGTYPEONSCREENPOSITION = 19, + + /// + /// Filter web sites through third party verification (for example, IAS or DoubleVerify). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_THIRD_PARTY_VERIFIER")] + TARGETINGTYPETHIRDPARTYVERIFIER = 20, + + /// + /// Filter web sites by specific digital content label ratings (for example, DL-MA: suitable + /// only for mature audiences). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION")] + TARGETINGTYPEDIGITALCONTENTLABELEXCLUSION = 21, + + /// Filter website content by sensitive categories (for example, adult). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION")] + TARGETINGTYPESENSITIVECATEGORYEXCLUSION = 22, + + /// Target ads to a specific environment (for example, web or app). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ENVIRONMENT")] + TARGETINGTYPEENVIRONMENT = 23, + + /// + /// Target ads to a specific network carrier or internet service provider (ISP) (for + /// example, Comcast or Orange). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CARRIER_AND_ISP")] + TARGETINGTYPECARRIERANDISP = 24, + + /// Target ads to a specific operating system (for example, macOS). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OPERATING_SYSTEM")] + TARGETINGTYPEOPERATINGSYSTEM = 25, + + /// + /// Target ads to a specific device make or model (for example, Roku or Samsung). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_MAKE_MODEL")] + TARGETINGTYPEDEVICEMAKEMODEL = 26, + + /// Target ads to a specific keyword (for example, dog or retriever). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_KEYWORD")] + TARGETINGTYPEKEYWORD = 27, + + /// Target ads to a specific negative keyword list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NEGATIVE_KEYWORD_LIST")] + TARGETINGTYPENEGATIVEKEYWORDLIST = 28, + + /// Target ads to a specific viewability (for example, 80% viewable). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIEWABILITY")] + TARGETINGTYPEVIEWABILITY = 29, + + /// + /// Target ads to a specific content category (for example, arts &amp; entertainment). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CATEGORY")] + TARGETINGTYPECATEGORY = 30, + + /// Purchase impressions from specific deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE")] + TARGETINGTYPEINVENTORYSOURCE = 31, + + /// Target ads to a specific language (for example, English or Japanese). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_LANGUAGE")] + TARGETINGTYPELANGUAGE = 32, + + /// + /// Target ads to ads.txt authorized sellers. If no targeting option of this type is + /// assigned, the resource uses the "Authorized Direct Sellers and Resellers" option by + /// default. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUTHORIZED_SELLER_STATUS")] + TARGETINGTYPEAUTHORIZEDSELLERSTATUS = 33, + + /// + /// Target ads to a specific regional location (for example, a city or state). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GEO_REGION")] + TARGETINGTYPEGEOREGION = 34, + + /// Purchase impressions from a group of deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE_GROUP")] + TARGETINGTYPEINVENTORYSOURCEGROUP = 35, + + /// Purchase impressions from specific exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_EXCHANGE")] + TARGETINGTYPEEXCHANGE = 36, + + /// Purchase impressions from specific sub-exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SUB_EXCHANGE")] + TARGETINGTYPESUBEXCHANGE = 37, + + /// + /// Target ads around a specific point of interest, such as a notable building, a street + /// address, or latitude/longitude coordinates. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_POI")] + TARGETINGTYPEPOI = 38, + + /// + /// Target ads around locations of a business chain within a specific geo region. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BUSINESS_CHAIN")] + TARGETINGTYPEBUSINESSCHAIN = 39, + + /// Target ads to a specific video content duration. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_DURATION")] + TARGETINGTYPECONTENTDURATION = 40, + + /// Target ads to a specific video content stream type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_STREAM_TYPE")] + TARGETINGTYPECONTENTSTREAMTYPE = 41, + + /// Target ads to a specific native content position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NATIVE_CONTENT_POSITION")] + TARGETINGTYPENATIVECONTENTPOSITION = 42, + + /// Target ads in an Open Measurement enabled inventory. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OMID")] + TARGETINGTYPEOMID = 43, + + /// Target ads to a specific audio content type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIO_CONTENT_TYPE")] + TARGETINGTYPEAUDIOCONTENTTYPE = 44, + + /// Target ads to a specific content genre. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_GENRE")] + TARGETINGTYPECONTENTGENRE = 45, + + /// + /// Target ads to a specific YouTube video. Targeting of this type cannot be created or + /// updated using the API. Although this targeting is inherited by child resources, + /// **inherited targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_VIDEO")] + TARGETINGTYPEYOUTUBEVIDEO = 46, + + /// + /// Target ads to a specific YouTube channel. Targeting of this type cannot be created or + /// updated using the API. Although this targeting is inherited by child resources, + /// **inherited targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_CHANNEL")] + TARGETINGTYPEYOUTUBECHANNEL = 47, + + /// + /// Target ads to a serve it in a certain position of a session. Only supported for Ad Group + /// resources under YouTube Programmatic Reservation line items. Targeting of this type + /// cannot be created or updated using the API. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SESSION_POSITION")] + TARGETINGTYPESESSIONPOSITION = 48, + } + + /// + /// Required. An identifier unique to the targeting type in this campaign that identifies the + /// assigned targeting option being requested. + /// + [Google.Apis.Util.RequestParameterAttribute("assignedTargetingOptionId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string AssignedTargetingOptionId { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/campaigns/{+campaignId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("campaignId", new Google.Apis.Discovery.Parameter + { + Name = "campaignId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("targetingType", new Google.Apis.Discovery.Parameter + { + Name = "targetingType", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("assignedTargetingOptionId", new Google.Apis.Discovery.Parameter + { + Name = "assignedTargetingOptionId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// + /// Lists the targeting options assigned to a campaign for a specified targeting type. + /// + /// Required. The ID of the advertiser the campaign belongs to. + /// + /// Required. The ID of the campaign to list assigned targeting options for. + /// + /// + /// Required. Identifies the type of assigned targeting options to list. Supported targeting types: + /// * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * + /// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * + /// `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * + /// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * + /// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_LANGUAGE` * + /// `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_PARENTAL_STATUS` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * + /// `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_VIEWABILITY` + /// + public virtual ListRequest List(long advertiserId, long campaignId, ListRequest.TargetingTypeEnum targetingType) + { + return new ListRequest(service, advertiserId, campaignId, targetingType); + } + + /// + /// Lists the targeting options assigned to a campaign for a specified targeting type. + /// + public class ListRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, long advertiserId, long campaignId, TargetingTypeEnum targetingType) : base(service) + { + AdvertiserId = advertiserId; + CampaignId = campaignId; + TargetingType = targetingType; + InitParameters(); + } + + /// Required. The ID of the advertiser the campaign belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Required. The ID of the campaign to list assigned targeting options for. + [Google.Apis.Util.RequestParameterAttribute("campaignId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long CampaignId { get; private set; } + + /// + /// Required. Identifies the type of assigned targeting options to list. Supported targeting + /// types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * + /// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * + /// `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * + /// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * + /// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_LANGUAGE` * + /// `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_PARENTAL_STATUS` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * + /// `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_VIEWABILITY` + /// + [Google.Apis.Util.RequestParameterAttribute("targetingType", Google.Apis.Util.RequestParameterType.Path)] + public virtual TargetingTypeEnum TargetingType { get; private set; } + + /// + /// Required. Identifies the type of assigned targeting options to list. Supported targeting + /// types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * + /// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * + /// `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * + /// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * + /// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_LANGUAGE` * + /// `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_PARENTAL_STATUS` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * + /// `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_VIEWABILITY` + /// + public enum TargetingTypeEnum + { + /// + /// Default value when type is not specified or is unknown in this version. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_UNSPECIFIED")] + TARGETINGTYPEUNSPECIFIED = 0, + + /// Target a channel (a custom group of related websites or apps). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CHANNEL")] + TARGETINGTYPECHANNEL = 1, + + /// Target an app category (for example, education or puzzle games). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP_CATEGORY")] + TARGETINGTYPEAPPCATEGORY = 2, + + /// Target a specific app (for example, Angry Birds). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP")] + TARGETINGTYPEAPP = 3, + + /// Target a specific url (for example, quora.com). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_URL")] + TARGETINGTYPEURL = 4, + + /// Target ads during a chosen time period on a specific day. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DAY_AND_TIME")] + TARGETINGTYPEDAYANDTIME = 5, + + /// Target ads to a specific age range (for example, 18-24). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AGE_RANGE")] + TARGETINGTYPEAGERANGE = 6, + + /// Target ads to the specified regions on a regional location list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_REGIONAL_LOCATION_LIST")] + TARGETINGTYPEREGIONALLOCATIONLIST = 7, + + /// + /// Target ads to the specified points of interest on a proximity location list. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PROXIMITY_LOCATION_LIST")] + TARGETINGTYPEPROXIMITYLOCATIONLIST = 8, + + /// Target ads to a specific gender (for example, female or male). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GENDER")] + TARGETINGTYPEGENDER = 9, + + /// Target a specific video player size for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIDEO_PLAYER_SIZE")] + TARGETINGTYPEVIDEOPLAYERSIZE = 10, + + /// Target user rewarded content for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_USER_REWARDED_CONTENT")] + TARGETINGTYPEUSERREWARDEDCONTENT = 11, + + /// + /// Target ads to a specific parental status (for example, parent or not a parent). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PARENTAL_STATUS")] + TARGETINGTYPEPARENTALSTATUS = 12, + + /// + /// Target video or audio ads in a specific content instream position (for example, + /// pre-roll, mid-roll, or post-roll). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_INSTREAM_POSITION")] + TARGETINGTYPECONTENTINSTREAMPOSITION = 13, + + /// Target ads in a specific content outstream position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION")] + TARGETINGTYPECONTENTOUTSTREAMPOSITION = 14, + + /// + /// Target ads to a specific device type (for example, tablet or connected TV). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_TYPE")] + TARGETINGTYPEDEVICETYPE = 15, + + /// + /// Target ads to an audience or groups of audiences. Singleton field, at most one can exist + /// on a single Lineitem at a time. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIENCE_GROUP")] + TARGETINGTYPEAUDIENCEGROUP = 16, + + /// Target ads to specific web browsers (for example, Chrome). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BROWSER")] + TARGETINGTYPEBROWSER = 17, + + /// + /// Target ads to a specific household income range (for example, top 10%). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_HOUSEHOLD_INCOME")] + TARGETINGTYPEHOUSEHOLDINCOME = 18, + + /// Target ads in a specific on screen position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ON_SCREEN_POSITION")] + TARGETINGTYPEONSCREENPOSITION = 19, + + /// + /// Filter web sites through third party verification (for example, IAS or DoubleVerify). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_THIRD_PARTY_VERIFIER")] + TARGETINGTYPETHIRDPARTYVERIFIER = 20, + + /// + /// Filter web sites by specific digital content label ratings (for example, DL-MA: suitable + /// only for mature audiences). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION")] + TARGETINGTYPEDIGITALCONTENTLABELEXCLUSION = 21, + + /// Filter website content by sensitive categories (for example, adult). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION")] + TARGETINGTYPESENSITIVECATEGORYEXCLUSION = 22, + + /// Target ads to a specific environment (for example, web or app). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ENVIRONMENT")] + TARGETINGTYPEENVIRONMENT = 23, + + /// + /// Target ads to a specific network carrier or internet service provider (ISP) (for + /// example, Comcast or Orange). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CARRIER_AND_ISP")] + TARGETINGTYPECARRIERANDISP = 24, + + /// Target ads to a specific operating system (for example, macOS). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OPERATING_SYSTEM")] + TARGETINGTYPEOPERATINGSYSTEM = 25, + + /// + /// Target ads to a specific device make or model (for example, Roku or Samsung). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_MAKE_MODEL")] + TARGETINGTYPEDEVICEMAKEMODEL = 26, + + /// Target ads to a specific keyword (for example, dog or retriever). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_KEYWORD")] + TARGETINGTYPEKEYWORD = 27, + + /// Target ads to a specific negative keyword list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NEGATIVE_KEYWORD_LIST")] + TARGETINGTYPENEGATIVEKEYWORDLIST = 28, + + /// Target ads to a specific viewability (for example, 80% viewable). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIEWABILITY")] + TARGETINGTYPEVIEWABILITY = 29, + + /// + /// Target ads to a specific content category (for example, arts &amp; entertainment). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CATEGORY")] + TARGETINGTYPECATEGORY = 30, + + /// Purchase impressions from specific deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE")] + TARGETINGTYPEINVENTORYSOURCE = 31, + + /// Target ads to a specific language (for example, English or Japanese). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_LANGUAGE")] + TARGETINGTYPELANGUAGE = 32, + + /// + /// Target ads to ads.txt authorized sellers. If no targeting option of this type is + /// assigned, the resource uses the "Authorized Direct Sellers and Resellers" option by + /// default. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUTHORIZED_SELLER_STATUS")] + TARGETINGTYPEAUTHORIZEDSELLERSTATUS = 33, + + /// + /// Target ads to a specific regional location (for example, a city or state). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GEO_REGION")] + TARGETINGTYPEGEOREGION = 34, + + /// Purchase impressions from a group of deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE_GROUP")] + TARGETINGTYPEINVENTORYSOURCEGROUP = 35, + + /// Purchase impressions from specific exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_EXCHANGE")] + TARGETINGTYPEEXCHANGE = 36, + + /// Purchase impressions from specific sub-exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SUB_EXCHANGE")] + TARGETINGTYPESUBEXCHANGE = 37, + + /// + /// Target ads around a specific point of interest, such as a notable building, a street + /// address, or latitude/longitude coordinates. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_POI")] + TARGETINGTYPEPOI = 38, + + /// + /// Target ads around locations of a business chain within a specific geo region. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BUSINESS_CHAIN")] + TARGETINGTYPEBUSINESSCHAIN = 39, + + /// Target ads to a specific video content duration. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_DURATION")] + TARGETINGTYPECONTENTDURATION = 40, + + /// Target ads to a specific video content stream type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_STREAM_TYPE")] + TARGETINGTYPECONTENTSTREAMTYPE = 41, + + /// Target ads to a specific native content position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NATIVE_CONTENT_POSITION")] + TARGETINGTYPENATIVECONTENTPOSITION = 42, + + /// Target ads in an Open Measurement enabled inventory. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OMID")] + TARGETINGTYPEOMID = 43, + + /// Target ads to a specific audio content type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIO_CONTENT_TYPE")] + TARGETINGTYPEAUDIOCONTENTTYPE = 44, + + /// Target ads to a specific content genre. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_GENRE")] + TARGETINGTYPECONTENTGENRE = 45, + + /// + /// Target ads to a specific YouTube video. Targeting of this type cannot be created or + /// updated using the API. Although this targeting is inherited by child resources, + /// **inherited targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_VIDEO")] + TARGETINGTYPEYOUTUBEVIDEO = 46, + + /// + /// Target ads to a specific YouTube channel. Targeting of this type cannot be created or + /// updated using the API. Although this targeting is inherited by child resources, + /// **inherited targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_CHANNEL")] + TARGETINGTYPEYOUTUBECHANNEL = 47, + + /// + /// Target ads to a serve it in a certain position of a session. Only supported for Ad Group + /// resources under YouTube Programmatic Reservation line items. Targeting of this type + /// cannot be created or updated using the API. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SESSION_POSITION")] + TARGETINGTYPESESSIONPOSITION = 48, + } + + /// + /// Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions + /// are made up of one or more restrictions. * Restrictions can be combined by the `OR` logical + /// operator. * A restriction has the form of `{field} {operator} {value}`. * All fields must + /// use the `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` * + /// `inheritance` Examples: * `AssignedTargetingOption` resources with ID 1 or 2 + /// `assignedTargetingOptionId="1" OR assignedTargetingOptionId="2"` * `AssignedTargetingOption` + /// resources with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER` + /// `inheritance="NOT_INHERITED" OR inheritance="INHERITED_FROM_PARTNER"` The length of this + /// field should be no more than 500 characters. Reference our [filter `LIST` + /// requests](/display-video/api/guides/how-tos/filters) guide for more information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` + /// (default) The default sorting order is ascending. To specify descending order for a field, a + /// suffix "desc" should be added to the field name. Example: `assignedTargetingOptionId desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. + /// Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token identifying a page of results the server should return. Typically, this is the value + /// of next_page_token returned from the previous call to `ListCampaignAssignedTargetingOptions` + /// method. If not specified, the first page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/campaigns/{+campaignId}/targetingTypes/{+targetingType}/assignedTargetingOptions"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("campaignId", new Google.Apis.Discovery.Parameter + { + Name = "campaignId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("targetingType", new Google.Apis.Discovery.Parameter + { + Name = "targetingType", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + } + + /// Creates a new campaign. Returns the newly created campaign if successful. + /// The body of the request. + /// Output only. The unique ID of the advertiser the campaign belongs to. + public virtual CreateRequest Create(Google.Apis.DisplayVideo.v3.Data.Campaign body, long advertiserId) + { + return new CreateRequest(service, body, advertiserId); + } + + /// Creates a new campaign. Returns the newly created campaign if successful. + public class CreateRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.Campaign body, long advertiserId) : base(service) + { + AdvertiserId = advertiserId; + Body = body; + InitParameters(); + } + + /// Output only. The unique ID of the advertiser the campaign belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.Campaign Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "create"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/campaigns"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// + /// Permanently deletes a campaign. A deleted campaign cannot be recovered. The campaign should be archived + /// first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to delete it. + /// + /// The ID of the advertiser this campaign belongs to. + /// The ID of the campaign we need to delete. + public virtual DeleteRequest Delete(long advertiserId, long campaignId) + { + return new DeleteRequest(service, advertiserId, campaignId); + } + + /// + /// Permanently deletes a campaign. A deleted campaign cannot be recovered. The campaign should be archived + /// first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to delete it. + /// + public class DeleteRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, long advertiserId, long campaignId) : base(service) + { + AdvertiserId = advertiserId; + CampaignId = campaignId; + InitParameters(); + } + + /// The ID of the advertiser this campaign belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// The ID of the campaign we need to delete. + [Google.Apis.Util.RequestParameterAttribute("campaignId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long CampaignId { get; private set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/campaigns/{+campaignId}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("campaignId", new Google.Apis.Discovery.Parameter + { + Name = "campaignId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// Gets a campaign. + /// Required. The ID of the advertiser this campaign belongs to. + /// Required. The ID of the campaign to fetch. + public virtual GetRequest Get(long advertiserId, long campaignId) + { + return new GetRequest(service, advertiserId, campaignId); + } + + /// Gets a campaign. + public class GetRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, long advertiserId, long campaignId) : base(service) + { + AdvertiserId = advertiserId; + CampaignId = campaignId; + InitParameters(); + } + + /// Required. The ID of the advertiser this campaign belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Required. The ID of the campaign to fetch. + [Google.Apis.Util.RequestParameterAttribute("campaignId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long CampaignId { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/campaigns/{+campaignId}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("campaignId", new Google.Apis.Discovery.Parameter + { + Name = "campaignId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// + /// Lists campaigns in an advertiser. The order is defined by the order_by parameter. If a filter by + /// entity_status is not specified, campaigns with `ENTITY_STATUS_ARCHIVED` will not be included in the + /// results. + /// + /// The ID of the advertiser to list campaigns for. + public virtual ListRequest List(long advertiserId) + { + return new ListRequest(service, advertiserId); + } + + /// + /// Lists campaigns in an advertiser. The order is defined by the order_by parameter. If a filter by + /// entity_status is not specified, campaigns with `ENTITY_STATUS_ARCHIVED` will not be included in the + /// results. + /// + public class ListRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, long advertiserId) : base(service) + { + AdvertiserId = advertiserId; + InitParameters(); + } + + /// The ID of the advertiser to list campaigns for. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// + /// Allows filtering by campaign fields. Supported syntax: * Filter expressions are made up of one or + /// more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of + /// restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * + /// The `updateTime` field must use the `GREATER THAN OR EQUAL TO (&gt;=)` or `LESS THAN OR EQUAL TO + /// (&lt;=)` operators. * All other fields must use the `EQUALS (=)` operator. Supported fields: * + /// `campaignId` * `displayName` * `entityStatus` * `updateTime` (input in ISO 8601 format, or + /// `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` campaigns + /// under an advertiser: `(entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED")` + /// * All campaigns with an update time less than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): + /// `updateTime&lt;="2020-11-04T18:54:47Z"` * All campaigns with an update time greater than or + /// equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime&gt;="2020-11-04T18:54:47Z"` The + /// length of this field should be no more than 500 characters. Reference our [filter `LIST` + /// requests](/display-video/api/guides/how-tos/filters) guide for more information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Field by which to sort the list. Acceptable values are: * `displayName` (default) * `entityStatus` * + /// `updateTime` The default sorting order is ascending. To specify descending order for a field, a + /// suffix "desc" should be added to the field name. Example: `displayName desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token identifying a page of results the server should return. Typically, this is the value of + /// next_page_token returned from the previous call to `ListCampaigns` method. If not specified, the + /// first page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/campaigns"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Lists assigned targeting options of a campaign across targeting types. + /// Required. The ID of the advertiser the campaign belongs to. + /// + /// Required. The ID of the campaign to list assigned targeting options for. + /// + public virtual ListAssignedTargetingOptionsRequest ListAssignedTargetingOptions(long advertiserId, long campaignId) + { + return new ListAssignedTargetingOptionsRequest(service, advertiserId, campaignId); + } + + /// Lists assigned targeting options of a campaign across targeting types. + public class ListAssignedTargetingOptionsRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new ListAssignedTargetingOptions request. + public ListAssignedTargetingOptionsRequest(Google.Apis.Services.IClientService service, long advertiserId, long campaignId) : base(service) + { + AdvertiserId = advertiserId; + CampaignId = campaignId; + InitParameters(); + } + + /// Required. The ID of the advertiser the campaign belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Required. The ID of the campaign to list assigned targeting options for. + [Google.Apis.Util.RequestParameterAttribute("campaignId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long CampaignId { get; private set; } + + /// + /// Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are + /// made up of one or more restrictions. * Restrictions can be combined by the `OR` logical operator. * + /// A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` + /// operator. Supported fields: * `targetingType` * `inheritance` Examples: * `AssignedTargetingOption` + /// resources of targeting type `TARGETING_TYPE_LANGUAGE` or `TARGETING_TYPE_GENDER`: + /// `targetingType="TARGETING_TYPE_LANGUAGE" OR targetingType="TARGETING_TYPE_GENDER"` * + /// `AssignedTargetingOption` resources with inheritance status of `NOT_INHERITED` or + /// `INHERITED_FROM_PARTNER`: `inheritance="NOT_INHERITED" OR inheritance="INHERITED_FROM_PARTNER"` The + /// length of this field should be no more than 500 characters. Reference our [filter `LIST` + /// requests](/display-video/api/guides/how-tos/filters) guide for more information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Field by which to sort the list. Acceptable values are: * `targetingType` (default) The default + /// sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added + /// to the field name. Example: `targetingType desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. The size must be an integer between `1` and `5000`. If unspecified, the default + /// is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token that lets the client fetch the next page of results. Typically, this is the value of + /// next_page_token returned from the previous call to `BulkListCampaignAssignedTargetingOptions` + /// method. If not specified, the first page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "listAssignedTargetingOptions"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/campaigns/{+campaignId}:listAssignedTargetingOptions"; + + /// Initializes ListAssignedTargetingOptions parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("campaignId", new Google.Apis.Discovery.Parameter + { + Name = "campaignId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Updates an existing campaign. Returns the updated campaign if successful. + /// The body of the request. + /// Output only. The unique ID of the advertiser the campaign belongs to. + /// Output only. The unique ID of the campaign. Assigned by the system. + public virtual PatchRequest Patch(Google.Apis.DisplayVideo.v3.Data.Campaign body, long advertiserId, long campaignId) + { + return new PatchRequest(service, body, advertiserId, campaignId); + } + + /// Updates an existing campaign. Returns the updated campaign if successful. + public class PatchRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.Campaign body, long advertiserId, long campaignId) : base(service) + { + AdvertiserId = advertiserId; + CampaignId = campaignId; + Body = body; + InitParameters(); + } + + /// Output only. The unique ID of the advertiser the campaign belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Output only. The unique ID of the campaign. Assigned by the system. + [Google.Apis.Util.RequestParameterAttribute("campaignId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long CampaignId { get; private set; } + + /// Required. The mask to control which fields to update. + [Google.Apis.Util.RequestParameterAttribute("updateMask", Google.Apis.Util.RequestParameterType.Query)] + public virtual object UpdateMask { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.Campaign Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "patch"; + + /// Gets the HTTP method. + public override string HttpMethod => "PATCH"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/campaigns/{+campaignId}"; + + /// Initializes Patch parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("campaignId", new Google.Apis.Discovery.Parameter + { + Name = "campaignId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// Gets the Channels resource. + public virtual ChannelsResource Channels { get; } + + /// The "channels" collection of methods. + public class ChannelsResource + { + private const string Resource = "channels"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public ChannelsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + Sites = new SitesResource(service); + } + + /// Gets the Sites resource. + public virtual SitesResource Sites { get; } + + /// The "sites" collection of methods. + public class SitesResource + { + private const string Resource = "sites"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public SitesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// + /// Bulk edits sites under a single channel. The operation will delete the sites provided in + /// BulkEditSitesRequest.deleted_sites and then create the sites provided in + /// BulkEditSitesRequest.created_sites. + /// + /// The body of the request. + /// The ID of the advertiser that owns the parent channel. + /// Required. The ID of the parent channel to which the sites belong. + public virtual BulkEditRequest BulkEdit(Google.Apis.DisplayVideo.v3.Data.BulkEditSitesRequest body, long advertiserId, long channelId) + { + return new BulkEditRequest(service, body, advertiserId, channelId); + } + + /// + /// Bulk edits sites under a single channel. The operation will delete the sites provided in + /// BulkEditSitesRequest.deleted_sites and then create the sites provided in + /// BulkEditSitesRequest.created_sites. + /// + public class BulkEditRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new BulkEdit request. + public BulkEditRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.BulkEditSitesRequest body, long advertiserId, long channelId) : base(service) + { + AdvertiserId = advertiserId; + ChannelId = channelId; + Body = body; + InitParameters(); + } + + /// The ID of the advertiser that owns the parent channel. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Required. The ID of the parent channel to which the sites belong. + [Google.Apis.Util.RequestParameterAttribute("channelId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long ChannelId { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.BulkEditSitesRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "bulkEdit"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{advertiserId}/channels/{+channelId}/sites:bulkEdit"; + + /// Initializes BulkEdit parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("channelId", new Google.Apis.Discovery.Parameter + { + Name = "channelId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// Creates a site in a channel. + /// The body of the request. + /// The ID of the advertiser that owns the parent channel. + /// + /// Required. The ID of the parent channel in which the site will be created. + /// + public virtual CreateRequest Create(Google.Apis.DisplayVideo.v3.Data.Site body, long advertiserId, long channelId) + { + return new CreateRequest(service, body, advertiserId, channelId); + } + + /// Creates a site in a channel. + public class CreateRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.Site body, long advertiserId, long channelId) : base(service) + { + AdvertiserId = advertiserId; + ChannelId = channelId; + Body = body; + InitParameters(); + } + + /// The ID of the advertiser that owns the parent channel. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Required. The ID of the parent channel in which the site will be created. + [Google.Apis.Util.RequestParameterAttribute("channelId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long ChannelId { get; private set; } + + /// The ID of the partner that owns the parent channel. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.Site Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "create"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{advertiserId}/channels/{+channelId}/sites"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("channelId", new Google.Apis.Discovery.Parameter + { + Name = "channelId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Deletes a site from a channel. + /// The ID of the advertiser that owns the parent channel. + /// Required. The ID of the parent channel to which the site belongs. + /// Required. The URL or app ID of the site to delete. + public virtual DeleteRequest Delete(long advertiserId, long channelId, string urlOrAppId) + { + return new DeleteRequest(service, advertiserId, channelId, urlOrAppId); + } + + /// Deletes a site from a channel. + public class DeleteRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, long advertiserId, long channelId, string urlOrAppId) : base(service) + { + AdvertiserId = advertiserId; + ChannelId = channelId; + UrlOrAppId = urlOrAppId; + InitParameters(); + } + + /// The ID of the advertiser that owns the parent channel. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Required. The ID of the parent channel to which the site belongs. + [Google.Apis.Util.RequestParameterAttribute("channelId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long ChannelId { get; private set; } + + /// Required. The URL or app ID of the site to delete. + [Google.Apis.Util.RequestParameterAttribute("urlOrAppId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string UrlOrAppId { get; private set; } + + /// The ID of the partner that owns the parent channel. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{advertiserId}/channels/{+channelId}/sites/{+urlOrAppId}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("channelId", new Google.Apis.Discovery.Parameter + { + Name = "channelId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("urlOrAppId", new Google.Apis.Discovery.Parameter + { + Name = "urlOrAppId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Lists sites in a channel. + /// The ID of the advertiser that owns the parent channel. + /// + /// Required. The ID of the parent channel to which the requested sites belong. + /// + public virtual ListRequest List(long advertiserId, long channelId) + { + return new ListRequest(service, advertiserId, channelId); + } + + /// Lists sites in a channel. + public class ListRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, long advertiserId, long channelId) : base(service) + { + AdvertiserId = advertiserId; + ChannelId = channelId; + InitParameters(); + } + + /// The ID of the advertiser that owns the parent channel. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Required. The ID of the parent channel to which the requested sites belong. + [Google.Apis.Util.RequestParameterAttribute("channelId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long ChannelId { get; private set; } + + /// + /// Allows filtering by site fields. Supported syntax: * Filter expressions for site retrieval can + /// only contain at most one restriction. * A restriction has the form of `{field} {operator} + /// {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `urlOrAppId` + /// Examples: * All sites for which the URL or app ID contains "google": `urlOrAppId : "google"` The + /// length of this field should be no more than 500 characters. Reference our [filter `LIST` + /// requests](/display-video/api/guides/how-tos/filters) guide for more information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Field by which to sort the list. Acceptable values are: * `urlOrAppId` (default) The default + /// sorting order is ascending. To specify descending order for a field, a suffix " desc" should be + /// added to the field name. Example: `urlOrAppId desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Must be between `1` and `10000`. If unspecified will default to `100`. + /// Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token identifying a page of results the server should return. Typically, this is the value of + /// next_page_token returned from the previous call to `ListSites` method. If not specified, the + /// first page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// The ID of the partner that owns the parent channel. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/channels/{+channelId}/sites"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("channelId", new Google.Apis.Discovery.Parameter + { + Name = "channelId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// + /// Replaces all of the sites under a single channel. The operation will replace the sites under a + /// channel with the sites provided in ReplaceSitesRequest.new_sites. + /// + /// The body of the request. + /// The ID of the advertiser that owns the parent channel. + /// Required. The ID of the parent channel whose sites will be replaced. + public virtual ReplaceRequest Replace(Google.Apis.DisplayVideo.v3.Data.ReplaceSitesRequest body, long advertiserId, long channelId) + { + return new ReplaceRequest(service, body, advertiserId, channelId); + } + + /// + /// Replaces all of the sites under a single channel. The operation will replace the sites under a + /// channel with the sites provided in ReplaceSitesRequest.new_sites. + /// + public class ReplaceRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Replace request. + public ReplaceRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.ReplaceSitesRequest body, long advertiserId, long channelId) : base(service) + { + AdvertiserId = advertiserId; + ChannelId = channelId; + Body = body; + InitParameters(); + } + + /// The ID of the advertiser that owns the parent channel. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Required. The ID of the parent channel whose sites will be replaced. + [Google.Apis.Util.RequestParameterAttribute("channelId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long ChannelId { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.ReplaceSitesRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "replace"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{advertiserId}/channels/{+channelId}/sites:replace"; + + /// Initializes Replace parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("channelId", new Google.Apis.Discovery.Parameter + { + Name = "channelId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + } + + /// Creates a new channel. Returns the newly created channel if successful. + /// The body of the request. + /// The ID of the advertiser that owns the created channel. + public virtual CreateRequest Create(Google.Apis.DisplayVideo.v3.Data.Channel body, long advertiserId) + { + return new CreateRequest(service, body, advertiserId); + } + + /// Creates a new channel. Returns the newly created channel if successful. + public class CreateRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.Channel body, long advertiserId) : base(service) + { + AdvertiserId = advertiserId; + Body = body; + InitParameters(); + } + + /// The ID of the advertiser that owns the created channel. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// The ID of the partner that owns the created channel. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.Channel Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "create"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/channels"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Gets a channel for a partner or advertiser. + /// The ID of the advertiser that owns the fetched channel. + /// Required. The ID of the channel to fetch. + public virtual GetRequest Get(long advertiserId, long channelId) + { + return new GetRequest(service, advertiserId, channelId); + } + + /// Gets a channel for a partner or advertiser. + public class GetRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, long advertiserId, long channelId) : base(service) + { + AdvertiserId = advertiserId; + ChannelId = channelId; + InitParameters(); + } + + /// The ID of the advertiser that owns the fetched channel. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Required. The ID of the channel to fetch. + [Google.Apis.Util.RequestParameterAttribute("channelId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long ChannelId { get; private set; } + + /// The ID of the partner that owns the fetched channel. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/channels/{+channelId}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("channelId", new Google.Apis.Discovery.Parameter + { + Name = "channelId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Lists channels for a partner or advertiser. + /// The ID of the advertiser that owns the channels. + public virtual ListRequest List(long advertiserId) + { + return new ListRequest(service, advertiserId); + } + + /// Lists channels for a partner or advertiser. + public class ListRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, long advertiserId) : base(service) + { + AdvertiserId = advertiserId; + InitParameters(); + } + + /// The ID of the advertiser that owns the channels. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// + /// Allows filtering by channel fields. Supported syntax: * Filter expressions for channel can only + /// contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All + /// fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * All channels + /// for which the display name contains "google": `displayName : "google"`. The length of this field + /// should be no more than 500 characters. Reference our [filter `LIST` + /// requests](/display-video/api/guides/how-tos/filters) guide for more information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Field by which to sort the list. Acceptable values are: * `displayName` (default) * `channelId` The + /// default sorting order is ascending. To specify descending order for a field, a suffix " desc" should + /// be added to the field name. Example: `displayName desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns + /// error code `INVALID_ARGUMENT` if an invalid value is specified. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token identifying a page of results the server should return. Typically, this is the value of + /// next_page_token returned from the previous call to `ListChannels` method. If not specified, the + /// first page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// The ID of the partner that owns the channels. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/channels"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Updates a channel. Returns the updated channel if successful. + /// The body of the request. + /// The ID of the advertiser that owns the created channel. + /// Output only. The unique ID of the channel. Assigned by the system. + public virtual PatchRequest Patch(Google.Apis.DisplayVideo.v3.Data.Channel body, long advertiserId, long channelId) + { + return new PatchRequest(service, body, advertiserId, channelId); + } + + /// Updates a channel. Returns the updated channel if successful. + public class PatchRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.Channel body, long advertiserId, long channelId) : base(service) + { + AdvertiserId = advertiserId; + ChannelId = channelId; + Body = body; + InitParameters(); + } + + /// The ID of the advertiser that owns the created channel. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Output only. The unique ID of the channel. Assigned by the system. + [Google.Apis.Util.RequestParameterAttribute("channelId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long ChannelId { get; private set; } + + /// The ID of the partner that owns the created channel. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Required. The mask to control which fields to update. + [Google.Apis.Util.RequestParameterAttribute("updateMask", Google.Apis.Util.RequestParameterType.Query)] + public virtual object UpdateMask { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.Channel Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "patch"; + + /// Gets the HTTP method. + public override string HttpMethod => "PATCH"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/channels/{channelId}"; + + /// Initializes Patch parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("channelId", new Google.Apis.Discovery.Parameter + { + Name = "channelId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// Gets the Creatives resource. + public virtual CreativesResource Creatives { get; } + + /// The "creatives" collection of methods. + public class CreativesResource + { + private const string Resource = "creatives"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public CreativesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Creates a new creative. Returns the newly created creative if successful. + /// The body of the request. + /// Output only. The unique ID of the advertiser the creative belongs to. + public virtual CreateRequest Create(Google.Apis.DisplayVideo.v3.Data.Creative body, long advertiserId) + { + return new CreateRequest(service, body, advertiserId); + } + + /// Creates a new creative. Returns the newly created creative if successful. + public class CreateRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.Creative body, long advertiserId) : base(service) + { + AdvertiserId = advertiserId; + Body = body; + InitParameters(); + } + + /// Output only. The unique ID of the advertiser the creative belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.Creative Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "create"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/creatives"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// + /// Deletes a creative. Returns error code `NOT_FOUND` if the creative does not exist. The creative should + /// be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, before it can be deleted. + /// + /// The ID of the advertiser this creative belongs to. + /// The ID of the creative to be deleted. + public virtual DeleteRequest Delete(long advertiserId, long creativeId) + { + return new DeleteRequest(service, advertiserId, creativeId); + } + + /// + /// Deletes a creative. Returns error code `NOT_FOUND` if the creative does not exist. The creative should + /// be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, before it can be deleted. + /// + public class DeleteRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, long advertiserId, long creativeId) : base(service) + { + AdvertiserId = advertiserId; + CreativeId = creativeId; + InitParameters(); + } + + /// The ID of the advertiser this creative belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// The ID of the creative to be deleted. + [Google.Apis.Util.RequestParameterAttribute("creativeId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long CreativeId { get; private set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/creatives/{+creativeId}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("creativeId", new Google.Apis.Discovery.Parameter + { + Name = "creativeId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// Gets a creative. + /// Required. The ID of the advertiser this creative belongs to. + /// Required. The ID of the creative to fetch. + public virtual GetRequest Get(long advertiserId, long creativeId) + { + return new GetRequest(service, advertiserId, creativeId); + } + + /// Gets a creative. + public class GetRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, long advertiserId, long creativeId) : base(service) + { + AdvertiserId = advertiserId; + CreativeId = creativeId; + InitParameters(); + } + + /// Required. The ID of the advertiser this creative belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Required. The ID of the creative to fetch. + [Google.Apis.Util.RequestParameterAttribute("creativeId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long CreativeId { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/creatives/{+creativeId}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("creativeId", new Google.Apis.Discovery.Parameter + { + Name = "creativeId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// + /// Lists creatives in an advertiser. The order is defined by the order_by parameter. If a filter by + /// entity_status is not specified, creatives with `ENTITY_STATUS_ARCHIVED` will not be included in the + /// results. + /// + /// Required. The ID of the advertiser to list creatives for. + public virtual ListRequest List(long advertiserId) + { + return new ListRequest(service, advertiserId); + } + + /// + /// Lists creatives in an advertiser. The order is defined by the order_by parameter. If a filter by + /// entity_status is not specified, creatives with `ENTITY_STATUS_ARCHIVED` will not be included in the + /// results. + /// + public class ListRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, long advertiserId) : base(service) + { + AdvertiserId = advertiserId; + InitParameters(); + } + + /// Required. The ID of the advertiser to list creatives for. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// + /// Allows filtering by creative fields. Supported syntax: * Filter expressions are made up of one or + /// more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of + /// restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * + /// The `lineItemIds` field must use the `HAS (:)` operator. * The `updateTime` field must use the + /// `GREATER THAN OR EQUAL TO (&gt;=)` or `LESS THAN OR EQUAL TO (&lt;=)` operators. * All other + /// fields must use the `EQUALS (=)` operator. * For `entityStatus`, `minDuration`, `maxDuration`, + /// `updateTime`, and `dynamic` fields, there may be at most one restriction. Supported Fields: * + /// `approvalStatus` * `creativeId` * `creativeType` * `dimensions` (input in the form of + /// `{width}x{height}`) * `dynamic` * `entityStatus` * `exchangeReviewStatus` (input in the form of + /// `{exchange}-{reviewStatus}`) * `lineItemIds` * `maxDuration` (input in the form of `{duration}s`. + /// Only seconds are supported) * `minDuration` (input in the form of `{duration}s`. Only seconds are + /// supported) * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Notes: * For + /// `updateTime`, a creative resource's field value reflects the last time that a creative has been + /// updated, which includes updates made by the system (e.g. creative review updates). Examples: * All + /// native creatives: `creativeType="CREATIVE_TYPE_NATIVE"` * All active creatives with 300x400 or + /// 50x100 dimensions: `entityStatus="ENTITY_STATUS_ACTIVE" AND (dimensions="300x400" OR + /// dimensions="50x100")` * All dynamic creatives that are approved by AdX or AppNexus, with a minimum + /// duration of 5 seconds and 200ms: `dynamic="true" AND minDuration="5.2s" AND + /// (exchangeReviewStatus="EXCHANGE_GOOGLE_AD_MANAGER-REVIEW_STATUS_APPROVED" OR + /// exchangeReviewStatus="EXCHANGE_APPNEXUS-REVIEW_STATUS_APPROVED")` * All video creatives that are + /// associated with line item ID 1 or 2: `creativeType="CREATIVE_TYPE_VIDEO" AND (lineItemIds:1 OR + /// lineItemIds:2)` * Find creatives by multiple creative IDs: `creativeId=1 OR creativeId=2` * All + /// creatives with an update time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): + /// `updateTime&gt;="2020-11-04T18:54:47Z"` The length of this field should be no more than 500 + /// characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide + /// for more information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Field by which to sort the list. Acceptable values are: * `creativeId` (default) * `createTime` * + /// `mediaDuration` * `dimensions` (sorts by width first, then by height) The default sorting order is + /// ascending. To specify descending order for a field, a suffix "desc" should be added to the field + /// name. Example: `createTime desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns + /// error code `INVALID_ARGUMENT` if an invalid value is specified. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token identifying a page of results the server should return. Typically, this is the value of + /// next_page_token returned from the previous call to `ListCreatives` method. If not specified, the + /// first page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/creatives"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Updates an existing creative. Returns the updated creative if successful. + /// The body of the request. + /// Output only. The unique ID of the advertiser the creative belongs to. + /// Output only. The unique ID of the creative. Assigned by the system. + public virtual PatchRequest Patch(Google.Apis.DisplayVideo.v3.Data.Creative body, long advertiserId, long creativeId) + { + return new PatchRequest(service, body, advertiserId, creativeId); + } + + /// Updates an existing creative. Returns the updated creative if successful. + public class PatchRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.Creative body, long advertiserId, long creativeId) : base(service) + { + AdvertiserId = advertiserId; + CreativeId = creativeId; + Body = body; + InitParameters(); + } + + /// Output only. The unique ID of the advertiser the creative belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Output only. The unique ID of the creative. Assigned by the system. + [Google.Apis.Util.RequestParameterAttribute("creativeId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long CreativeId { get; private set; } + + /// Required. The mask to control which fields to update. + [Google.Apis.Util.RequestParameterAttribute("updateMask", Google.Apis.Util.RequestParameterType.Query)] + public virtual object UpdateMask { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.Creative Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "patch"; + + /// Gets the HTTP method. + public override string HttpMethod => "PATCH"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/creatives/{+creativeId}"; + + /// Initializes Patch parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("creativeId", new Google.Apis.Discovery.Parameter + { + Name = "creativeId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// Gets the InsertionOrders resource. + public virtual InsertionOrdersResource InsertionOrders { get; } + + /// The "insertionOrders" collection of methods. + public class InsertionOrdersResource + { + private const string Resource = "insertionOrders"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public InsertionOrdersResource(Google.Apis.Services.IClientService service) + { + this.service = service; + TargetingTypes = new TargetingTypesResource(service); + } + + /// Gets the TargetingTypes resource. + public virtual TargetingTypesResource TargetingTypes { get; } + + /// The "targetingTypes" collection of methods. + public class TargetingTypesResource + { + private const string Resource = "targetingTypes"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public TargetingTypesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + AssignedTargetingOptions = new AssignedTargetingOptionsResource(service); + } + + /// Gets the AssignedTargetingOptions resource. + public virtual AssignedTargetingOptionsResource AssignedTargetingOptions { get; } + + /// The "assignedTargetingOptions" collection of methods. + public class AssignedTargetingOptionsResource + { + private const string Resource = "assignedTargetingOptions"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public AssignedTargetingOptionsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// + /// Assigns a targeting option to an insertion order. Returns the assigned targeting option if + /// successful. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * + /// `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * + /// `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * + /// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * + /// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * + /// `TARGETING_TYPE_VIEWABILITY` + /// + /// The body of the request. + /// + /// Required. The ID of the advertiser the insertion order belongs to. + /// + /// + /// Required. The ID of the insertion order the assigned targeting option will belong to. + /// + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types: * + /// `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * + /// `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * + /// `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * + /// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * + /// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * + /// `TARGETING_TYPE_VIEWABILITY` + /// + public virtual CreateRequest Create(Google.Apis.DisplayVideo.v3.Data.AssignedTargetingOption body, long advertiserId, long insertionOrderId, CreateRequest.TargetingTypeEnum targetingType) + { + return new CreateRequest(service, body, advertiserId, insertionOrderId, targetingType); + } + + /// + /// Assigns a targeting option to an insertion order. Returns the assigned targeting option if + /// successful. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * + /// `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * + /// `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * + /// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * + /// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * + /// `TARGETING_TYPE_VIEWABILITY` + /// + public class CreateRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.AssignedTargetingOption body, long advertiserId, long insertionOrderId, TargetingTypeEnum targetingType) : base(service) + { + AdvertiserId = advertiserId; + InsertionOrderId = insertionOrderId; + TargetingType = targetingType; + Body = body; + InitParameters(); + } + + /// Required. The ID of the advertiser the insertion order belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// + /// Required. The ID of the insertion order the assigned targeting option will belong to. + /// + [Google.Apis.Util.RequestParameterAttribute("insertionOrderId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long InsertionOrderId { get; private set; } + + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types: + /// * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * + /// `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * + /// `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * + /// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * + /// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * + /// `TARGETING_TYPE_VIEWABILITY` + /// + [Google.Apis.Util.RequestParameterAttribute("targetingType", Google.Apis.Util.RequestParameterType.Path)] + public virtual TargetingTypeEnum TargetingType { get; private set; } + + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types: + /// * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * + /// `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * + /// `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * + /// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * + /// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * + /// `TARGETING_TYPE_VIEWABILITY` + /// + public enum TargetingTypeEnum + { + /// + /// Default value when type is not specified or is unknown in this version. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_UNSPECIFIED")] + TARGETINGTYPEUNSPECIFIED = 0, + + /// Target a channel (a custom group of related websites or apps). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CHANNEL")] + TARGETINGTYPECHANNEL = 1, + + /// Target an app category (for example, education or puzzle games). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP_CATEGORY")] + TARGETINGTYPEAPPCATEGORY = 2, + + /// Target a specific app (for example, Angry Birds). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP")] + TARGETINGTYPEAPP = 3, + + /// Target a specific url (for example, quora.com). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_URL")] + TARGETINGTYPEURL = 4, + + /// Target ads during a chosen time period on a specific day. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DAY_AND_TIME")] + TARGETINGTYPEDAYANDTIME = 5, + + /// Target ads to a specific age range (for example, 18-24). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AGE_RANGE")] + TARGETINGTYPEAGERANGE = 6, + + /// Target ads to the specified regions on a regional location list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_REGIONAL_LOCATION_LIST")] + TARGETINGTYPEREGIONALLOCATIONLIST = 7, + + /// + /// Target ads to the specified points of interest on a proximity location list. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PROXIMITY_LOCATION_LIST")] + TARGETINGTYPEPROXIMITYLOCATIONLIST = 8, + + /// Target ads to a specific gender (for example, female or male). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GENDER")] + TARGETINGTYPEGENDER = 9, + + /// Target a specific video player size for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIDEO_PLAYER_SIZE")] + TARGETINGTYPEVIDEOPLAYERSIZE = 10, + + /// Target user rewarded content for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_USER_REWARDED_CONTENT")] + TARGETINGTYPEUSERREWARDEDCONTENT = 11, + + /// + /// Target ads to a specific parental status (for example, parent or not a parent). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PARENTAL_STATUS")] + TARGETINGTYPEPARENTALSTATUS = 12, + + /// + /// Target video or audio ads in a specific content instream position (for example, + /// pre-roll, mid-roll, or post-roll). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_INSTREAM_POSITION")] + TARGETINGTYPECONTENTINSTREAMPOSITION = 13, + + /// Target ads in a specific content outstream position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION")] + TARGETINGTYPECONTENTOUTSTREAMPOSITION = 14, + + /// + /// Target ads to a specific device type (for example, tablet or connected TV). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_TYPE")] + TARGETINGTYPEDEVICETYPE = 15, + + /// + /// Target ads to an audience or groups of audiences. Singleton field, at most one can exist + /// on a single Lineitem at a time. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIENCE_GROUP")] + TARGETINGTYPEAUDIENCEGROUP = 16, + + /// Target ads to specific web browsers (for example, Chrome). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BROWSER")] + TARGETINGTYPEBROWSER = 17, + + /// + /// Target ads to a specific household income range (for example, top 10%). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_HOUSEHOLD_INCOME")] + TARGETINGTYPEHOUSEHOLDINCOME = 18, + + /// Target ads in a specific on screen position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ON_SCREEN_POSITION")] + TARGETINGTYPEONSCREENPOSITION = 19, + + /// + /// Filter web sites through third party verification (for example, IAS or DoubleVerify). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_THIRD_PARTY_VERIFIER")] + TARGETINGTYPETHIRDPARTYVERIFIER = 20, + + /// + /// Filter web sites by specific digital content label ratings (for example, DL-MA: suitable + /// only for mature audiences). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION")] + TARGETINGTYPEDIGITALCONTENTLABELEXCLUSION = 21, + + /// Filter website content by sensitive categories (for example, adult). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION")] + TARGETINGTYPESENSITIVECATEGORYEXCLUSION = 22, + + /// Target ads to a specific environment (for example, web or app). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ENVIRONMENT")] + TARGETINGTYPEENVIRONMENT = 23, + + /// + /// Target ads to a specific network carrier or internet service provider (ISP) (for + /// example, Comcast or Orange). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CARRIER_AND_ISP")] + TARGETINGTYPECARRIERANDISP = 24, + + /// Target ads to a specific operating system (for example, macOS). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OPERATING_SYSTEM")] + TARGETINGTYPEOPERATINGSYSTEM = 25, + + /// + /// Target ads to a specific device make or model (for example, Roku or Samsung). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_MAKE_MODEL")] + TARGETINGTYPEDEVICEMAKEMODEL = 26, + + /// Target ads to a specific keyword (for example, dog or retriever). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_KEYWORD")] + TARGETINGTYPEKEYWORD = 27, + + /// Target ads to a specific negative keyword list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NEGATIVE_KEYWORD_LIST")] + TARGETINGTYPENEGATIVEKEYWORDLIST = 28, + + /// Target ads to a specific viewability (for example, 80% viewable). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIEWABILITY")] + TARGETINGTYPEVIEWABILITY = 29, + + /// + /// Target ads to a specific content category (for example, arts &amp; entertainment). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CATEGORY")] + TARGETINGTYPECATEGORY = 30, + + /// Purchase impressions from specific deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE")] + TARGETINGTYPEINVENTORYSOURCE = 31, + + /// Target ads to a specific language (for example, English or Japanese). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_LANGUAGE")] + TARGETINGTYPELANGUAGE = 32, + + /// + /// Target ads to ads.txt authorized sellers. If no targeting option of this type is + /// assigned, the resource uses the "Authorized Direct Sellers and Resellers" option by + /// default. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUTHORIZED_SELLER_STATUS")] + TARGETINGTYPEAUTHORIZEDSELLERSTATUS = 33, + + /// + /// Target ads to a specific regional location (for example, a city or state). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GEO_REGION")] + TARGETINGTYPEGEOREGION = 34, + + /// Purchase impressions from a group of deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE_GROUP")] + TARGETINGTYPEINVENTORYSOURCEGROUP = 35, + + /// Purchase impressions from specific exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_EXCHANGE")] + TARGETINGTYPEEXCHANGE = 36, + + /// Purchase impressions from specific sub-exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SUB_EXCHANGE")] + TARGETINGTYPESUBEXCHANGE = 37, + + /// + /// Target ads around a specific point of interest, such as a notable building, a street + /// address, or latitude/longitude coordinates. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_POI")] + TARGETINGTYPEPOI = 38, + + /// + /// Target ads around locations of a business chain within a specific geo region. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BUSINESS_CHAIN")] + TARGETINGTYPEBUSINESSCHAIN = 39, + + /// Target ads to a specific video content duration. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_DURATION")] + TARGETINGTYPECONTENTDURATION = 40, + + /// Target ads to a specific video content stream type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_STREAM_TYPE")] + TARGETINGTYPECONTENTSTREAMTYPE = 41, + + /// Target ads to a specific native content position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NATIVE_CONTENT_POSITION")] + TARGETINGTYPENATIVECONTENTPOSITION = 42, + + /// Target ads in an Open Measurement enabled inventory. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OMID")] + TARGETINGTYPEOMID = 43, + + /// Target ads to a specific audio content type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIO_CONTENT_TYPE")] + TARGETINGTYPEAUDIOCONTENTTYPE = 44, + + /// Target ads to a specific content genre. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_GENRE")] + TARGETINGTYPECONTENTGENRE = 45, + + /// + /// Target ads to a specific YouTube video. Targeting of this type cannot be created or + /// updated using the API. Although this targeting is inherited by child resources, + /// **inherited targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_VIDEO")] + TARGETINGTYPEYOUTUBEVIDEO = 46, + + /// + /// Target ads to a specific YouTube channel. Targeting of this type cannot be created or + /// updated using the API. Although this targeting is inherited by child resources, + /// **inherited targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_CHANNEL")] + TARGETINGTYPEYOUTUBECHANNEL = 47, + + /// + /// Target ads to a serve it in a certain position of a session. Only supported for Ad Group + /// resources under YouTube Programmatic Reservation line items. Targeting of this type + /// cannot be created or updated using the API. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SESSION_POSITION")] + TARGETINGTYPESESSIONPOSITION = 48, + } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.AssignedTargetingOption Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "create"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("insertionOrderId", new Google.Apis.Discovery.Parameter + { + Name = "insertionOrderId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("targetingType", new Google.Apis.Discovery.Parameter + { + Name = "targetingType", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// + /// Deletes an assigned targeting option from an insertion order. Supported targeting types: * + /// `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * + /// `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * + /// `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * + /// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * + /// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * + /// `TARGETING_TYPE_VIEWABILITY` + /// + /// + /// Required. The ID of the advertiser the insertion order belongs to. + /// + /// + /// Required. The ID of the insertion order the assigned targeting option belongs to. + /// + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types: * + /// `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * + /// `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * + /// `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * + /// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * + /// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * + /// `TARGETING_TYPE_VIEWABILITY` + /// + /// + /// Required. The ID of the assigned targeting option to delete. + /// + public virtual DeleteRequest Delete(long advertiserId, long insertionOrderId, DeleteRequest.TargetingTypeEnum targetingType, string assignedTargetingOptionId) + { + return new DeleteRequest(service, advertiserId, insertionOrderId, targetingType, assignedTargetingOptionId); + } + + /// + /// Deletes an assigned targeting option from an insertion order. Supported targeting types: * + /// `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * + /// `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * + /// `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * + /// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * + /// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * + /// `TARGETING_TYPE_VIEWABILITY` + /// + public class DeleteRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, long advertiserId, long insertionOrderId, TargetingTypeEnum targetingType, string assignedTargetingOptionId) : base(service) + { + AdvertiserId = advertiserId; + InsertionOrderId = insertionOrderId; + TargetingType = targetingType; + AssignedTargetingOptionId = assignedTargetingOptionId; + InitParameters(); + } + + /// Required. The ID of the advertiser the insertion order belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// + /// Required. The ID of the insertion order the assigned targeting option belongs to. + /// + [Google.Apis.Util.RequestParameterAttribute("insertionOrderId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long InsertionOrderId { get; private set; } + + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types: + /// * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * + /// `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * + /// `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * + /// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * + /// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * + /// `TARGETING_TYPE_VIEWABILITY` + /// + [Google.Apis.Util.RequestParameterAttribute("targetingType", Google.Apis.Util.RequestParameterType.Path)] + public virtual TargetingTypeEnum TargetingType { get; private set; } + + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types: + /// * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_CATEGORY` * + /// `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * + /// `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * + /// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OPERATING_SYSTEM` * + /// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * + /// `TARGETING_TYPE_VIEWABILITY` + /// + public enum TargetingTypeEnum + { + /// + /// Default value when type is not specified or is unknown in this version. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_UNSPECIFIED")] + TARGETINGTYPEUNSPECIFIED = 0, + + /// Target a channel (a custom group of related websites or apps). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CHANNEL")] + TARGETINGTYPECHANNEL = 1, + + /// Target an app category (for example, education or puzzle games). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP_CATEGORY")] + TARGETINGTYPEAPPCATEGORY = 2, + + /// Target a specific app (for example, Angry Birds). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP")] + TARGETINGTYPEAPP = 3, + + /// Target a specific url (for example, quora.com). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_URL")] + TARGETINGTYPEURL = 4, + + /// Target ads during a chosen time period on a specific day. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DAY_AND_TIME")] + TARGETINGTYPEDAYANDTIME = 5, + + /// Target ads to a specific age range (for example, 18-24). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AGE_RANGE")] + TARGETINGTYPEAGERANGE = 6, + + /// Target ads to the specified regions on a regional location list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_REGIONAL_LOCATION_LIST")] + TARGETINGTYPEREGIONALLOCATIONLIST = 7, + + /// + /// Target ads to the specified points of interest on a proximity location list. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PROXIMITY_LOCATION_LIST")] + TARGETINGTYPEPROXIMITYLOCATIONLIST = 8, + + /// Target ads to a specific gender (for example, female or male). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GENDER")] + TARGETINGTYPEGENDER = 9, + + /// Target a specific video player size for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIDEO_PLAYER_SIZE")] + TARGETINGTYPEVIDEOPLAYERSIZE = 10, + + /// Target user rewarded content for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_USER_REWARDED_CONTENT")] + TARGETINGTYPEUSERREWARDEDCONTENT = 11, + + /// + /// Target ads to a specific parental status (for example, parent or not a parent). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PARENTAL_STATUS")] + TARGETINGTYPEPARENTALSTATUS = 12, + + /// + /// Target video or audio ads in a specific content instream position (for example, + /// pre-roll, mid-roll, or post-roll). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_INSTREAM_POSITION")] + TARGETINGTYPECONTENTINSTREAMPOSITION = 13, + + /// Target ads in a specific content outstream position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION")] + TARGETINGTYPECONTENTOUTSTREAMPOSITION = 14, + + /// + /// Target ads to a specific device type (for example, tablet or connected TV). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_TYPE")] + TARGETINGTYPEDEVICETYPE = 15, + + /// + /// Target ads to an audience or groups of audiences. Singleton field, at most one can exist + /// on a single Lineitem at a time. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIENCE_GROUP")] + TARGETINGTYPEAUDIENCEGROUP = 16, + + /// Target ads to specific web browsers (for example, Chrome). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BROWSER")] + TARGETINGTYPEBROWSER = 17, + + /// + /// Target ads to a specific household income range (for example, top 10%). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_HOUSEHOLD_INCOME")] + TARGETINGTYPEHOUSEHOLDINCOME = 18, + + /// Target ads in a specific on screen position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ON_SCREEN_POSITION")] + TARGETINGTYPEONSCREENPOSITION = 19, + + /// + /// Filter web sites through third party verification (for example, IAS or DoubleVerify). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_THIRD_PARTY_VERIFIER")] + TARGETINGTYPETHIRDPARTYVERIFIER = 20, + + /// + /// Filter web sites by specific digital content label ratings (for example, DL-MA: suitable + /// only for mature audiences). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION")] + TARGETINGTYPEDIGITALCONTENTLABELEXCLUSION = 21, + + /// Filter website content by sensitive categories (for example, adult). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION")] + TARGETINGTYPESENSITIVECATEGORYEXCLUSION = 22, + + /// Target ads to a specific environment (for example, web or app). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ENVIRONMENT")] + TARGETINGTYPEENVIRONMENT = 23, + + /// + /// Target ads to a specific network carrier or internet service provider (ISP) (for + /// example, Comcast or Orange). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CARRIER_AND_ISP")] + TARGETINGTYPECARRIERANDISP = 24, + + /// Target ads to a specific operating system (for example, macOS). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OPERATING_SYSTEM")] + TARGETINGTYPEOPERATINGSYSTEM = 25, + + /// + /// Target ads to a specific device make or model (for example, Roku or Samsung). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_MAKE_MODEL")] + TARGETINGTYPEDEVICEMAKEMODEL = 26, + + /// Target ads to a specific keyword (for example, dog or retriever). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_KEYWORD")] + TARGETINGTYPEKEYWORD = 27, + + /// Target ads to a specific negative keyword list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NEGATIVE_KEYWORD_LIST")] + TARGETINGTYPENEGATIVEKEYWORDLIST = 28, + + /// Target ads to a specific viewability (for example, 80% viewable). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIEWABILITY")] + TARGETINGTYPEVIEWABILITY = 29, + + /// + /// Target ads to a specific content category (for example, arts &amp; entertainment). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CATEGORY")] + TARGETINGTYPECATEGORY = 30, + + /// Purchase impressions from specific deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE")] + TARGETINGTYPEINVENTORYSOURCE = 31, + + /// Target ads to a specific language (for example, English or Japanese). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_LANGUAGE")] + TARGETINGTYPELANGUAGE = 32, + + /// + /// Target ads to ads.txt authorized sellers. If no targeting option of this type is + /// assigned, the resource uses the "Authorized Direct Sellers and Resellers" option by + /// default. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUTHORIZED_SELLER_STATUS")] + TARGETINGTYPEAUTHORIZEDSELLERSTATUS = 33, + + /// + /// Target ads to a specific regional location (for example, a city or state). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GEO_REGION")] + TARGETINGTYPEGEOREGION = 34, + + /// Purchase impressions from a group of deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE_GROUP")] + TARGETINGTYPEINVENTORYSOURCEGROUP = 35, + + /// Purchase impressions from specific exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_EXCHANGE")] + TARGETINGTYPEEXCHANGE = 36, + + /// Purchase impressions from specific sub-exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SUB_EXCHANGE")] + TARGETINGTYPESUBEXCHANGE = 37, + + /// + /// Target ads around a specific point of interest, such as a notable building, a street + /// address, or latitude/longitude coordinates. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_POI")] + TARGETINGTYPEPOI = 38, + + /// + /// Target ads around locations of a business chain within a specific geo region. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BUSINESS_CHAIN")] + TARGETINGTYPEBUSINESSCHAIN = 39, + + /// Target ads to a specific video content duration. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_DURATION")] + TARGETINGTYPECONTENTDURATION = 40, + + /// Target ads to a specific video content stream type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_STREAM_TYPE")] + TARGETINGTYPECONTENTSTREAMTYPE = 41, + + /// Target ads to a specific native content position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NATIVE_CONTENT_POSITION")] + TARGETINGTYPENATIVECONTENTPOSITION = 42, + + /// Target ads in an Open Measurement enabled inventory. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OMID")] + TARGETINGTYPEOMID = 43, + + /// Target ads to a specific audio content type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIO_CONTENT_TYPE")] + TARGETINGTYPEAUDIOCONTENTTYPE = 44, + + /// Target ads to a specific content genre. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_GENRE")] + TARGETINGTYPECONTENTGENRE = 45, + + /// + /// Target ads to a specific YouTube video. Targeting of this type cannot be created or + /// updated using the API. Although this targeting is inherited by child resources, + /// **inherited targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_VIDEO")] + TARGETINGTYPEYOUTUBEVIDEO = 46, + + /// + /// Target ads to a specific YouTube channel. Targeting of this type cannot be created or + /// updated using the API. Although this targeting is inherited by child resources, + /// **inherited targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_CHANNEL")] + TARGETINGTYPEYOUTUBECHANNEL = 47, + + /// + /// Target ads to a serve it in a certain position of a session. Only supported for Ad Group + /// resources under YouTube Programmatic Reservation line items. Targeting of this type + /// cannot be created or updated using the API. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SESSION_POSITION")] + TARGETINGTYPESESSIONPOSITION = 48, + } + + /// Required. The ID of the assigned targeting option to delete. + [Google.Apis.Util.RequestParameterAttribute("assignedTargetingOptionId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string AssignedTargetingOptionId { get; private set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("insertionOrderId", new Google.Apis.Discovery.Parameter + { + Name = "insertionOrderId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("targetingType", new Google.Apis.Discovery.Parameter + { + Name = "targetingType", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("assignedTargetingOptionId", new Google.Apis.Discovery.Parameter + { + Name = "assignedTargetingOptionId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// Gets a single targeting option assigned to an insertion order. + /// + /// Required. The ID of the advertiser the insertion order belongs to. + /// + /// + /// Required. The ID of the insertion order the assigned targeting option belongs to. + /// + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types + /// include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * + /// `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * + /// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * + /// `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * + /// `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * + /// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * + /// `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * + /// `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * + /// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * + /// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * + /// `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * + /// `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` + /// * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * + /// `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * + /// `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * + /// `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * + /// `TARGETING_TYPE_VIEWABILITY` + /// + /// + /// Required. An identifier unique to the targeting type in this insertion order that identifies the + /// assigned targeting option being requested. + /// + public virtual GetRequest Get(long advertiserId, long insertionOrderId, GetRequest.TargetingTypeEnum targetingType, string assignedTargetingOptionId) + { + return new GetRequest(service, advertiserId, insertionOrderId, targetingType, assignedTargetingOptionId); + } + + /// Gets a single targeting option assigned to an insertion order. + public class GetRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, long advertiserId, long insertionOrderId, TargetingTypeEnum targetingType, string assignedTargetingOptionId) : base(service) + { + AdvertiserId = advertiserId; + InsertionOrderId = insertionOrderId; + TargetingType = targetingType; + AssignedTargetingOptionId = assignedTargetingOptionId; + InitParameters(); + } + + /// Required. The ID of the advertiser the insertion order belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// + /// Required. The ID of the insertion order the assigned targeting option belongs to. + /// + [Google.Apis.Util.RequestParameterAttribute("insertionOrderId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long InsertionOrderId { get; private set; } + + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types + /// include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` + /// * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * + /// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * + /// `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * + /// `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * + /// `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * + /// `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * + /// `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * + /// `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * + /// `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * + /// `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * + /// `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * + /// `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * + /// `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * + /// `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` + /// * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * + /// `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * + /// `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * + /// `TARGETING_TYPE_VIEWABILITY` + /// + [Google.Apis.Util.RequestParameterAttribute("targetingType", Google.Apis.Util.RequestParameterType.Path)] + public virtual TargetingTypeEnum TargetingType { get; private set; } + + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types + /// include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` + /// * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * + /// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * + /// `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * + /// `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * + /// `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * + /// `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * + /// `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * + /// `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * + /// `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * + /// `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * + /// `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * + /// `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * + /// `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * + /// `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` + /// * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * + /// `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * + /// `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * + /// `TARGETING_TYPE_VIEWABILITY` + /// + public enum TargetingTypeEnum + { + /// + /// Default value when type is not specified or is unknown in this version. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_UNSPECIFIED")] + TARGETINGTYPEUNSPECIFIED = 0, + + /// Target a channel (a custom group of related websites or apps). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CHANNEL")] + TARGETINGTYPECHANNEL = 1, + + /// Target an app category (for example, education or puzzle games). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP_CATEGORY")] + TARGETINGTYPEAPPCATEGORY = 2, + + /// Target a specific app (for example, Angry Birds). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP")] + TARGETINGTYPEAPP = 3, + + /// Target a specific url (for example, quora.com). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_URL")] + TARGETINGTYPEURL = 4, + + /// Target ads during a chosen time period on a specific day. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DAY_AND_TIME")] + TARGETINGTYPEDAYANDTIME = 5, + + /// Target ads to a specific age range (for example, 18-24). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AGE_RANGE")] + TARGETINGTYPEAGERANGE = 6, + + /// Target ads to the specified regions on a regional location list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_REGIONAL_LOCATION_LIST")] + TARGETINGTYPEREGIONALLOCATIONLIST = 7, + + /// + /// Target ads to the specified points of interest on a proximity location list. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PROXIMITY_LOCATION_LIST")] + TARGETINGTYPEPROXIMITYLOCATIONLIST = 8, + + /// Target ads to a specific gender (for example, female or male). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GENDER")] + TARGETINGTYPEGENDER = 9, + + /// Target a specific video player size for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIDEO_PLAYER_SIZE")] + TARGETINGTYPEVIDEOPLAYERSIZE = 10, + + /// Target user rewarded content for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_USER_REWARDED_CONTENT")] + TARGETINGTYPEUSERREWARDEDCONTENT = 11, + + /// + /// Target ads to a specific parental status (for example, parent or not a parent). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PARENTAL_STATUS")] + TARGETINGTYPEPARENTALSTATUS = 12, + + /// + /// Target video or audio ads in a specific content instream position (for example, + /// pre-roll, mid-roll, or post-roll). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_INSTREAM_POSITION")] + TARGETINGTYPECONTENTINSTREAMPOSITION = 13, + + /// Target ads in a specific content outstream position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION")] + TARGETINGTYPECONTENTOUTSTREAMPOSITION = 14, + + /// + /// Target ads to a specific device type (for example, tablet or connected TV). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_TYPE")] + TARGETINGTYPEDEVICETYPE = 15, + + /// + /// Target ads to an audience or groups of audiences. Singleton field, at most one can exist + /// on a single Lineitem at a time. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIENCE_GROUP")] + TARGETINGTYPEAUDIENCEGROUP = 16, + + /// Target ads to specific web browsers (for example, Chrome). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BROWSER")] + TARGETINGTYPEBROWSER = 17, + + /// + /// Target ads to a specific household income range (for example, top 10%). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_HOUSEHOLD_INCOME")] + TARGETINGTYPEHOUSEHOLDINCOME = 18, + + /// Target ads in a specific on screen position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ON_SCREEN_POSITION")] + TARGETINGTYPEONSCREENPOSITION = 19, + + /// + /// Filter web sites through third party verification (for example, IAS or DoubleVerify). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_THIRD_PARTY_VERIFIER")] + TARGETINGTYPETHIRDPARTYVERIFIER = 20, + + /// + /// Filter web sites by specific digital content label ratings (for example, DL-MA: suitable + /// only for mature audiences). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION")] + TARGETINGTYPEDIGITALCONTENTLABELEXCLUSION = 21, + + /// Filter website content by sensitive categories (for example, adult). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION")] + TARGETINGTYPESENSITIVECATEGORYEXCLUSION = 22, + + /// Target ads to a specific environment (for example, web or app). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ENVIRONMENT")] + TARGETINGTYPEENVIRONMENT = 23, + + /// + /// Target ads to a specific network carrier or internet service provider (ISP) (for + /// example, Comcast or Orange). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CARRIER_AND_ISP")] + TARGETINGTYPECARRIERANDISP = 24, + + /// Target ads to a specific operating system (for example, macOS). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OPERATING_SYSTEM")] + TARGETINGTYPEOPERATINGSYSTEM = 25, + + /// + /// Target ads to a specific device make or model (for example, Roku or Samsung). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_MAKE_MODEL")] + TARGETINGTYPEDEVICEMAKEMODEL = 26, + + /// Target ads to a specific keyword (for example, dog or retriever). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_KEYWORD")] + TARGETINGTYPEKEYWORD = 27, + + /// Target ads to a specific negative keyword list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NEGATIVE_KEYWORD_LIST")] + TARGETINGTYPENEGATIVEKEYWORDLIST = 28, + + /// Target ads to a specific viewability (for example, 80% viewable). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIEWABILITY")] + TARGETINGTYPEVIEWABILITY = 29, + + /// + /// Target ads to a specific content category (for example, arts &amp; entertainment). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CATEGORY")] + TARGETINGTYPECATEGORY = 30, + + /// Purchase impressions from specific deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE")] + TARGETINGTYPEINVENTORYSOURCE = 31, + + /// Target ads to a specific language (for example, English or Japanese). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_LANGUAGE")] + TARGETINGTYPELANGUAGE = 32, + + /// + /// Target ads to ads.txt authorized sellers. If no targeting option of this type is + /// assigned, the resource uses the "Authorized Direct Sellers and Resellers" option by + /// default. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUTHORIZED_SELLER_STATUS")] + TARGETINGTYPEAUTHORIZEDSELLERSTATUS = 33, + + /// + /// Target ads to a specific regional location (for example, a city or state). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GEO_REGION")] + TARGETINGTYPEGEOREGION = 34, + + /// Purchase impressions from a group of deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE_GROUP")] + TARGETINGTYPEINVENTORYSOURCEGROUP = 35, + + /// Purchase impressions from specific exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_EXCHANGE")] + TARGETINGTYPEEXCHANGE = 36, + + /// Purchase impressions from specific sub-exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SUB_EXCHANGE")] + TARGETINGTYPESUBEXCHANGE = 37, + + /// + /// Target ads around a specific point of interest, such as a notable building, a street + /// address, or latitude/longitude coordinates. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_POI")] + TARGETINGTYPEPOI = 38, + + /// + /// Target ads around locations of a business chain within a specific geo region. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BUSINESS_CHAIN")] + TARGETINGTYPEBUSINESSCHAIN = 39, + + /// Target ads to a specific video content duration. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_DURATION")] + TARGETINGTYPECONTENTDURATION = 40, + + /// Target ads to a specific video content stream type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_STREAM_TYPE")] + TARGETINGTYPECONTENTSTREAMTYPE = 41, + + /// Target ads to a specific native content position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NATIVE_CONTENT_POSITION")] + TARGETINGTYPENATIVECONTENTPOSITION = 42, + + /// Target ads in an Open Measurement enabled inventory. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OMID")] + TARGETINGTYPEOMID = 43, + + /// Target ads to a specific audio content type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIO_CONTENT_TYPE")] + TARGETINGTYPEAUDIOCONTENTTYPE = 44, + + /// Target ads to a specific content genre. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_GENRE")] + TARGETINGTYPECONTENTGENRE = 45, + + /// + /// Target ads to a specific YouTube video. Targeting of this type cannot be created or + /// updated using the API. Although this targeting is inherited by child resources, + /// **inherited targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_VIDEO")] + TARGETINGTYPEYOUTUBEVIDEO = 46, + + /// + /// Target ads to a specific YouTube channel. Targeting of this type cannot be created or + /// updated using the API. Although this targeting is inherited by child resources, + /// **inherited targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_CHANNEL")] + TARGETINGTYPEYOUTUBECHANNEL = 47, + + /// + /// Target ads to a serve it in a certain position of a session. Only supported for Ad Group + /// resources under YouTube Programmatic Reservation line items. Targeting of this type + /// cannot be created or updated using the API. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SESSION_POSITION")] + TARGETINGTYPESESSIONPOSITION = 48, + } + + /// + /// Required. An identifier unique to the targeting type in this insertion order that identifies + /// the assigned targeting option being requested. + /// + [Google.Apis.Util.RequestParameterAttribute("assignedTargetingOptionId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string AssignedTargetingOptionId { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("insertionOrderId", new Google.Apis.Discovery.Parameter + { + Name = "insertionOrderId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("targetingType", new Google.Apis.Discovery.Parameter + { + Name = "targetingType", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("assignedTargetingOptionId", new Google.Apis.Discovery.Parameter + { + Name = "assignedTargetingOptionId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// Lists the targeting options assigned to an insertion order. + /// + /// Required. The ID of the advertiser the insertion order belongs to. + /// + /// + /// Required. The ID of the insertion order to list assigned targeting options for. + /// + /// + /// Required. Identifies the type of assigned targeting options to list. Supported targeting types + /// include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * + /// `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * + /// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * + /// `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * + /// `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * + /// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * + /// `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * + /// `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * + /// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * + /// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * + /// `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * + /// `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` + /// * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * + /// `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * + /// `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * + /// `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * + /// `TARGETING_TYPE_VIEWABILITY` + /// + public virtual ListRequest List(long advertiserId, long insertionOrderId, ListRequest.TargetingTypeEnum targetingType) + { + return new ListRequest(service, advertiserId, insertionOrderId, targetingType); + } + + /// Lists the targeting options assigned to an insertion order. + public class ListRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, long advertiserId, long insertionOrderId, TargetingTypeEnum targetingType) : base(service) + { + AdvertiserId = advertiserId; + InsertionOrderId = insertionOrderId; + TargetingType = targetingType; + InitParameters(); + } + + /// Required. The ID of the advertiser the insertion order belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// + /// Required. The ID of the insertion order to list assigned targeting options for. + /// + [Google.Apis.Util.RequestParameterAttribute("insertionOrderId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long InsertionOrderId { get; private set; } + + /// + /// Required. Identifies the type of assigned targeting options to list. Supported targeting + /// types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * + /// `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * + /// `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * + /// `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * + /// `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * + /// `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * + /// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * + /// `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * + /// `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * + /// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * + /// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * + /// `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * + /// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * + /// `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * + /// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * + /// `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * + /// `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * + /// `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * + /// `TARGETING_TYPE_VIEWABILITY` + /// + [Google.Apis.Util.RequestParameterAttribute("targetingType", Google.Apis.Util.RequestParameterType.Path)] + public virtual TargetingTypeEnum TargetingType { get; private set; } + + /// + /// Required. Identifies the type of assigned targeting options to list. Supported targeting + /// types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * + /// `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * + /// `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * + /// `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * + /// `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * + /// `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * + /// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * + /// `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * + /// `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * + /// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * + /// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * + /// `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * + /// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * + /// `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * + /// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * + /// `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * + /// `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * + /// `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * + /// `TARGETING_TYPE_VIEWABILITY` + /// + public enum TargetingTypeEnum + { + /// + /// Default value when type is not specified or is unknown in this version. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_UNSPECIFIED")] + TARGETINGTYPEUNSPECIFIED = 0, + + /// Target a channel (a custom group of related websites or apps). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CHANNEL")] + TARGETINGTYPECHANNEL = 1, + + /// Target an app category (for example, education or puzzle games). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP_CATEGORY")] + TARGETINGTYPEAPPCATEGORY = 2, + + /// Target a specific app (for example, Angry Birds). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP")] + TARGETINGTYPEAPP = 3, + + /// Target a specific url (for example, quora.com). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_URL")] + TARGETINGTYPEURL = 4, + + /// Target ads during a chosen time period on a specific day. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DAY_AND_TIME")] + TARGETINGTYPEDAYANDTIME = 5, + + /// Target ads to a specific age range (for example, 18-24). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AGE_RANGE")] + TARGETINGTYPEAGERANGE = 6, + + /// Target ads to the specified regions on a regional location list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_REGIONAL_LOCATION_LIST")] + TARGETINGTYPEREGIONALLOCATIONLIST = 7, + + /// + /// Target ads to the specified points of interest on a proximity location list. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PROXIMITY_LOCATION_LIST")] + TARGETINGTYPEPROXIMITYLOCATIONLIST = 8, + + /// Target ads to a specific gender (for example, female or male). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GENDER")] + TARGETINGTYPEGENDER = 9, + + /// Target a specific video player size for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIDEO_PLAYER_SIZE")] + TARGETINGTYPEVIDEOPLAYERSIZE = 10, + + /// Target user rewarded content for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_USER_REWARDED_CONTENT")] + TARGETINGTYPEUSERREWARDEDCONTENT = 11, + + /// + /// Target ads to a specific parental status (for example, parent or not a parent). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PARENTAL_STATUS")] + TARGETINGTYPEPARENTALSTATUS = 12, + + /// + /// Target video or audio ads in a specific content instream position (for example, + /// pre-roll, mid-roll, or post-roll). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_INSTREAM_POSITION")] + TARGETINGTYPECONTENTINSTREAMPOSITION = 13, + + /// Target ads in a specific content outstream position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION")] + TARGETINGTYPECONTENTOUTSTREAMPOSITION = 14, + + /// + /// Target ads to a specific device type (for example, tablet or connected TV). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_TYPE")] + TARGETINGTYPEDEVICETYPE = 15, + + /// + /// Target ads to an audience or groups of audiences. Singleton field, at most one can exist + /// on a single Lineitem at a time. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIENCE_GROUP")] + TARGETINGTYPEAUDIENCEGROUP = 16, + + /// Target ads to specific web browsers (for example, Chrome). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BROWSER")] + TARGETINGTYPEBROWSER = 17, + + /// + /// Target ads to a specific household income range (for example, top 10%). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_HOUSEHOLD_INCOME")] + TARGETINGTYPEHOUSEHOLDINCOME = 18, + + /// Target ads in a specific on screen position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ON_SCREEN_POSITION")] + TARGETINGTYPEONSCREENPOSITION = 19, + + /// + /// Filter web sites through third party verification (for example, IAS or DoubleVerify). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_THIRD_PARTY_VERIFIER")] + TARGETINGTYPETHIRDPARTYVERIFIER = 20, + + /// + /// Filter web sites by specific digital content label ratings (for example, DL-MA: suitable + /// only for mature audiences). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION")] + TARGETINGTYPEDIGITALCONTENTLABELEXCLUSION = 21, + + /// Filter website content by sensitive categories (for example, adult). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION")] + TARGETINGTYPESENSITIVECATEGORYEXCLUSION = 22, + + /// Target ads to a specific environment (for example, web or app). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ENVIRONMENT")] + TARGETINGTYPEENVIRONMENT = 23, + + /// + /// Target ads to a specific network carrier or internet service provider (ISP) (for + /// example, Comcast or Orange). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CARRIER_AND_ISP")] + TARGETINGTYPECARRIERANDISP = 24, + + /// Target ads to a specific operating system (for example, macOS). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OPERATING_SYSTEM")] + TARGETINGTYPEOPERATINGSYSTEM = 25, + + /// + /// Target ads to a specific device make or model (for example, Roku or Samsung). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_MAKE_MODEL")] + TARGETINGTYPEDEVICEMAKEMODEL = 26, + + /// Target ads to a specific keyword (for example, dog or retriever). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_KEYWORD")] + TARGETINGTYPEKEYWORD = 27, + + /// Target ads to a specific negative keyword list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NEGATIVE_KEYWORD_LIST")] + TARGETINGTYPENEGATIVEKEYWORDLIST = 28, + + /// Target ads to a specific viewability (for example, 80% viewable). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIEWABILITY")] + TARGETINGTYPEVIEWABILITY = 29, + + /// + /// Target ads to a specific content category (for example, arts &amp; entertainment). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CATEGORY")] + TARGETINGTYPECATEGORY = 30, + + /// Purchase impressions from specific deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE")] + TARGETINGTYPEINVENTORYSOURCE = 31, + + /// Target ads to a specific language (for example, English or Japanese). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_LANGUAGE")] + TARGETINGTYPELANGUAGE = 32, + + /// + /// Target ads to ads.txt authorized sellers. If no targeting option of this type is + /// assigned, the resource uses the "Authorized Direct Sellers and Resellers" option by + /// default. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUTHORIZED_SELLER_STATUS")] + TARGETINGTYPEAUTHORIZEDSELLERSTATUS = 33, + + /// + /// Target ads to a specific regional location (for example, a city or state). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GEO_REGION")] + TARGETINGTYPEGEOREGION = 34, + + /// Purchase impressions from a group of deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE_GROUP")] + TARGETINGTYPEINVENTORYSOURCEGROUP = 35, + + /// Purchase impressions from specific exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_EXCHANGE")] + TARGETINGTYPEEXCHANGE = 36, + + /// Purchase impressions from specific sub-exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SUB_EXCHANGE")] + TARGETINGTYPESUBEXCHANGE = 37, + + /// + /// Target ads around a specific point of interest, such as a notable building, a street + /// address, or latitude/longitude coordinates. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_POI")] + TARGETINGTYPEPOI = 38, + + /// + /// Target ads around locations of a business chain within a specific geo region. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BUSINESS_CHAIN")] + TARGETINGTYPEBUSINESSCHAIN = 39, + + /// Target ads to a specific video content duration. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_DURATION")] + TARGETINGTYPECONTENTDURATION = 40, + + /// Target ads to a specific video content stream type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_STREAM_TYPE")] + TARGETINGTYPECONTENTSTREAMTYPE = 41, + + /// Target ads to a specific native content position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NATIVE_CONTENT_POSITION")] + TARGETINGTYPENATIVECONTENTPOSITION = 42, + + /// Target ads in an Open Measurement enabled inventory. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OMID")] + TARGETINGTYPEOMID = 43, + + /// Target ads to a specific audio content type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIO_CONTENT_TYPE")] + TARGETINGTYPEAUDIOCONTENTTYPE = 44, + + /// Target ads to a specific content genre. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_GENRE")] + TARGETINGTYPECONTENTGENRE = 45, + + /// + /// Target ads to a specific YouTube video. Targeting of this type cannot be created or + /// updated using the API. Although this targeting is inherited by child resources, + /// **inherited targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_VIDEO")] + TARGETINGTYPEYOUTUBEVIDEO = 46, + + /// + /// Target ads to a specific YouTube channel. Targeting of this type cannot be created or + /// updated using the API. Although this targeting is inherited by child resources, + /// **inherited targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_CHANNEL")] + TARGETINGTYPEYOUTUBECHANNEL = 47, + + /// + /// Target ads to a serve it in a certain position of a session. Only supported for Ad Group + /// resources under YouTube Programmatic Reservation line items. Targeting of this type + /// cannot be created or updated using the API. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SESSION_POSITION")] + TARGETINGTYPESESSIONPOSITION = 48, + } + + /// + /// Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions + /// are made up of one or more restrictions. * Restrictions can be combined by the logical + /// operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * All fields + /// must use the `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` * + /// `inheritance` Examples: * `AssignedTargetingOption` resources with ID 1 or 2: + /// `assignedTargetingOptionId="1" OR assignedTargetingOptionId="2"` * `AssignedTargetingOption` + /// resources with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER`: + /// `inheritance="NOT_INHERITED" OR inheritance="INHERITED_FROM_PARTNER"` The length of this + /// field should be no more than 500 characters. Reference our [filter `LIST` + /// requests](/display-video/api/guides/how-tos/filters) guide for more information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` + /// (default) The default sorting order is ascending. To specify descending order for a field, a + /// suffix "desc" should be added to the field name. Example: `assignedTargetingOptionId desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. + /// Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token identifying a page of results the server should return. Typically, this is the value + /// of next_page_token returned from the previous call to + /// `ListInsertionOrderAssignedTargetingOptions` method. If not specified, the first page of + /// results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}/targetingTypes/{+targetingType}/assignedTargetingOptions"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("insertionOrderId", new Google.Apis.Discovery.Parameter + { + Name = "insertionOrderId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("targetingType", new Google.Apis.Discovery.Parameter + { + Name = "targetingType", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + } + + /// + /// Creates a new insertion order. Returns the newly created insertion order if successful. + /// + /// The body of the request. + /// + /// Output only. The unique ID of the advertiser the insertion order belongs to. + /// + public virtual CreateRequest Create(Google.Apis.DisplayVideo.v3.Data.InsertionOrder body, long advertiserId) + { + return new CreateRequest(service, body, advertiserId); + } + + /// + /// Creates a new insertion order. Returns the newly created insertion order if successful. + /// + public class CreateRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.InsertionOrder body, long advertiserId) : base(service) + { + AdvertiserId = advertiserId; + Body = body; + InitParameters(); + } + + /// Output only. The unique ID of the advertiser the insertion order belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.InsertionOrder Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "create"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/insertionOrders"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// + /// Deletes an insertion order. Returns error code `NOT_FOUND` if the insertion order does not exist. The + /// insertion order should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, to be able + /// to delete it. + /// + /// The ID of the advertiser this insertion order belongs to. + /// The ID of the insertion order to delete. + public virtual DeleteRequest Delete(long advertiserId, long insertionOrderId) + { + return new DeleteRequest(service, advertiserId, insertionOrderId); + } + + /// + /// Deletes an insertion order. Returns error code `NOT_FOUND` if the insertion order does not exist. The + /// insertion order should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, to be able + /// to delete it. + /// + public class DeleteRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, long advertiserId, long insertionOrderId) : base(service) + { + AdvertiserId = advertiserId; + InsertionOrderId = insertionOrderId; + InitParameters(); + } + + /// The ID of the advertiser this insertion order belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// The ID of the insertion order to delete. + [Google.Apis.Util.RequestParameterAttribute("insertionOrderId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long InsertionOrderId { get; private set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("insertionOrderId", new Google.Apis.Discovery.Parameter + { + Name = "insertionOrderId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// + /// Gets an insertion order. Returns error code `NOT_FOUND` if the insertion order does not exist. + /// + /// Required. The ID of the advertiser this insertion order belongs to. + /// Required. The ID of the insertion order to fetch. + public virtual GetRequest Get(long advertiserId, long insertionOrderId) + { + return new GetRequest(service, advertiserId, insertionOrderId); + } + + /// + /// Gets an insertion order. Returns error code `NOT_FOUND` if the insertion order does not exist. + /// + public class GetRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, long advertiserId, long insertionOrderId) : base(service) + { + AdvertiserId = advertiserId; + InsertionOrderId = insertionOrderId; + InitParameters(); + } + + /// Required. The ID of the advertiser this insertion order belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Required. The ID of the insertion order to fetch. + [Google.Apis.Util.RequestParameterAttribute("insertionOrderId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long InsertionOrderId { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("insertionOrderId", new Google.Apis.Discovery.Parameter + { + Name = "insertionOrderId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// + /// Lists insertion orders in an advertiser. The order is defined by the order_by parameter. If a filter by + /// entity_status is not specified, insertion orders with `ENTITY_STATUS_ARCHIVED` will not be included in + /// the results. + /// + /// Required. The ID of the advertiser to list insertion orders for. + public virtual ListRequest List(long advertiserId) + { + return new ListRequest(service, advertiserId); + } + + /// + /// Lists insertion orders in an advertiser. The order is defined by the order_by parameter. If a filter by + /// entity_status is not specified, insertion orders with `ENTITY_STATUS_ARCHIVED` will not be included in + /// the results. + /// + public class ListRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, long advertiserId) : base(service) + { + AdvertiserId = advertiserId; + InitParameters(); + } + + /// Required. The ID of the advertiser to list insertion orders for. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// + /// Allows filtering by insertion order fields. Supported syntax: * Filter expressions are made up of + /// one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A + /// sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} + /// {value}`. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (&gt;=)` or `LESS THAN + /// OR EQUAL TO (&lt;=)` operators. * All other fields must use the `EQUALS (=)` operator. Supported + /// fields: * `campaignId` * `displayName` * `entityStatus` * `updateTime` (input in ISO 8601 format, or + /// `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All insertion orders under a campaign: `campaignId="1234"` * All + /// `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` insertion orders under an advertiser: + /// `(entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED")` * All insertion + /// orders with an update time less than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): + /// `updateTime&lt;="2020-11-04T18:54:47Z"` * All insertion orders with an update time greater than + /// or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime&gt;="2020-11-04T18:54:47Z"` + /// The length of this field should be no more than 500 characters. Reference our [filter `LIST` + /// requests](/display-video/api/guides/how-tos/filters) guide for more information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Field by which to sort the list. Acceptable values are: * "displayName" (default) * "entityStatus" * + /// "updateTime" The default sorting order is ascending. To specify descending order for a field, a + /// suffix "desc" should be added to the field name. Example: `displayName desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns + /// error code `INVALID_ARGUMENT` if an invalid value is specified. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token identifying a page of results the server should return. Typically, this is the value of + /// next_page_token returned from the previous call to `ListInsertionOrders` method. If not specified, + /// the first page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/insertionOrders"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Lists assigned targeting options of an insertion order across targeting types. + /// Required. The ID of the advertiser the insertion order belongs to. + /// + /// Required. The ID of the insertion order to list assigned targeting options for. + /// + public virtual ListAssignedTargetingOptionsRequest ListAssignedTargetingOptions(long advertiserId, long insertionOrderId) + { + return new ListAssignedTargetingOptionsRequest(service, advertiserId, insertionOrderId); + } + + /// Lists assigned targeting options of an insertion order across targeting types. + public class ListAssignedTargetingOptionsRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new ListAssignedTargetingOptions request. + public ListAssignedTargetingOptionsRequest(Google.Apis.Services.IClientService service, long advertiserId, long insertionOrderId) : base(service) + { + AdvertiserId = advertiserId; + InsertionOrderId = insertionOrderId; + InitParameters(); + } + + /// Required. The ID of the advertiser the insertion order belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Required. The ID of the insertion order to list assigned targeting options for. + [Google.Apis.Util.RequestParameterAttribute("insertionOrderId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long InsertionOrderId { get; private set; } + + /// + /// Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are + /// made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * + /// A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` + /// operator. Supported fields: * `targetingType` * `inheritance` Examples: * `AssignedTargetingOption` + /// resources of targeting type `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` or `TARGETING_TYPE_CHANNEL`: + /// `targetingType="TARGETING_TYPE_PROXIMITY_LOCATION_LIST" OR targetingType="TARGETING_TYPE_CHANNEL"` * + /// `AssignedTargetingOption` resources with inheritance status of `NOT_INHERITED` or + /// `INHERITED_FROM_PARTNER`: `inheritance="NOT_INHERITED" OR inheritance="INHERITED_FROM_PARTNER"` The + /// length of this field should be no more than 500 characters. Reference our [filter `LIST` + /// requests](/display-video/api/guides/how-tos/filters) guide for more information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Field by which to sort the list. Acceptable values are: * `targetingType` (default) The default + /// sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added + /// to the field name. Example: `targetingType desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. The size must be an integer between `1` and `5000`. If unspecified, the default + /// is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token that lets the client fetch the next page of results. Typically, this is the value of + /// next_page_token returned from the previous call to `BulkListInsertionOrderAssignedTargetingOptions` + /// method. If not specified, the first page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "listAssignedTargetingOptions"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}:listAssignedTargetingOptions"; + + /// Initializes ListAssignedTargetingOptions parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("insertionOrderId", new Google.Apis.Discovery.Parameter + { + Name = "insertionOrderId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// + /// Updates an existing insertion order. Returns the updated insertion order if successful. + /// + /// The body of the request. + /// + /// Output only. The unique ID of the advertiser the insertion order belongs to. + /// + /// + /// Output only. The unique ID of the insertion order. Assigned by the system. + /// + public virtual PatchRequest Patch(Google.Apis.DisplayVideo.v3.Data.InsertionOrder body, long advertiserId, long insertionOrderId) + { + return new PatchRequest(service, body, advertiserId, insertionOrderId); + } + + /// + /// Updates an existing insertion order. Returns the updated insertion order if successful. + /// + public class PatchRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.InsertionOrder body, long advertiserId, long insertionOrderId) : base(service) + { + AdvertiserId = advertiserId; + InsertionOrderId = insertionOrderId; + Body = body; + InitParameters(); + } + + /// Output only. The unique ID of the advertiser the insertion order belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Output only. The unique ID of the insertion order. Assigned by the system. + [Google.Apis.Util.RequestParameterAttribute("insertionOrderId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long InsertionOrderId { get; private set; } + + /// Required. The mask to control which fields to update. + [Google.Apis.Util.RequestParameterAttribute("updateMask", Google.Apis.Util.RequestParameterType.Query)] + public virtual object UpdateMask { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.InsertionOrder Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "patch"; + + /// Gets the HTTP method. + public override string HttpMethod => "PATCH"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/insertionOrders/{+insertionOrderId}"; + + /// Initializes Patch parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("insertionOrderId", new Google.Apis.Discovery.Parameter + { + Name = "insertionOrderId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// Gets the Invoices resource. + public virtual InvoicesResource Invoices { get; } + + /// The "invoices" collection of methods. + public class InvoicesResource + { + private const string Resource = "invoices"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public InvoicesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// + /// Lists invoices posted for an advertiser in a given month. Invoices generated by billing profiles with a + /// "Partner" invoice level are not retrievable through this method. + /// + /// Required. The ID of the advertiser to list invoices for. + public virtual ListRequest List(long advertiserId) + { + return new ListRequest(service, advertiserId); + } + + /// + /// Lists invoices posted for an advertiser in a given month. Invoices generated by billing profiles with a + /// "Partner" invoice level are not retrievable through this method. + /// + public class ListRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, long advertiserId) : base(service) + { + AdvertiserId = advertiserId; + InitParameters(); + } + + /// Required. The ID of the advertiser to list invoices for. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// + /// The month to list the invoices for. If not set, the request will retrieve invoices for the previous + /// month. Must be in the format YYYYMM. + /// + [Google.Apis.Util.RequestParameterAttribute("issueMonth", Google.Apis.Util.RequestParameterType.Query)] + public virtual string IssueMonth { get; set; } + + /// + /// Select type of invoice to retrieve for Loi Sapin advertisers. Only applicable to Loi Sapin + /// advertisers. Will be ignored otherwise. + /// + [Google.Apis.Util.RequestParameterAttribute("loiSapinInvoiceType", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable LoiSapinInvoiceType { get; set; } + + /// + /// Select type of invoice to retrieve for Loi Sapin advertisers. Only applicable to Loi Sapin + /// advertisers. Will be ignored otherwise. + /// + public enum LoiSapinInvoiceTypeEnum + { + /// Value is not specified. + [Google.Apis.Util.StringValueAttribute("LOI_SAPIN_INVOICE_TYPE_UNSPECIFIED")] + LOISAPININVOICETYPEUNSPECIFIED = 0, + + /// Invoices with Media cost. + [Google.Apis.Util.StringValueAttribute("LOI_SAPIN_INVOICE_TYPE_MEDIA")] + LOISAPININVOICETYPEMEDIA = 1, + + /// Invoices with Platform fee. + [Google.Apis.Util.StringValueAttribute("LOI_SAPIN_INVOICE_TYPE_PLATFORM")] + LOISAPININVOICETYPEPLATFORM = 2, + } + + /// + /// Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns + /// error code `INVALID_ARGUMENT` if an invalid value is specified. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token identifying a page of results the server should return. Typically, this is the value of + /// next_page_token returned from the previous call to `ListInvoices` method. If not specified, the + /// first page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/invoices"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("issueMonth", new Google.Apis.Discovery.Parameter + { + Name = "issueMonth", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("loiSapinInvoiceType", new Google.Apis.Discovery.Parameter + { + Name = "loiSapinInvoiceType", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Retrieves the invoice currency used by an advertiser in a given month. + /// Required. The ID of the advertiser to lookup currency for. + public virtual LookupInvoiceCurrencyRequest LookupInvoiceCurrency(long advertiserId) + { + return new LookupInvoiceCurrencyRequest(service, advertiserId); + } + + /// Retrieves the invoice currency used by an advertiser in a given month. + public class LookupInvoiceCurrencyRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new LookupInvoiceCurrency request. + public LookupInvoiceCurrencyRequest(Google.Apis.Services.IClientService service, long advertiserId) : base(service) + { + AdvertiserId = advertiserId; + InitParameters(); + } + + /// Required. The ID of the advertiser to lookup currency for. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// + /// Month for which the currency is needed. If not set, the request will return existing currency + /// settings for the advertiser. Must be in the format YYYYMM. + /// + [Google.Apis.Util.RequestParameterAttribute("invoiceMonth", Google.Apis.Util.RequestParameterType.Query)] + public virtual string InvoiceMonth { get; set; } + + /// Gets the method name. + public override string MethodName => "lookupInvoiceCurrency"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/invoices:lookupInvoiceCurrency"; + + /// Initializes LookupInvoiceCurrency parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("invoiceMonth", new Google.Apis.Discovery.Parameter + { + Name = "invoiceMonth", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// Gets the LineItems resource. + public virtual LineItemsResource LineItems { get; } + + /// The "lineItems" collection of methods. + public class LineItemsResource + { + private const string Resource = "lineItems"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public LineItemsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + TargetingTypes = new TargetingTypesResource(service); + } + + /// Gets the TargetingTypes resource. + public virtual TargetingTypesResource TargetingTypes { get; } + + /// The "targetingTypes" collection of methods. + public class TargetingTypesResource + { + private const string Resource = "targetingTypes"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public TargetingTypesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + AssignedTargetingOptions = new AssignedTargetingOptionsResource(service); + } + + /// Gets the AssignedTargetingOptions resource. + public virtual AssignedTargetingOptionsResource AssignedTargetingOptions { get; } + + /// The "assignedTargetingOptions" collection of methods. + public class AssignedTargetingOptionsResource + { + private const string Resource = "assignedTargetingOptions"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public AssignedTargetingOptionsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// + /// Assigns a targeting option to a line item. Returns the assigned targeting option if successful. + /// Requests to this endpoint cannot be made concurrently with the following requests updating the + /// same line item: * lineItems.bulkEditAssignedTargetingOptions * lineItems.bulkUpdate * + /// lineItems.patch * DeleteLineItemAssignedTargetingOption + /// + /// The body of the request. + /// Required. The ID of the advertiser the line item belongs to. + /// + /// Required. The ID of the line item the assigned targeting option will belong to. + /// + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types + /// include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * + /// `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * + /// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * + /// `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * + /// `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * + /// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * + /// `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * + /// `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * + /// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * + /// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * + /// `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * + /// `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` + /// * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * + /// `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * + /// `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * + /// `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * + /// `TARGETING_TYPE_VIEWABILITY` + /// + public virtual CreateRequest Create(Google.Apis.DisplayVideo.v3.Data.AssignedTargetingOption body, long advertiserId, long lineItemId, CreateRequest.TargetingTypeEnum targetingType) + { + return new CreateRequest(service, body, advertiserId, lineItemId, targetingType); + } + + /// + /// Assigns a targeting option to a line item. Returns the assigned targeting option if successful. + /// Requests to this endpoint cannot be made concurrently with the following requests updating the + /// same line item: * lineItems.bulkEditAssignedTargetingOptions * lineItems.bulkUpdate * + /// lineItems.patch * DeleteLineItemAssignedTargetingOption + /// + public class CreateRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.AssignedTargetingOption body, long advertiserId, long lineItemId, TargetingTypeEnum targetingType) : base(service) + { + AdvertiserId = advertiserId; + LineItemId = lineItemId; + TargetingType = targetingType; + Body = body; + InitParameters(); + } + + /// Required. The ID of the advertiser the line item belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// + /// Required. The ID of the line item the assigned targeting option will belong to. + /// + [Google.Apis.Util.RequestParameterAttribute("lineItemId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long LineItemId { get; private set; } + + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types + /// include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` + /// * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * + /// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * + /// `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * + /// `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * + /// `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * + /// `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * + /// `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * + /// `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * + /// `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * + /// `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * + /// `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * + /// `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * + /// `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * + /// `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` + /// * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * + /// `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * + /// `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * + /// `TARGETING_TYPE_VIEWABILITY` + /// + [Google.Apis.Util.RequestParameterAttribute("targetingType", Google.Apis.Util.RequestParameterType.Path)] + public virtual TargetingTypeEnum TargetingType { get; private set; } + + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types + /// include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` + /// * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * + /// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * + /// `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * + /// `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * + /// `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * + /// `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * + /// `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * + /// `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * + /// `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * + /// `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * + /// `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * + /// `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * + /// `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * + /// `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` + /// * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * + /// `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * + /// `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * + /// `TARGETING_TYPE_VIEWABILITY` + /// + public enum TargetingTypeEnum + { + /// + /// Default value when type is not specified or is unknown in this version. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_UNSPECIFIED")] + TARGETINGTYPEUNSPECIFIED = 0, + + /// Target a channel (a custom group of related websites or apps). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CHANNEL")] + TARGETINGTYPECHANNEL = 1, + + /// Target an app category (for example, education or puzzle games). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP_CATEGORY")] + TARGETINGTYPEAPPCATEGORY = 2, + + /// Target a specific app (for example, Angry Birds). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP")] + TARGETINGTYPEAPP = 3, + + /// Target a specific url (for example, quora.com). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_URL")] + TARGETINGTYPEURL = 4, + + /// Target ads during a chosen time period on a specific day. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DAY_AND_TIME")] + TARGETINGTYPEDAYANDTIME = 5, + + /// Target ads to a specific age range (for example, 18-24). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AGE_RANGE")] + TARGETINGTYPEAGERANGE = 6, + + /// Target ads to the specified regions on a regional location list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_REGIONAL_LOCATION_LIST")] + TARGETINGTYPEREGIONALLOCATIONLIST = 7, + + /// + /// Target ads to the specified points of interest on a proximity location list. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PROXIMITY_LOCATION_LIST")] + TARGETINGTYPEPROXIMITYLOCATIONLIST = 8, + + /// Target ads to a specific gender (for example, female or male). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GENDER")] + TARGETINGTYPEGENDER = 9, + + /// Target a specific video player size for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIDEO_PLAYER_SIZE")] + TARGETINGTYPEVIDEOPLAYERSIZE = 10, + + /// Target user rewarded content for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_USER_REWARDED_CONTENT")] + TARGETINGTYPEUSERREWARDEDCONTENT = 11, + + /// + /// Target ads to a specific parental status (for example, parent or not a parent). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PARENTAL_STATUS")] + TARGETINGTYPEPARENTALSTATUS = 12, + + /// + /// Target video or audio ads in a specific content instream position (for example, + /// pre-roll, mid-roll, or post-roll). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_INSTREAM_POSITION")] + TARGETINGTYPECONTENTINSTREAMPOSITION = 13, + + /// Target ads in a specific content outstream position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION")] + TARGETINGTYPECONTENTOUTSTREAMPOSITION = 14, + + /// + /// Target ads to a specific device type (for example, tablet or connected TV). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_TYPE")] + TARGETINGTYPEDEVICETYPE = 15, + + /// + /// Target ads to an audience or groups of audiences. Singleton field, at most one can exist + /// on a single Lineitem at a time. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIENCE_GROUP")] + TARGETINGTYPEAUDIENCEGROUP = 16, + + /// Target ads to specific web browsers (for example, Chrome). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BROWSER")] + TARGETINGTYPEBROWSER = 17, + + /// + /// Target ads to a specific household income range (for example, top 10%). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_HOUSEHOLD_INCOME")] + TARGETINGTYPEHOUSEHOLDINCOME = 18, + + /// Target ads in a specific on screen position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ON_SCREEN_POSITION")] + TARGETINGTYPEONSCREENPOSITION = 19, + + /// + /// Filter web sites through third party verification (for example, IAS or DoubleVerify). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_THIRD_PARTY_VERIFIER")] + TARGETINGTYPETHIRDPARTYVERIFIER = 20, + + /// + /// Filter web sites by specific digital content label ratings (for example, DL-MA: suitable + /// only for mature audiences). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION")] + TARGETINGTYPEDIGITALCONTENTLABELEXCLUSION = 21, + + /// Filter website content by sensitive categories (for example, adult). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION")] + TARGETINGTYPESENSITIVECATEGORYEXCLUSION = 22, + + /// Target ads to a specific environment (for example, web or app). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ENVIRONMENT")] + TARGETINGTYPEENVIRONMENT = 23, + + /// + /// Target ads to a specific network carrier or internet service provider (ISP) (for + /// example, Comcast or Orange). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CARRIER_AND_ISP")] + TARGETINGTYPECARRIERANDISP = 24, + + /// Target ads to a specific operating system (for example, macOS). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OPERATING_SYSTEM")] + TARGETINGTYPEOPERATINGSYSTEM = 25, + + /// + /// Target ads to a specific device make or model (for example, Roku or Samsung). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_MAKE_MODEL")] + TARGETINGTYPEDEVICEMAKEMODEL = 26, + + /// Target ads to a specific keyword (for example, dog or retriever). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_KEYWORD")] + TARGETINGTYPEKEYWORD = 27, + + /// Target ads to a specific negative keyword list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NEGATIVE_KEYWORD_LIST")] + TARGETINGTYPENEGATIVEKEYWORDLIST = 28, + + /// Target ads to a specific viewability (for example, 80% viewable). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIEWABILITY")] + TARGETINGTYPEVIEWABILITY = 29, + + /// + /// Target ads to a specific content category (for example, arts &amp; entertainment). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CATEGORY")] + TARGETINGTYPECATEGORY = 30, + + /// Purchase impressions from specific deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE")] + TARGETINGTYPEINVENTORYSOURCE = 31, + + /// Target ads to a specific language (for example, English or Japanese). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_LANGUAGE")] + TARGETINGTYPELANGUAGE = 32, + + /// + /// Target ads to ads.txt authorized sellers. If no targeting option of this type is + /// assigned, the resource uses the "Authorized Direct Sellers and Resellers" option by + /// default. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUTHORIZED_SELLER_STATUS")] + TARGETINGTYPEAUTHORIZEDSELLERSTATUS = 33, + + /// + /// Target ads to a specific regional location (for example, a city or state). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GEO_REGION")] + TARGETINGTYPEGEOREGION = 34, + + /// Purchase impressions from a group of deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE_GROUP")] + TARGETINGTYPEINVENTORYSOURCEGROUP = 35, + + /// Purchase impressions from specific exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_EXCHANGE")] + TARGETINGTYPEEXCHANGE = 36, + + /// Purchase impressions from specific sub-exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SUB_EXCHANGE")] + TARGETINGTYPESUBEXCHANGE = 37, + + /// + /// Target ads around a specific point of interest, such as a notable building, a street + /// address, or latitude/longitude coordinates. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_POI")] + TARGETINGTYPEPOI = 38, + + /// + /// Target ads around locations of a business chain within a specific geo region. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BUSINESS_CHAIN")] + TARGETINGTYPEBUSINESSCHAIN = 39, + + /// Target ads to a specific video content duration. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_DURATION")] + TARGETINGTYPECONTENTDURATION = 40, + + /// Target ads to a specific video content stream type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_STREAM_TYPE")] + TARGETINGTYPECONTENTSTREAMTYPE = 41, + + /// Target ads to a specific native content position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NATIVE_CONTENT_POSITION")] + TARGETINGTYPENATIVECONTENTPOSITION = 42, + + /// Target ads in an Open Measurement enabled inventory. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OMID")] + TARGETINGTYPEOMID = 43, + + /// Target ads to a specific audio content type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIO_CONTENT_TYPE")] + TARGETINGTYPEAUDIOCONTENTTYPE = 44, + + /// Target ads to a specific content genre. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_GENRE")] + TARGETINGTYPECONTENTGENRE = 45, + + /// + /// Target ads to a specific YouTube video. Targeting of this type cannot be created or + /// updated using the API. Although this targeting is inherited by child resources, + /// **inherited targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_VIDEO")] + TARGETINGTYPEYOUTUBEVIDEO = 46, + + /// + /// Target ads to a specific YouTube channel. Targeting of this type cannot be created or + /// updated using the API. Although this targeting is inherited by child resources, + /// **inherited targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_CHANNEL")] + TARGETINGTYPEYOUTUBECHANNEL = 47, + + /// + /// Target ads to a serve it in a certain position of a session. Only supported for Ad Group + /// resources under YouTube Programmatic Reservation line items. Targeting of this type + /// cannot be created or updated using the API. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SESSION_POSITION")] + TARGETINGTYPESESSIONPOSITION = 48, + } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.AssignedTargetingOption Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "create"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("lineItemId", new Google.Apis.Discovery.Parameter + { + Name = "lineItemId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("targetingType", new Google.Apis.Discovery.Parameter + { + Name = "targetingType", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// + /// Deletes an assigned targeting option from a line item. Requests to this endpoint cannot be made + /// concurrently with the following requests updating the same line item: * + /// lineItems.bulkEditAssignedTargetingOptions * lineItems.bulkUpdate * lineItems.patch * + /// CreateLineItemAssignedTargetingOption + /// + /// Required. The ID of the advertiser the line item belongs to. + /// + /// Required. The ID of the line item the assigned targeting option belongs to. + /// + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types + /// include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * + /// `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * + /// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * + /// `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * + /// `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * + /// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * + /// `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * + /// `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * + /// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * + /// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * + /// `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * + /// `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` + /// * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * + /// `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * + /// `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * + /// `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * + /// `TARGETING_TYPE_VIEWABILITY` + /// + /// + /// Required. The ID of the assigned targeting option to delete. + /// + public virtual DeleteRequest Delete(long advertiserId, long lineItemId, DeleteRequest.TargetingTypeEnum targetingType, string assignedTargetingOptionId) + { + return new DeleteRequest(service, advertiserId, lineItemId, targetingType, assignedTargetingOptionId); + } + + /// + /// Deletes an assigned targeting option from a line item. Requests to this endpoint cannot be made + /// concurrently with the following requests updating the same line item: * + /// lineItems.bulkEditAssignedTargetingOptions * lineItems.bulkUpdate * lineItems.patch * + /// CreateLineItemAssignedTargetingOption + /// + public class DeleteRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, long advertiserId, long lineItemId, TargetingTypeEnum targetingType, string assignedTargetingOptionId) : base(service) + { + AdvertiserId = advertiserId; + LineItemId = lineItemId; + TargetingType = targetingType; + AssignedTargetingOptionId = assignedTargetingOptionId; + InitParameters(); + } + + /// Required. The ID of the advertiser the line item belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// + /// Required. The ID of the line item the assigned targeting option belongs to. + /// + [Google.Apis.Util.RequestParameterAttribute("lineItemId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long LineItemId { get; private set; } + + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types + /// include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` + /// * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * + /// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * + /// `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * + /// `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * + /// `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * + /// `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * + /// `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * + /// `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * + /// `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * + /// `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * + /// `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * + /// `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * + /// `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * + /// `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` + /// * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * + /// `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * + /// `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * + /// `TARGETING_TYPE_VIEWABILITY` + /// + [Google.Apis.Util.RequestParameterAttribute("targetingType", Google.Apis.Util.RequestParameterType.Path)] + public virtual TargetingTypeEnum TargetingType { get; private set; } + + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types + /// include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` + /// * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * + /// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * + /// `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * + /// `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * + /// `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * + /// `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * + /// `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * + /// `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * + /// `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * + /// `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * + /// `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * + /// `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * + /// `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * + /// `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` + /// * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * + /// `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * + /// `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * + /// `TARGETING_TYPE_VIEWABILITY` + /// + public enum TargetingTypeEnum + { + /// + /// Default value when type is not specified or is unknown in this version. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_UNSPECIFIED")] + TARGETINGTYPEUNSPECIFIED = 0, + + /// Target a channel (a custom group of related websites or apps). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CHANNEL")] + TARGETINGTYPECHANNEL = 1, + + /// Target an app category (for example, education or puzzle games). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP_CATEGORY")] + TARGETINGTYPEAPPCATEGORY = 2, + + /// Target a specific app (for example, Angry Birds). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP")] + TARGETINGTYPEAPP = 3, + + /// Target a specific url (for example, quora.com). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_URL")] + TARGETINGTYPEURL = 4, + + /// Target ads during a chosen time period on a specific day. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DAY_AND_TIME")] + TARGETINGTYPEDAYANDTIME = 5, + + /// Target ads to a specific age range (for example, 18-24). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AGE_RANGE")] + TARGETINGTYPEAGERANGE = 6, + + /// Target ads to the specified regions on a regional location list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_REGIONAL_LOCATION_LIST")] + TARGETINGTYPEREGIONALLOCATIONLIST = 7, + + /// + /// Target ads to the specified points of interest on a proximity location list. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PROXIMITY_LOCATION_LIST")] + TARGETINGTYPEPROXIMITYLOCATIONLIST = 8, + + /// Target ads to a specific gender (for example, female or male). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GENDER")] + TARGETINGTYPEGENDER = 9, + + /// Target a specific video player size for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIDEO_PLAYER_SIZE")] + TARGETINGTYPEVIDEOPLAYERSIZE = 10, + + /// Target user rewarded content for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_USER_REWARDED_CONTENT")] + TARGETINGTYPEUSERREWARDEDCONTENT = 11, + + /// + /// Target ads to a specific parental status (for example, parent or not a parent). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PARENTAL_STATUS")] + TARGETINGTYPEPARENTALSTATUS = 12, + + /// + /// Target video or audio ads in a specific content instream position (for example, + /// pre-roll, mid-roll, or post-roll). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_INSTREAM_POSITION")] + TARGETINGTYPECONTENTINSTREAMPOSITION = 13, + + /// Target ads in a specific content outstream position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION")] + TARGETINGTYPECONTENTOUTSTREAMPOSITION = 14, + + /// + /// Target ads to a specific device type (for example, tablet or connected TV). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_TYPE")] + TARGETINGTYPEDEVICETYPE = 15, + + /// + /// Target ads to an audience or groups of audiences. Singleton field, at most one can exist + /// on a single Lineitem at a time. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIENCE_GROUP")] + TARGETINGTYPEAUDIENCEGROUP = 16, + + /// Target ads to specific web browsers (for example, Chrome). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BROWSER")] + TARGETINGTYPEBROWSER = 17, + + /// + /// Target ads to a specific household income range (for example, top 10%). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_HOUSEHOLD_INCOME")] + TARGETINGTYPEHOUSEHOLDINCOME = 18, + + /// Target ads in a specific on screen position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ON_SCREEN_POSITION")] + TARGETINGTYPEONSCREENPOSITION = 19, + + /// + /// Filter web sites through third party verification (for example, IAS or DoubleVerify). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_THIRD_PARTY_VERIFIER")] + TARGETINGTYPETHIRDPARTYVERIFIER = 20, + + /// + /// Filter web sites by specific digital content label ratings (for example, DL-MA: suitable + /// only for mature audiences). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION")] + TARGETINGTYPEDIGITALCONTENTLABELEXCLUSION = 21, + + /// Filter website content by sensitive categories (for example, adult). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION")] + TARGETINGTYPESENSITIVECATEGORYEXCLUSION = 22, + + /// Target ads to a specific environment (for example, web or app). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ENVIRONMENT")] + TARGETINGTYPEENVIRONMENT = 23, + + /// + /// Target ads to a specific network carrier or internet service provider (ISP) (for + /// example, Comcast or Orange). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CARRIER_AND_ISP")] + TARGETINGTYPECARRIERANDISP = 24, + + /// Target ads to a specific operating system (for example, macOS). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OPERATING_SYSTEM")] + TARGETINGTYPEOPERATINGSYSTEM = 25, + + /// + /// Target ads to a specific device make or model (for example, Roku or Samsung). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_MAKE_MODEL")] + TARGETINGTYPEDEVICEMAKEMODEL = 26, + + /// Target ads to a specific keyword (for example, dog or retriever). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_KEYWORD")] + TARGETINGTYPEKEYWORD = 27, + + /// Target ads to a specific negative keyword list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NEGATIVE_KEYWORD_LIST")] + TARGETINGTYPENEGATIVEKEYWORDLIST = 28, + + /// Target ads to a specific viewability (for example, 80% viewable). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIEWABILITY")] + TARGETINGTYPEVIEWABILITY = 29, + + /// + /// Target ads to a specific content category (for example, arts &amp; entertainment). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CATEGORY")] + TARGETINGTYPECATEGORY = 30, + + /// Purchase impressions from specific deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE")] + TARGETINGTYPEINVENTORYSOURCE = 31, + + /// Target ads to a specific language (for example, English or Japanese). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_LANGUAGE")] + TARGETINGTYPELANGUAGE = 32, + + /// + /// Target ads to ads.txt authorized sellers. If no targeting option of this type is + /// assigned, the resource uses the "Authorized Direct Sellers and Resellers" option by + /// default. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUTHORIZED_SELLER_STATUS")] + TARGETINGTYPEAUTHORIZEDSELLERSTATUS = 33, + + /// + /// Target ads to a specific regional location (for example, a city or state). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GEO_REGION")] + TARGETINGTYPEGEOREGION = 34, + + /// Purchase impressions from a group of deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE_GROUP")] + TARGETINGTYPEINVENTORYSOURCEGROUP = 35, + + /// Purchase impressions from specific exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_EXCHANGE")] + TARGETINGTYPEEXCHANGE = 36, + + /// Purchase impressions from specific sub-exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SUB_EXCHANGE")] + TARGETINGTYPESUBEXCHANGE = 37, + + /// + /// Target ads around a specific point of interest, such as a notable building, a street + /// address, or latitude/longitude coordinates. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_POI")] + TARGETINGTYPEPOI = 38, + + /// + /// Target ads around locations of a business chain within a specific geo region. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BUSINESS_CHAIN")] + TARGETINGTYPEBUSINESSCHAIN = 39, + + /// Target ads to a specific video content duration. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_DURATION")] + TARGETINGTYPECONTENTDURATION = 40, + + /// Target ads to a specific video content stream type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_STREAM_TYPE")] + TARGETINGTYPECONTENTSTREAMTYPE = 41, + + /// Target ads to a specific native content position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NATIVE_CONTENT_POSITION")] + TARGETINGTYPENATIVECONTENTPOSITION = 42, + + /// Target ads in an Open Measurement enabled inventory. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OMID")] + TARGETINGTYPEOMID = 43, + + /// Target ads to a specific audio content type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIO_CONTENT_TYPE")] + TARGETINGTYPEAUDIOCONTENTTYPE = 44, + + /// Target ads to a specific content genre. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_GENRE")] + TARGETINGTYPECONTENTGENRE = 45, + + /// + /// Target ads to a specific YouTube video. Targeting of this type cannot be created or + /// updated using the API. Although this targeting is inherited by child resources, + /// **inherited targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_VIDEO")] + TARGETINGTYPEYOUTUBEVIDEO = 46, + + /// + /// Target ads to a specific YouTube channel. Targeting of this type cannot be created or + /// updated using the API. Although this targeting is inherited by child resources, + /// **inherited targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_CHANNEL")] + TARGETINGTYPEYOUTUBECHANNEL = 47, + + /// + /// Target ads to a serve it in a certain position of a session. Only supported for Ad Group + /// resources under YouTube Programmatic Reservation line items. Targeting of this type + /// cannot be created or updated using the API. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SESSION_POSITION")] + TARGETINGTYPESESSIONPOSITION = 48, + } + + /// Required. The ID of the assigned targeting option to delete. + [Google.Apis.Util.RequestParameterAttribute("assignedTargetingOptionId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string AssignedTargetingOptionId { get; private set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("lineItemId", new Google.Apis.Discovery.Parameter + { + Name = "lineItemId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("targetingType", new Google.Apis.Discovery.Parameter + { + Name = "targetingType", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("assignedTargetingOptionId", new Google.Apis.Discovery.Parameter + { + Name = "assignedTargetingOptionId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// Gets a single targeting option assigned to a line item. + /// Required. The ID of the advertiser the line item belongs to. + /// + /// Required. The ID of the line item the assigned targeting option belongs to. + /// + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types + /// include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * + /// `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * + /// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * + /// `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * + /// `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * + /// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * + /// `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * + /// `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * + /// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * + /// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * + /// `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * + /// `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` + /// * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * + /// `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * + /// `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * + /// `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * + /// `TARGETING_TYPE_VIEWABILITY` * `TARGETING_TYPE_YOUTUBE_CHANNEL` (only for + /// `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items) * + /// `TARGETING_TYPE_YOUTUBE_VIDEO` (only for `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` + /// line items) + /// + /// + /// Required. An identifier unique to the targeting type in this line item that identifies the + /// assigned targeting option being requested. + /// + public virtual GetRequest Get(long advertiserId, long lineItemId, GetRequest.TargetingTypeEnum targetingType, string assignedTargetingOptionId) + { + return new GetRequest(service, advertiserId, lineItemId, targetingType, assignedTargetingOptionId); + } + + /// Gets a single targeting option assigned to a line item. + public class GetRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, long advertiserId, long lineItemId, TargetingTypeEnum targetingType, string assignedTargetingOptionId) : base(service) + { + AdvertiserId = advertiserId; + LineItemId = lineItemId; + TargetingType = targetingType; + AssignedTargetingOptionId = assignedTargetingOptionId; + InitParameters(); + } + + /// Required. The ID of the advertiser the line item belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// + /// Required. The ID of the line item the assigned targeting option belongs to. + /// + [Google.Apis.Util.RequestParameterAttribute("lineItemId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long LineItemId { get; private set; } + + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types + /// include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` + /// * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * + /// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * + /// `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * + /// `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * + /// `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * + /// `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * + /// `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * + /// `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * + /// `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * + /// `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * + /// `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * + /// `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * + /// `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * + /// `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` + /// * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * + /// `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * + /// `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * + /// `TARGETING_TYPE_VIEWABILITY` * `TARGETING_TYPE_YOUTUBE_CHANNEL` (only for + /// `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items) * + /// `TARGETING_TYPE_YOUTUBE_VIDEO` (only for + /// `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items) + /// + [Google.Apis.Util.RequestParameterAttribute("targetingType", Google.Apis.Util.RequestParameterType.Path)] + public virtual TargetingTypeEnum TargetingType { get; private set; } + + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types + /// include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` + /// * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * + /// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * + /// `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * + /// `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * + /// `TARGETING_TYPE_CONTENT_GENRE` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_STREAM_TYPE` * + /// `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * + /// `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * + /// `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * + /// `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * + /// `TARGETING_TYPE_INVENTORY_SOURCE` * `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * + /// `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * + /// `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * + /// `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * + /// `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` + /// * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * + /// `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * + /// `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * + /// `TARGETING_TYPE_VIEWABILITY` * `TARGETING_TYPE_YOUTUBE_CHANNEL` (only for + /// `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items) * + /// `TARGETING_TYPE_YOUTUBE_VIDEO` (only for + /// `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items) + /// + public enum TargetingTypeEnum + { + /// + /// Default value when type is not specified or is unknown in this version. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_UNSPECIFIED")] + TARGETINGTYPEUNSPECIFIED = 0, + + /// Target a channel (a custom group of related websites or apps). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CHANNEL")] + TARGETINGTYPECHANNEL = 1, + + /// Target an app category (for example, education or puzzle games). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP_CATEGORY")] + TARGETINGTYPEAPPCATEGORY = 2, + + /// Target a specific app (for example, Angry Birds). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP")] + TARGETINGTYPEAPP = 3, + + /// Target a specific url (for example, quora.com). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_URL")] + TARGETINGTYPEURL = 4, + + /// Target ads during a chosen time period on a specific day. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DAY_AND_TIME")] + TARGETINGTYPEDAYANDTIME = 5, + + /// Target ads to a specific age range (for example, 18-24). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AGE_RANGE")] + TARGETINGTYPEAGERANGE = 6, + + /// Target ads to the specified regions on a regional location list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_REGIONAL_LOCATION_LIST")] + TARGETINGTYPEREGIONALLOCATIONLIST = 7, + + /// + /// Target ads to the specified points of interest on a proximity location list. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PROXIMITY_LOCATION_LIST")] + TARGETINGTYPEPROXIMITYLOCATIONLIST = 8, + + /// Target ads to a specific gender (for example, female or male). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GENDER")] + TARGETINGTYPEGENDER = 9, + + /// Target a specific video player size for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIDEO_PLAYER_SIZE")] + TARGETINGTYPEVIDEOPLAYERSIZE = 10, + + /// Target user rewarded content for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_USER_REWARDED_CONTENT")] + TARGETINGTYPEUSERREWARDEDCONTENT = 11, + + /// + /// Target ads to a specific parental status (for example, parent or not a parent). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PARENTAL_STATUS")] + TARGETINGTYPEPARENTALSTATUS = 12, + + /// + /// Target video or audio ads in a specific content instream position (for example, + /// pre-roll, mid-roll, or post-roll). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_INSTREAM_POSITION")] + TARGETINGTYPECONTENTINSTREAMPOSITION = 13, + + /// Target ads in a specific content outstream position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION")] + TARGETINGTYPECONTENTOUTSTREAMPOSITION = 14, + + /// + /// Target ads to a specific device type (for example, tablet or connected TV). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_TYPE")] + TARGETINGTYPEDEVICETYPE = 15, + + /// + /// Target ads to an audience or groups of audiences. Singleton field, at most one can exist + /// on a single Lineitem at a time. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIENCE_GROUP")] + TARGETINGTYPEAUDIENCEGROUP = 16, + + /// Target ads to specific web browsers (for example, Chrome). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BROWSER")] + TARGETINGTYPEBROWSER = 17, + + /// + /// Target ads to a specific household income range (for example, top 10%). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_HOUSEHOLD_INCOME")] + TARGETINGTYPEHOUSEHOLDINCOME = 18, + + /// Target ads in a specific on screen position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ON_SCREEN_POSITION")] + TARGETINGTYPEONSCREENPOSITION = 19, + + /// + /// Filter web sites through third party verification (for example, IAS or DoubleVerify). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_THIRD_PARTY_VERIFIER")] + TARGETINGTYPETHIRDPARTYVERIFIER = 20, + + /// + /// Filter web sites by specific digital content label ratings (for example, DL-MA: suitable + /// only for mature audiences). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION")] + TARGETINGTYPEDIGITALCONTENTLABELEXCLUSION = 21, + + /// Filter website content by sensitive categories (for example, adult). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION")] + TARGETINGTYPESENSITIVECATEGORYEXCLUSION = 22, + + /// Target ads to a specific environment (for example, web or app). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ENVIRONMENT")] + TARGETINGTYPEENVIRONMENT = 23, + + /// + /// Target ads to a specific network carrier or internet service provider (ISP) (for + /// example, Comcast or Orange). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CARRIER_AND_ISP")] + TARGETINGTYPECARRIERANDISP = 24, + + /// Target ads to a specific operating system (for example, macOS). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OPERATING_SYSTEM")] + TARGETINGTYPEOPERATINGSYSTEM = 25, + + /// + /// Target ads to a specific device make or model (for example, Roku or Samsung). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_MAKE_MODEL")] + TARGETINGTYPEDEVICEMAKEMODEL = 26, + + /// Target ads to a specific keyword (for example, dog or retriever). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_KEYWORD")] + TARGETINGTYPEKEYWORD = 27, + + /// Target ads to a specific negative keyword list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NEGATIVE_KEYWORD_LIST")] + TARGETINGTYPENEGATIVEKEYWORDLIST = 28, + + /// Target ads to a specific viewability (for example, 80% viewable). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIEWABILITY")] + TARGETINGTYPEVIEWABILITY = 29, + + /// + /// Target ads to a specific content category (for example, arts &amp; entertainment). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CATEGORY")] + TARGETINGTYPECATEGORY = 30, + + /// Purchase impressions from specific deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE")] + TARGETINGTYPEINVENTORYSOURCE = 31, + + /// Target ads to a specific language (for example, English or Japanese). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_LANGUAGE")] + TARGETINGTYPELANGUAGE = 32, + + /// + /// Target ads to ads.txt authorized sellers. If no targeting option of this type is + /// assigned, the resource uses the "Authorized Direct Sellers and Resellers" option by + /// default. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUTHORIZED_SELLER_STATUS")] + TARGETINGTYPEAUTHORIZEDSELLERSTATUS = 33, + + /// + /// Target ads to a specific regional location (for example, a city or state). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GEO_REGION")] + TARGETINGTYPEGEOREGION = 34, + + /// Purchase impressions from a group of deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE_GROUP")] + TARGETINGTYPEINVENTORYSOURCEGROUP = 35, + + /// Purchase impressions from specific exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_EXCHANGE")] + TARGETINGTYPEEXCHANGE = 36, + + /// Purchase impressions from specific sub-exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SUB_EXCHANGE")] + TARGETINGTYPESUBEXCHANGE = 37, + + /// + /// Target ads around a specific point of interest, such as a notable building, a street + /// address, or latitude/longitude coordinates. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_POI")] + TARGETINGTYPEPOI = 38, + + /// + /// Target ads around locations of a business chain within a specific geo region. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BUSINESS_CHAIN")] + TARGETINGTYPEBUSINESSCHAIN = 39, + + /// Target ads to a specific video content duration. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_DURATION")] + TARGETINGTYPECONTENTDURATION = 40, + + /// Target ads to a specific video content stream type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_STREAM_TYPE")] + TARGETINGTYPECONTENTSTREAMTYPE = 41, + + /// Target ads to a specific native content position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NATIVE_CONTENT_POSITION")] + TARGETINGTYPENATIVECONTENTPOSITION = 42, + + /// Target ads in an Open Measurement enabled inventory. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OMID")] + TARGETINGTYPEOMID = 43, + + /// Target ads to a specific audio content type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIO_CONTENT_TYPE")] + TARGETINGTYPEAUDIOCONTENTTYPE = 44, + + /// Target ads to a specific content genre. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_GENRE")] + TARGETINGTYPECONTENTGENRE = 45, + + /// + /// Target ads to a specific YouTube video. Targeting of this type cannot be created or + /// updated using the API. Although this targeting is inherited by child resources, + /// **inherited targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_VIDEO")] + TARGETINGTYPEYOUTUBEVIDEO = 46, + + /// + /// Target ads to a specific YouTube channel. Targeting of this type cannot be created or + /// updated using the API. Although this targeting is inherited by child resources, + /// **inherited targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_CHANNEL")] + TARGETINGTYPEYOUTUBECHANNEL = 47, + + /// + /// Target ads to a serve it in a certain position of a session. Only supported for Ad Group + /// resources under YouTube Programmatic Reservation line items. Targeting of this type + /// cannot be created or updated using the API. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SESSION_POSITION")] + TARGETINGTYPESESSIONPOSITION = 48, + } + + /// + /// Required. An identifier unique to the targeting type in this line item that identifies the + /// assigned targeting option being requested. + /// + [Google.Apis.Util.RequestParameterAttribute("assignedTargetingOptionId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string AssignedTargetingOptionId { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("lineItemId", new Google.Apis.Discovery.Parameter + { + Name = "lineItemId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("targetingType", new Google.Apis.Discovery.Parameter + { + Name = "targetingType", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("assignedTargetingOptionId", new Google.Apis.Discovery.Parameter + { + Name = "assignedTargetingOptionId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// Lists the targeting options assigned to a line item. + /// Required. The ID of the advertiser the line item belongs to. + /// + /// Required. The ID of the line item to list assigned targeting options for. + /// + /// + /// Required. Identifies the type of assigned targeting options to list. Supported targeting types + /// include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * + /// `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * + /// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * + /// `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * + /// `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * + /// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * + /// `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * + /// `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * + /// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * + /// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * + /// `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * + /// `TARGETING_TYPE_OMID` * `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` + /// * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * + /// `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * + /// `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * + /// `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * + /// `TARGETING_TYPE_VIEWABILITY` * `TARGETING_TYPE_YOUTUBE_CHANNEL` (only for + /// `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items) * + /// `TARGETING_TYPE_YOUTUBE_VIDEO` (only for `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` + /// line items) + /// + public virtual ListRequest List(long advertiserId, long lineItemId, ListRequest.TargetingTypeEnum targetingType) + { + return new ListRequest(service, advertiserId, lineItemId, targetingType); + } + + /// Lists the targeting options assigned to a line item. + public class ListRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, long advertiserId, long lineItemId, TargetingTypeEnum targetingType) : base(service) + { + AdvertiserId = advertiserId; + LineItemId = lineItemId; + TargetingType = targetingType; + InitParameters(); + } + + /// Required. The ID of the advertiser the line item belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Required. The ID of the line item to list assigned targeting options for. + [Google.Apis.Util.RequestParameterAttribute("lineItemId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long LineItemId { get; private set; } + + /// + /// Required. Identifies the type of assigned targeting options to list. Supported targeting + /// types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * + /// `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * + /// `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * + /// `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * + /// `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * + /// `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * + /// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * + /// `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * + /// `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * + /// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * + /// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * + /// `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * + /// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * + /// `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * + /// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * + /// `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * + /// `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * + /// `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * + /// `TARGETING_TYPE_VIEWABILITY` * `TARGETING_TYPE_YOUTUBE_CHANNEL` (only for + /// `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items) * + /// `TARGETING_TYPE_YOUTUBE_VIDEO` (only for + /// `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items) + /// + [Google.Apis.Util.RequestParameterAttribute("targetingType", Google.Apis.Util.RequestParameterType.Path)] + public virtual TargetingTypeEnum TargetingType { get; private set; } + + /// + /// Required. Identifies the type of assigned targeting options to list. Supported targeting + /// types include: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * + /// `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * + /// `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * + /// `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_BUSINESS_CHAIN` * + /// `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_CHANNEL` * + /// `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * + /// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * + /// `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_DEVICE_TYPE` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_ENVIRONMENT` * + /// `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * + /// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * + /// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * + /// `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * + /// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * + /// `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * + /// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_POI` * + /// `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * + /// `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * + /// `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * + /// `TARGETING_TYPE_VIEWABILITY` * `TARGETING_TYPE_YOUTUBE_CHANNEL` (only for + /// `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items) * + /// `TARGETING_TYPE_YOUTUBE_VIDEO` (only for + /// `LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE` line items) + /// + public enum TargetingTypeEnum + { + /// + /// Default value when type is not specified or is unknown in this version. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_UNSPECIFIED")] + TARGETINGTYPEUNSPECIFIED = 0, + + /// Target a channel (a custom group of related websites or apps). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CHANNEL")] + TARGETINGTYPECHANNEL = 1, + + /// Target an app category (for example, education or puzzle games). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP_CATEGORY")] + TARGETINGTYPEAPPCATEGORY = 2, + + /// Target a specific app (for example, Angry Birds). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP")] + TARGETINGTYPEAPP = 3, + + /// Target a specific url (for example, quora.com). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_URL")] + TARGETINGTYPEURL = 4, + + /// Target ads during a chosen time period on a specific day. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DAY_AND_TIME")] + TARGETINGTYPEDAYANDTIME = 5, + + /// Target ads to a specific age range (for example, 18-24). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AGE_RANGE")] + TARGETINGTYPEAGERANGE = 6, + + /// Target ads to the specified regions on a regional location list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_REGIONAL_LOCATION_LIST")] + TARGETINGTYPEREGIONALLOCATIONLIST = 7, + + /// + /// Target ads to the specified points of interest on a proximity location list. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PROXIMITY_LOCATION_LIST")] + TARGETINGTYPEPROXIMITYLOCATIONLIST = 8, + + /// Target ads to a specific gender (for example, female or male). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GENDER")] + TARGETINGTYPEGENDER = 9, + + /// Target a specific video player size for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIDEO_PLAYER_SIZE")] + TARGETINGTYPEVIDEOPLAYERSIZE = 10, + + /// Target user rewarded content for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_USER_REWARDED_CONTENT")] + TARGETINGTYPEUSERREWARDEDCONTENT = 11, + + /// + /// Target ads to a specific parental status (for example, parent or not a parent). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PARENTAL_STATUS")] + TARGETINGTYPEPARENTALSTATUS = 12, + + /// + /// Target video or audio ads in a specific content instream position (for example, + /// pre-roll, mid-roll, or post-roll). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_INSTREAM_POSITION")] + TARGETINGTYPECONTENTINSTREAMPOSITION = 13, + + /// Target ads in a specific content outstream position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION")] + TARGETINGTYPECONTENTOUTSTREAMPOSITION = 14, + + /// + /// Target ads to a specific device type (for example, tablet or connected TV). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_TYPE")] + TARGETINGTYPEDEVICETYPE = 15, + + /// + /// Target ads to an audience or groups of audiences. Singleton field, at most one can exist + /// on a single Lineitem at a time. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIENCE_GROUP")] + TARGETINGTYPEAUDIENCEGROUP = 16, + + /// Target ads to specific web browsers (for example, Chrome). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BROWSER")] + TARGETINGTYPEBROWSER = 17, + + /// + /// Target ads to a specific household income range (for example, top 10%). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_HOUSEHOLD_INCOME")] + TARGETINGTYPEHOUSEHOLDINCOME = 18, + + /// Target ads in a specific on screen position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ON_SCREEN_POSITION")] + TARGETINGTYPEONSCREENPOSITION = 19, + + /// + /// Filter web sites through third party verification (for example, IAS or DoubleVerify). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_THIRD_PARTY_VERIFIER")] + TARGETINGTYPETHIRDPARTYVERIFIER = 20, + + /// + /// Filter web sites by specific digital content label ratings (for example, DL-MA: suitable + /// only for mature audiences). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION")] + TARGETINGTYPEDIGITALCONTENTLABELEXCLUSION = 21, + + /// Filter website content by sensitive categories (for example, adult). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION")] + TARGETINGTYPESENSITIVECATEGORYEXCLUSION = 22, + + /// Target ads to a specific environment (for example, web or app). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ENVIRONMENT")] + TARGETINGTYPEENVIRONMENT = 23, + + /// + /// Target ads to a specific network carrier or internet service provider (ISP) (for + /// example, Comcast or Orange). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CARRIER_AND_ISP")] + TARGETINGTYPECARRIERANDISP = 24, + + /// Target ads to a specific operating system (for example, macOS). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OPERATING_SYSTEM")] + TARGETINGTYPEOPERATINGSYSTEM = 25, + + /// + /// Target ads to a specific device make or model (for example, Roku or Samsung). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_MAKE_MODEL")] + TARGETINGTYPEDEVICEMAKEMODEL = 26, + + /// Target ads to a specific keyword (for example, dog or retriever). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_KEYWORD")] + TARGETINGTYPEKEYWORD = 27, + + /// Target ads to a specific negative keyword list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NEGATIVE_KEYWORD_LIST")] + TARGETINGTYPENEGATIVEKEYWORDLIST = 28, + + /// Target ads to a specific viewability (for example, 80% viewable). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIEWABILITY")] + TARGETINGTYPEVIEWABILITY = 29, + + /// + /// Target ads to a specific content category (for example, arts &amp; entertainment). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CATEGORY")] + TARGETINGTYPECATEGORY = 30, + + /// Purchase impressions from specific deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE")] + TARGETINGTYPEINVENTORYSOURCE = 31, + + /// Target ads to a specific language (for example, English or Japanese). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_LANGUAGE")] + TARGETINGTYPELANGUAGE = 32, + + /// + /// Target ads to ads.txt authorized sellers. If no targeting option of this type is + /// assigned, the resource uses the "Authorized Direct Sellers and Resellers" option by + /// default. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUTHORIZED_SELLER_STATUS")] + TARGETINGTYPEAUTHORIZEDSELLERSTATUS = 33, + + /// + /// Target ads to a specific regional location (for example, a city or state). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GEO_REGION")] + TARGETINGTYPEGEOREGION = 34, + + /// Purchase impressions from a group of deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE_GROUP")] + TARGETINGTYPEINVENTORYSOURCEGROUP = 35, + + /// Purchase impressions from specific exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_EXCHANGE")] + TARGETINGTYPEEXCHANGE = 36, + + /// Purchase impressions from specific sub-exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SUB_EXCHANGE")] + TARGETINGTYPESUBEXCHANGE = 37, + + /// + /// Target ads around a specific point of interest, such as a notable building, a street + /// address, or latitude/longitude coordinates. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_POI")] + TARGETINGTYPEPOI = 38, + + /// + /// Target ads around locations of a business chain within a specific geo region. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BUSINESS_CHAIN")] + TARGETINGTYPEBUSINESSCHAIN = 39, + + /// Target ads to a specific video content duration. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_DURATION")] + TARGETINGTYPECONTENTDURATION = 40, + + /// Target ads to a specific video content stream type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_STREAM_TYPE")] + TARGETINGTYPECONTENTSTREAMTYPE = 41, + + /// Target ads to a specific native content position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NATIVE_CONTENT_POSITION")] + TARGETINGTYPENATIVECONTENTPOSITION = 42, + + /// Target ads in an Open Measurement enabled inventory. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OMID")] + TARGETINGTYPEOMID = 43, + + /// Target ads to a specific audio content type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIO_CONTENT_TYPE")] + TARGETINGTYPEAUDIOCONTENTTYPE = 44, + + /// Target ads to a specific content genre. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_GENRE")] + TARGETINGTYPECONTENTGENRE = 45, + + /// + /// Target ads to a specific YouTube video. Targeting of this type cannot be created or + /// updated using the API. Although this targeting is inherited by child resources, + /// **inherited targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_VIDEO")] + TARGETINGTYPEYOUTUBEVIDEO = 46, + + /// + /// Target ads to a specific YouTube channel. Targeting of this type cannot be created or + /// updated using the API. Although this targeting is inherited by child resources, + /// **inherited targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_CHANNEL")] + TARGETINGTYPEYOUTUBECHANNEL = 47, + + /// + /// Target ads to a serve it in a certain position of a session. Only supported for Ad Group + /// resources under YouTube Programmatic Reservation line items. Targeting of this type + /// cannot be created or updated using the API. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SESSION_POSITION")] + TARGETINGTYPESESSIONPOSITION = 48, + } + + /// + /// Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions + /// are made up of one or more restrictions. * Restrictions can be combined by the logical + /// operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * All fields + /// must use the `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` * + /// `inheritance` Examples: * `AssignedTargetingOption` resources with ID 1 or 2: + /// `assignedTargetingOptionId="1" OR assignedTargetingOptionId="2"` * `AssignedTargetingOption` + /// resources with inheritance status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER`: + /// `inheritance="NOT_INHERITED" OR inheritance="INHERITED_FROM_PARTNER"` The length of this + /// field should be no more than 500 characters. Reference our [filter `LIST` + /// requests](/display-video/api/guides/how-tos/filters) guide for more information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` + /// (default) The default sorting order is ascending. To specify descending order for a field, a + /// suffix "desc" should be added to the field name. Example: `assignedTargetingOptionId desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. + /// Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token identifying a page of results the server should return. Typically, this is the value + /// of next_page_token returned from the previous call to `ListLineItemAssignedTargetingOptions` + /// method. If not specified, the first page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/lineItems/{+lineItemId}/targetingTypes/{+targetingType}/assignedTargetingOptions"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("lineItemId", new Google.Apis.Discovery.Parameter + { + Name = "lineItemId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("targetingType", new Google.Apis.Discovery.Parameter + { + Name = "targetingType", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + } + + /// + /// Bulk edits targeting options under multiple line items. The operation will delete the assigned targeting + /// options provided in BulkEditAssignedTargetingOptionsRequest.delete_requests and then create the assigned + /// targeting options provided in BulkEditAssignedTargetingOptionsRequest.create_requests. Requests to this + /// endpoint cannot be made concurrently with the following requests updating the same line item: * + /// lineItems.bulkUpdate * lineItems.patch * assignedTargetingOptions.create * + /// assignedTargetingOptions.delete + /// + /// The body of the request. + /// Required. The ID of the advertiser the line items belong to. + public virtual BulkEditAssignedTargetingOptionsRequest BulkEditAssignedTargetingOptions(Google.Apis.DisplayVideo.v3.Data.BulkEditAssignedTargetingOptionsRequest body, long advertiserId) + { + return new BulkEditAssignedTargetingOptionsRequest(service, body, advertiserId); + } + + /// + /// Bulk edits targeting options under multiple line items. The operation will delete the assigned targeting + /// options provided in BulkEditAssignedTargetingOptionsRequest.delete_requests and then create the assigned + /// targeting options provided in BulkEditAssignedTargetingOptionsRequest.create_requests. Requests to this + /// endpoint cannot be made concurrently with the following requests updating the same line item: * + /// lineItems.bulkUpdate * lineItems.patch * assignedTargetingOptions.create * + /// assignedTargetingOptions.delete + /// + public class BulkEditAssignedTargetingOptionsRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new BulkEditAssignedTargetingOptions request. + public BulkEditAssignedTargetingOptionsRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.BulkEditAssignedTargetingOptionsRequest body, long advertiserId) : base(service) + { + AdvertiserId = advertiserId; + Body = body; + InitParameters(); + } + + /// Required. The ID of the advertiser the line items belong to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.BulkEditAssignedTargetingOptionsRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "bulkEditAssignedTargetingOptions"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/lineItems:bulkEditAssignedTargetingOptions"; + + /// Initializes BulkEditAssignedTargetingOptions parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// Lists assigned targeting options for multiple line items across targeting types. + /// Required. The ID of the advertiser the line items belongs to. + public virtual BulkListAssignedTargetingOptionsRequest BulkListAssignedTargetingOptions(long advertiserId) + { + return new BulkListAssignedTargetingOptionsRequest(service, advertiserId); + } + + /// Lists assigned targeting options for multiple line items across targeting types. + public class BulkListAssignedTargetingOptionsRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new BulkListAssignedTargetingOptions request. + public BulkListAssignedTargetingOptionsRequest(Google.Apis.Services.IClientService service, long advertiserId) : base(service) + { + AdvertiserId = advertiserId; + InitParameters(); + } + + /// Required. The ID of the advertiser the line items belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// + /// Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are + /// made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR` on + /// the same field. * A restriction has the form of `{field} {operator} {value}`. * All fields must use + /// the `EQUALS (=)` operator. Supported fields: * `targetingType` * `inheritance` Examples: * + /// `AssignedTargetingOption` resources of targeting type `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` or + /// `TARGETING_TYPE_CHANNEL`: `targetingType="TARGETING_TYPE_PROXIMITY_LOCATION_LIST" OR + /// targetingType="TARGETING_TYPE_CHANNEL"` * `AssignedTargetingOption` resources with inheritance + /// status of `NOT_INHERITED` or `INHERITED_FROM_PARTNER`: `inheritance="NOT_INHERITED" OR + /// inheritance="INHERITED_FROM_PARTNER"` The length of this field should be no more than 500 + /// characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide + /// for more information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// Required. The IDs of the line items to list assigned targeting options for. + [Google.Apis.Util.RequestParameterAttribute("lineItemIds", Google.Apis.Util.RequestParameterType.Query)] + public virtual Google.Apis.Util.Repeatable LineItemIds { get; set; } + + /// + /// Field by which to sort the list. Acceptable values are: * `lineItemId` (default) * + /// `assignedTargetingOption.targetingType` The default sorting order is ascending. To specify + /// descending order for a field, a suffix "desc" should be added to the field name. Example: + /// `targetingType desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. The size must be an integer between `1` and `5000`. If unspecified, the default + /// is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token that lets the client fetch the next page of results. Typically, this is the value of + /// next_page_token returned from the previous call to the `BulkListAssignedTargetingOptions` method. If + /// not specified, the first page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "bulkListAssignedTargetingOptions"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/lineItems:bulkListAssignedTargetingOptions"; + + /// Initializes BulkListAssignedTargetingOptions parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("lineItemIds", new Google.Apis.Discovery.Parameter + { + Name = "lineItemIds", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// + /// Updates multiple line items. Requests to this endpoint cannot be made concurrently with the following + /// requests updating the same line item: * BulkEditAssignedTargetingOptions * UpdateLineItem * + /// assignedTargetingOptions.create * assignedTargetingOptions.delete + /// + /// The body of the request. + /// Required. The ID of the advertiser this line item belongs to. + public virtual BulkUpdateRequest BulkUpdate(Google.Apis.DisplayVideo.v3.Data.BulkUpdateLineItemsRequest body, long advertiserId) + { + return new BulkUpdateRequest(service, body, advertiserId); + } + + /// + /// Updates multiple line items. Requests to this endpoint cannot be made concurrently with the following + /// requests updating the same line item: * BulkEditAssignedTargetingOptions * UpdateLineItem * + /// assignedTargetingOptions.create * assignedTargetingOptions.delete + /// + public class BulkUpdateRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new BulkUpdate request. + public BulkUpdateRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.BulkUpdateLineItemsRequest body, long advertiserId) : base(service) + { + AdvertiserId = advertiserId; + Body = body; + InitParameters(); + } + + /// Required. The ID of the advertiser this line item belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.BulkUpdateLineItemsRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "bulkUpdate"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/lineItems:bulkUpdate"; + + /// Initializes BulkUpdate parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// Creates a new line item. Returns the newly created line item if successful. + /// The body of the request. + /// + /// Output only. The unique ID of the advertiser the line item belongs to. + /// + public virtual CreateRequest Create(Google.Apis.DisplayVideo.v3.Data.LineItem body, long advertiserId) + { + return new CreateRequest(service, body, advertiserId); + } + + /// Creates a new line item. Returns the newly created line item if successful. + public class CreateRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.LineItem body, long advertiserId) : base(service) + { + AdvertiserId = advertiserId; + Body = body; + InitParameters(); + } + + /// Output only. The unique ID of the advertiser the line item belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.LineItem Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "create"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/lineItems"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// + /// Deletes a line item. Returns error code `NOT_FOUND` if the line item does not exist. The line item + /// should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to delete it. + /// + /// The ID of the advertiser this line item belongs to. + /// The ID of the line item to delete. + public virtual DeleteRequest Delete(long advertiserId, long lineItemId) + { + return new DeleteRequest(service, advertiserId, lineItemId); + } + + /// + /// Deletes a line item. Returns error code `NOT_FOUND` if the line item does not exist. The line item + /// should be archived first, i.e. set entity_status to `ENTITY_STATUS_ARCHIVED`, to be able to delete it. + /// + public class DeleteRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, long advertiserId, long lineItemId) : base(service) + { + AdvertiserId = advertiserId; + LineItemId = lineItemId; + InitParameters(); + } + + /// The ID of the advertiser this line item belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// The ID of the line item to delete. + [Google.Apis.Util.RequestParameterAttribute("lineItemId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long LineItemId { get; private set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/lineItems/{+lineItemId}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("lineItemId", new Google.Apis.Discovery.Parameter + { + Name = "lineItemId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// Duplicates a line item. Returns the ID of the created line item if successful. + /// The body of the request. + /// Required. The ID of the advertiser this line item belongs to. + /// Required. The ID of the line item to duplicate. + public virtual DuplicateRequest Duplicate(Google.Apis.DisplayVideo.v3.Data.DuplicateLineItemRequest body, long advertiserId, long lineItemId) + { + return new DuplicateRequest(service, body, advertiserId, lineItemId); + } + + /// Duplicates a line item. Returns the ID of the created line item if successful. + public class DuplicateRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Duplicate request. + public DuplicateRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.DuplicateLineItemRequest body, long advertiserId, long lineItemId) : base(service) + { + AdvertiserId = advertiserId; + LineItemId = lineItemId; + Body = body; + InitParameters(); + } + + /// Required. The ID of the advertiser this line item belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Required. The ID of the line item to duplicate. + [Google.Apis.Util.RequestParameterAttribute("lineItemId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long LineItemId { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.DuplicateLineItemRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "duplicate"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/lineItems/{+lineItemId}:duplicate"; + + /// Initializes Duplicate parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("lineItemId", new Google.Apis.Discovery.Parameter + { + Name = "lineItemId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// + /// Creates a new line item with settings (including targeting) inherited from the insertion order and an + /// `ENTITY_STATUS_DRAFT` entity_status. Returns the newly created line item if successful. There are + /// default values based on the three fields: * The insertion order's insertion_order_type * The insertion + /// order's automation_type * The given line_item_type + /// + /// The body of the request. + /// Required. The ID of the advertiser this line item belongs to. + public virtual GenerateDefaultRequest GenerateDefault(Google.Apis.DisplayVideo.v3.Data.GenerateDefaultLineItemRequest body, long advertiserId) + { + return new GenerateDefaultRequest(service, body, advertiserId); + } + + /// + /// Creates a new line item with settings (including targeting) inherited from the insertion order and an + /// `ENTITY_STATUS_DRAFT` entity_status. Returns the newly created line item if successful. There are + /// default values based on the three fields: * The insertion order's insertion_order_type * The insertion + /// order's automation_type * The given line_item_type + /// + public class GenerateDefaultRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new GenerateDefault request. + public GenerateDefaultRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.GenerateDefaultLineItemRequest body, long advertiserId) : base(service) + { + AdvertiserId = advertiserId; + Body = body; + InitParameters(); + } + + /// Required. The ID of the advertiser this line item belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.GenerateDefaultLineItemRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "generateDefault"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/lineItems:generateDefault"; + + /// Initializes GenerateDefault parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// Gets a line item. + /// Required. The ID of the advertiser this line item belongs to. + /// Required. The ID of the line item to fetch. + public virtual GetRequest Get(long advertiserId, long lineItemId) + { + return new GetRequest(service, advertiserId, lineItemId); + } + + /// Gets a line item. + public class GetRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, long advertiserId, long lineItemId) : base(service) + { + AdvertiserId = advertiserId; + LineItemId = lineItemId; + InitParameters(); + } + + /// Required. The ID of the advertiser this line item belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Required. The ID of the line item to fetch. + [Google.Apis.Util.RequestParameterAttribute("lineItemId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long LineItemId { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/lineItems/{+lineItemId}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("lineItemId", new Google.Apis.Discovery.Parameter + { + Name = "lineItemId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// + /// Lists line items in an advertiser. The order is defined by the order_by parameter. If a filter by + /// entity_status is not specified, line items with `ENTITY_STATUS_ARCHIVED` will not be included in the + /// results. + /// + /// Required. The ID of the advertiser to list line items for. + public virtual ListRequest List(long advertiserId) + { + return new ListRequest(service, advertiserId); + } + + /// + /// Lists line items in an advertiser. The order is defined by the order_by parameter. If a filter by + /// entity_status is not specified, line items with `ENTITY_STATUS_ARCHIVED` will not be included in the + /// results. + /// + public class ListRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, long advertiserId) : base(service) + { + AdvertiserId = advertiserId; + InitParameters(); + } + + /// Required. The ID of the advertiser to list line items for. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// + /// Allows filtering by line item fields. Supported syntax: * Filter expressions are made up of one or + /// more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of + /// restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * + /// The `updateTime` field must use the `GREATER THAN OR EQUAL TO (&gt;=)` or `LESS THAN OR EQUAL TO + /// (&lt;=)` operators. * All other fields must use the `EQUALS (=)` operator. Supported fields: * + /// `campaignId` * `displayName` * `entityStatus` * `insertionOrderId` * `lineItemId` * `lineItemType` * + /// `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All line items under + /// an insertion order: `insertionOrderId="1234"` * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` + /// and `LINE_ITEM_TYPE_DISPLAY_DEFAULT` line items under an advertiser: + /// `(entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED") AND + /// lineItemType="LINE_ITEM_TYPE_DISPLAY_DEFAULT"` * All line items with an update time less than or + /// equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime&lt;="2020-11-04T18:54:47Z"` * + /// All line items with an update time greater than or equal to 2020-11-04T18:54:47Z (format of ISO + /// 8601): `updateTime&gt;="2020-11-04T18:54:47Z"` The length of this field should be no more than + /// 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) + /// guide for more information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Field by which to sort the list. Acceptable values are: * `displayName` (default) * `entityStatus` * + /// `updateTime` The default sorting order is ascending. To specify descending order for a field, a + /// suffix "desc" should be added to the field name. Example: `displayName desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns + /// error code `INVALID_ARGUMENT` if an invalid value is specified. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token identifying a page of results the server should return. Typically, this is the value of + /// next_page_token returned from the previous call to `ListLineItems` method. If not specified, the + /// first page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/lineItems"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// + /// Updates an existing line item. Returns the updated line item if successful. Requests to this endpoint + /// cannot be made concurrently with the following requests updating the same line item: * + /// BulkEditAssignedTargetingOptions * BulkUpdateLineItems * assignedTargetingOptions.create * + /// assignedTargetingOptions.delete + /// + /// The body of the request. + /// + /// Output only. The unique ID of the advertiser the line item belongs to. + /// + /// Output only. The unique ID of the line item. Assigned by the system. + public virtual PatchRequest Patch(Google.Apis.DisplayVideo.v3.Data.LineItem body, long advertiserId, long lineItemId) + { + return new PatchRequest(service, body, advertiserId, lineItemId); + } + + /// + /// Updates an existing line item. Returns the updated line item if successful. Requests to this endpoint + /// cannot be made concurrently with the following requests updating the same line item: * + /// BulkEditAssignedTargetingOptions * BulkUpdateLineItems * assignedTargetingOptions.create * + /// assignedTargetingOptions.delete + /// + public class PatchRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.LineItem body, long advertiserId, long lineItemId) : base(service) + { + AdvertiserId = advertiserId; + LineItemId = lineItemId; + Body = body; + InitParameters(); + } + + /// Output only. The unique ID of the advertiser the line item belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Output only. The unique ID of the line item. Assigned by the system. + [Google.Apis.Util.RequestParameterAttribute("lineItemId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long LineItemId { get; private set; } + + /// Required. The mask to control which fields to update. + [Google.Apis.Util.RequestParameterAttribute("updateMask", Google.Apis.Util.RequestParameterType.Query)] + public virtual object UpdateMask { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.LineItem Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "patch"; + + /// Gets the HTTP method. + public override string HttpMethod => "PATCH"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/lineItems/{+lineItemId}"; + + /// Initializes Patch parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("lineItemId", new Google.Apis.Discovery.Parameter + { + Name = "lineItemId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// Gets the LocationLists resource. + public virtual LocationListsResource LocationLists { get; } + + /// The "locationLists" collection of methods. + public class LocationListsResource + { + private const string Resource = "locationLists"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public LocationListsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + AssignedLocations = new AssignedLocationsResource(service); + } + + /// Gets the AssignedLocations resource. + public virtual AssignedLocationsResource AssignedLocations { get; } + + /// The "assignedLocations" collection of methods. + public class AssignedLocationsResource + { + private const string Resource = "assignedLocations"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public AssignedLocationsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// + /// Bulk edits multiple assignments between locations and a single location list. The operation will + /// delete the assigned locations provided in deletedAssignedLocations and then create the assigned + /// locations provided in createdAssignedLocations. + /// + /// The body of the request. + /// + /// Required. The ID of the DV360 advertiser to which the location list belongs. + /// + /// + /// Required. The ID of the location list to which these assignments are assigned. + /// + public virtual BulkEditRequest BulkEdit(Google.Apis.DisplayVideo.v3.Data.BulkEditAssignedLocationsRequest body, long advertiserId, long locationListId) + { + return new BulkEditRequest(service, body, advertiserId, locationListId); + } + + /// + /// Bulk edits multiple assignments between locations and a single location list. The operation will + /// delete the assigned locations provided in deletedAssignedLocations and then create the assigned + /// locations provided in createdAssignedLocations. + /// + public class BulkEditRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new BulkEdit request. + public BulkEditRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.BulkEditAssignedLocationsRequest body, long advertiserId, long locationListId) : base(service) + { + AdvertiserId = advertiserId; + LocationListId = locationListId; + Body = body; + InitParameters(); + } + + /// Required. The ID of the DV360 advertiser to which the location list belongs. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// + /// Required. The ID of the location list to which these assignments are assigned. + /// + [Google.Apis.Util.RequestParameterAttribute("locationListId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long LocationListId { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.BulkEditAssignedLocationsRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "bulkEdit"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{advertiserId}/locationLists/{+locationListId}/assignedLocations:bulkEdit"; + + /// Initializes BulkEdit parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("locationListId", new Google.Apis.Discovery.Parameter + { + Name = "locationListId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// Creates an assignment between a location and a location list. + /// The body of the request. + /// + /// Required. The ID of the DV360 advertiser to which the location list belongs. + /// + /// + /// Required. The ID of the location list for which the assignment will be created. + /// + public virtual CreateRequest Create(Google.Apis.DisplayVideo.v3.Data.AssignedLocation body, long advertiserId, long locationListId) + { + return new CreateRequest(service, body, advertiserId, locationListId); + } + + /// Creates an assignment between a location and a location list. + public class CreateRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.AssignedLocation body, long advertiserId, long locationListId) : base(service) + { + AdvertiserId = advertiserId; + LocationListId = locationListId; + Body = body; + InitParameters(); + } + + /// Required. The ID of the DV360 advertiser to which the location list belongs. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// + /// Required. The ID of the location list for which the assignment will be created. + /// + [Google.Apis.Util.RequestParameterAttribute("locationListId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long LocationListId { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.AssignedLocation Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "create"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("locationListId", new Google.Apis.Discovery.Parameter + { + Name = "locationListId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Deletes the assignment between a location and a location list. + /// + /// Required. The ID of the DV360 advertiser to which the location list belongs. + /// + /// + /// Required. The ID of the location list to which this assignment is assigned. + /// + /// Required. The ID of the assigned location to delete. + public virtual DeleteRequest Delete(long advertiserId, long locationListId, long assignedLocationId) + { + return new DeleteRequest(service, advertiserId, locationListId, assignedLocationId); + } + + /// Deletes the assignment between a location and a location list. + public class DeleteRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, long advertiserId, long locationListId, long assignedLocationId) : base(service) + { + AdvertiserId = advertiserId; + LocationListId = locationListId; + AssignedLocationId = assignedLocationId; + InitParameters(); + } + + /// Required. The ID of the DV360 advertiser to which the location list belongs. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Required. The ID of the location list to which this assignment is assigned. + [Google.Apis.Util.RequestParameterAttribute("locationListId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long LocationListId { get; private set; } + + /// Required. The ID of the assigned location to delete. + [Google.Apis.Util.RequestParameterAttribute("assignedLocationId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AssignedLocationId { get; private set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations/{+assignedLocationId}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("locationListId", new Google.Apis.Discovery.Parameter + { + Name = "locationListId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("assignedLocationId", new Google.Apis.Discovery.Parameter + { + Name = "assignedLocationId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// Lists locations assigned to a location list. + /// + /// Required. The ID of the DV360 advertiser to which the location list belongs. + /// + /// + /// Required. The ID of the location list to which these assignments are assigned. + /// + public virtual ListRequest List(long advertiserId, long locationListId) + { + return new ListRequest(service, advertiserId, locationListId); + } + + /// Lists locations assigned to a location list. + public class ListRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, long advertiserId, long locationListId) : base(service) + { + AdvertiserId = advertiserId; + LocationListId = locationListId; + InitParameters(); + } + + /// Required. The ID of the DV360 advertiser to which the location list belongs. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// + /// Required. The ID of the location list to which these assignments are assigned. + /// + [Google.Apis.Util.RequestParameterAttribute("locationListId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long LocationListId { get; private set; } + + /// + /// Allows filtering by location list assignment fields. Supported syntax: * Filter expressions are + /// made up of one or more restrictions. * Restrictions can be combined by the `OR` logical + /// operator. * A restriction has the form of `{field} {operator} {value}`. * All fields must use + /// the `EQUALS (=)` operator. Supported fields: * `assignedLocationId` The length of this field + /// should be no more than 500 characters. Reference our [filter `LIST` + /// requests](/display-video/api/guides/how-tos/filters) guide for more information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Field by which to sort the list. Acceptable values are: * `assignedLocationId` (default) The + /// default sorting order is ascending. To specify descending order for a field, a suffix " desc" + /// should be added to the field name. Example: `assignedLocationId desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. + /// Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token identifying a page of results the server should return. Typically, this is the value of + /// next_page_token returned from the previous call to `ListAssignedLocations` method. If not + /// specified, the first page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("locationListId", new Google.Apis.Discovery.Parameter + { + Name = "locationListId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// Creates a new location list. Returns the newly created location list if successful. + /// The body of the request. + /// + /// Required. The ID of the DV360 advertiser to which the location list belongs. + /// + public virtual CreateRequest Create(Google.Apis.DisplayVideo.v3.Data.LocationList body, long advertiserId) + { + return new CreateRequest(service, body, advertiserId); + } + + /// Creates a new location list. Returns the newly created location list if successful. + public class CreateRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.LocationList body, long advertiserId) : base(service) + { + AdvertiserId = advertiserId; + Body = body; + InitParameters(); + } + + /// Required. The ID of the DV360 advertiser to which the location list belongs. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.LocationList Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "create"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/locationLists"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// Gets a location list. + /// + /// Required. The ID of the DV360 advertiser to which the fetched location list belongs. + /// + /// Required. The ID of the location list to fetch. + public virtual GetRequest Get(long advertiserId, long locationListId) + { + return new GetRequest(service, advertiserId, locationListId); + } + + /// Gets a location list. + public class GetRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, long advertiserId, long locationListId) : base(service) + { + AdvertiserId = advertiserId; + LocationListId = locationListId; + InitParameters(); + } + + /// + /// Required. The ID of the DV360 advertiser to which the fetched location list belongs. + /// + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Required. The ID of the location list to fetch. + [Google.Apis.Util.RequestParameterAttribute("locationListId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long LocationListId { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/locationLists/{+locationListId}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("locationListId", new Google.Apis.Discovery.Parameter + { + Name = "locationListId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// Lists location lists based on a given advertiser id. + /// + /// Required. The ID of the DV360 advertiser to which the fetched location lists belong. + /// + public virtual ListRequest List(long advertiserId) + { + return new ListRequest(service, advertiserId); + } + + /// Lists location lists based on a given advertiser id. + public class ListRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, long advertiserId) : base(service) + { + AdvertiserId = advertiserId; + InitParameters(); + } + + /// + /// Required. The ID of the DV360 advertiser to which the fetched location lists belong. + /// + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// + /// Allows filtering by location list fields. Supported syntax: * Filter expressions are made up of one + /// or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence + /// of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. + /// * All fields must use the `EQUALS (=)` operator. Supported fields: * `locationType` Examples: * All + /// regional location list: `locationType="TARGETING_LOCATION_TYPE_REGIONAL"` * All proximity location + /// list: `locationType="TARGETING_LOCATION_TYPE_PROXIMITY"` The length of this field should be no more + /// than 500 characters. Reference our [filter `LIST` + /// requests](/display-video/api/guides/how-tos/filters) guide for more information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Field by which to sort the list. Acceptable values are: * `locationListId` (default) * `displayName` + /// The default sorting order is ascending. To specify descending order for a field, a suffix "desc" + /// should be added to the field name. Example: `displayName desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Must be between `1` and `200`. Defaults to `100` if not set. Returns error code + /// `INVALID_ARGUMENT` if an invalid value is specified. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token identifying a page of results the server should return. Typically, this is the value of + /// next_page_token returned from the previous call to `ListLocationLists` method. If not specified, the + /// first page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/locationLists"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Updates a location list. Returns the updated location list if successful. + /// The body of the request. + /// + /// Required. The ID of the DV360 advertiser to which the location lists belongs. + /// + /// + /// Output only. The unique ID of the location list. Assigned by the system. + /// + public virtual PatchRequest Patch(Google.Apis.DisplayVideo.v3.Data.LocationList body, long advertiserId, long locationListId) + { + return new PatchRequest(service, body, advertiserId, locationListId); + } + + /// Updates a location list. Returns the updated location list if successful. + public class PatchRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.LocationList body, long advertiserId, long locationListId) : base(service) + { + AdvertiserId = advertiserId; + LocationListId = locationListId; + Body = body; + InitParameters(); + } + + /// Required. The ID of the DV360 advertiser to which the location lists belongs. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Output only. The unique ID of the location list. Assigned by the system. + [Google.Apis.Util.RequestParameterAttribute("locationListId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long LocationListId { get; private set; } + + /// Required. The mask to control which fields to update. + [Google.Apis.Util.RequestParameterAttribute("updateMask", Google.Apis.Util.RequestParameterType.Query)] + public virtual object UpdateMask { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.LocationList Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "patch"; + + /// Gets the HTTP method. + public override string HttpMethod => "PATCH"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/locationLists/{locationListId}"; + + /// Initializes Patch parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("locationListId", new Google.Apis.Discovery.Parameter + { + Name = "locationListId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// Gets the NegativeKeywordLists resource. + public virtual NegativeKeywordListsResource NegativeKeywordLists { get; } + + /// The "negativeKeywordLists" collection of methods. + public class NegativeKeywordListsResource + { + private const string Resource = "negativeKeywordLists"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public NegativeKeywordListsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + NegativeKeywords = new NegativeKeywordsResource(service); + } + + /// Gets the NegativeKeywords resource. + public virtual NegativeKeywordsResource NegativeKeywords { get; } + + /// The "negativeKeywords" collection of methods. + public class NegativeKeywordsResource + { + private const string Resource = "negativeKeywords"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public NegativeKeywordsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// + /// Bulk edits negative keywords in a single negative keyword list. The operation will delete the + /// negative keywords provided in BulkEditNegativeKeywordsRequest.deleted_negative_keywords and then + /// create the negative keywords provided in BulkEditNegativeKeywordsRequest.created_negative_keywords. + /// This operation is guaranteed to be atomic and will never result in a partial success or partial + /// failure. + /// + /// The body of the request. + /// + /// Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs. + /// + /// + /// Required. The ID of the parent negative keyword list to which the negative keywords belong. + /// + public virtual BulkEditRequest BulkEdit(Google.Apis.DisplayVideo.v3.Data.BulkEditNegativeKeywordsRequest body, long advertiserId, long negativeKeywordListId) + { + return new BulkEditRequest(service, body, advertiserId, negativeKeywordListId); + } + + /// + /// Bulk edits negative keywords in a single negative keyword list. The operation will delete the + /// negative keywords provided in BulkEditNegativeKeywordsRequest.deleted_negative_keywords and then + /// create the negative keywords provided in BulkEditNegativeKeywordsRequest.created_negative_keywords. + /// This operation is guaranteed to be atomic and will never result in a partial success or partial + /// failure. + /// + public class BulkEditRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new BulkEdit request. + public BulkEditRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.BulkEditNegativeKeywordsRequest body, long advertiserId, long negativeKeywordListId) : base(service) + { + AdvertiserId = advertiserId; + NegativeKeywordListId = negativeKeywordListId; + Body = body; + InitParameters(); + } + + /// + /// Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs. + /// + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// + /// Required. The ID of the parent negative keyword list to which the negative keywords belong. + /// + [Google.Apis.Util.RequestParameterAttribute("negativeKeywordListId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long NegativeKeywordListId { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.BulkEditNegativeKeywordsRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "bulkEdit"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords:bulkEdit"; + + /// Initializes BulkEdit parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("negativeKeywordListId", new Google.Apis.Discovery.Parameter + { + Name = "negativeKeywordListId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// Creates a negative keyword in a negative keyword list. + /// The body of the request. + /// + /// Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs. + /// + /// + /// Required. The ID of the parent negative keyword list in which the negative keyword will be created. + /// + public virtual CreateRequest Create(Google.Apis.DisplayVideo.v3.Data.NegativeKeyword body, long advertiserId, long negativeKeywordListId) + { + return new CreateRequest(service, body, advertiserId, negativeKeywordListId); + } + + /// Creates a negative keyword in a negative keyword list. + public class CreateRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.NegativeKeyword body, long advertiserId, long negativeKeywordListId) : base(service) + { + AdvertiserId = advertiserId; + NegativeKeywordListId = negativeKeywordListId; + Body = body; + InitParameters(); + } + + /// + /// Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs. + /// + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// + /// Required. The ID of the parent negative keyword list in which the negative keyword will be + /// created. + /// + [Google.Apis.Util.RequestParameterAttribute("negativeKeywordListId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long NegativeKeywordListId { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.NegativeKeyword Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "create"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("negativeKeywordListId", new Google.Apis.Discovery.Parameter + { + Name = "negativeKeywordListId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// Deletes a negative keyword from a negative keyword list. + /// + /// Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs. + /// + /// + /// Required. The ID of the parent negative keyword list to which the negative keyword belongs. + /// + /// Required. The keyword value of the negative keyword to delete. + public virtual DeleteRequest Delete(long advertiserId, long negativeKeywordListId, string keywordValue) + { + return new DeleteRequest(service, advertiserId, negativeKeywordListId, keywordValue); + } + + /// Deletes a negative keyword from a negative keyword list. + public class DeleteRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, long advertiserId, long negativeKeywordListId, string keywordValue) : base(service) + { + AdvertiserId = advertiserId; + NegativeKeywordListId = negativeKeywordListId; + KeywordValue = keywordValue; + InitParameters(); + } + + /// + /// Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs. + /// + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// + /// Required. The ID of the parent negative keyword list to which the negative keyword belongs. + /// + [Google.Apis.Util.RequestParameterAttribute("negativeKeywordListId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long NegativeKeywordListId { get; private set; } + + /// Required. The keyword value of the negative keyword to delete. + [Google.Apis.Util.RequestParameterAttribute("keywordValue", Google.Apis.Util.RequestParameterType.Path)] + public virtual string KeywordValue { get; private set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords/{+keywordValue}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("negativeKeywordListId", new Google.Apis.Discovery.Parameter + { + Name = "negativeKeywordListId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("keywordValue", new Google.Apis.Discovery.Parameter + { + Name = "keywordValue", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// Lists negative keywords in a negative keyword list. + /// + /// Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs. + /// + /// + /// Required. The ID of the parent negative keyword list to which the requested negative keywords + /// belong. + /// + public virtual ListRequest List(long advertiserId, long negativeKeywordListId) + { + return new ListRequest(service, advertiserId, negativeKeywordListId); + } + + /// Lists negative keywords in a negative keyword list. + public class ListRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, long advertiserId, long negativeKeywordListId) : base(service) + { + AdvertiserId = advertiserId; + NegativeKeywordListId = negativeKeywordListId; + InitParameters(); + } + + /// + /// Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs. + /// + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// + /// Required. The ID of the parent negative keyword list to which the requested negative keywords + /// belong. + /// + [Google.Apis.Util.RequestParameterAttribute("negativeKeywordListId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long NegativeKeywordListId { get; private set; } + + /// + /// Allows filtering by negative keyword fields. Supported syntax: * Filter expressions for negative + /// keywords can only contain at most one restriction. * A restriction has the form of `{field} + /// {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * + /// `keywordValue` Examples: * All negative keywords for which the keyword value contains "google": + /// `keywordValue : "google"` The length of this field should be no more than 500 characters. + /// Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more + /// information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Field by which to sort the list. Acceptable values are: * `keywordValue` (default) The default + /// sorting order is ascending. To specify descending order for a field, a suffix " desc" should be + /// added to the field name. Example: `keywordValue desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Must be between `1` and `1000`. If unspecified will default to `100`. + /// Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token identifying a page of results the server should return. Typically, this is the value of + /// next_page_token returned from the previous call to `ListNegativeKeywords` method. If not + /// specified, the first page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("negativeKeywordListId", new Google.Apis.Discovery.Parameter + { + Name = "negativeKeywordListId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// + /// Replaces all negative keywords in a single negative keyword list. The operation will replace the + /// keywords in a negative keyword list with keywords provided in + /// ReplaceNegativeKeywordsRequest.new_negative_keywords. + /// + /// The body of the request. + /// + /// Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs. + /// + /// + /// Required. The ID of the parent negative keyword list to which the negative keywords belong. + /// + public virtual ReplaceRequest Replace(Google.Apis.DisplayVideo.v3.Data.ReplaceNegativeKeywordsRequest body, long advertiserId, long negativeKeywordListId) + { + return new ReplaceRequest(service, body, advertiserId, negativeKeywordListId); + } + + /// + /// Replaces all negative keywords in a single negative keyword list. The operation will replace the + /// keywords in a negative keyword list with keywords provided in + /// ReplaceNegativeKeywordsRequest.new_negative_keywords. + /// + public class ReplaceRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Replace request. + public ReplaceRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.ReplaceNegativeKeywordsRequest body, long advertiserId, long negativeKeywordListId) : base(service) + { + AdvertiserId = advertiserId; + NegativeKeywordListId = negativeKeywordListId; + Body = body; + InitParameters(); + } + + /// + /// Required. The ID of the DV360 advertiser to which the parent negative keyword list belongs. + /// + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// + /// Required. The ID of the parent negative keyword list to which the negative keywords belong. + /// + [Google.Apis.Util.RequestParameterAttribute("negativeKeywordListId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long NegativeKeywordListId { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.ReplaceNegativeKeywordsRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "replace"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{advertiserId}/negativeKeywordLists/{+negativeKeywordListId}/negativeKeywords:replace"; + + /// Initializes Replace parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("negativeKeywordListId", new Google.Apis.Discovery.Parameter + { + Name = "negativeKeywordListId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + } + + /// + /// Creates a new negative keyword list. Returns the newly created negative keyword list if successful. + /// + /// The body of the request. + /// + /// Required. The ID of the DV360 advertiser to which the negative keyword list will belong. + /// + public virtual CreateRequest Create(Google.Apis.DisplayVideo.v3.Data.NegativeKeywordList body, long advertiserId) + { + return new CreateRequest(service, body, advertiserId); + } + + /// + /// Creates a new negative keyword list. Returns the newly created negative keyword list if successful. + /// + public class CreateRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.NegativeKeywordList body, long advertiserId) : base(service) + { + AdvertiserId = advertiserId; + Body = body; + InitParameters(); + } + + /// + /// Required. The ID of the DV360 advertiser to which the negative keyword list will belong. + /// + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.NegativeKeywordList Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "create"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/negativeKeywordLists"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// + /// Deletes a negative keyword list given an advertiser ID and a negative keyword list ID. + /// + /// + /// Required. The ID of the DV360 advertiser to which the negative keyword list belongs. + /// + /// Required. The ID of the negative keyword list to delete. + public virtual DeleteRequest Delete(long advertiserId, long negativeKeywordListId) + { + return new DeleteRequest(service, advertiserId, negativeKeywordListId); + } + + /// + /// Deletes a negative keyword list given an advertiser ID and a negative keyword list ID. + /// + public class DeleteRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, long advertiserId, long negativeKeywordListId) : base(service) + { + AdvertiserId = advertiserId; + NegativeKeywordListId = negativeKeywordListId; + InitParameters(); + } + + /// + /// Required. The ID of the DV360 advertiser to which the negative keyword list belongs. + /// + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Required. The ID of the negative keyword list to delete. + [Google.Apis.Util.RequestParameterAttribute("negativeKeywordListId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long NegativeKeywordListId { get; private set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("negativeKeywordListId", new Google.Apis.Discovery.Parameter + { + Name = "negativeKeywordListId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// Gets a negative keyword list given an advertiser ID and a negative keyword list ID. + /// + /// Required. The ID of the DV360 advertiser to which the fetched negative keyword list belongs. + /// + /// Required. The ID of the negative keyword list to fetch. + public virtual GetRequest Get(long advertiserId, long negativeKeywordListId) + { + return new GetRequest(service, advertiserId, negativeKeywordListId); + } + + /// Gets a negative keyword list given an advertiser ID and a negative keyword list ID. + public class GetRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, long advertiserId, long negativeKeywordListId) : base(service) + { + AdvertiserId = advertiserId; + NegativeKeywordListId = negativeKeywordListId; + InitParameters(); + } + + /// + /// Required. The ID of the DV360 advertiser to which the fetched negative keyword list belongs. + /// + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Required. The ID of the negative keyword list to fetch. + [Google.Apis.Util.RequestParameterAttribute("negativeKeywordListId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long NegativeKeywordListId { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/negativeKeywordLists/{+negativeKeywordListId}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("negativeKeywordListId", new Google.Apis.Discovery.Parameter + { + Name = "negativeKeywordListId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// Lists negative keyword lists based on a given advertiser id. + /// + /// Required. The ID of the DV360 advertiser to which the fetched negative keyword lists belong. + /// + public virtual ListRequest List(long advertiserId) + { + return new ListRequest(service, advertiserId); + } + + /// Lists negative keyword lists based on a given advertiser id. + public class ListRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, long advertiserId) : base(service) + { + AdvertiserId = advertiserId; + InitParameters(); + } + + /// + /// Required. The ID of the DV360 advertiser to which the fetched negative keyword lists belong. + /// + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// + /// Requested page size. Must be between `1` and `200`. Defaults to `100` if not set. Returns error code + /// `INVALID_ARGUMENT` if an invalid value is specified. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token identifying a page of results the server should return. Typically, this is the value of + /// next_page_token returned from the previous call to `ListNegativeKeywordLists` method. If not + /// specified, the first page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/negativeKeywordLists"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// + /// Updates a negative keyword list. Returns the updated negative keyword list if successful. + /// + /// The body of the request. + /// + /// Required. The ID of the DV360 advertiser to which the negative keyword list belongs. + /// + /// + /// Output only. The unique ID of the negative keyword list. Assigned by the system. + /// + public virtual PatchRequest Patch(Google.Apis.DisplayVideo.v3.Data.NegativeKeywordList body, long advertiserId, long negativeKeywordListId) + { + return new PatchRequest(service, body, advertiserId, negativeKeywordListId); + } + + /// + /// Updates a negative keyword list. Returns the updated negative keyword list if successful. + /// + public class PatchRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.NegativeKeywordList body, long advertiserId, long negativeKeywordListId) : base(service) + { + AdvertiserId = advertiserId; + NegativeKeywordListId = negativeKeywordListId; + Body = body; + InitParameters(); + } + + /// + /// Required. The ID of the DV360 advertiser to which the negative keyword list belongs. + /// + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Output only. The unique ID of the negative keyword list. Assigned by the system. + [Google.Apis.Util.RequestParameterAttribute("negativeKeywordListId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long NegativeKeywordListId { get; private set; } + + /// Required. The mask to control which fields to update. + [Google.Apis.Util.RequestParameterAttribute("updateMask", Google.Apis.Util.RequestParameterType.Query)] + public virtual object UpdateMask { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.NegativeKeywordList Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "patch"; + + /// Gets the HTTP method. + public override string HttpMethod => "PATCH"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/negativeKeywordLists/{negativeKeywordListId}"; + + /// Initializes Patch parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("negativeKeywordListId", new Google.Apis.Discovery.Parameter + { + Name = "negativeKeywordListId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// Gets the TargetingTypes resource. + public virtual TargetingTypesResource TargetingTypes { get; } + + /// The "targetingTypes" collection of methods. + public class TargetingTypesResource + { + private const string Resource = "targetingTypes"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public TargetingTypesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + AssignedTargetingOptions = new AssignedTargetingOptionsResource(service); + } + + /// Gets the AssignedTargetingOptions resource. + public virtual AssignedTargetingOptionsResource AssignedTargetingOptions { get; } + + /// The "assignedTargetingOptions" collection of methods. + public class AssignedTargetingOptionsResource + { + private const string Resource = "assignedTargetingOptions"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public AssignedTargetingOptionsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// + /// Assigns a targeting option to an advertiser. Returns the assigned targeting option if successful. + /// + /// The body of the request. + /// Required. The ID of the advertiser. + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types: * + /// `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` + /// * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` + /// + public virtual CreateRequest Create(Google.Apis.DisplayVideo.v3.Data.AssignedTargetingOption body, long advertiserId, CreateRequest.TargetingTypeEnum targetingType) + { + return new CreateRequest(service, body, advertiserId, targetingType); + } + + /// + /// Assigns a targeting option to an advertiser. Returns the assigned targeting option if successful. + /// + public class CreateRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.AssignedTargetingOption body, long advertiserId, TargetingTypeEnum targetingType) : base(service) + { + AdvertiserId = advertiserId; + TargetingType = targetingType; + Body = body; + InitParameters(); + } + + /// Required. The ID of the advertiser. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types: * + /// `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * + /// `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` + /// + [Google.Apis.Util.RequestParameterAttribute("targetingType", Google.Apis.Util.RequestParameterType.Path)] + public virtual TargetingTypeEnum TargetingType { get; private set; } + + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types: * + /// `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * + /// `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` + /// + public enum TargetingTypeEnum + { + /// Default value when type is not specified or is unknown in this version. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_UNSPECIFIED")] + TARGETINGTYPEUNSPECIFIED = 0, + + /// Target a channel (a custom group of related websites or apps). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CHANNEL")] + TARGETINGTYPECHANNEL = 1, + + /// Target an app category (for example, education or puzzle games). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP_CATEGORY")] + TARGETINGTYPEAPPCATEGORY = 2, + + /// Target a specific app (for example, Angry Birds). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP")] + TARGETINGTYPEAPP = 3, + + /// Target a specific url (for example, quora.com). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_URL")] + TARGETINGTYPEURL = 4, + + /// Target ads during a chosen time period on a specific day. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DAY_AND_TIME")] + TARGETINGTYPEDAYANDTIME = 5, + + /// Target ads to a specific age range (for example, 18-24). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AGE_RANGE")] + TARGETINGTYPEAGERANGE = 6, + + /// Target ads to the specified regions on a regional location list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_REGIONAL_LOCATION_LIST")] + TARGETINGTYPEREGIONALLOCATIONLIST = 7, + + /// + /// Target ads to the specified points of interest on a proximity location list. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PROXIMITY_LOCATION_LIST")] + TARGETINGTYPEPROXIMITYLOCATIONLIST = 8, + + /// Target ads to a specific gender (for example, female or male). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GENDER")] + TARGETINGTYPEGENDER = 9, + + /// Target a specific video player size for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIDEO_PLAYER_SIZE")] + TARGETINGTYPEVIDEOPLAYERSIZE = 10, + + /// Target user rewarded content for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_USER_REWARDED_CONTENT")] + TARGETINGTYPEUSERREWARDEDCONTENT = 11, + + /// + /// Target ads to a specific parental status (for example, parent or not a parent). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PARENTAL_STATUS")] + TARGETINGTYPEPARENTALSTATUS = 12, + + /// + /// Target video or audio ads in a specific content instream position (for example, pre-roll, + /// mid-roll, or post-roll). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_INSTREAM_POSITION")] + TARGETINGTYPECONTENTINSTREAMPOSITION = 13, + + /// Target ads in a specific content outstream position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION")] + TARGETINGTYPECONTENTOUTSTREAMPOSITION = 14, + + /// + /// Target ads to a specific device type (for example, tablet or connected TV). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_TYPE")] + TARGETINGTYPEDEVICETYPE = 15, + + /// + /// Target ads to an audience or groups of audiences. Singleton field, at most one can exist on + /// a single Lineitem at a time. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIENCE_GROUP")] + TARGETINGTYPEAUDIENCEGROUP = 16, + + /// Target ads to specific web browsers (for example, Chrome). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BROWSER")] + TARGETINGTYPEBROWSER = 17, + + /// Target ads to a specific household income range (for example, top 10%). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_HOUSEHOLD_INCOME")] + TARGETINGTYPEHOUSEHOLDINCOME = 18, + + /// Target ads in a specific on screen position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ON_SCREEN_POSITION")] + TARGETINGTYPEONSCREENPOSITION = 19, + + /// + /// Filter web sites through third party verification (for example, IAS or DoubleVerify). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_THIRD_PARTY_VERIFIER")] + TARGETINGTYPETHIRDPARTYVERIFIER = 20, + + /// + /// Filter web sites by specific digital content label ratings (for example, DL-MA: suitable + /// only for mature audiences). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION")] + TARGETINGTYPEDIGITALCONTENTLABELEXCLUSION = 21, + + /// Filter website content by sensitive categories (for example, adult). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION")] + TARGETINGTYPESENSITIVECATEGORYEXCLUSION = 22, + + /// Target ads to a specific environment (for example, web or app). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ENVIRONMENT")] + TARGETINGTYPEENVIRONMENT = 23, + + /// + /// Target ads to a specific network carrier or internet service provider (ISP) (for example, + /// Comcast or Orange). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CARRIER_AND_ISP")] + TARGETINGTYPECARRIERANDISP = 24, + + /// Target ads to a specific operating system (for example, macOS). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OPERATING_SYSTEM")] + TARGETINGTYPEOPERATINGSYSTEM = 25, + + /// + /// Target ads to a specific device make or model (for example, Roku or Samsung). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_MAKE_MODEL")] + TARGETINGTYPEDEVICEMAKEMODEL = 26, + + /// Target ads to a specific keyword (for example, dog or retriever). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_KEYWORD")] + TARGETINGTYPEKEYWORD = 27, + + /// Target ads to a specific negative keyword list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NEGATIVE_KEYWORD_LIST")] + TARGETINGTYPENEGATIVEKEYWORDLIST = 28, + + /// Target ads to a specific viewability (for example, 80% viewable). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIEWABILITY")] + TARGETINGTYPEVIEWABILITY = 29, + + /// + /// Target ads to a specific content category (for example, arts &amp; entertainment). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CATEGORY")] + TARGETINGTYPECATEGORY = 30, + + /// Purchase impressions from specific deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE")] + TARGETINGTYPEINVENTORYSOURCE = 31, + + /// Target ads to a specific language (for example, English or Japanese). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_LANGUAGE")] + TARGETINGTYPELANGUAGE = 32, + + /// + /// Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, + /// the resource uses the "Authorized Direct Sellers and Resellers" option by default. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUTHORIZED_SELLER_STATUS")] + TARGETINGTYPEAUTHORIZEDSELLERSTATUS = 33, + + /// + /// Target ads to a specific regional location (for example, a city or state). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GEO_REGION")] + TARGETINGTYPEGEOREGION = 34, + + /// Purchase impressions from a group of deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE_GROUP")] + TARGETINGTYPEINVENTORYSOURCEGROUP = 35, + + /// Purchase impressions from specific exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_EXCHANGE")] + TARGETINGTYPEEXCHANGE = 36, + + /// Purchase impressions from specific sub-exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SUB_EXCHANGE")] + TARGETINGTYPESUBEXCHANGE = 37, + + /// + /// Target ads around a specific point of interest, such as a notable building, a street + /// address, or latitude/longitude coordinates. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_POI")] + TARGETINGTYPEPOI = 38, + + /// + /// Target ads around locations of a business chain within a specific geo region. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BUSINESS_CHAIN")] + TARGETINGTYPEBUSINESSCHAIN = 39, + + /// Target ads to a specific video content duration. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_DURATION")] + TARGETINGTYPECONTENTDURATION = 40, + + /// Target ads to a specific video content stream type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_STREAM_TYPE")] + TARGETINGTYPECONTENTSTREAMTYPE = 41, + + /// Target ads to a specific native content position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NATIVE_CONTENT_POSITION")] + TARGETINGTYPENATIVECONTENTPOSITION = 42, + + /// Target ads in an Open Measurement enabled inventory. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OMID")] + TARGETINGTYPEOMID = 43, + + /// Target ads to a specific audio content type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIO_CONTENT_TYPE")] + TARGETINGTYPEAUDIOCONTENTTYPE = 44, + + /// Target ads to a specific content genre. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_GENRE")] + TARGETINGTYPECONTENTGENRE = 45, + + /// + /// Target ads to a specific YouTube video. Targeting of this type cannot be created or updated + /// using the API. Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_VIDEO")] + TARGETINGTYPEYOUTUBEVIDEO = 46, + + /// + /// Target ads to a specific YouTube channel. Targeting of this type cannot be created or + /// updated using the API. Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_CHANNEL")] + TARGETINGTYPEYOUTUBECHANNEL = 47, + + /// + /// Target ads to a serve it in a certain position of a session. Only supported for Ad Group + /// resources under YouTube Programmatic Reservation line items. Targeting of this type cannot + /// be created or updated using the API. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SESSION_POSITION")] + TARGETINGTYPESESSIONPOSITION = 48, + } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.AssignedTargetingOption Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "create"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("targetingType", new Google.Apis.Discovery.Parameter + { + Name = "targetingType", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// Deletes an assigned targeting option from an advertiser. + /// Required. The ID of the advertiser. + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types: * + /// `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` + /// * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` + /// + /// + /// Required. The ID of the assigned targeting option to delete. + /// + public virtual DeleteRequest Delete(long advertiserId, DeleteRequest.TargetingTypeEnum targetingType, string assignedTargetingOptionId) + { + return new DeleteRequest(service, advertiserId, targetingType, assignedTargetingOptionId); + } + + /// Deletes an assigned targeting option from an advertiser. + public class DeleteRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, long advertiserId, TargetingTypeEnum targetingType, string assignedTargetingOptionId) : base(service) + { + AdvertiserId = advertiserId; + TargetingType = targetingType; + AssignedTargetingOptionId = assignedTargetingOptionId; + InitParameters(); + } + + /// Required. The ID of the advertiser. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types: * + /// `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * + /// `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` + /// + [Google.Apis.Util.RequestParameterAttribute("targetingType", Google.Apis.Util.RequestParameterType.Path)] + public virtual TargetingTypeEnum TargetingType { get; private set; } + + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types: * + /// `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * + /// `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` + /// + public enum TargetingTypeEnum + { + /// Default value when type is not specified or is unknown in this version. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_UNSPECIFIED")] + TARGETINGTYPEUNSPECIFIED = 0, + + /// Target a channel (a custom group of related websites or apps). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CHANNEL")] + TARGETINGTYPECHANNEL = 1, + + /// Target an app category (for example, education or puzzle games). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP_CATEGORY")] + TARGETINGTYPEAPPCATEGORY = 2, + + /// Target a specific app (for example, Angry Birds). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP")] + TARGETINGTYPEAPP = 3, + + /// Target a specific url (for example, quora.com). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_URL")] + TARGETINGTYPEURL = 4, + + /// Target ads during a chosen time period on a specific day. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DAY_AND_TIME")] + TARGETINGTYPEDAYANDTIME = 5, + + /// Target ads to a specific age range (for example, 18-24). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AGE_RANGE")] + TARGETINGTYPEAGERANGE = 6, + + /// Target ads to the specified regions on a regional location list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_REGIONAL_LOCATION_LIST")] + TARGETINGTYPEREGIONALLOCATIONLIST = 7, + + /// + /// Target ads to the specified points of interest on a proximity location list. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PROXIMITY_LOCATION_LIST")] + TARGETINGTYPEPROXIMITYLOCATIONLIST = 8, + + /// Target ads to a specific gender (for example, female or male). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GENDER")] + TARGETINGTYPEGENDER = 9, + + /// Target a specific video player size for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIDEO_PLAYER_SIZE")] + TARGETINGTYPEVIDEOPLAYERSIZE = 10, + + /// Target user rewarded content for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_USER_REWARDED_CONTENT")] + TARGETINGTYPEUSERREWARDEDCONTENT = 11, + + /// + /// Target ads to a specific parental status (for example, parent or not a parent). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PARENTAL_STATUS")] + TARGETINGTYPEPARENTALSTATUS = 12, + + /// + /// Target video or audio ads in a specific content instream position (for example, pre-roll, + /// mid-roll, or post-roll). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_INSTREAM_POSITION")] + TARGETINGTYPECONTENTINSTREAMPOSITION = 13, + + /// Target ads in a specific content outstream position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION")] + TARGETINGTYPECONTENTOUTSTREAMPOSITION = 14, + + /// + /// Target ads to a specific device type (for example, tablet or connected TV). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_TYPE")] + TARGETINGTYPEDEVICETYPE = 15, + + /// + /// Target ads to an audience or groups of audiences. Singleton field, at most one can exist on + /// a single Lineitem at a time. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIENCE_GROUP")] + TARGETINGTYPEAUDIENCEGROUP = 16, + + /// Target ads to specific web browsers (for example, Chrome). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BROWSER")] + TARGETINGTYPEBROWSER = 17, + + /// Target ads to a specific household income range (for example, top 10%). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_HOUSEHOLD_INCOME")] + TARGETINGTYPEHOUSEHOLDINCOME = 18, + + /// Target ads in a specific on screen position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ON_SCREEN_POSITION")] + TARGETINGTYPEONSCREENPOSITION = 19, + + /// + /// Filter web sites through third party verification (for example, IAS or DoubleVerify). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_THIRD_PARTY_VERIFIER")] + TARGETINGTYPETHIRDPARTYVERIFIER = 20, + + /// + /// Filter web sites by specific digital content label ratings (for example, DL-MA: suitable + /// only for mature audiences). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION")] + TARGETINGTYPEDIGITALCONTENTLABELEXCLUSION = 21, + + /// Filter website content by sensitive categories (for example, adult). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION")] + TARGETINGTYPESENSITIVECATEGORYEXCLUSION = 22, + + /// Target ads to a specific environment (for example, web or app). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ENVIRONMENT")] + TARGETINGTYPEENVIRONMENT = 23, + + /// + /// Target ads to a specific network carrier or internet service provider (ISP) (for example, + /// Comcast or Orange). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CARRIER_AND_ISP")] + TARGETINGTYPECARRIERANDISP = 24, + + /// Target ads to a specific operating system (for example, macOS). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OPERATING_SYSTEM")] + TARGETINGTYPEOPERATINGSYSTEM = 25, + + /// + /// Target ads to a specific device make or model (for example, Roku or Samsung). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_MAKE_MODEL")] + TARGETINGTYPEDEVICEMAKEMODEL = 26, + + /// Target ads to a specific keyword (for example, dog or retriever). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_KEYWORD")] + TARGETINGTYPEKEYWORD = 27, + + /// Target ads to a specific negative keyword list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NEGATIVE_KEYWORD_LIST")] + TARGETINGTYPENEGATIVEKEYWORDLIST = 28, + + /// Target ads to a specific viewability (for example, 80% viewable). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIEWABILITY")] + TARGETINGTYPEVIEWABILITY = 29, + + /// + /// Target ads to a specific content category (for example, arts &amp; entertainment). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CATEGORY")] + TARGETINGTYPECATEGORY = 30, + + /// Purchase impressions from specific deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE")] + TARGETINGTYPEINVENTORYSOURCE = 31, + + /// Target ads to a specific language (for example, English or Japanese). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_LANGUAGE")] + TARGETINGTYPELANGUAGE = 32, + + /// + /// Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, + /// the resource uses the "Authorized Direct Sellers and Resellers" option by default. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUTHORIZED_SELLER_STATUS")] + TARGETINGTYPEAUTHORIZEDSELLERSTATUS = 33, + + /// + /// Target ads to a specific regional location (for example, a city or state). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GEO_REGION")] + TARGETINGTYPEGEOREGION = 34, + + /// Purchase impressions from a group of deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE_GROUP")] + TARGETINGTYPEINVENTORYSOURCEGROUP = 35, + + /// Purchase impressions from specific exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_EXCHANGE")] + TARGETINGTYPEEXCHANGE = 36, + + /// Purchase impressions from specific sub-exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SUB_EXCHANGE")] + TARGETINGTYPESUBEXCHANGE = 37, + + /// + /// Target ads around a specific point of interest, such as a notable building, a street + /// address, or latitude/longitude coordinates. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_POI")] + TARGETINGTYPEPOI = 38, + + /// + /// Target ads around locations of a business chain within a specific geo region. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BUSINESS_CHAIN")] + TARGETINGTYPEBUSINESSCHAIN = 39, + + /// Target ads to a specific video content duration. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_DURATION")] + TARGETINGTYPECONTENTDURATION = 40, + + /// Target ads to a specific video content stream type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_STREAM_TYPE")] + TARGETINGTYPECONTENTSTREAMTYPE = 41, + + /// Target ads to a specific native content position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NATIVE_CONTENT_POSITION")] + TARGETINGTYPENATIVECONTENTPOSITION = 42, + + /// Target ads in an Open Measurement enabled inventory. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OMID")] + TARGETINGTYPEOMID = 43, + + /// Target ads to a specific audio content type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIO_CONTENT_TYPE")] + TARGETINGTYPEAUDIOCONTENTTYPE = 44, + + /// Target ads to a specific content genre. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_GENRE")] + TARGETINGTYPECONTENTGENRE = 45, + + /// + /// Target ads to a specific YouTube video. Targeting of this type cannot be created or updated + /// using the API. Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_VIDEO")] + TARGETINGTYPEYOUTUBEVIDEO = 46, + + /// + /// Target ads to a specific YouTube channel. Targeting of this type cannot be created or + /// updated using the API. Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_CHANNEL")] + TARGETINGTYPEYOUTUBECHANNEL = 47, + + /// + /// Target ads to a serve it in a certain position of a session. Only supported for Ad Group + /// resources under YouTube Programmatic Reservation line items. Targeting of this type cannot + /// be created or updated using the API. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SESSION_POSITION")] + TARGETINGTYPESESSIONPOSITION = 48, + } + + /// Required. The ID of the assigned targeting option to delete. + [Google.Apis.Util.RequestParameterAttribute("assignedTargetingOptionId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string AssignedTargetingOptionId { get; private set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("targetingType", new Google.Apis.Discovery.Parameter + { + Name = "targetingType", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("assignedTargetingOptionId", new Google.Apis.Discovery.Parameter + { + Name = "assignedTargetingOptionId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// Gets a single targeting option assigned to an advertiser. + /// Required. The ID of the advertiser. + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types: * + /// `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` + /// * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_YOUTUBE_VIDEO` * + /// `TARGETING_TYPE_YOUTUBE_CHANNEL` + /// + /// + /// Required. An identifier unique to the targeting type in this advertiser that identifies the assigned + /// targeting option being requested. + /// + public virtual GetRequest Get(long advertiserId, GetRequest.TargetingTypeEnum targetingType, string assignedTargetingOptionId) + { + return new GetRequest(service, advertiserId, targetingType, assignedTargetingOptionId); + } + + /// Gets a single targeting option assigned to an advertiser. + public class GetRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, long advertiserId, TargetingTypeEnum targetingType, string assignedTargetingOptionId) : base(service) + { + AdvertiserId = advertiserId; + TargetingType = targetingType; + AssignedTargetingOptionId = assignedTargetingOptionId; + InitParameters(); + } + + /// Required. The ID of the advertiser. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types: * + /// `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * + /// `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * + /// `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL` + /// + [Google.Apis.Util.RequestParameterAttribute("targetingType", Google.Apis.Util.RequestParameterType.Path)] + public virtual TargetingTypeEnum TargetingType { get; private set; } + + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types: * + /// `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * + /// `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * + /// `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL` + /// + public enum TargetingTypeEnum + { + /// Default value when type is not specified or is unknown in this version. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_UNSPECIFIED")] + TARGETINGTYPEUNSPECIFIED = 0, + + /// Target a channel (a custom group of related websites or apps). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CHANNEL")] + TARGETINGTYPECHANNEL = 1, + + /// Target an app category (for example, education or puzzle games). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP_CATEGORY")] + TARGETINGTYPEAPPCATEGORY = 2, + + /// Target a specific app (for example, Angry Birds). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP")] + TARGETINGTYPEAPP = 3, + + /// Target a specific url (for example, quora.com). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_URL")] + TARGETINGTYPEURL = 4, + + /// Target ads during a chosen time period on a specific day. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DAY_AND_TIME")] + TARGETINGTYPEDAYANDTIME = 5, + + /// Target ads to a specific age range (for example, 18-24). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AGE_RANGE")] + TARGETINGTYPEAGERANGE = 6, + + /// Target ads to the specified regions on a regional location list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_REGIONAL_LOCATION_LIST")] + TARGETINGTYPEREGIONALLOCATIONLIST = 7, + + /// + /// Target ads to the specified points of interest on a proximity location list. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PROXIMITY_LOCATION_LIST")] + TARGETINGTYPEPROXIMITYLOCATIONLIST = 8, + + /// Target ads to a specific gender (for example, female or male). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GENDER")] + TARGETINGTYPEGENDER = 9, + + /// Target a specific video player size for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIDEO_PLAYER_SIZE")] + TARGETINGTYPEVIDEOPLAYERSIZE = 10, + + /// Target user rewarded content for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_USER_REWARDED_CONTENT")] + TARGETINGTYPEUSERREWARDEDCONTENT = 11, + + /// + /// Target ads to a specific parental status (for example, parent or not a parent). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PARENTAL_STATUS")] + TARGETINGTYPEPARENTALSTATUS = 12, + + /// + /// Target video or audio ads in a specific content instream position (for example, pre-roll, + /// mid-roll, or post-roll). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_INSTREAM_POSITION")] + TARGETINGTYPECONTENTINSTREAMPOSITION = 13, + + /// Target ads in a specific content outstream position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION")] + TARGETINGTYPECONTENTOUTSTREAMPOSITION = 14, + + /// + /// Target ads to a specific device type (for example, tablet or connected TV). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_TYPE")] + TARGETINGTYPEDEVICETYPE = 15, + + /// + /// Target ads to an audience or groups of audiences. Singleton field, at most one can exist on + /// a single Lineitem at a time. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIENCE_GROUP")] + TARGETINGTYPEAUDIENCEGROUP = 16, + + /// Target ads to specific web browsers (for example, Chrome). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BROWSER")] + TARGETINGTYPEBROWSER = 17, + + /// Target ads to a specific household income range (for example, top 10%). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_HOUSEHOLD_INCOME")] + TARGETINGTYPEHOUSEHOLDINCOME = 18, + + /// Target ads in a specific on screen position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ON_SCREEN_POSITION")] + TARGETINGTYPEONSCREENPOSITION = 19, + + /// + /// Filter web sites through third party verification (for example, IAS or DoubleVerify). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_THIRD_PARTY_VERIFIER")] + TARGETINGTYPETHIRDPARTYVERIFIER = 20, + + /// + /// Filter web sites by specific digital content label ratings (for example, DL-MA: suitable + /// only for mature audiences). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION")] + TARGETINGTYPEDIGITALCONTENTLABELEXCLUSION = 21, + + /// Filter website content by sensitive categories (for example, adult). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION")] + TARGETINGTYPESENSITIVECATEGORYEXCLUSION = 22, + + /// Target ads to a specific environment (for example, web or app). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ENVIRONMENT")] + TARGETINGTYPEENVIRONMENT = 23, + + /// + /// Target ads to a specific network carrier or internet service provider (ISP) (for example, + /// Comcast or Orange). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CARRIER_AND_ISP")] + TARGETINGTYPECARRIERANDISP = 24, + + /// Target ads to a specific operating system (for example, macOS). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OPERATING_SYSTEM")] + TARGETINGTYPEOPERATINGSYSTEM = 25, + + /// + /// Target ads to a specific device make or model (for example, Roku or Samsung). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_MAKE_MODEL")] + TARGETINGTYPEDEVICEMAKEMODEL = 26, + + /// Target ads to a specific keyword (for example, dog or retriever). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_KEYWORD")] + TARGETINGTYPEKEYWORD = 27, + + /// Target ads to a specific negative keyword list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NEGATIVE_KEYWORD_LIST")] + TARGETINGTYPENEGATIVEKEYWORDLIST = 28, + + /// Target ads to a specific viewability (for example, 80% viewable). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIEWABILITY")] + TARGETINGTYPEVIEWABILITY = 29, + + /// + /// Target ads to a specific content category (for example, arts &amp; entertainment). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CATEGORY")] + TARGETINGTYPECATEGORY = 30, + + /// Purchase impressions from specific deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE")] + TARGETINGTYPEINVENTORYSOURCE = 31, + + /// Target ads to a specific language (for example, English or Japanese). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_LANGUAGE")] + TARGETINGTYPELANGUAGE = 32, + + /// + /// Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, + /// the resource uses the "Authorized Direct Sellers and Resellers" option by default. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUTHORIZED_SELLER_STATUS")] + TARGETINGTYPEAUTHORIZEDSELLERSTATUS = 33, + + /// + /// Target ads to a specific regional location (for example, a city or state). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GEO_REGION")] + TARGETINGTYPEGEOREGION = 34, + + /// Purchase impressions from a group of deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE_GROUP")] + TARGETINGTYPEINVENTORYSOURCEGROUP = 35, + + /// Purchase impressions from specific exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_EXCHANGE")] + TARGETINGTYPEEXCHANGE = 36, + + /// Purchase impressions from specific sub-exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SUB_EXCHANGE")] + TARGETINGTYPESUBEXCHANGE = 37, + + /// + /// Target ads around a specific point of interest, such as a notable building, a street + /// address, or latitude/longitude coordinates. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_POI")] + TARGETINGTYPEPOI = 38, + + /// + /// Target ads around locations of a business chain within a specific geo region. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BUSINESS_CHAIN")] + TARGETINGTYPEBUSINESSCHAIN = 39, + + /// Target ads to a specific video content duration. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_DURATION")] + TARGETINGTYPECONTENTDURATION = 40, + + /// Target ads to a specific video content stream type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_STREAM_TYPE")] + TARGETINGTYPECONTENTSTREAMTYPE = 41, + + /// Target ads to a specific native content position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NATIVE_CONTENT_POSITION")] + TARGETINGTYPENATIVECONTENTPOSITION = 42, + + /// Target ads in an Open Measurement enabled inventory. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OMID")] + TARGETINGTYPEOMID = 43, + + /// Target ads to a specific audio content type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIO_CONTENT_TYPE")] + TARGETINGTYPEAUDIOCONTENTTYPE = 44, + + /// Target ads to a specific content genre. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_GENRE")] + TARGETINGTYPECONTENTGENRE = 45, + + /// + /// Target ads to a specific YouTube video. Targeting of this type cannot be created or updated + /// using the API. Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_VIDEO")] + TARGETINGTYPEYOUTUBEVIDEO = 46, + + /// + /// Target ads to a specific YouTube channel. Targeting of this type cannot be created or + /// updated using the API. Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_CHANNEL")] + TARGETINGTYPEYOUTUBECHANNEL = 47, + + /// + /// Target ads to a serve it in a certain position of a session. Only supported for Ad Group + /// resources under YouTube Programmatic Reservation line items. Targeting of this type cannot + /// be created or updated using the API. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SESSION_POSITION")] + TARGETINGTYPESESSIONPOSITION = 48, + } + + /// + /// Required. An identifier unique to the targeting type in this advertiser that identifies the + /// assigned targeting option being requested. + /// + [Google.Apis.Util.RequestParameterAttribute("assignedTargetingOptionId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string AssignedTargetingOptionId { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("targetingType", new Google.Apis.Discovery.Parameter + { + Name = "targetingType", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("assignedTargetingOptionId", new Google.Apis.Discovery.Parameter + { + Name = "assignedTargetingOptionId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// Lists the targeting options assigned to an advertiser. + /// Required. The ID of the advertiser. + /// + /// Required. Identifies the type of assigned targeting options to list. Supported targeting types: * + /// `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` + /// * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_YOUTUBE_VIDEO` * + /// `TARGETING_TYPE_YOUTUBE_CHANNEL` + /// + public virtual ListRequest List(long advertiserId, ListRequest.TargetingTypeEnum targetingType) + { + return new ListRequest(service, advertiserId, targetingType); + } + + /// Lists the targeting options assigned to an advertiser. + public class ListRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, long advertiserId, TargetingTypeEnum targetingType) : base(service) + { + AdvertiserId = advertiserId; + TargetingType = targetingType; + InitParameters(); + } + + /// Required. The ID of the advertiser. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// + /// Required. Identifies the type of assigned targeting options to list. Supported targeting types: + /// * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * + /// `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * + /// `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL` + /// + [Google.Apis.Util.RequestParameterAttribute("targetingType", Google.Apis.Util.RequestParameterType.Path)] + public virtual TargetingTypeEnum TargetingType { get; private set; } + + /// + /// Required. Identifies the type of assigned targeting options to list. Supported targeting types: + /// * `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * + /// `TARGETING_TYPE_OMID` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * + /// `TARGETING_TYPE_YOUTUBE_VIDEO` * `TARGETING_TYPE_YOUTUBE_CHANNEL` + /// + public enum TargetingTypeEnum + { + /// Default value when type is not specified or is unknown in this version. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_UNSPECIFIED")] + TARGETINGTYPEUNSPECIFIED = 0, + + /// Target a channel (a custom group of related websites or apps). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CHANNEL")] + TARGETINGTYPECHANNEL = 1, + + /// Target an app category (for example, education or puzzle games). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP_CATEGORY")] + TARGETINGTYPEAPPCATEGORY = 2, + + /// Target a specific app (for example, Angry Birds). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP")] + TARGETINGTYPEAPP = 3, + + /// Target a specific url (for example, quora.com). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_URL")] + TARGETINGTYPEURL = 4, + + /// Target ads during a chosen time period on a specific day. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DAY_AND_TIME")] + TARGETINGTYPEDAYANDTIME = 5, + + /// Target ads to a specific age range (for example, 18-24). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AGE_RANGE")] + TARGETINGTYPEAGERANGE = 6, + + /// Target ads to the specified regions on a regional location list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_REGIONAL_LOCATION_LIST")] + TARGETINGTYPEREGIONALLOCATIONLIST = 7, + + /// + /// Target ads to the specified points of interest on a proximity location list. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PROXIMITY_LOCATION_LIST")] + TARGETINGTYPEPROXIMITYLOCATIONLIST = 8, + + /// Target ads to a specific gender (for example, female or male). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GENDER")] + TARGETINGTYPEGENDER = 9, + + /// Target a specific video player size for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIDEO_PLAYER_SIZE")] + TARGETINGTYPEVIDEOPLAYERSIZE = 10, + + /// Target user rewarded content for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_USER_REWARDED_CONTENT")] + TARGETINGTYPEUSERREWARDEDCONTENT = 11, + + /// + /// Target ads to a specific parental status (for example, parent or not a parent). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PARENTAL_STATUS")] + TARGETINGTYPEPARENTALSTATUS = 12, + + /// + /// Target video or audio ads in a specific content instream position (for example, pre-roll, + /// mid-roll, or post-roll). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_INSTREAM_POSITION")] + TARGETINGTYPECONTENTINSTREAMPOSITION = 13, + + /// Target ads in a specific content outstream position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION")] + TARGETINGTYPECONTENTOUTSTREAMPOSITION = 14, + + /// + /// Target ads to a specific device type (for example, tablet or connected TV). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_TYPE")] + TARGETINGTYPEDEVICETYPE = 15, + + /// + /// Target ads to an audience or groups of audiences. Singleton field, at most one can exist on + /// a single Lineitem at a time. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIENCE_GROUP")] + TARGETINGTYPEAUDIENCEGROUP = 16, + + /// Target ads to specific web browsers (for example, Chrome). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BROWSER")] + TARGETINGTYPEBROWSER = 17, + + /// Target ads to a specific household income range (for example, top 10%). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_HOUSEHOLD_INCOME")] + TARGETINGTYPEHOUSEHOLDINCOME = 18, + + /// Target ads in a specific on screen position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ON_SCREEN_POSITION")] + TARGETINGTYPEONSCREENPOSITION = 19, + + /// + /// Filter web sites through third party verification (for example, IAS or DoubleVerify). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_THIRD_PARTY_VERIFIER")] + TARGETINGTYPETHIRDPARTYVERIFIER = 20, + + /// + /// Filter web sites by specific digital content label ratings (for example, DL-MA: suitable + /// only for mature audiences). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION")] + TARGETINGTYPEDIGITALCONTENTLABELEXCLUSION = 21, + + /// Filter website content by sensitive categories (for example, adult). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION")] + TARGETINGTYPESENSITIVECATEGORYEXCLUSION = 22, + + /// Target ads to a specific environment (for example, web or app). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ENVIRONMENT")] + TARGETINGTYPEENVIRONMENT = 23, + + /// + /// Target ads to a specific network carrier or internet service provider (ISP) (for example, + /// Comcast or Orange). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CARRIER_AND_ISP")] + TARGETINGTYPECARRIERANDISP = 24, + + /// Target ads to a specific operating system (for example, macOS). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OPERATING_SYSTEM")] + TARGETINGTYPEOPERATINGSYSTEM = 25, + + /// + /// Target ads to a specific device make or model (for example, Roku or Samsung). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_MAKE_MODEL")] + TARGETINGTYPEDEVICEMAKEMODEL = 26, + + /// Target ads to a specific keyword (for example, dog or retriever). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_KEYWORD")] + TARGETINGTYPEKEYWORD = 27, + + /// Target ads to a specific negative keyword list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NEGATIVE_KEYWORD_LIST")] + TARGETINGTYPENEGATIVEKEYWORDLIST = 28, + + /// Target ads to a specific viewability (for example, 80% viewable). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIEWABILITY")] + TARGETINGTYPEVIEWABILITY = 29, + + /// + /// Target ads to a specific content category (for example, arts &amp; entertainment). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CATEGORY")] + TARGETINGTYPECATEGORY = 30, + + /// Purchase impressions from specific deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE")] + TARGETINGTYPEINVENTORYSOURCE = 31, + + /// Target ads to a specific language (for example, English or Japanese). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_LANGUAGE")] + TARGETINGTYPELANGUAGE = 32, + + /// + /// Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, + /// the resource uses the "Authorized Direct Sellers and Resellers" option by default. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUTHORIZED_SELLER_STATUS")] + TARGETINGTYPEAUTHORIZEDSELLERSTATUS = 33, + + /// + /// Target ads to a specific regional location (for example, a city or state). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GEO_REGION")] + TARGETINGTYPEGEOREGION = 34, + + /// Purchase impressions from a group of deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE_GROUP")] + TARGETINGTYPEINVENTORYSOURCEGROUP = 35, + + /// Purchase impressions from specific exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_EXCHANGE")] + TARGETINGTYPEEXCHANGE = 36, + + /// Purchase impressions from specific sub-exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SUB_EXCHANGE")] + TARGETINGTYPESUBEXCHANGE = 37, + + /// + /// Target ads around a specific point of interest, such as a notable building, a street + /// address, or latitude/longitude coordinates. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_POI")] + TARGETINGTYPEPOI = 38, + + /// + /// Target ads around locations of a business chain within a specific geo region. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BUSINESS_CHAIN")] + TARGETINGTYPEBUSINESSCHAIN = 39, + + /// Target ads to a specific video content duration. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_DURATION")] + TARGETINGTYPECONTENTDURATION = 40, + + /// Target ads to a specific video content stream type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_STREAM_TYPE")] + TARGETINGTYPECONTENTSTREAMTYPE = 41, + + /// Target ads to a specific native content position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NATIVE_CONTENT_POSITION")] + TARGETINGTYPENATIVECONTENTPOSITION = 42, + + /// Target ads in an Open Measurement enabled inventory. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OMID")] + TARGETINGTYPEOMID = 43, + + /// Target ads to a specific audio content type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIO_CONTENT_TYPE")] + TARGETINGTYPEAUDIOCONTENTTYPE = 44, + + /// Target ads to a specific content genre. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_GENRE")] + TARGETINGTYPECONTENTGENRE = 45, + + /// + /// Target ads to a specific YouTube video. Targeting of this type cannot be created or updated + /// using the API. Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_VIDEO")] + TARGETINGTYPEYOUTUBEVIDEO = 46, + + /// + /// Target ads to a specific YouTube channel. Targeting of this type cannot be created or + /// updated using the API. Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_CHANNEL")] + TARGETINGTYPEYOUTUBECHANNEL = 47, + + /// + /// Target ads to a serve it in a certain position of a session. Only supported for Ad Group + /// resources under YouTube Programmatic Reservation line items. Targeting of this type cannot + /// be created or updated using the API. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SESSION_POSITION")] + TARGETINGTYPESESSIONPOSITION = 48, + } + + /// + /// Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are + /// made up of one or more restrictions. * Restrictions can be combined by the `OR` logical + /// operator. * A restriction has the form of `{field} {operator} {value}`. * All fields must use + /// the `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` Examples: * + /// `AssignedTargetingOption` with ID 123456: `assignedTargetingOptionId="123456"` The length of + /// this field should be no more than 500 characters. Reference our [filter `LIST` + /// requests](/display-video/api/guides/how-tos/filters) guide for more information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (default) + /// The default sorting order is ascending. To specify descending order for a field, a suffix "desc" + /// should be added to the field name. Example: `assignedTargetingOptionId desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Must be between `1` and `5000`. If unspecified will default to `100`. + /// Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token identifying a page of results the server should return. Typically, this is the value of + /// next_page_token returned from the previous call to `ListAdvertiserAssignedTargetingOptions` + /// method. If not specified, the first page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}/targetingTypes/{+targetingType}/assignedTargetingOptions"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("targetingType", new Google.Apis.Discovery.Parameter + { + Name = "targetingType", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + } + + /// + /// Audits an advertiser. Returns the counts of used entities per resource type under the advertiser provided. + /// Used entities count towards their respective resource limit. See + /// https://support.google.com/displayvideo/answer/6071450. + /// + /// Required. The ID of the advertiser to audit. + public virtual AuditRequest Audit(long advertiserId) + { + return new AuditRequest(service, advertiserId); + } + + /// + /// Audits an advertiser. Returns the counts of used entities per resource type under the advertiser provided. + /// Used entities count towards their respective resource limit. See + /// https://support.google.com/displayvideo/answer/6071450. + /// + public class AuditRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Audit request. + public AuditRequest(Google.Apis.Services.IClientService service, long advertiserId) : base(service) + { + AdvertiserId = advertiserId; + InitParameters(); + } + + /// Required. The ID of the advertiser to audit. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// + /// Optional. The specific fields to return. If no mask is specified, all fields in the response proto will + /// be filled. Valid values are: * usedLineItemsCount * usedInsertionOrdersCount * usedCampaignsCount * + /// channelsCount * negativelyTargetedChannelsCount * negativeKeywordListsCount * adGroupCriteriaCount * + /// campaignCriteriaCount + /// + [Google.Apis.Util.RequestParameterAttribute("readMask", Google.Apis.Util.RequestParameterType.Query)] + public virtual object ReadMask { get; set; } + + /// Gets the method name. + public override string MethodName => "audit"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}:audit"; + + /// Initializes Audit parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("readMask", new Google.Apis.Discovery.Parameter + { + Name = "readMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// + /// Creates a new advertiser. Returns the newly created advertiser if successful. This method can take up to 180 + /// seconds to complete. + /// + /// The body of the request. + public virtual CreateRequest Create(Google.Apis.DisplayVideo.v3.Data.Advertiser body) + { + return new CreateRequest(service, body); + } + + /// + /// Creates a new advertiser. Returns the newly created advertiser if successful. This method can take up to 180 + /// seconds to complete. + /// + public class CreateRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.Advertiser body) : base(service) + { + Body = body; + InitParameters(); + } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.Advertiser Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "create"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + } + } + + /// + /// Deletes an advertiser. Deleting an advertiser will delete all of its child resources, for example, + /// campaigns, insertion orders and line items. A deleted advertiser cannot be recovered. + /// + /// The ID of the advertiser we need to delete. + public virtual DeleteRequest Delete(long advertiserId) + { + return new DeleteRequest(service, advertiserId); + } + + /// + /// Deletes an advertiser. Deleting an advertiser will delete all of its child resources, for example, + /// campaigns, insertion orders and line items. A deleted advertiser cannot be recovered. + /// + public class DeleteRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, long advertiserId) : base(service) + { + AdvertiserId = advertiserId; + InitParameters(); + } + + /// The ID of the advertiser we need to delete. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// + /// Edits targeting options under a single advertiser. The operation will delete the assigned targeting options + /// provided in BulkEditAdvertiserAssignedTargetingOptionsRequest.delete_requests and then create the assigned + /// targeting options provided in BulkEditAdvertiserAssignedTargetingOptionsRequest.create_requests . + /// + /// The body of the request. + /// Required. The ID of the advertiser. + public virtual EditAssignedTargetingOptionsRequest EditAssignedTargetingOptions(Google.Apis.DisplayVideo.v3.Data.BulkEditAdvertiserAssignedTargetingOptionsRequest body, long advertiserId) + { + return new EditAssignedTargetingOptionsRequest(service, body, advertiserId); + } + + /// + /// Edits targeting options under a single advertiser. The operation will delete the assigned targeting options + /// provided in BulkEditAdvertiserAssignedTargetingOptionsRequest.delete_requests and then create the assigned + /// targeting options provided in BulkEditAdvertiserAssignedTargetingOptionsRequest.create_requests . + /// + public class EditAssignedTargetingOptionsRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new EditAssignedTargetingOptions request. + public EditAssignedTargetingOptionsRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.BulkEditAdvertiserAssignedTargetingOptionsRequest body, long advertiserId) : base(service) + { + AdvertiserId = advertiserId; + Body = body; + InitParameters(); + } + + /// Required. The ID of the advertiser. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.BulkEditAdvertiserAssignedTargetingOptionsRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "editAssignedTargetingOptions"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}:editAssignedTargetingOptions"; + + /// Initializes EditAssignedTargetingOptions parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// Gets an advertiser. + /// Required. The ID of the advertiser to fetch. + public virtual GetRequest Get(long advertiserId) + { + return new GetRequest(service, advertiserId); + } + + /// Gets an advertiser. + public class GetRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, long advertiserId) : base(service) + { + AdvertiserId = advertiserId; + InitParameters(); + } + + /// Required. The ID of the advertiser to fetch. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// + /// Lists advertisers that are accessible to the current user. The order is defined by the order_by parameter. A + /// single partner_id is required. Cross-partner listing is not supported. + /// + public virtual ListRequest List() + { + return new ListRequest(service); + } + + /// + /// Lists advertisers that are accessible to the current user. The order is defined by the order_by parameter. A + /// single partner_id is required. Cross-partner listing is not supported. + /// + public class ListRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service) : base(service) + { + InitParameters(); + } + + /// + /// Allows filtering by advertiser fields. Supported syntax: * Filter expressions are made up of one or more + /// restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. * A restriction has the + /// form of `{field} {operator} {value}`. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO + /// (&gt;=)` or `LESS THAN OR EQUAL TO (&lt;=)` operators. * All other fields must use the `EQUALS + /// (=)` operator. Supported fields: * `advertiserId` * `displayName` * `entityStatus` * `updateTime` (input + /// in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All active advertisers under a partner: + /// `entityStatus="ENTITY_STATUS_ACTIVE"` * All advertisers with an update time less than or equal to + /// 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime&lt;="2020-11-04T18:54:47Z"` * All advertisers + /// with an update time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): + /// `updateTime&gt;="2020-11-04T18:54:47Z"` The length of this field should be no more than 500 + /// characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for + /// more information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Field by which to sort the list. Acceptable values are: * `displayName` (default) * `entityStatus` * + /// `updateTime` The default sorting order is ascending. To specify descending order for a field, a suffix + /// "desc" should be added to the field name. For example, `displayName desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token identifying a page of results the server should return. Typically, this is the value of + /// next_page_token returned from the previous call to `ListAdvertisers` method. If not specified, the first + /// page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// + /// Required. The ID of the partner that the fetched advertisers should all belong to. The system only + /// supports listing advertisers for one partner at a time. + /// + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Lists assigned targeting options of an advertiser across targeting types. + /// Required. The ID of the advertiser the line item belongs to. + public virtual ListAssignedTargetingOptionsRequest ListAssignedTargetingOptions(long advertiserId) + { + return new ListAssignedTargetingOptionsRequest(service, advertiserId); + } + + /// Lists assigned targeting options of an advertiser across targeting types. + public class ListAssignedTargetingOptionsRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new ListAssignedTargetingOptions request. + public ListAssignedTargetingOptionsRequest(Google.Apis.Services.IClientService service, long advertiserId) : base(service) + { + AdvertiserId = advertiserId; + InitParameters(); + } + + /// Required. The ID of the advertiser the line item belongs to. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// + /// Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up + /// of one or more restrictions. * Restrictions can be combined by the `OR` logical operator. * A + /// restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=) + /// operator`. Supported fields: * `targetingType` Examples: * targetingType with value + /// TARGETING_TYPE_CHANNEL `targetingType="TARGETING_TYPE_CHANNEL"` The length of this field should be no + /// more than 500 characters. Reference our [filter `LIST` + /// requests](/display-video/api/guides/how-tos/filters) guide for more information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Field by which to sort the list. Acceptable values are: * `targetingType` (default) The default sorting + /// order is ascending. To specify descending order for a field, a suffix "desc" should be added to the + /// field name. Example: `targetingType desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. The size must be an integer between `1` and `5000`. If unspecified, the default is + /// '5000'. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token that lets the client fetch the next page of results. Typically, this is the value of + /// next_page_token returned from the previous call to `BulkListAdvertiserAssignedTargetingOptions` method. + /// If not specified, the first page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "listAssignedTargetingOptions"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}:listAssignedTargetingOptions"; + + /// Initializes ListAssignedTargetingOptions parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Updates an existing advertiser. Returns the updated advertiser if successful. + /// The body of the request. + /// Output only. The unique ID of the advertiser. Assigned by the system. + public virtual PatchRequest Patch(Google.Apis.DisplayVideo.v3.Data.Advertiser body, long advertiserId) + { + return new PatchRequest(service, body, advertiserId); + } + + /// Updates an existing advertiser. Returns the updated advertiser if successful. + public class PatchRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.Advertiser body, long advertiserId) : base(service) + { + AdvertiserId = advertiserId; + Body = body; + InitParameters(); + } + + /// Output only. The unique ID of the advertiser. Assigned by the system. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AdvertiserId { get; private set; } + + /// Required. The mask to control which fields to update. + [Google.Apis.Util.RequestParameterAttribute("updateMask", Google.Apis.Util.RequestParameterType.Query)] + public virtual object UpdateMask { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.Advertiser Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "patch"; + + /// Gets the HTTP method. + public override string HttpMethod => "PATCH"; + + /// Gets the REST path. + public override string RestPath => "v3/advertisers/{+advertiserId}"; + + /// Initializes Patch parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// The "combinedAudiences" collection of methods. + public class CombinedAudiencesResource + { + private const string Resource = "combinedAudiences"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public CombinedAudiencesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Gets a combined audience. + /// Required. The ID of the combined audience to fetch. + public virtual GetRequest Get(long combinedAudienceId) + { + return new GetRequest(service, combinedAudienceId); + } + + /// Gets a combined audience. + public class GetRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, long combinedAudienceId) : base(service) + { + CombinedAudienceId = combinedAudienceId; + InitParameters(); + } + + /// Required. The ID of the combined audience to fetch. + [Google.Apis.Util.RequestParameterAttribute("combinedAudienceId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long CombinedAudienceId { get; private set; } + + /// The ID of the advertiser that has access to the fetched combined audience. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// The ID of the partner that has access to the fetched combined audience. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/combinedAudiences/{+combinedAudienceId}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("combinedAudienceId", new Google.Apis.Discovery.Parameter + { + Name = "combinedAudienceId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Lists combined audiences. The order is defined by the order_by parameter. + public virtual ListRequest List() + { + return new ListRequest(service); + } + + /// Lists combined audiences. The order is defined by the order_by parameter. + public class ListRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service) : base(service) + { + InitParameters(); + } + + /// The ID of the advertiser that has access to the fetched combined audiences. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// + /// Allows filtering by combined audience fields. Supported syntax: * Filter expressions for combined + /// audiences can only contain at most one restriction. * A restriction has the form of `{field} {operator} + /// {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * + /// All combined audiences for which the display name contains "Google": `displayName : "Google"`. The + /// length of this field should be no more than 500 characters. Reference our [filter `LIST` + /// requests](/display-video/api/guides/how-tos/filters) guide for more information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Field by which to sort the list. Acceptable values are: * `combinedAudienceId` (default) * `displayName` + /// The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should + /// be added to the field name. Example: `displayName desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error + /// code `INVALID_ARGUMENT` if an invalid value is specified. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token identifying a page of results the server should return. Typically, this is the value of + /// next_page_token returned from the previous call to `ListCombinedAudiences` method. If not specified, the + /// first page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// The ID of the partner that has access to the fetched combined audiences. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/combinedAudiences"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// The "customBiddingAlgorithms" collection of methods. + public class CustomBiddingAlgorithmsResource + { + private const string Resource = "customBiddingAlgorithms"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public CustomBiddingAlgorithmsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + Rules = new RulesResource(service); + Scripts = new ScriptsResource(service); + } + + /// Gets the Rules resource. + public virtual RulesResource Rules { get; } + + /// The "rules" collection of methods. + public class RulesResource + { + private const string Resource = "rules"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public RulesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Creates a new rules resource. Returns the newly created rules resource if successful. + /// The body of the request. + /// + /// Required. The ID of the custom bidding algorithm that owns the rules resource. + /// + public virtual CreateRequest Create(Google.Apis.DisplayVideo.v3.Data.CustomBiddingAlgorithmRules body, long customBiddingAlgorithmId) + { + return new CreateRequest(service, body, customBiddingAlgorithmId); + } + + /// Creates a new rules resource. Returns the newly created rules resource if successful. + public class CreateRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.CustomBiddingAlgorithmRules body, long customBiddingAlgorithmId) : base(service) + { + CustomBiddingAlgorithmId = customBiddingAlgorithmId; + Body = body; + InitParameters(); + } + + /// Required. The ID of the custom bidding algorithm that owns the rules resource. + [Google.Apis.Util.RequestParameterAttribute("customBiddingAlgorithmId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long CustomBiddingAlgorithmId { get; private set; } + + /// The ID of the advertiser that owns the parent custom bidding algorithm. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// + /// The ID of the partner that owns the parent custom bidding algorithm. Only this partner will have + /// write access to this rules resource. + /// + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.CustomBiddingAlgorithmRules Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "create"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/customBiddingAlgorithms/{+customBiddingAlgorithmId}/rules"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("customBiddingAlgorithmId", new Google.Apis.Discovery.Parameter + { + Name = "customBiddingAlgorithmId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Retrieves a rules resource. + /// + /// Required. The ID of the custom bidding algorithm that owns the rules resource. + /// + /// Required. The ID of the rules resource to fetch. + public virtual GetRequest Get(long customBiddingAlgorithmId, long customBiddingAlgorithmRulesId) + { + return new GetRequest(service, customBiddingAlgorithmId, customBiddingAlgorithmRulesId); + } + + /// Retrieves a rules resource. + public class GetRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, long customBiddingAlgorithmId, long customBiddingAlgorithmRulesId) : base(service) + { + CustomBiddingAlgorithmId = customBiddingAlgorithmId; + CustomBiddingAlgorithmRulesId = customBiddingAlgorithmRulesId; + InitParameters(); + } + + /// Required. The ID of the custom bidding algorithm that owns the rules resource. + [Google.Apis.Util.RequestParameterAttribute("customBiddingAlgorithmId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long CustomBiddingAlgorithmId { get; private set; } + + /// Required. The ID of the rules resource to fetch. + [Google.Apis.Util.RequestParameterAttribute("customBiddingAlgorithmRulesId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long CustomBiddingAlgorithmRulesId { get; private set; } + + /// The ID of the advertiser that owns the parent custom bidding algorithm. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// The ID of the partner that owns the parent custom bidding algorithm. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/customBiddingAlgorithms/{+customBiddingAlgorithmId}/rules/{+customBiddingAlgorithmRulesId}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("customBiddingAlgorithmId", new Google.Apis.Discovery.Parameter + { + Name = "customBiddingAlgorithmId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("customBiddingAlgorithmRulesId", new Google.Apis.Discovery.Parameter + { + Name = "customBiddingAlgorithmRulesId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// + /// Lists rules resources that belong to the given algorithm. The order is defined by the order_by + /// parameter. + /// + /// + /// Required. The ID of the custom bidding algorithm that owns the rules resource. + /// + public virtual ListRequest List(long customBiddingAlgorithmId) + { + return new ListRequest(service, customBiddingAlgorithmId); + } + + /// + /// Lists rules resources that belong to the given algorithm. The order is defined by the order_by + /// parameter. + /// + public class ListRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, long customBiddingAlgorithmId) : base(service) + { + CustomBiddingAlgorithmId = customBiddingAlgorithmId; + InitParameters(); + } + + /// Required. The ID of the custom bidding algorithm that owns the rules resource. + [Google.Apis.Util.RequestParameterAttribute("customBiddingAlgorithmId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long CustomBiddingAlgorithmId { get; private set; } + + /// The ID of the advertiser that owns the parent custom bidding algorithm. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// + /// Field by which to sort the list. Acceptable values are: * `createTime desc` (default) The default + /// sorting order is descending. To specify ascending order for a field, the suffix "desc" should be + /// removed. Example: `createTime`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns + /// error code `INVALID_ARGUMENT` if an invalid value is specified. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token identifying a page of results the server should return. Typically, this is the value of + /// next_page_token returned from the previous call to `ListCustomBiddingAlgorithmRules` method. If not + /// specified, the first page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// The ID of the partner that owns the parent custom bidding algorithm. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/customBiddingAlgorithms/{+customBiddingAlgorithmId}/rules"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("customBiddingAlgorithmId", new Google.Apis.Discovery.Parameter + { + Name = "customBiddingAlgorithmId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// Gets the Scripts resource. + public virtual ScriptsResource Scripts { get; } + + /// The "scripts" collection of methods. + public class ScriptsResource + { + private const string Resource = "scripts"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public ScriptsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Creates a new custom bidding script. Returns the newly created script if successful. + /// The body of the request. + /// + /// Required. The ID of the custom bidding algorithm that owns the script. + /// + public virtual CreateRequest Create(Google.Apis.DisplayVideo.v3.Data.CustomBiddingScript body, long customBiddingAlgorithmId) + { + return new CreateRequest(service, body, customBiddingAlgorithmId); + } + + /// Creates a new custom bidding script. Returns the newly created script if successful. + public class CreateRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.CustomBiddingScript body, long customBiddingAlgorithmId) : base(service) + { + CustomBiddingAlgorithmId = customBiddingAlgorithmId; + Body = body; + InitParameters(); + } + + /// Required. The ID of the custom bidding algorithm that owns the script. + [Google.Apis.Util.RequestParameterAttribute("customBiddingAlgorithmId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long CustomBiddingAlgorithmId { get; private set; } + + /// The ID of the advertiser that owns the parent custom bidding algorithm. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// + /// The ID of the partner that owns the parent custom bidding algorithm. Only this partner will have + /// write access to this custom bidding script. + /// + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.CustomBiddingScript Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "create"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/customBiddingAlgorithms/{+customBiddingAlgorithmId}/scripts"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("customBiddingAlgorithmId", new Google.Apis.Discovery.Parameter + { + Name = "customBiddingAlgorithmId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Gets a custom bidding script. + /// + /// Required. The ID of the custom bidding algorithm owns the script. + /// + /// Required. The ID of the custom bidding script to fetch. + public virtual GetRequest Get(long customBiddingAlgorithmId, long customBiddingScriptId) + { + return new GetRequest(service, customBiddingAlgorithmId, customBiddingScriptId); + } + + /// Gets a custom bidding script. + public class GetRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, long customBiddingAlgorithmId, long customBiddingScriptId) : base(service) + { + CustomBiddingAlgorithmId = customBiddingAlgorithmId; + CustomBiddingScriptId = customBiddingScriptId; + InitParameters(); + } + + /// Required. The ID of the custom bidding algorithm owns the script. + [Google.Apis.Util.RequestParameterAttribute("customBiddingAlgorithmId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long CustomBiddingAlgorithmId { get; private set; } + + /// Required. The ID of the custom bidding script to fetch. + [Google.Apis.Util.RequestParameterAttribute("customBiddingScriptId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long CustomBiddingScriptId { get; private set; } + + /// The ID of the advertiser that owns the parent custom bidding algorithm. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// + /// The ID of the partner that owns the parent custom bidding algorithm. Only this partner will have + /// write access to this custom bidding script. + /// + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/customBiddingAlgorithms/{+customBiddingAlgorithmId}/scripts/{+customBiddingScriptId}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("customBiddingAlgorithmId", new Google.Apis.Discovery.Parameter + { + Name = "customBiddingAlgorithmId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("customBiddingScriptId", new Google.Apis.Discovery.Parameter + { + Name = "customBiddingScriptId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// + /// Lists custom bidding scripts that belong to the given algorithm. The order is defined by the order_by + /// parameter. + /// + /// + /// Required. The ID of the custom bidding algorithm owns the script. + /// + public virtual ListRequest List(long customBiddingAlgorithmId) + { + return new ListRequest(service, customBiddingAlgorithmId); + } + + /// + /// Lists custom bidding scripts that belong to the given algorithm. The order is defined by the order_by + /// parameter. + /// + public class ListRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, long customBiddingAlgorithmId) : base(service) + { + CustomBiddingAlgorithmId = customBiddingAlgorithmId; + InitParameters(); + } + + /// Required. The ID of the custom bidding algorithm owns the script. + [Google.Apis.Util.RequestParameterAttribute("customBiddingAlgorithmId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long CustomBiddingAlgorithmId { get; private set; } + + /// The ID of the advertiser that owns the parent custom bidding algorithm. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// + /// Field by which to sort the list. Acceptable values are: * `createTime desc` (default) The default + /// sorting order is descending. To specify ascending order for a field, the suffix "desc" should be + /// removed. Example: `createTime`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns + /// error code `INVALID_ARGUMENT` if an invalid value is specified. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token identifying a page of results the server should return. Typically, this is the value of + /// next_page_token returned from the previous call to `ListCustomBiddingScripts` method. If not + /// specified, the first page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// + /// The ID of the partner that owns the parent custom bidding algorithm. Only this partner will have + /// write access to this custom bidding script. + /// + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/customBiddingAlgorithms/{+customBiddingAlgorithmId}/scripts"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("customBiddingAlgorithmId", new Google.Apis.Discovery.Parameter + { + Name = "customBiddingAlgorithmId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// + /// Creates a new custom bidding algorithm. Returns the newly created custom bidding algorithm if successful. + /// + /// The body of the request. + public virtual CreateRequest Create(Google.Apis.DisplayVideo.v3.Data.CustomBiddingAlgorithm body) + { + return new CreateRequest(service, body); + } + + /// + /// Creates a new custom bidding algorithm. Returns the newly created custom bidding algorithm if successful. + /// + public class CreateRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.CustomBiddingAlgorithm body) : base(service) + { + Body = body; + InitParameters(); + } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.CustomBiddingAlgorithm Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "create"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/customBiddingAlgorithms"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + } + } + + /// Gets a custom bidding algorithm. + /// Required. The ID of the custom bidding algorithm to fetch. + public virtual GetRequest Get(long customBiddingAlgorithmId) + { + return new GetRequest(service, customBiddingAlgorithmId); + } + + /// Gets a custom bidding algorithm. + public class GetRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, long customBiddingAlgorithmId) : base(service) + { + CustomBiddingAlgorithmId = customBiddingAlgorithmId; + InitParameters(); + } + + /// Required. The ID of the custom bidding algorithm to fetch. + [Google.Apis.Util.RequestParameterAttribute("customBiddingAlgorithmId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long CustomBiddingAlgorithmId { get; private set; } + + /// The ID of the DV360 partner that has access to the custom bidding algorithm. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// The ID of the DV360 partner that has access to the custom bidding algorithm. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/customBiddingAlgorithms/{+customBiddingAlgorithmId}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("customBiddingAlgorithmId", new Google.Apis.Discovery.Parameter + { + Name = "customBiddingAlgorithmId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// + /// Lists custom bidding algorithms that are accessible to the current user and can be used in bidding + /// stratgies. The order is defined by the order_by parameter. + /// + public virtual ListRequest List() + { + return new ListRequest(service); + } + + /// + /// Lists custom bidding algorithms that are accessible to the current user and can be used in bidding + /// stratgies. The order is defined by the order_by parameter. + /// + public class ListRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service) : base(service) + { + InitParameters(); + } + + /// The ID of the DV360 advertiser that has access to the custom bidding algorithm. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// + /// Allows filtering by custom bidding algorithm fields. Supported syntax: * Filter expressions are made up + /// of one or more restrictions. * Restrictions can be combined by `AND`. A sequence of restrictions + /// implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The + /// `customBiddingAlgorithmType` field must use the `EQUALS (=)` operator. * The `displayName` field must + /// use the `HAS (:)` operator. Supported fields: * `customBiddingAlgorithmType` * `displayName` Examples: * + /// All custom bidding algorithms for which the display name contains "politics": `displayName:"politics"`. + /// * All custom bidding algorithms for which the type is "SCRIPT_BASED": + /// `customBiddingAlgorithmType=SCRIPT_BASED` The length of this field should be no more than 500 + /// characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for + /// more information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Field by which to sort the list. Acceptable values are: * `displayName` (default) The default sorting + /// order is ascending. To specify descending order for a field, a suffix "desc" should be added to the + /// field name. Example: `displayName desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error + /// code `INVALID_ARGUMENT` if an invalid value is specified. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token identifying a page of results the server should return. Typically, this is the value of + /// next_page_token returned from the previous call to `ListCustomBiddingAlgorithms` method. If not + /// specified, the first page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// The ID of the DV360 partner that has access to the custom bidding algorithm. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/customBiddingAlgorithms"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// + /// Updates an existing custom bidding algorithm. Returns the updated custom bidding algorithm if successful. + /// + /// The body of the request. + /// + /// Output only. The unique ID of the custom bidding algorithm. Assigned by the system. + /// + public virtual PatchRequest Patch(Google.Apis.DisplayVideo.v3.Data.CustomBiddingAlgorithm body, long customBiddingAlgorithmId) + { + return new PatchRequest(service, body, customBiddingAlgorithmId); + } + + /// + /// Updates an existing custom bidding algorithm. Returns the updated custom bidding algorithm if successful. + /// + public class PatchRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.CustomBiddingAlgorithm body, long customBiddingAlgorithmId) : base(service) + { + CustomBiddingAlgorithmId = customBiddingAlgorithmId; + Body = body; + InitParameters(); + } + + /// Output only. The unique ID of the custom bidding algorithm. Assigned by the system. + [Google.Apis.Util.RequestParameterAttribute("customBiddingAlgorithmId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long CustomBiddingAlgorithmId { get; private set; } + + /// Required. The mask to control which fields to update. + [Google.Apis.Util.RequestParameterAttribute("updateMask", Google.Apis.Util.RequestParameterType.Query)] + public virtual object UpdateMask { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.CustomBiddingAlgorithm Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "patch"; + + /// Gets the HTTP method. + public override string HttpMethod => "PATCH"; + + /// Gets the REST path. + public override string RestPath => "v3/customBiddingAlgorithms/{+customBiddingAlgorithmId}"; + + /// Initializes Patch parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("customBiddingAlgorithmId", new Google.Apis.Discovery.Parameter + { + Name = "customBiddingAlgorithmId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// + /// Creates a rules reference object for an AlgorithmRules file. The resulting reference object provides a + /// resource path where the AlgorithmRules file should be uploaded. This reference object should be included + /// when creating a new CustomBiddingAlgorithmRules resource. + /// + /// + /// Required. The ID of the custom bidding algorithm that owns the rules resource. + /// + public virtual UploadRulesRequest UploadRules(long customBiddingAlgorithmId) + { + return new UploadRulesRequest(service, customBiddingAlgorithmId); + } + + /// + /// Creates a rules reference object for an AlgorithmRules file. The resulting reference object provides a + /// resource path where the AlgorithmRules file should be uploaded. This reference object should be included + /// when creating a new CustomBiddingAlgorithmRules resource. + /// + public class UploadRulesRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new UploadRules request. + public UploadRulesRequest(Google.Apis.Services.IClientService service, long customBiddingAlgorithmId) : base(service) + { + CustomBiddingAlgorithmId = customBiddingAlgorithmId; + InitParameters(); + } + + /// Required. The ID of the custom bidding algorithm that owns the rules resource. + [Google.Apis.Util.RequestParameterAttribute("customBiddingAlgorithmId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long CustomBiddingAlgorithmId { get; private set; } + + /// The ID of the advertiser that owns the parent custom bidding algorithm. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// The ID of the partner that owns the parent custom bidding algorithm. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets the method name. + public override string MethodName => "uploadRules"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/customBiddingAlgorithms/{+customBiddingAlgorithmId}:uploadRules"; + + /// Initializes UploadRules parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("customBiddingAlgorithmId", new Google.Apis.Discovery.Parameter + { + Name = "customBiddingAlgorithmId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// + /// Creates a custom bidding script reference object for a script file. The resulting reference object provides + /// a resource path to which the script file should be uploaded. This reference object should be included in + /// when creating a new custom bidding script object. + /// + /// + /// Required. The ID of the custom bidding algorithm owns the script. + /// + public virtual UploadScriptRequest UploadScript(long customBiddingAlgorithmId) + { + return new UploadScriptRequest(service, customBiddingAlgorithmId); + } + + /// + /// Creates a custom bidding script reference object for a script file. The resulting reference object provides + /// a resource path to which the script file should be uploaded. This reference object should be included in + /// when creating a new custom bidding script object. + /// + public class UploadScriptRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new UploadScript request. + public UploadScriptRequest(Google.Apis.Services.IClientService service, long customBiddingAlgorithmId) : base(service) + { + CustomBiddingAlgorithmId = customBiddingAlgorithmId; + InitParameters(); + } + + /// Required. The ID of the custom bidding algorithm owns the script. + [Google.Apis.Util.RequestParameterAttribute("customBiddingAlgorithmId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long CustomBiddingAlgorithmId { get; private set; } + + /// The ID of the advertiser that owns the parent custom bidding algorithm. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// + /// The ID of the partner that owns the parent custom bidding algorithm. Only this partner will have write + /// access to this custom bidding script. + /// + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets the method name. + public override string MethodName => "uploadScript"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/customBiddingAlgorithms/{+customBiddingAlgorithmId}:uploadScript"; + + /// Initializes UploadScript parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("customBiddingAlgorithmId", new Google.Apis.Discovery.Parameter + { + Name = "customBiddingAlgorithmId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// The "customLists" collection of methods. + public class CustomListsResource + { + private const string Resource = "customLists"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public CustomListsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Gets a custom list. + /// Required. The ID of the custom list to fetch. + public virtual GetRequest Get(long customListId) + { + return new GetRequest(service, customListId); + } + + /// Gets a custom list. + public class GetRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, long customListId) : base(service) + { + CustomListId = customListId; + InitParameters(); + } + + /// Required. The ID of the custom list to fetch. + [Google.Apis.Util.RequestParameterAttribute("customListId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long CustomListId { get; private set; } + + /// The ID of the DV360 advertiser that has access to the fetched custom lists. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/customLists/{+customListId}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("customListId", new Google.Apis.Discovery.Parameter + { + Name = "customListId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Lists custom lists. The order is defined by the order_by parameter. + public virtual ListRequest List() + { + return new ListRequest(service); + } + + /// Lists custom lists. The order is defined by the order_by parameter. + public class ListRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service) : base(service) + { + InitParameters(); + } + + /// The ID of the DV360 advertiser that has access to the fetched custom lists. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// + /// Allows filtering by custom list fields. Supported syntax: * Filter expressions for custom lists can only + /// contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All + /// fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * All custom lists + /// for which the display name contains "Google": `displayName:"Google"`. The length of this field should be + /// no more than 500 characters. Reference our [filter `LIST` + /// requests](/display-video/api/guides/how-tos/filters) guide for more information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Field by which to sort the list. Acceptable values are: * `customListId` (default) * `displayName` The + /// default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be + /// added to the field name. Example: `displayName desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error + /// code `INVALID_ARGUMENT` if an invalid value is specified. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token identifying a page of results the server should return. Typically, this is the value of + /// next_page_token returned from the previous call to `ListCustomLists` method. If not specified, the first + /// page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/customLists"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// The "firstAndThirdPartyAudiences" collection of methods. + public class FirstAndThirdPartyAudiencesResource + { + private const string Resource = "firstAndThirdPartyAudiences"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public FirstAndThirdPartyAudiencesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// + /// Creates a FirstAndThirdPartyAudience. Only supported for the following audience_type: * + /// `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID` + /// + /// The body of the request. + public virtual CreateRequest Create(Google.Apis.DisplayVideo.v3.Data.FirstAndThirdPartyAudience body) + { + return new CreateRequest(service, body); + } + + /// + /// Creates a FirstAndThirdPartyAudience. Only supported for the following audience_type: * + /// `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID` + /// + public class CreateRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.FirstAndThirdPartyAudience body) : base(service) + { + Body = body; + InitParameters(); + } + + /// + /// Required. The ID of the advertiser under whom the FirstAndThirdPartyAudience will be created. + /// + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.FirstAndThirdPartyAudience Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "create"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/firstAndThirdPartyAudiences"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// + /// Updates the member list of a Customer Match audience. Only supported for the following audience_type: * + /// `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID` + /// + /// The body of the request. + /// + /// Required. The ID of the Customer Match FirstAndThirdPartyAudience whose members will be edited. + /// + public virtual EditCustomerMatchMembersRequest EditCustomerMatchMembers(Google.Apis.DisplayVideo.v3.Data.EditCustomerMatchMembersRequest body, long firstAndThirdPartyAudienceId) + { + return new EditCustomerMatchMembersRequest(service, body, firstAndThirdPartyAudienceId); + } + + /// + /// Updates the member list of a Customer Match audience. Only supported for the following audience_type: * + /// `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID` + /// + public class EditCustomerMatchMembersRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new EditCustomerMatchMembers request. + public EditCustomerMatchMembersRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.EditCustomerMatchMembersRequest body, long firstAndThirdPartyAudienceId) : base(service) + { + FirstAndThirdPartyAudienceId = firstAndThirdPartyAudienceId; + Body = body; + InitParameters(); + } + + /// + /// Required. The ID of the Customer Match FirstAndThirdPartyAudience whose members will be edited. + /// + [Google.Apis.Util.RequestParameterAttribute("firstAndThirdPartyAudienceId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long FirstAndThirdPartyAudienceId { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.EditCustomerMatchMembersRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "editCustomerMatchMembers"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/firstAndThirdPartyAudiences/{+firstAndThirdPartyAudienceId}:editCustomerMatchMembers"; + + /// Initializes EditCustomerMatchMembers parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("firstAndThirdPartyAudienceId", new Google.Apis.Discovery.Parameter + { + Name = "firstAndThirdPartyAudienceId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// Gets a first and third party audience. + /// + /// Required. The ID of the first and third party audience to fetch. + /// + public virtual GetRequest Get(long firstAndThirdPartyAudienceId) + { + return new GetRequest(service, firstAndThirdPartyAudienceId); + } + + /// Gets a first and third party audience. + public class GetRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, long firstAndThirdPartyAudienceId) : base(service) + { + FirstAndThirdPartyAudienceId = firstAndThirdPartyAudienceId; + InitParameters(); + } + + /// Required. The ID of the first and third party audience to fetch. + [Google.Apis.Util.RequestParameterAttribute("firstAndThirdPartyAudienceId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long FirstAndThirdPartyAudienceId { get; private set; } + + /// + /// The ID of the advertiser that has access to the fetched first and third party audience. + /// + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// The ID of the partner that has access to the fetched first and third party audience. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/firstAndThirdPartyAudiences/{+firstAndThirdPartyAudienceId}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("firstAndThirdPartyAudienceId", new Google.Apis.Discovery.Parameter + { + Name = "firstAndThirdPartyAudienceId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Lists first and third party audiences. The order is defined by the order_by parameter. + public virtual ListRequest List() + { + return new ListRequest(service); + } + + /// Lists first and third party audiences. The order is defined by the order_by parameter. + public class ListRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service) : base(service) + { + InitParameters(); + } + + /// + /// The ID of the advertiser that has access to the fetched first and third party audiences. + /// + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// + /// Allows filtering by first and third party audience fields. Supported syntax: * Filter expressions for + /// first and third party audiences can only contain at most one restriction. * A restriction has the form + /// of `{field} {operator} {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * + /// `displayName` Examples: * All first and third party audiences for which the display name contains + /// "Google": `displayName:"Google"`. The length of this field should be no more than 500 characters. + /// Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more + /// information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Field by which to sort the list. Acceptable values are: * `firstAndThirdPartyAudienceId` (default) * + /// `displayName` The default sorting order is ascending. To specify descending order for a field, a suffix + /// "desc" should be added to the field name. Example: `displayName desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error + /// code `INVALID_ARGUMENT` if an invalid value is specified. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token identifying a page of results the server should return. Typically, this is the value of + /// next_page_token returned from the previous call to `ListFirstAndThirdPartyAudiences` method. If not + /// specified, the first page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// The ID of the partner that has access to the fetched first and third party audiences. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/firstAndThirdPartyAudiences"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// + /// Updates an existing FirstAndThirdPartyAudience. Only supported for the following audience_type: * + /// `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID` + /// + /// The body of the request. + /// + /// Output only. The unique ID of the first and third party audience. Assigned by the system. + /// + public virtual PatchRequest Patch(Google.Apis.DisplayVideo.v3.Data.FirstAndThirdPartyAudience body, long firstAndThirdPartyAudienceId) + { + return new PatchRequest(service, body, firstAndThirdPartyAudienceId); + } + + /// + /// Updates an existing FirstAndThirdPartyAudience. Only supported for the following audience_type: * + /// `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID` + /// + public class PatchRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.FirstAndThirdPartyAudience body, long firstAndThirdPartyAudienceId) : base(service) + { + FirstAndThirdPartyAudienceId = firstAndThirdPartyAudienceId; + Body = body; + InitParameters(); + } + + /// + /// Output only. The unique ID of the first and third party audience. Assigned by the system. + /// + [Google.Apis.Util.RequestParameterAttribute("firstAndThirdPartyAudienceId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long FirstAndThirdPartyAudienceId { get; private set; } + + /// Required. The ID of the owner advertiser of the updated FirstAndThirdPartyAudience. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// + /// Required. The mask to control which fields to update. Updates are only supported for the following + /// fields: * `displayName` * `description` * `membershipDurationDays` + /// + [Google.Apis.Util.RequestParameterAttribute("updateMask", Google.Apis.Util.RequestParameterType.Query)] + public virtual object UpdateMask { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.FirstAndThirdPartyAudience Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "patch"; + + /// Gets the HTTP method. + public override string HttpMethod => "PATCH"; + + /// Gets the REST path. + public override string RestPath => "v3/firstAndThirdPartyAudiences/{+firstAndThirdPartyAudienceId}"; + + /// Initializes Patch parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("firstAndThirdPartyAudienceId", new Google.Apis.Discovery.Parameter + { + Name = "firstAndThirdPartyAudienceId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// The "floodlightGroups" collection of methods. + public class FloodlightGroupsResource + { + private const string Resource = "floodlightGroups"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public FloodlightGroupsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Gets a Floodlight group. + /// Required. The ID of the Floodlight group to fetch. + public virtual GetRequest Get(long floodlightGroupId) + { + return new GetRequest(service, floodlightGroupId); + } + + /// Gets a Floodlight group. + public class GetRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, long floodlightGroupId) : base(service) + { + FloodlightGroupId = floodlightGroupId; + InitParameters(); + } + + /// Required. The ID of the Floodlight group to fetch. + [Google.Apis.Util.RequestParameterAttribute("floodlightGroupId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long FloodlightGroupId { get; private set; } + + /// Required. The partner context by which the Floodlight group is being accessed. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/floodlightGroups/{+floodlightGroupId}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("floodlightGroupId", new Google.Apis.Discovery.Parameter + { + Name = "floodlightGroupId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Updates an existing Floodlight group. Returns the updated Floodlight group if successful. + /// The body of the request. + /// + /// Output only. The unique ID of the Floodlight group. Assigned by the system. + /// + public virtual PatchRequest Patch(Google.Apis.DisplayVideo.v3.Data.FloodlightGroup body, long floodlightGroupId) + { + return new PatchRequest(service, body, floodlightGroupId); + } + + /// Updates an existing Floodlight group. Returns the updated Floodlight group if successful. + public class PatchRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.FloodlightGroup body, long floodlightGroupId) : base(service) + { + FloodlightGroupId = floodlightGroupId; + Body = body; + InitParameters(); + } + + /// Output only. The unique ID of the Floodlight group. Assigned by the system. + [Google.Apis.Util.RequestParameterAttribute("floodlightGroupId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long FloodlightGroupId { get; private set; } + + /// Required. The partner context by which the Floodlight group is being accessed. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Required. The mask to control which fields to update. + [Google.Apis.Util.RequestParameterAttribute("updateMask", Google.Apis.Util.RequestParameterType.Query)] + public virtual object UpdateMask { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.FloodlightGroup Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "patch"; + + /// Gets the HTTP method. + public override string HttpMethod => "PATCH"; + + /// Gets the REST path. + public override string RestPath => "v3/floodlightGroups/{floodlightGroupId}"; + + /// Initializes Patch parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("floodlightGroupId", new Google.Apis.Discovery.Parameter + { + Name = "floodlightGroupId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// The "googleAudiences" collection of methods. + public class GoogleAudiencesResource + { + private const string Resource = "googleAudiences"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public GoogleAudiencesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Gets a Google audience. + /// Required. The ID of the Google audience to fetch. + public virtual GetRequest Get(long googleAudienceId) + { + return new GetRequest(service, googleAudienceId); + } + + /// Gets a Google audience. + public class GetRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, long googleAudienceId) : base(service) + { + GoogleAudienceId = googleAudienceId; + InitParameters(); + } + + /// Required. The ID of the Google audience to fetch. + [Google.Apis.Util.RequestParameterAttribute("googleAudienceId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long GoogleAudienceId { get; private set; } + + /// The ID of the advertiser that has access to the fetched Google audience. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// The ID of the partner that has access to the fetched Google audience. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/googleAudiences/{+googleAudienceId}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("googleAudienceId", new Google.Apis.Discovery.Parameter + { + Name = "googleAudienceId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Lists Google audiences. The order is defined by the order_by parameter. + public virtual ListRequest List() + { + return new ListRequest(service); + } + + /// Lists Google audiences. The order is defined by the order_by parameter. + public class ListRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service) : base(service) + { + InitParameters(); + } + + /// The ID of the advertiser that has access to the fetched Google audiences. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// + /// Allows filtering by Google audience fields. Supported syntax: * Filter expressions for Google audiences + /// can only contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. + /// * All fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * All Google + /// audiences for which the display name contains "Google": `displayName:"Google"`. The length of this field + /// should be no more than 500 characters. Reference our [filter `LIST` + /// requests](/display-video/api/guides/how-tos/filters) guide for more information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Field by which to sort the list. Acceptable values are: * `googleAudienceId` (default) * `displayName` + /// The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should + /// be added to the field name. Example: `displayName desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error + /// code `INVALID_ARGUMENT` if an invalid value is specified. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token identifying a page of results the server should return. Typically, this is the value of + /// next_page_token returned from the previous call to `ListGoogleAudiences` method. If not specified, the + /// first page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// The ID of the partner that has access to the fetched Google audiences. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/googleAudiences"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// The "guaranteedOrders" collection of methods. + public class GuaranteedOrdersResource + { + private const string Resource = "guaranteedOrders"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public GuaranteedOrdersResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Creates a new guaranteed order. Returns the newly created guaranteed order if successful. + /// The body of the request. + public virtual CreateRequest Create(Google.Apis.DisplayVideo.v3.Data.GuaranteedOrder body) + { + return new CreateRequest(service, body); + } + + /// Creates a new guaranteed order. Returns the newly created guaranteed order if successful. + public class CreateRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.GuaranteedOrder body) : base(service) + { + Body = body; + InitParameters(); + } + + /// The ID of the advertiser that the request is being made within. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// The ID of the partner that the request is being made within. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.GuaranteedOrder Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "create"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/guaranteedOrders"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Edits read advertisers of a guaranteed order. + /// The body of the request. + /// + /// Required. The ID of the guaranteed order to edit. The ID is of the format + /// `{exchange}-{legacy_guaranteed_order_id}` + /// + public virtual EditGuaranteedOrderReadAccessorsRequest EditGuaranteedOrderReadAccessors(Google.Apis.DisplayVideo.v3.Data.EditGuaranteedOrderReadAccessorsRequest body, string guaranteedOrderId) + { + return new EditGuaranteedOrderReadAccessorsRequest(service, body, guaranteedOrderId); + } + + /// Edits read advertisers of a guaranteed order. + public class EditGuaranteedOrderReadAccessorsRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new EditGuaranteedOrderReadAccessors request. + public EditGuaranteedOrderReadAccessorsRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.EditGuaranteedOrderReadAccessorsRequest body, string guaranteedOrderId) : base(service) + { + GuaranteedOrderId = guaranteedOrderId; + Body = body; + InitParameters(); + } + + /// + /// Required. The ID of the guaranteed order to edit. The ID is of the format + /// `{exchange}-{legacy_guaranteed_order_id}` + /// + [Google.Apis.Util.RequestParameterAttribute("guaranteedOrderId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string GuaranteedOrderId { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.EditGuaranteedOrderReadAccessorsRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "editGuaranteedOrderReadAccessors"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/guaranteedOrders/{+guaranteedOrderId}:editGuaranteedOrderReadAccessors"; + + /// Initializes EditGuaranteedOrderReadAccessors parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("guaranteedOrderId", new Google.Apis.Discovery.Parameter + { + Name = "guaranteedOrderId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// Gets a guaranteed order. + /// + /// Required. The ID of the guaranteed order to fetch. The ID is of the format + /// `{exchange}-{legacy_guaranteed_order_id}` + /// + public virtual GetRequest Get(string guaranteedOrderId) + { + return new GetRequest(service, guaranteedOrderId); + } + + /// Gets a guaranteed order. + public class GetRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string guaranteedOrderId) : base(service) + { + GuaranteedOrderId = guaranteedOrderId; + InitParameters(); + } + + /// + /// Required. The ID of the guaranteed order to fetch. The ID is of the format + /// `{exchange}-{legacy_guaranteed_order_id}` + /// + [Google.Apis.Util.RequestParameterAttribute("guaranteedOrderId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string GuaranteedOrderId { get; private set; } + + /// The ID of the advertiser that has access to the guaranteed order. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// The ID of the partner that has access to the guaranteed order. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/guaranteedOrders/{+guaranteedOrderId}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("guaranteedOrderId", new Google.Apis.Discovery.Parameter + { + Name = "guaranteedOrderId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// + /// Lists guaranteed orders that are accessible to the current user. The order is defined by the order_by + /// parameter. If a filter by entity_status is not specified, guaranteed orders with entity status + /// `ENTITY_STATUS_ARCHIVED` will not be included in the results. + /// + public virtual ListRequest List() + { + return new ListRequest(service); + } + + /// + /// Lists guaranteed orders that are accessible to the current user. The order is defined by the order_by + /// parameter. If a filter by entity_status is not specified, guaranteed orders with entity status + /// `ENTITY_STATUS_ARCHIVED` will not be included in the results. + /// + public class ListRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service) : base(service) + { + InitParameters(); + } + + /// The ID of the advertiser that has access to the guaranteed order. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// + /// Allows filtering by guaranteed order fields. * Filter expressions are made up of one or more + /// restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of + /// restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * All + /// fields must use the `EQUALS (=)` operator. Supported fields: * `guaranteed_order_id` * `exchange` * + /// `display_name` * `status.entityStatus` Examples: * All active guaranteed orders: + /// `status.entityStatus="ENTITY_STATUS_ACTIVE"` * Guaranteed orders belonging to Google Ad Manager or + /// Rubicon exchanges: `exchange="EXCHANGE_GOOGLE_AD_MANAGER" OR exchange="EXCHANGE_RUBICON"` The length of + /// this field should be no more than 500 characters. Reference our [filter `LIST` + /// requests](/display-video/api/guides/how-tos/filters) guide for more information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Field by which to sort the list. Acceptable values are: * `displayName` (default) The default sorting + /// order is ascending. To specify descending order for a field, a suffix "desc" should be added to the + /// field name. For example, `displayName desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token identifying a page of results the server should return. Typically, this is the value of + /// next_page_token returned from the previous call to `ListGuaranteedOrders` method. If not specified, the + /// first page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// The ID of the partner that has access to the guaranteed order. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/guaranteedOrders"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Updates an existing guaranteed order. Returns the updated guaranteed order if successful. + /// The body of the request. + /// + /// Output only. The unique identifier of the guaranteed order. The guaranteed order IDs have the format + /// `{exchange}-{legacy_guaranteed_order_id}`. + /// + public virtual PatchRequest Patch(Google.Apis.DisplayVideo.v3.Data.GuaranteedOrder body, string guaranteedOrderId) + { + return new PatchRequest(service, body, guaranteedOrderId); + } + + /// Updates an existing guaranteed order. Returns the updated guaranteed order if successful. + public class PatchRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.GuaranteedOrder body, string guaranteedOrderId) : base(service) + { + GuaranteedOrderId = guaranteedOrderId; + Body = body; + InitParameters(); + } + + /// + /// Output only. The unique identifier of the guaranteed order. The guaranteed order IDs have the format + /// `{exchange}-{legacy_guaranteed_order_id}`. + /// + [Google.Apis.Util.RequestParameterAttribute("guaranteedOrderId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string GuaranteedOrderId { get; private set; } + + /// The ID of the advertiser that the request is being made within. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// The ID of the partner that the request is being made within. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Required. The mask to control which fields to update. + [Google.Apis.Util.RequestParameterAttribute("updateMask", Google.Apis.Util.RequestParameterType.Query)] + public virtual object UpdateMask { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.GuaranteedOrder Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "patch"; + + /// Gets the HTTP method. + public override string HttpMethod => "PATCH"; + + /// Gets the REST path. + public override string RestPath => "v3/guaranteedOrders/{+guaranteedOrderId}"; + + /// Initializes Patch parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("guaranteedOrderId", new Google.Apis.Discovery.Parameter + { + Name = "guaranteedOrderId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// The "inventorySourceGroups" collection of methods. + public class InventorySourceGroupsResource + { + private const string Resource = "inventorySourceGroups"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public InventorySourceGroupsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + AssignedInventorySources = new AssignedInventorySourcesResource(service); + } + + /// Gets the AssignedInventorySources resource. + public virtual AssignedInventorySourcesResource AssignedInventorySources { get; } + + /// The "assignedInventorySources" collection of methods. + public class AssignedInventorySourcesResource + { + private const string Resource = "assignedInventorySources"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public AssignedInventorySourcesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// + /// Bulk edits multiple assignments between inventory sources and a single inventory source group. The + /// operation will delete the assigned inventory sources provided in + /// BulkEditAssignedInventorySourcesRequest.deleted_assigned_inventory_sources and then create the assigned + /// inventory sources provided in + /// BulkEditAssignedInventorySourcesRequest.created_assigned_inventory_sources. + /// + /// The body of the request. + /// + /// Required. The ID of the inventory source group to which the assignments are assigned. + /// + public virtual BulkEditRequest BulkEdit(Google.Apis.DisplayVideo.v3.Data.BulkEditAssignedInventorySourcesRequest body, long inventorySourceGroupId) + { + return new BulkEditRequest(service, body, inventorySourceGroupId); + } + + /// + /// Bulk edits multiple assignments between inventory sources and a single inventory source group. The + /// operation will delete the assigned inventory sources provided in + /// BulkEditAssignedInventorySourcesRequest.deleted_assigned_inventory_sources and then create the assigned + /// inventory sources provided in + /// BulkEditAssignedInventorySourcesRequest.created_assigned_inventory_sources. + /// + public class BulkEditRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new BulkEdit request. + public BulkEditRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.BulkEditAssignedInventorySourcesRequest body, long inventorySourceGroupId) : base(service) + { + InventorySourceGroupId = inventorySourceGroupId; + Body = body; + InitParameters(); + } + + /// + /// Required. The ID of the inventory source group to which the assignments are assigned. + /// + [Google.Apis.Util.RequestParameterAttribute("inventorySourceGroupId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long InventorySourceGroupId { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.BulkEditAssignedInventorySourcesRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "bulkEdit"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources:bulkEdit"; + + /// Initializes BulkEdit parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("inventorySourceGroupId", new Google.Apis.Discovery.Parameter + { + Name = "inventorySourceGroupId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// Creates an assignment between an inventory source and an inventory source group. + /// The body of the request. + /// + /// Required. The ID of the inventory source group to which the assignment will be assigned. + /// + public virtual CreateRequest Create(Google.Apis.DisplayVideo.v3.Data.AssignedInventorySource body, long inventorySourceGroupId) + { + return new CreateRequest(service, body, inventorySourceGroupId); + } + + /// Creates an assignment between an inventory source and an inventory source group. + public class CreateRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.AssignedInventorySource body, long inventorySourceGroupId) : base(service) + { + InventorySourceGroupId = inventorySourceGroupId; + Body = body; + InitParameters(); + } + + /// + /// Required. The ID of the inventory source group to which the assignment will be assigned. + /// + [Google.Apis.Util.RequestParameterAttribute("inventorySourceGroupId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long InventorySourceGroupId { get; private set; } + + /// + /// The ID of the advertiser that owns the parent inventory source group. The parent partner will not + /// have access to this assigned inventory source. + /// + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// + /// The ID of the partner that owns the parent inventory source group. Only this partner will have write + /// access to this assigned inventory source. + /// + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.AssignedInventorySource Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "create"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("inventorySourceGroupId", new Google.Apis.Discovery.Parameter + { + Name = "inventorySourceGroupId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Deletes the assignment between an inventory source and an inventory source group. + /// + /// Required. The ID of the inventory source group to which this assignment is assigned. + /// + /// + /// Required. The ID of the assigned inventory source to delete. + /// + public virtual DeleteRequest Delete(long inventorySourceGroupId, long assignedInventorySourceId) + { + return new DeleteRequest(service, inventorySourceGroupId, assignedInventorySourceId); + } + + /// Deletes the assignment between an inventory source and an inventory source group. + public class DeleteRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, long inventorySourceGroupId, long assignedInventorySourceId) : base(service) + { + InventorySourceGroupId = inventorySourceGroupId; + AssignedInventorySourceId = assignedInventorySourceId; + InitParameters(); + } + + /// + /// Required. The ID of the inventory source group to which this assignment is assigned. + /// + [Google.Apis.Util.RequestParameterAttribute("inventorySourceGroupId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long InventorySourceGroupId { get; private set; } + + /// Required. The ID of the assigned inventory source to delete. + [Google.Apis.Util.RequestParameterAttribute("assignedInventorySourceId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long AssignedInventorySourceId { get; private set; } + + /// + /// The ID of the advertiser that owns the parent inventory source group. The parent partner does not + /// have access to this assigned inventory source. + /// + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// + /// The ID of the partner that owns the parent inventory source group. Only this partner has write + /// access to this assigned inventory source. + /// + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v3/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources/{+assignedInventorySourceId}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("inventorySourceGroupId", new Google.Apis.Discovery.Parameter + { + Name = "inventorySourceGroupId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("assignedInventorySourceId", new Google.Apis.Discovery.Parameter + { + Name = "assignedInventorySourceId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Lists inventory sources assigned to an inventory source group. + /// + /// Required. The ID of the inventory source group to which these assignments are assigned. + /// + public virtual ListRequest List(long inventorySourceGroupId) + { + return new ListRequest(service, inventorySourceGroupId); + } + + /// Lists inventory sources assigned to an inventory source group. + public class ListRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, long inventorySourceGroupId) : base(service) + { + InventorySourceGroupId = inventorySourceGroupId; + InitParameters(); + } + + /// + /// Required. The ID of the inventory source group to which these assignments are assigned. + /// + [Google.Apis.Util.RequestParameterAttribute("inventorySourceGroupId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long InventorySourceGroupId { get; private set; } + + /// + /// The ID of the advertiser that has access to the assignment. If the parent inventory source group is + /// partner-owned, only advertisers to which the parent group is explicitly shared can access the + /// assigned inventory source. + /// + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// + /// Allows filtering by assigned inventory source fields. Supported syntax: * Filter expressions are + /// made up of one or more restrictions. * Restrictions can be combined by the `OR` logical operator. * + /// A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` + /// operator. Supported fields: * `assignedInventorySourceId` The length of this field should be no more + /// than 500 characters. Reference our [filter `LIST` + /// requests](/display-video/api/guides/how-tos/filters) guide for more information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Field by which to sort the list. Acceptable values are: * `assignedInventorySourceId` (default) The + /// default sorting order is ascending. To specify descending order for a field, a suffix " desc" should + /// be added to the field name. Example: `assignedInventorySourceId desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns + /// error code `INVALID_ARGUMENT` if an invalid value is specified. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token identifying a page of results the server should return. Typically, this is the value of + /// next_page_token returned from the previous call to `ListAssignedInventorySources` method. If not + /// specified, the first page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// + /// The ID of the partner that has access to the assignment. If the parent inventory source group is + /// advertiser-owned, the assignment cannot be accessed via a partner. + /// + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/inventorySourceGroups/{+inventorySourceGroupId}/assignedInventorySources"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("inventorySourceGroupId", new Google.Apis.Discovery.Parameter + { + Name = "inventorySourceGroupId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// + /// Creates a new inventory source group. Returns the newly created inventory source group if successful. + /// + /// The body of the request. + public virtual CreateRequest Create(Google.Apis.DisplayVideo.v3.Data.InventorySourceGroup body) + { + return new CreateRequest(service, body); + } + + /// + /// Creates a new inventory source group. Returns the newly created inventory source group if successful. + /// + public class CreateRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.InventorySourceGroup body) : base(service) + { + Body = body; + InitParameters(); + } + + /// + /// The ID of the advertiser that owns the inventory source group. The parent partner will not have access + /// to this group. + /// + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// + /// The ID of the partner that owns the inventory source group. Only this partner will have write access to + /// this group. Only advertisers to which this group is explicitly shared will have read access to this + /// group. + /// + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.InventorySourceGroup Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "create"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/inventorySourceGroups"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Deletes an inventory source group. + /// Required. The ID of the inventory source group to delete. + public virtual DeleteRequest Delete(long inventorySourceGroupId) + { + return new DeleteRequest(service, inventorySourceGroupId); + } + + /// Deletes an inventory source group. + public class DeleteRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, long inventorySourceGroupId) : base(service) + { + InventorySourceGroupId = inventorySourceGroupId; + InitParameters(); + } + + /// Required. The ID of the inventory source group to delete. + [Google.Apis.Util.RequestParameterAttribute("inventorySourceGroupId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long InventorySourceGroupId { get; private set; } + + /// + /// The ID of the advertiser that owns the inventory source group. The parent partner does not have access + /// to this group. + /// + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// + /// The ID of the partner that owns the inventory source group. Only this partner has write access to this + /// group. + /// + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v3/inventorySourceGroups/{+inventorySourceGroupId}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("inventorySourceGroupId", new Google.Apis.Discovery.Parameter + { + Name = "inventorySourceGroupId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Gets an inventory source group. + /// Required. The ID of the inventory source group to fetch. + public virtual GetRequest Get(long inventorySourceGroupId) + { + return new GetRequest(service, inventorySourceGroupId); + } + + /// Gets an inventory source group. + public class GetRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, long inventorySourceGroupId) : base(service) + { + InventorySourceGroupId = inventorySourceGroupId; + InitParameters(); + } + + /// Required. The ID of the inventory source group to fetch. + [Google.Apis.Util.RequestParameterAttribute("inventorySourceGroupId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long InventorySourceGroupId { get; private set; } + + /// + /// The ID of the advertiser that has access to the inventory source group. If an inventory source group is + /// partner-owned, only advertisers to which the group is explicitly shared can access the group. + /// + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// + /// The ID of the partner that has access to the inventory source group. A partner cannot access an + /// advertiser-owned inventory source group. + /// + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/inventorySourceGroups/{+inventorySourceGroupId}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("inventorySourceGroupId", new Google.Apis.Discovery.Parameter + { + Name = "inventorySourceGroupId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// + /// Lists inventory source groups that are accessible to the current user. The order is defined by the order_by + /// parameter. + /// + public virtual ListRequest List() + { + return new ListRequest(service); + } + + /// + /// Lists inventory source groups that are accessible to the current user. The order is defined by the order_by + /// parameter. + /// + public class ListRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service) : base(service) + { + InitParameters(); + } + + /// + /// The ID of the advertiser that has access to the inventory source group. If an inventory source group is + /// partner-owned, only advertisers to which the group is explicitly shared can access the group. + /// + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// + /// Allows filtering by inventory source group fields. Supported syntax: * Filter expressions are made up of + /// one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction + /// has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported + /// fields: * `inventorySourceGroupId` The length of this field should be no more than 500 characters. + /// Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more + /// information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Field by which to sort the list. Acceptable values are: * `displayName` (default) * + /// `inventorySourceGroupId` The default sorting order is ascending. To specify descending order for a + /// field, a suffix "desc" should be added to the field name. For example, `displayName desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token identifying a page of results the server should return. Typically, this is the value of + /// next_page_token returned from the previous call to `ListInventorySources` method. If not specified, the + /// first page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// + /// The ID of the partner that has access to the inventory source group. A partner cannot access + /// advertiser-owned inventory source groups. + /// + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/inventorySourceGroups"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// + /// Updates an inventory source group. Returns the updated inventory source group if successful. + /// + /// The body of the request. + /// + /// Output only. The unique ID of the inventory source group. Assigned by the system. + /// + public virtual PatchRequest Patch(Google.Apis.DisplayVideo.v3.Data.InventorySourceGroup body, long inventorySourceGroupId) + { + return new PatchRequest(service, body, inventorySourceGroupId); + } + + /// + /// Updates an inventory source group. Returns the updated inventory source group if successful. + /// + public class PatchRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.InventorySourceGroup body, long inventorySourceGroupId) : base(service) + { + InventorySourceGroupId = inventorySourceGroupId; + Body = body; + InitParameters(); + } + + /// Output only. The unique ID of the inventory source group. Assigned by the system. + [Google.Apis.Util.RequestParameterAttribute("inventorySourceGroupId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long InventorySourceGroupId { get; private set; } + + /// + /// The ID of the advertiser that owns the inventory source group. The parent partner does not have access + /// to this group. + /// + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// + /// The ID of the partner that owns the inventory source group. Only this partner has write access to this + /// group. + /// + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Required. The mask to control which fields to update. + [Google.Apis.Util.RequestParameterAttribute("updateMask", Google.Apis.Util.RequestParameterType.Query)] + public virtual object UpdateMask { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.InventorySourceGroup Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "patch"; + + /// Gets the HTTP method. + public override string HttpMethod => "PATCH"; + + /// Gets the REST path. + public override string RestPath => "v3/inventorySourceGroups/{inventorySourceGroupId}"; + + /// Initializes Patch parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("inventorySourceGroupId", new Google.Apis.Discovery.Parameter + { + Name = "inventorySourceGroupId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// The "inventorySources" collection of methods. + public class InventorySourcesResource + { + private const string Resource = "inventorySources"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public InventorySourcesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Creates a new inventory source. Returns the newly created inventory source if successful. + /// The body of the request. + public virtual CreateRequest Create(Google.Apis.DisplayVideo.v3.Data.InventorySource body) + { + return new CreateRequest(service, body); + } + + /// Creates a new inventory source. Returns the newly created inventory source if successful. + public class CreateRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.InventorySource body) : base(service) + { + Body = body; + InitParameters(); + } + + /// The ID of the advertiser that the request is being made within. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// The ID of the partner that the request is being made within. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.InventorySource Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "create"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/inventorySources"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// + /// Edits read/write accessors of an inventory source. Returns the updated read_write_accessors for the + /// inventory source. + /// + /// The body of the request. + /// Required. The ID of inventory source to update. + public virtual EditInventorySourceReadWriteAccessorsRequest EditInventorySourceReadWriteAccessors(Google.Apis.DisplayVideo.v3.Data.EditInventorySourceReadWriteAccessorsRequest body, long inventorySourceId) + { + return new EditInventorySourceReadWriteAccessorsRequest(service, body, inventorySourceId); + } + + /// + /// Edits read/write accessors of an inventory source. Returns the updated read_write_accessors for the + /// inventory source. + /// + public class EditInventorySourceReadWriteAccessorsRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new EditInventorySourceReadWriteAccessors request. + public EditInventorySourceReadWriteAccessorsRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.EditInventorySourceReadWriteAccessorsRequest body, long inventorySourceId) : base(service) + { + InventorySourceId = inventorySourceId; + Body = body; + InitParameters(); + } + + /// Required. The ID of inventory source to update. + [Google.Apis.Util.RequestParameterAttribute("inventorySourceId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long InventorySourceId { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.EditInventorySourceReadWriteAccessorsRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "editInventorySourceReadWriteAccessors"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/inventorySources/{+inventorySourceId}:editInventorySourceReadWriteAccessors"; + + /// Initializes EditInventorySourceReadWriteAccessors parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("inventorySourceId", new Google.Apis.Discovery.Parameter + { + Name = "inventorySourceId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// Gets an inventory source. + /// Required. The ID of the inventory source to fetch. + public virtual GetRequest Get(long inventorySourceId) + { + return new GetRequest(service, inventorySourceId); + } + + /// Gets an inventory source. + public class GetRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, long inventorySourceId) : base(service) + { + InventorySourceId = inventorySourceId; + InitParameters(); + } + + /// Required. The ID of the inventory source to fetch. + [Google.Apis.Util.RequestParameterAttribute("inventorySourceId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long InventorySourceId { get; private set; } + + /// + /// Optional. The ID of the DV360 advertiser to which the fetched inventory source is permissioned. If the + /// user only has access to the advertiser and not the parent partner, use this field to specify the + /// relevant advertiser. + /// + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// + /// Required. The ID of the DV360 partner to which the fetched inventory source is permissioned. + /// + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/inventorySources/{+inventorySourceId}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("inventorySourceId", new Google.Apis.Discovery.Parameter + { + Name = "inventorySourceId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// + /// Lists inventory sources that are accessible to the current user. The order is defined by the order_by + /// parameter. If a filter by entity_status is not specified, inventory sources with entity status + /// `ENTITY_STATUS_ARCHIVED` will not be included in the results. + /// + public virtual ListRequest List() + { + return new ListRequest(service); + } + + /// + /// Lists inventory sources that are accessible to the current user. The order is defined by the order_by + /// parameter. If a filter by entity_status is not specified, inventory sources with entity status + /// `ENTITY_STATUS_ARCHIVED` will not be included in the results. + /// + public class ListRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service) : base(service) + { + InitParameters(); + } + + /// The ID of the advertiser that has access to the inventory source. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// + /// Allows filtering by inventory source fields. Supported syntax: * Filter expressions are made up of one + /// or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of + /// restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * All + /// fields must use the `EQUALS (=)` operator. Supported fields: * `status.entityStatus` * `commitment` * + /// `deliveryMethod` * `rateDetails.rateType` * `exchange` Examples: * All active inventory sources: + /// `status.entityStatus="ENTITY_STATUS_ACTIVE"` * Inventory sources belonging to Google Ad Manager or + /// Rubicon exchanges: `exchange="EXCHANGE_GOOGLE_AD_MANAGER" OR exchange="EXCHANGE_RUBICON"` The length of + /// this field should be no more than 500 characters. Reference our [filter `LIST` + /// requests](/display-video/api/guides/how-tos/filters) guide for more information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Field by which to sort the list. Acceptable values are: * `displayName` (default) The default sorting + /// order is ascending. To specify descending order for a field, a suffix "desc" should be added to the + /// field name. For example, `displayName desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token identifying a page of results the server should return. Typically, this is the value of + /// next_page_token returned from the previous call to `ListInventorySources` method. If not specified, the + /// first page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// The ID of the partner that has access to the inventory source. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/inventorySources"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Updates an existing inventory source. Returns the updated inventory source if successful. + /// The body of the request. + /// + /// Output only. The unique ID of the inventory source. Assigned by the system. + /// + public virtual PatchRequest Patch(Google.Apis.DisplayVideo.v3.Data.InventorySource body, long inventorySourceId) + { + return new PatchRequest(service, body, inventorySourceId); + } + + /// Updates an existing inventory source. Returns the updated inventory source if successful. + public class PatchRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.InventorySource body, long inventorySourceId) : base(service) + { + InventorySourceId = inventorySourceId; + Body = body; + InitParameters(); + } + + /// Output only. The unique ID of the inventory source. Assigned by the system. + [Google.Apis.Util.RequestParameterAttribute("inventorySourceId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long InventorySourceId { get; private set; } + + /// The ID of the advertiser that the request is being made within. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// The ID of the partner that the request is being made within. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PartnerId { get; set; } + + /// Required. The mask to control which fields to update. + [Google.Apis.Util.RequestParameterAttribute("updateMask", Google.Apis.Util.RequestParameterType.Query)] + public virtual object UpdateMask { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.InventorySource Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "patch"; + + /// Gets the HTTP method. + public override string HttpMethod => "PATCH"; + + /// Gets the REST path. + public override string RestPath => "v3/inventorySources/{+inventorySourceId}"; + + /// Initializes Patch parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("inventorySourceId", new Google.Apis.Discovery.Parameter + { + Name = "inventorySourceId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// The "media" collection of methods. + public class MediaResource + { + private const string Resource = "media"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public MediaResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// + /// Downloads media. Download is supported on the URI `/download/{resource_name=**}?alt=media.` **Note**: + /// Download requests will not be successful without including `alt=media` query string. + /// + /// + /// Name of the media that is being downloaded. See ReadRequest.resource_name. + /// + public virtual DownloadRequest Download(string resourceName) + { + return new DownloadRequest(service, resourceName); + } + + /// + /// Downloads media. Download is supported on the URI `/download/{resource_name=**}?alt=media.` **Note**: + /// Download requests will not be successful without including `alt=media` query string. + /// + public class DownloadRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Download request. + public DownloadRequest(Google.Apis.Services.IClientService service, string resourceName) : base(service) + { + ResourceName = resourceName; + MediaDownloader = new Google.Apis.Download.MediaDownloader(service); + InitParameters(); + } + + /// Name of the media that is being downloaded. See ReadRequest.resource_name. + [Google.Apis.Util.RequestParameterAttribute("resourceName", Google.Apis.Util.RequestParameterType.Path)] + public virtual string ResourceName { get; private set; } + + /// Gets the method name. + public override string MethodName => "download"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "download/{+resourceName}"; + + /// Initializes Download parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("resourceName", new Google.Apis.Discovery.Parameter + { + Name = "resourceName", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^.*$", + }); + } + + /// Gets the media downloader. + public Google.Apis.Download.IMediaDownloader MediaDownloader { get; private set; } + + /// + /// Synchronously download the media into the given stream. + /// + /// Warning: This method hides download errors; use + /// instead. + /// + /// + /// + /// This method uses the property to perform the download. Progress event + /// handlers and other configuration may be performed using that property prior to calling this method. + /// + public virtual void Download(System.IO.Stream stream) + { + var mediaDownloader = (Google.Apis.Download.MediaDownloader)MediaDownloader; + mediaDownloader.Range = null; + mediaDownloader.Download(this.GenerateRequestUri(), stream); + } + + /// Synchronously download the media into the given stream. + /// + /// This method uses the property to perform the download. Progress event + /// handlers and other configuration may be performed using that property prior to calling this method. + /// + /// The final status of the download; including whether the download succeeded or failed. + public virtual Google.Apis.Download.IDownloadProgress DownloadWithStatus(System.IO.Stream stream) + { + var mediaDownloader = (Google.Apis.Download.MediaDownloader)MediaDownloader; + mediaDownloader.Range = null; + return mediaDownloader.Download(this.GenerateRequestUri(), stream); + } + + /// Asynchronously download the media into the given stream. + /// + /// This method uses the property to perform the download. Progress event + /// handlers and other configuration may be performed using that property prior to calling this method. + /// + public virtual System.Threading.Tasks.Task DownloadAsync(System.IO.Stream stream) + { + var mediaDownloader = (Google.Apis.Download.MediaDownloader)MediaDownloader; + mediaDownloader.Range = null; + return mediaDownloader.DownloadAsync(this.GenerateRequestUri(), stream); + } + + /// Asynchronously download the media into the given stream. + /// + /// This method uses the property to perform the download. Progress event + /// handlers and other configuration may be performed using that property prior to calling this method. + /// + public virtual System.Threading.Tasks.Task DownloadAsync(System.IO.Stream stream, + System.Threading.CancellationToken cancellationToken) + { + var mediaDownloader = (Google.Apis.Download.MediaDownloader)MediaDownloader; + mediaDownloader.Range = null; + return mediaDownloader.DownloadAsync(this.GenerateRequestUri(), stream, cancellationToken); + } + + /// Synchronously download a range of the media into the given stream. + /// + /// This method uses the property to perform the download. Progress event + /// handlers and other configuration may be performed using that property prior to calling this method. + /// + public virtual Google.Apis.Download.IDownloadProgress DownloadRange(System.IO.Stream stream, System.Net.Http.Headers.RangeHeaderValue range) + { + var mediaDownloader = (Google.Apis.Download.MediaDownloader)MediaDownloader; + mediaDownloader.Range = range; + return mediaDownloader.Download(this.GenerateRequestUri(), stream); + } + + /// Asynchronously download a range of the media into the given stream. + /// + /// This method uses the property to perform the download. Progress event + /// handlers and other configuration may be performed using that property prior to calling this method. + /// + public virtual System.Threading.Tasks.Task DownloadRangeAsync(System.IO.Stream stream, + System.Net.Http.Headers.RangeHeaderValue range, + System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) + { + var mediaDownloader = (Google.Apis.Download.MediaDownloader)MediaDownloader; + mediaDownloader.Range = range; + return mediaDownloader.DownloadAsync(this.GenerateRequestUri(), stream, cancellationToken); + } + } + + /// + /// Uploads media. Upload is supported on the URI `/upload/media/{resource_name=**}?upload_type=media.` + /// **Note**: Upload requests will not be successful without including `upload_type=media` query string. + /// + /// The body of the request. + /// + /// Name of the media that is being downloaded. See ReadRequest.resource_name. + /// + public virtual UploadRequest Upload(Google.Apis.DisplayVideo.v3.Data.GoogleBytestreamMedia body, string resourceName) + { + return new UploadRequest(service, body, resourceName); + } + + /// + /// Uploads media. Upload is supported on the URI `/upload/media/{resource_name=**}?upload_type=media.` + /// **Note**: Upload requests will not be successful without including `upload_type=media` query string. + /// + public class UploadRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Upload request. + public UploadRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.GoogleBytestreamMedia body, string resourceName) : base(service) + { + ResourceName = resourceName; + Body = body; + InitParameters(); + } + + /// Name of the media that is being downloaded. See ReadRequest.resource_name. + [Google.Apis.Util.RequestParameterAttribute("resourceName", Google.Apis.Util.RequestParameterType.Path)] + public virtual string ResourceName { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.GoogleBytestreamMedia Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "upload"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "media/{+resourceName}"; + + /// Initializes Upload parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("resourceName", new Google.Apis.Discovery.Parameter + { + Name = "resourceName", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^.*$", + }); + } + } + + /// + /// Uploads media. Upload is supported on the URI `/upload/media/{resource_name=**}?upload_type=media.` + /// **Note**: Upload requests will not be successful without including `upload_type=media` query string. + /// + /// + /// Considerations regarding : + /// + /// + /// + /// If is seekable, then the stream position will be reset to 0 before reading + /// commences. If is not seekable, then it will be read from its current position + /// + /// + /// + /// + /// Caller is responsible for maintaining the open until the upload is completed + /// + /// + /// Caller is responsible for closing the + /// + /// + /// The body of the request. + /// + /// Name of the media that is being downloaded. See ReadRequest.resource_name. + /// + /// The stream to upload. See remarks for further information. + /// The content type of the stream to upload. + public virtual UploadMediaUpload Upload(Google.Apis.DisplayVideo.v3.Data.GoogleBytestreamMedia body, string resourceName, System.IO.Stream stream, string contentType) + { + return new UploadMediaUpload(service, body, resourceName, stream, contentType); + } + + /// Upload media upload which supports resumable upload. + public class UploadMediaUpload : Google.Apis.Upload.ResumableUpload + { + /// V1 error format. + [Google.Apis.Util.RequestParameterAttribute("$.xgafv", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable Xgafv { get; set; } + + /// V1 error format. + public enum XgafvEnum + { + /// v1 error format + [Google.Apis.Util.StringValueAttribute("1")] + Value1 = 0, + + /// v2 error format + [Google.Apis.Util.StringValueAttribute("2")] + Value2 = 1, + } + + /// OAuth access token. + [Google.Apis.Util.RequestParameterAttribute("access_token", Google.Apis.Util.RequestParameterType.Query)] + public virtual string AccessToken { get; set; } + + /// Data format for response. + [Google.Apis.Util.RequestParameterAttribute("alt", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable Alt { get; set; } + + /// Data format for response. + public enum AltEnum + { + /// Responses with Content-Type of application/json + [Google.Apis.Util.StringValueAttribute("json")] + Json = 0, + + /// Media download with context-dependent Content-Type + [Google.Apis.Util.StringValueAttribute("media")] + Media = 1, + + /// Responses with Content-Type of application/x-protobuf + [Google.Apis.Util.StringValueAttribute("proto")] + Proto = 2, + } + + /// JSONP + [Google.Apis.Util.RequestParameterAttribute("callback", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Callback { get; set; } + + /// Selector specifying which fields to include in a partial response. + [Google.Apis.Util.RequestParameterAttribute("fields", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Fields { get; set; } + + /// + /// 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. + /// + [Google.Apis.Util.RequestParameterAttribute("key", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Key { get; set; } + + /// OAuth 2.0 token for the current user. + [Google.Apis.Util.RequestParameterAttribute("oauth_token", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OauthToken { get; set; } + + /// Returns response with indentations and line breaks. + [Google.Apis.Util.RequestParameterAttribute("prettyPrint", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PrettyPrint { get; set; } + + /// + /// 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. + /// + [Google.Apis.Util.RequestParameterAttribute("quotaUser", Google.Apis.Util.RequestParameterType.Query)] + public virtual string QuotaUser { get; set; } + + /// Legacy upload protocol for media (e.g. "media", "multipart"). + [Google.Apis.Util.RequestParameterAttribute("uploadType", Google.Apis.Util.RequestParameterType.Query)] + public virtual string UploadType { get; set; } + + /// Upload protocol for media (e.g. "raw", "multipart"). + [Google.Apis.Util.RequestParameterAttribute("upload_protocol", Google.Apis.Util.RequestParameterType.Query)] + public virtual string UploadProtocol { get; set; } + + /// Name of the media that is being downloaded. See ReadRequest.resource_name. + [Google.Apis.Util.RequestParameterAttribute("resourceName", Google.Apis.Util.RequestParameterType.Path)] + public virtual string ResourceName { get; private set; } + + /// Constructs a new Upload media upload instance. + /// + /// Considerations regarding : + /// + /// + /// + /// If is seekable, then the stream position will be reset to 0 before + /// reading commences. If is not seekable, then it will be read from its current + /// position + /// + /// + /// + /// + /// Caller is responsible for maintaining the open until the upload is completed + /// + /// + /// Caller is responsible for closing the + /// + /// + public UploadMediaUpload(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.GoogleBytestreamMedia body, string resourceName, System.IO.Stream stream, string contentType) + : base(service, string.Format("/{0}/{1}{2}", "upload", service.BasePath, "media/{+resourceName}"), "POST", stream, contentType) + { + ResourceName = resourceName; + Body = body; + } + } + } + + /// The "partners" collection of methods. + public class PartnersResource + { + private const string Resource = "partners"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public PartnersResource(Google.Apis.Services.IClientService service) + { + this.service = service; + Channels = new ChannelsResource(service); + TargetingTypes = new TargetingTypesResource(service); + } + + /// Gets the Channels resource. + public virtual ChannelsResource Channels { get; } + + /// The "channels" collection of methods. + public class ChannelsResource + { + private const string Resource = "channels"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public ChannelsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + Sites = new SitesResource(service); + } + + /// Gets the Sites resource. + public virtual SitesResource Sites { get; } + + /// The "sites" collection of methods. + public class SitesResource + { + private const string Resource = "sites"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public SitesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// + /// Bulk edits sites under a single channel. The operation will delete the sites provided in + /// BulkEditSitesRequest.deleted_sites and then create the sites provided in + /// BulkEditSitesRequest.created_sites. + /// + /// The body of the request. + /// The ID of the partner that owns the parent channel. + /// Required. The ID of the parent channel to which the sites belong. + public virtual BulkEditRequest BulkEdit(Google.Apis.DisplayVideo.v3.Data.BulkEditSitesRequest body, long partnerId, long channelId) + { + return new BulkEditRequest(service, body, partnerId, channelId); + } + + /// + /// Bulk edits sites under a single channel. The operation will delete the sites provided in + /// BulkEditSitesRequest.deleted_sites and then create the sites provided in + /// BulkEditSitesRequest.created_sites. + /// + public class BulkEditRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new BulkEdit request. + public BulkEditRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.BulkEditSitesRequest body, long partnerId, long channelId) : base(service) + { + PartnerId = partnerId; + ChannelId = channelId; + Body = body; + InitParameters(); + } + + /// The ID of the partner that owns the parent channel. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long PartnerId { get; private set; } + + /// Required. The ID of the parent channel to which the sites belong. + [Google.Apis.Util.RequestParameterAttribute("channelId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long ChannelId { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.BulkEditSitesRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "bulkEdit"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/partners/{partnerId}/channels/{+channelId}/sites:bulkEdit"; + + /// Initializes BulkEdit parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("channelId", new Google.Apis.Discovery.Parameter + { + Name = "channelId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// Creates a site in a channel. + /// The body of the request. + /// The ID of the partner that owns the parent channel. + /// + /// Required. The ID of the parent channel in which the site will be created. + /// + public virtual CreateRequest Create(Google.Apis.DisplayVideo.v3.Data.Site body, long partnerId, long channelId) + { + return new CreateRequest(service, body, partnerId, channelId); + } + + /// Creates a site in a channel. + public class CreateRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.Site body, long partnerId, long channelId) : base(service) + { + PartnerId = partnerId; + ChannelId = channelId; + Body = body; + InitParameters(); + } + + /// The ID of the partner that owns the parent channel. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long PartnerId { get; private set; } + + /// Required. The ID of the parent channel in which the site will be created. + [Google.Apis.Util.RequestParameterAttribute("channelId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long ChannelId { get; private set; } + + /// The ID of the advertiser that owns the parent channel. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.Site Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "create"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/partners/{partnerId}/channels/{+channelId}/sites"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("channelId", new Google.Apis.Discovery.Parameter + { + Name = "channelId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Deletes a site from a channel. + /// The ID of the partner that owns the parent channel. + /// Required. The ID of the parent channel to which the site belongs. + /// Required. The URL or app ID of the site to delete. + public virtual DeleteRequest Delete(long partnerId, long channelId, string urlOrAppId) + { + return new DeleteRequest(service, partnerId, channelId, urlOrAppId); + } + + /// Deletes a site from a channel. + public class DeleteRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, long partnerId, long channelId, string urlOrAppId) : base(service) + { + PartnerId = partnerId; + ChannelId = channelId; + UrlOrAppId = urlOrAppId; + InitParameters(); + } + + /// The ID of the partner that owns the parent channel. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long PartnerId { get; private set; } + + /// Required. The ID of the parent channel to which the site belongs. + [Google.Apis.Util.RequestParameterAttribute("channelId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long ChannelId { get; private set; } + + /// Required. The URL or app ID of the site to delete. + [Google.Apis.Util.RequestParameterAttribute("urlOrAppId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string UrlOrAppId { get; private set; } + + /// The ID of the advertiser that owns the parent channel. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v3/partners/{partnerId}/channels/{+channelId}/sites/{+urlOrAppId}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("channelId", new Google.Apis.Discovery.Parameter + { + Name = "channelId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("urlOrAppId", new Google.Apis.Discovery.Parameter + { + Name = "urlOrAppId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Lists sites in a channel. + /// The ID of the partner that owns the parent channel. + /// + /// Required. The ID of the parent channel to which the requested sites belong. + /// + public virtual ListRequest List(long partnerId, long channelId) + { + return new ListRequest(service, partnerId, channelId); + } + + /// Lists sites in a channel. + public class ListRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, long partnerId, long channelId) : base(service) + { + PartnerId = partnerId; + ChannelId = channelId; + InitParameters(); + } + + /// The ID of the partner that owns the parent channel. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long PartnerId { get; private set; } + + /// Required. The ID of the parent channel to which the requested sites belong. + [Google.Apis.Util.RequestParameterAttribute("channelId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long ChannelId { get; private set; } + + /// The ID of the advertiser that owns the parent channel. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// + /// Allows filtering by site fields. Supported syntax: * Filter expressions for site retrieval can + /// only contain at most one restriction. * A restriction has the form of `{field} {operator} + /// {value}`. * All fields must use the `HAS (:)` operator. Supported fields: * `urlOrAppId` + /// Examples: * All sites for which the URL or app ID contains "google": `urlOrAppId : "google"` The + /// length of this field should be no more than 500 characters. Reference our [filter `LIST` + /// requests](/display-video/api/guides/how-tos/filters) guide for more information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Field by which to sort the list. Acceptable values are: * `urlOrAppId` (default) The default + /// sorting order is ascending. To specify descending order for a field, a suffix " desc" should be + /// added to the field name. Example: `urlOrAppId desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Must be between `1` and `10000`. If unspecified will default to `100`. + /// Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token identifying a page of results the server should return. Typically, this is the value of + /// next_page_token returned from the previous call to `ListSites` method. If not specified, the + /// first page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/partners/{+partnerId}/channels/{+channelId}/sites"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("channelId", new Google.Apis.Discovery.Parameter + { + Name = "channelId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// + /// Replaces all of the sites under a single channel. The operation will replace the sites under a + /// channel with the sites provided in ReplaceSitesRequest.new_sites. + /// + /// The body of the request. + /// The ID of the partner that owns the parent channel. + /// Required. The ID of the parent channel whose sites will be replaced. + public virtual ReplaceRequest Replace(Google.Apis.DisplayVideo.v3.Data.ReplaceSitesRequest body, long partnerId, long channelId) + { + return new ReplaceRequest(service, body, partnerId, channelId); + } + + /// + /// Replaces all of the sites under a single channel. The operation will replace the sites under a + /// channel with the sites provided in ReplaceSitesRequest.new_sites. + /// + public class ReplaceRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Replace request. + public ReplaceRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.ReplaceSitesRequest body, long partnerId, long channelId) : base(service) + { + PartnerId = partnerId; + ChannelId = channelId; + Body = body; + InitParameters(); + } + + /// The ID of the partner that owns the parent channel. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long PartnerId { get; private set; } + + /// Required. The ID of the parent channel whose sites will be replaced. + [Google.Apis.Util.RequestParameterAttribute("channelId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long ChannelId { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.ReplaceSitesRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "replace"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/partners/{partnerId}/channels/{+channelId}/sites:replace"; + + /// Initializes Replace parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("channelId", new Google.Apis.Discovery.Parameter + { + Name = "channelId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + } + + /// Creates a new channel. Returns the newly created channel if successful. + /// The body of the request. + /// The ID of the partner that owns the created channel. + public virtual CreateRequest Create(Google.Apis.DisplayVideo.v3.Data.Channel body, long partnerId) + { + return new CreateRequest(service, body, partnerId); + } + + /// Creates a new channel. Returns the newly created channel if successful. + public class CreateRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.Channel body, long partnerId) : base(service) + { + PartnerId = partnerId; + Body = body; + InitParameters(); + } + + /// The ID of the partner that owns the created channel. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long PartnerId { get; private set; } + + /// The ID of the advertiser that owns the created channel. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.Channel Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "create"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/partners/{+partnerId}/channels"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Gets a channel for a partner or advertiser. + /// The ID of the partner that owns the fetched channel. + /// Required. The ID of the channel to fetch. + public virtual GetRequest Get(long partnerId, long channelId) + { + return new GetRequest(service, partnerId, channelId); + } + + /// Gets a channel for a partner or advertiser. + public class GetRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, long partnerId, long channelId) : base(service) + { + PartnerId = partnerId; + ChannelId = channelId; + InitParameters(); + } + + /// The ID of the partner that owns the fetched channel. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long PartnerId { get; private set; } + + /// Required. The ID of the channel to fetch. + [Google.Apis.Util.RequestParameterAttribute("channelId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long ChannelId { get; private set; } + + /// The ID of the advertiser that owns the fetched channel. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/partners/{+partnerId}/channels/{+channelId}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("channelId", new Google.Apis.Discovery.Parameter + { + Name = "channelId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Lists channels for a partner or advertiser. + /// The ID of the partner that owns the channels. + public virtual ListRequest List(long partnerId) + { + return new ListRequest(service, partnerId); + } + + /// Lists channels for a partner or advertiser. + public class ListRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, long partnerId) : base(service) + { + PartnerId = partnerId; + InitParameters(); + } + + /// The ID of the partner that owns the channels. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long PartnerId { get; private set; } + + /// The ID of the advertiser that owns the channels. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// + /// Allows filtering by channel fields. Supported syntax: * Filter expressions for channel can only + /// contain at most one restriction. * A restriction has the form of `{field} {operator} {value}`. * All + /// fields must use the `HAS (:)` operator. Supported fields: * `displayName` Examples: * All channels + /// for which the display name contains "google": `displayName : "google"`. The length of this field + /// should be no more than 500 characters. Reference our [filter `LIST` + /// requests](/display-video/api/guides/how-tos/filters) guide for more information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Field by which to sort the list. Acceptable values are: * `displayName` (default) * `channelId` The + /// default sorting order is ascending. To specify descending order for a field, a suffix " desc" should + /// be added to the field name. Example: `displayName desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns + /// error code `INVALID_ARGUMENT` if an invalid value is specified. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token identifying a page of results the server should return. Typically, this is the value of + /// next_page_token returned from the previous call to `ListChannels` method. If not specified, the + /// first page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/partners/{+partnerId}/channels"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Updates a channel. Returns the updated channel if successful. + /// The body of the request. + /// The ID of the partner that owns the created channel. + /// Output only. The unique ID of the channel. Assigned by the system. + public virtual PatchRequest Patch(Google.Apis.DisplayVideo.v3.Data.Channel body, long partnerId, long channelId) + { + return new PatchRequest(service, body, partnerId, channelId); + } + + /// Updates a channel. Returns the updated channel if successful. + public class PatchRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.Channel body, long partnerId, long channelId) : base(service) + { + PartnerId = partnerId; + ChannelId = channelId; + Body = body; + InitParameters(); + } + + /// The ID of the partner that owns the created channel. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long PartnerId { get; private set; } + + /// Output only. The unique ID of the channel. Assigned by the system. + [Google.Apis.Util.RequestParameterAttribute("channelId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long ChannelId { get; private set; } + + /// The ID of the advertiser that owns the created channel. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// Required. The mask to control which fields to update. + [Google.Apis.Util.RequestParameterAttribute("updateMask", Google.Apis.Util.RequestParameterType.Query)] + public virtual object UpdateMask { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.Channel Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "patch"; + + /// Gets the HTTP method. + public override string HttpMethod => "PATCH"; + + /// Gets the REST path. + public override string RestPath => "v3/partners/{+partnerId}/channels/{channelId}"; + + /// Initializes Patch parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("channelId", new Google.Apis.Discovery.Parameter + { + Name = "channelId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// Gets the TargetingTypes resource. + public virtual TargetingTypesResource TargetingTypes { get; } + + /// The "targetingTypes" collection of methods. + public class TargetingTypesResource + { + private const string Resource = "targetingTypes"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public TargetingTypesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + AssignedTargetingOptions = new AssignedTargetingOptionsResource(service); + } + + /// Gets the AssignedTargetingOptions resource. + public virtual AssignedTargetingOptionsResource AssignedTargetingOptions { get; } + + /// The "assignedTargetingOptions" collection of methods. + public class AssignedTargetingOptionsResource + { + private const string Resource = "assignedTargetingOptions"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public AssignedTargetingOptionsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// + /// Assigns a targeting option to a partner. Returns the assigned targeting option if successful. + /// + /// The body of the request. + /// Required. The ID of the partner. + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types: * + /// `TARGETING_TYPE_CHANNEL` + /// + public virtual CreateRequest Create(Google.Apis.DisplayVideo.v3.Data.AssignedTargetingOption body, long partnerId, CreateRequest.TargetingTypeEnum targetingType) + { + return new CreateRequest(service, body, partnerId, targetingType); + } + + /// + /// Assigns a targeting option to a partner. Returns the assigned targeting option if successful. + /// + public class CreateRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.AssignedTargetingOption body, long partnerId, TargetingTypeEnum targetingType) : base(service) + { + PartnerId = partnerId; + TargetingType = targetingType; + Body = body; + InitParameters(); + } + + /// Required. The ID of the partner. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long PartnerId { get; private set; } + + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types: * + /// `TARGETING_TYPE_CHANNEL` + /// + [Google.Apis.Util.RequestParameterAttribute("targetingType", Google.Apis.Util.RequestParameterType.Path)] + public virtual TargetingTypeEnum TargetingType { get; private set; } + + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types: * + /// `TARGETING_TYPE_CHANNEL` + /// + public enum TargetingTypeEnum + { + /// Default value when type is not specified or is unknown in this version. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_UNSPECIFIED")] + TARGETINGTYPEUNSPECIFIED = 0, + + /// Target a channel (a custom group of related websites or apps). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CHANNEL")] + TARGETINGTYPECHANNEL = 1, + + /// Target an app category (for example, education or puzzle games). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP_CATEGORY")] + TARGETINGTYPEAPPCATEGORY = 2, + + /// Target a specific app (for example, Angry Birds). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP")] + TARGETINGTYPEAPP = 3, + + /// Target a specific url (for example, quora.com). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_URL")] + TARGETINGTYPEURL = 4, + + /// Target ads during a chosen time period on a specific day. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DAY_AND_TIME")] + TARGETINGTYPEDAYANDTIME = 5, + + /// Target ads to a specific age range (for example, 18-24). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AGE_RANGE")] + TARGETINGTYPEAGERANGE = 6, + + /// Target ads to the specified regions on a regional location list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_REGIONAL_LOCATION_LIST")] + TARGETINGTYPEREGIONALLOCATIONLIST = 7, + + /// + /// Target ads to the specified points of interest on a proximity location list. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PROXIMITY_LOCATION_LIST")] + TARGETINGTYPEPROXIMITYLOCATIONLIST = 8, + + /// Target ads to a specific gender (for example, female or male). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GENDER")] + TARGETINGTYPEGENDER = 9, + + /// Target a specific video player size for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIDEO_PLAYER_SIZE")] + TARGETINGTYPEVIDEOPLAYERSIZE = 10, + + /// Target user rewarded content for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_USER_REWARDED_CONTENT")] + TARGETINGTYPEUSERREWARDEDCONTENT = 11, + + /// + /// Target ads to a specific parental status (for example, parent or not a parent). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PARENTAL_STATUS")] + TARGETINGTYPEPARENTALSTATUS = 12, + + /// + /// Target video or audio ads in a specific content instream position (for example, pre-roll, + /// mid-roll, or post-roll). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_INSTREAM_POSITION")] + TARGETINGTYPECONTENTINSTREAMPOSITION = 13, + + /// Target ads in a specific content outstream position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION")] + TARGETINGTYPECONTENTOUTSTREAMPOSITION = 14, + + /// + /// Target ads to a specific device type (for example, tablet or connected TV). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_TYPE")] + TARGETINGTYPEDEVICETYPE = 15, + + /// + /// Target ads to an audience or groups of audiences. Singleton field, at most one can exist on + /// a single Lineitem at a time. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIENCE_GROUP")] + TARGETINGTYPEAUDIENCEGROUP = 16, + + /// Target ads to specific web browsers (for example, Chrome). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BROWSER")] + TARGETINGTYPEBROWSER = 17, + + /// Target ads to a specific household income range (for example, top 10%). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_HOUSEHOLD_INCOME")] + TARGETINGTYPEHOUSEHOLDINCOME = 18, + + /// Target ads in a specific on screen position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ON_SCREEN_POSITION")] + TARGETINGTYPEONSCREENPOSITION = 19, + + /// + /// Filter web sites through third party verification (for example, IAS or DoubleVerify). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_THIRD_PARTY_VERIFIER")] + TARGETINGTYPETHIRDPARTYVERIFIER = 20, + + /// + /// Filter web sites by specific digital content label ratings (for example, DL-MA: suitable + /// only for mature audiences). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION")] + TARGETINGTYPEDIGITALCONTENTLABELEXCLUSION = 21, + + /// Filter website content by sensitive categories (for example, adult). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION")] + TARGETINGTYPESENSITIVECATEGORYEXCLUSION = 22, + + /// Target ads to a specific environment (for example, web or app). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ENVIRONMENT")] + TARGETINGTYPEENVIRONMENT = 23, + + /// + /// Target ads to a specific network carrier or internet service provider (ISP) (for example, + /// Comcast or Orange). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CARRIER_AND_ISP")] + TARGETINGTYPECARRIERANDISP = 24, + + /// Target ads to a specific operating system (for example, macOS). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OPERATING_SYSTEM")] + TARGETINGTYPEOPERATINGSYSTEM = 25, + + /// + /// Target ads to a specific device make or model (for example, Roku or Samsung). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_MAKE_MODEL")] + TARGETINGTYPEDEVICEMAKEMODEL = 26, + + /// Target ads to a specific keyword (for example, dog or retriever). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_KEYWORD")] + TARGETINGTYPEKEYWORD = 27, + + /// Target ads to a specific negative keyword list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NEGATIVE_KEYWORD_LIST")] + TARGETINGTYPENEGATIVEKEYWORDLIST = 28, + + /// Target ads to a specific viewability (for example, 80% viewable). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIEWABILITY")] + TARGETINGTYPEVIEWABILITY = 29, + + /// + /// Target ads to a specific content category (for example, arts &amp; entertainment). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CATEGORY")] + TARGETINGTYPECATEGORY = 30, + + /// Purchase impressions from specific deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE")] + TARGETINGTYPEINVENTORYSOURCE = 31, + + /// Target ads to a specific language (for example, English or Japanese). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_LANGUAGE")] + TARGETINGTYPELANGUAGE = 32, + + /// + /// Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, + /// the resource uses the "Authorized Direct Sellers and Resellers" option by default. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUTHORIZED_SELLER_STATUS")] + TARGETINGTYPEAUTHORIZEDSELLERSTATUS = 33, + + /// + /// Target ads to a specific regional location (for example, a city or state). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GEO_REGION")] + TARGETINGTYPEGEOREGION = 34, + + /// Purchase impressions from a group of deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE_GROUP")] + TARGETINGTYPEINVENTORYSOURCEGROUP = 35, + + /// Purchase impressions from specific exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_EXCHANGE")] + TARGETINGTYPEEXCHANGE = 36, + + /// Purchase impressions from specific sub-exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SUB_EXCHANGE")] + TARGETINGTYPESUBEXCHANGE = 37, + + /// + /// Target ads around a specific point of interest, such as a notable building, a street + /// address, or latitude/longitude coordinates. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_POI")] + TARGETINGTYPEPOI = 38, + + /// + /// Target ads around locations of a business chain within a specific geo region. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BUSINESS_CHAIN")] + TARGETINGTYPEBUSINESSCHAIN = 39, + + /// Target ads to a specific video content duration. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_DURATION")] + TARGETINGTYPECONTENTDURATION = 40, + + /// Target ads to a specific video content stream type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_STREAM_TYPE")] + TARGETINGTYPECONTENTSTREAMTYPE = 41, + + /// Target ads to a specific native content position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NATIVE_CONTENT_POSITION")] + TARGETINGTYPENATIVECONTENTPOSITION = 42, + + /// Target ads in an Open Measurement enabled inventory. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OMID")] + TARGETINGTYPEOMID = 43, + + /// Target ads to a specific audio content type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIO_CONTENT_TYPE")] + TARGETINGTYPEAUDIOCONTENTTYPE = 44, + + /// Target ads to a specific content genre. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_GENRE")] + TARGETINGTYPECONTENTGENRE = 45, + + /// + /// Target ads to a specific YouTube video. Targeting of this type cannot be created or updated + /// using the API. Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_VIDEO")] + TARGETINGTYPEYOUTUBEVIDEO = 46, + + /// + /// Target ads to a specific YouTube channel. Targeting of this type cannot be created or + /// updated using the API. Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_CHANNEL")] + TARGETINGTYPEYOUTUBECHANNEL = 47, + + /// + /// Target ads to a serve it in a certain position of a session. Only supported for Ad Group + /// resources under YouTube Programmatic Reservation line items. Targeting of this type cannot + /// be created or updated using the API. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SESSION_POSITION")] + TARGETINGTYPESESSIONPOSITION = 48, + } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.AssignedTargetingOption Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "create"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("targetingType", new Google.Apis.Discovery.Parameter + { + Name = "targetingType", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// Deletes an assigned targeting option from a partner. + /// Required. The ID of the partner. + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types: * + /// `TARGETING_TYPE_CHANNEL` + /// + /// + /// Required. The ID of the assigned targeting option to delete. + /// + public virtual DeleteRequest Delete(long partnerId, DeleteRequest.TargetingTypeEnum targetingType, string assignedTargetingOptionId) + { + return new DeleteRequest(service, partnerId, targetingType, assignedTargetingOptionId); + } + + /// Deletes an assigned targeting option from a partner. + public class DeleteRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, long partnerId, TargetingTypeEnum targetingType, string assignedTargetingOptionId) : base(service) + { + PartnerId = partnerId; + TargetingType = targetingType; + AssignedTargetingOptionId = assignedTargetingOptionId; + InitParameters(); + } + + /// Required. The ID of the partner. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long PartnerId { get; private set; } + + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types: * + /// `TARGETING_TYPE_CHANNEL` + /// + [Google.Apis.Util.RequestParameterAttribute("targetingType", Google.Apis.Util.RequestParameterType.Path)] + public virtual TargetingTypeEnum TargetingType { get; private set; } + + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types: * + /// `TARGETING_TYPE_CHANNEL` + /// + public enum TargetingTypeEnum + { + /// Default value when type is not specified or is unknown in this version. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_UNSPECIFIED")] + TARGETINGTYPEUNSPECIFIED = 0, + + /// Target a channel (a custom group of related websites or apps). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CHANNEL")] + TARGETINGTYPECHANNEL = 1, + + /// Target an app category (for example, education or puzzle games). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP_CATEGORY")] + TARGETINGTYPEAPPCATEGORY = 2, + + /// Target a specific app (for example, Angry Birds). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP")] + TARGETINGTYPEAPP = 3, + + /// Target a specific url (for example, quora.com). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_URL")] + TARGETINGTYPEURL = 4, + + /// Target ads during a chosen time period on a specific day. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DAY_AND_TIME")] + TARGETINGTYPEDAYANDTIME = 5, + + /// Target ads to a specific age range (for example, 18-24). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AGE_RANGE")] + TARGETINGTYPEAGERANGE = 6, + + /// Target ads to the specified regions on a regional location list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_REGIONAL_LOCATION_LIST")] + TARGETINGTYPEREGIONALLOCATIONLIST = 7, + + /// + /// Target ads to the specified points of interest on a proximity location list. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PROXIMITY_LOCATION_LIST")] + TARGETINGTYPEPROXIMITYLOCATIONLIST = 8, + + /// Target ads to a specific gender (for example, female or male). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GENDER")] + TARGETINGTYPEGENDER = 9, + + /// Target a specific video player size for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIDEO_PLAYER_SIZE")] + TARGETINGTYPEVIDEOPLAYERSIZE = 10, + + /// Target user rewarded content for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_USER_REWARDED_CONTENT")] + TARGETINGTYPEUSERREWARDEDCONTENT = 11, + + /// + /// Target ads to a specific parental status (for example, parent or not a parent). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PARENTAL_STATUS")] + TARGETINGTYPEPARENTALSTATUS = 12, + + /// + /// Target video or audio ads in a specific content instream position (for example, pre-roll, + /// mid-roll, or post-roll). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_INSTREAM_POSITION")] + TARGETINGTYPECONTENTINSTREAMPOSITION = 13, + + /// Target ads in a specific content outstream position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION")] + TARGETINGTYPECONTENTOUTSTREAMPOSITION = 14, + + /// + /// Target ads to a specific device type (for example, tablet or connected TV). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_TYPE")] + TARGETINGTYPEDEVICETYPE = 15, + + /// + /// Target ads to an audience or groups of audiences. Singleton field, at most one can exist on + /// a single Lineitem at a time. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIENCE_GROUP")] + TARGETINGTYPEAUDIENCEGROUP = 16, + + /// Target ads to specific web browsers (for example, Chrome). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BROWSER")] + TARGETINGTYPEBROWSER = 17, + + /// Target ads to a specific household income range (for example, top 10%). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_HOUSEHOLD_INCOME")] + TARGETINGTYPEHOUSEHOLDINCOME = 18, + + /// Target ads in a specific on screen position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ON_SCREEN_POSITION")] + TARGETINGTYPEONSCREENPOSITION = 19, + + /// + /// Filter web sites through third party verification (for example, IAS or DoubleVerify). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_THIRD_PARTY_VERIFIER")] + TARGETINGTYPETHIRDPARTYVERIFIER = 20, + + /// + /// Filter web sites by specific digital content label ratings (for example, DL-MA: suitable + /// only for mature audiences). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION")] + TARGETINGTYPEDIGITALCONTENTLABELEXCLUSION = 21, + + /// Filter website content by sensitive categories (for example, adult). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION")] + TARGETINGTYPESENSITIVECATEGORYEXCLUSION = 22, + + /// Target ads to a specific environment (for example, web or app). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ENVIRONMENT")] + TARGETINGTYPEENVIRONMENT = 23, + + /// + /// Target ads to a specific network carrier or internet service provider (ISP) (for example, + /// Comcast or Orange). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CARRIER_AND_ISP")] + TARGETINGTYPECARRIERANDISP = 24, + + /// Target ads to a specific operating system (for example, macOS). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OPERATING_SYSTEM")] + TARGETINGTYPEOPERATINGSYSTEM = 25, + + /// + /// Target ads to a specific device make or model (for example, Roku or Samsung). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_MAKE_MODEL")] + TARGETINGTYPEDEVICEMAKEMODEL = 26, + + /// Target ads to a specific keyword (for example, dog or retriever). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_KEYWORD")] + TARGETINGTYPEKEYWORD = 27, + + /// Target ads to a specific negative keyword list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NEGATIVE_KEYWORD_LIST")] + TARGETINGTYPENEGATIVEKEYWORDLIST = 28, + + /// Target ads to a specific viewability (for example, 80% viewable). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIEWABILITY")] + TARGETINGTYPEVIEWABILITY = 29, + + /// + /// Target ads to a specific content category (for example, arts &amp; entertainment). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CATEGORY")] + TARGETINGTYPECATEGORY = 30, + + /// Purchase impressions from specific deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE")] + TARGETINGTYPEINVENTORYSOURCE = 31, + + /// Target ads to a specific language (for example, English or Japanese). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_LANGUAGE")] + TARGETINGTYPELANGUAGE = 32, + + /// + /// Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, + /// the resource uses the "Authorized Direct Sellers and Resellers" option by default. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUTHORIZED_SELLER_STATUS")] + TARGETINGTYPEAUTHORIZEDSELLERSTATUS = 33, + + /// + /// Target ads to a specific regional location (for example, a city or state). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GEO_REGION")] + TARGETINGTYPEGEOREGION = 34, + + /// Purchase impressions from a group of deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE_GROUP")] + TARGETINGTYPEINVENTORYSOURCEGROUP = 35, + + /// Purchase impressions from specific exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_EXCHANGE")] + TARGETINGTYPEEXCHANGE = 36, + + /// Purchase impressions from specific sub-exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SUB_EXCHANGE")] + TARGETINGTYPESUBEXCHANGE = 37, + + /// + /// Target ads around a specific point of interest, such as a notable building, a street + /// address, or latitude/longitude coordinates. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_POI")] + TARGETINGTYPEPOI = 38, + + /// + /// Target ads around locations of a business chain within a specific geo region. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BUSINESS_CHAIN")] + TARGETINGTYPEBUSINESSCHAIN = 39, + + /// Target ads to a specific video content duration. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_DURATION")] + TARGETINGTYPECONTENTDURATION = 40, + + /// Target ads to a specific video content stream type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_STREAM_TYPE")] + TARGETINGTYPECONTENTSTREAMTYPE = 41, + + /// Target ads to a specific native content position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NATIVE_CONTENT_POSITION")] + TARGETINGTYPENATIVECONTENTPOSITION = 42, + + /// Target ads in an Open Measurement enabled inventory. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OMID")] + TARGETINGTYPEOMID = 43, + + /// Target ads to a specific audio content type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIO_CONTENT_TYPE")] + TARGETINGTYPEAUDIOCONTENTTYPE = 44, + + /// Target ads to a specific content genre. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_GENRE")] + TARGETINGTYPECONTENTGENRE = 45, + + /// + /// Target ads to a specific YouTube video. Targeting of this type cannot be created or updated + /// using the API. Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_VIDEO")] + TARGETINGTYPEYOUTUBEVIDEO = 46, + + /// + /// Target ads to a specific YouTube channel. Targeting of this type cannot be created or + /// updated using the API. Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_CHANNEL")] + TARGETINGTYPEYOUTUBECHANNEL = 47, + + /// + /// Target ads to a serve it in a certain position of a session. Only supported for Ad Group + /// resources under YouTube Programmatic Reservation line items. Targeting of this type cannot + /// be created or updated using the API. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SESSION_POSITION")] + TARGETINGTYPESESSIONPOSITION = 48, + } + + /// Required. The ID of the assigned targeting option to delete. + [Google.Apis.Util.RequestParameterAttribute("assignedTargetingOptionId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string AssignedTargetingOptionId { get; private set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v3/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("targetingType", new Google.Apis.Discovery.Parameter + { + Name = "targetingType", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("assignedTargetingOptionId", new Google.Apis.Discovery.Parameter + { + Name = "assignedTargetingOptionId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// Gets a single targeting option assigned to a partner. + /// Required. The ID of the partner. + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types: * + /// `TARGETING_TYPE_CHANNEL` + /// + /// + /// Required. An identifier unique to the targeting type in this partner that identifies the assigned + /// targeting option being requested. + /// + public virtual GetRequest Get(long partnerId, GetRequest.TargetingTypeEnum targetingType, string assignedTargetingOptionId) + { + return new GetRequest(service, partnerId, targetingType, assignedTargetingOptionId); + } + + /// Gets a single targeting option assigned to a partner. + public class GetRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, long partnerId, TargetingTypeEnum targetingType, string assignedTargetingOptionId) : base(service) + { + PartnerId = partnerId; + TargetingType = targetingType; + AssignedTargetingOptionId = assignedTargetingOptionId; + InitParameters(); + } + + /// Required. The ID of the partner. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long PartnerId { get; private set; } + + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types: * + /// `TARGETING_TYPE_CHANNEL` + /// + [Google.Apis.Util.RequestParameterAttribute("targetingType", Google.Apis.Util.RequestParameterType.Path)] + public virtual TargetingTypeEnum TargetingType { get; private set; } + + /// + /// Required. Identifies the type of this assigned targeting option. Supported targeting types: * + /// `TARGETING_TYPE_CHANNEL` + /// + public enum TargetingTypeEnum + { + /// Default value when type is not specified or is unknown in this version. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_UNSPECIFIED")] + TARGETINGTYPEUNSPECIFIED = 0, + + /// Target a channel (a custom group of related websites or apps). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CHANNEL")] + TARGETINGTYPECHANNEL = 1, + + /// Target an app category (for example, education or puzzle games). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP_CATEGORY")] + TARGETINGTYPEAPPCATEGORY = 2, + + /// Target a specific app (for example, Angry Birds). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP")] + TARGETINGTYPEAPP = 3, + + /// Target a specific url (for example, quora.com). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_URL")] + TARGETINGTYPEURL = 4, + + /// Target ads during a chosen time period on a specific day. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DAY_AND_TIME")] + TARGETINGTYPEDAYANDTIME = 5, + + /// Target ads to a specific age range (for example, 18-24). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AGE_RANGE")] + TARGETINGTYPEAGERANGE = 6, + + /// Target ads to the specified regions on a regional location list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_REGIONAL_LOCATION_LIST")] + TARGETINGTYPEREGIONALLOCATIONLIST = 7, + + /// + /// Target ads to the specified points of interest on a proximity location list. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PROXIMITY_LOCATION_LIST")] + TARGETINGTYPEPROXIMITYLOCATIONLIST = 8, + + /// Target ads to a specific gender (for example, female or male). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GENDER")] + TARGETINGTYPEGENDER = 9, + + /// Target a specific video player size for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIDEO_PLAYER_SIZE")] + TARGETINGTYPEVIDEOPLAYERSIZE = 10, + + /// Target user rewarded content for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_USER_REWARDED_CONTENT")] + TARGETINGTYPEUSERREWARDEDCONTENT = 11, + + /// + /// Target ads to a specific parental status (for example, parent or not a parent). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PARENTAL_STATUS")] + TARGETINGTYPEPARENTALSTATUS = 12, + + /// + /// Target video or audio ads in a specific content instream position (for example, pre-roll, + /// mid-roll, or post-roll). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_INSTREAM_POSITION")] + TARGETINGTYPECONTENTINSTREAMPOSITION = 13, + + /// Target ads in a specific content outstream position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION")] + TARGETINGTYPECONTENTOUTSTREAMPOSITION = 14, + + /// + /// Target ads to a specific device type (for example, tablet or connected TV). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_TYPE")] + TARGETINGTYPEDEVICETYPE = 15, + + /// + /// Target ads to an audience or groups of audiences. Singleton field, at most one can exist on + /// a single Lineitem at a time. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIENCE_GROUP")] + TARGETINGTYPEAUDIENCEGROUP = 16, + + /// Target ads to specific web browsers (for example, Chrome). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BROWSER")] + TARGETINGTYPEBROWSER = 17, + + /// Target ads to a specific household income range (for example, top 10%). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_HOUSEHOLD_INCOME")] + TARGETINGTYPEHOUSEHOLDINCOME = 18, + + /// Target ads in a specific on screen position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ON_SCREEN_POSITION")] + TARGETINGTYPEONSCREENPOSITION = 19, + + /// + /// Filter web sites through third party verification (for example, IAS or DoubleVerify). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_THIRD_PARTY_VERIFIER")] + TARGETINGTYPETHIRDPARTYVERIFIER = 20, + + /// + /// Filter web sites by specific digital content label ratings (for example, DL-MA: suitable + /// only for mature audiences). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION")] + TARGETINGTYPEDIGITALCONTENTLABELEXCLUSION = 21, + + /// Filter website content by sensitive categories (for example, adult). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION")] + TARGETINGTYPESENSITIVECATEGORYEXCLUSION = 22, + + /// Target ads to a specific environment (for example, web or app). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ENVIRONMENT")] + TARGETINGTYPEENVIRONMENT = 23, + + /// + /// Target ads to a specific network carrier or internet service provider (ISP) (for example, + /// Comcast or Orange). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CARRIER_AND_ISP")] + TARGETINGTYPECARRIERANDISP = 24, + + /// Target ads to a specific operating system (for example, macOS). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OPERATING_SYSTEM")] + TARGETINGTYPEOPERATINGSYSTEM = 25, + + /// + /// Target ads to a specific device make or model (for example, Roku or Samsung). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_MAKE_MODEL")] + TARGETINGTYPEDEVICEMAKEMODEL = 26, + + /// Target ads to a specific keyword (for example, dog or retriever). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_KEYWORD")] + TARGETINGTYPEKEYWORD = 27, + + /// Target ads to a specific negative keyword list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NEGATIVE_KEYWORD_LIST")] + TARGETINGTYPENEGATIVEKEYWORDLIST = 28, + + /// Target ads to a specific viewability (for example, 80% viewable). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIEWABILITY")] + TARGETINGTYPEVIEWABILITY = 29, + + /// + /// Target ads to a specific content category (for example, arts &amp; entertainment). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CATEGORY")] + TARGETINGTYPECATEGORY = 30, + + /// Purchase impressions from specific deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE")] + TARGETINGTYPEINVENTORYSOURCE = 31, + + /// Target ads to a specific language (for example, English or Japanese). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_LANGUAGE")] + TARGETINGTYPELANGUAGE = 32, + + /// + /// Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, + /// the resource uses the "Authorized Direct Sellers and Resellers" option by default. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUTHORIZED_SELLER_STATUS")] + TARGETINGTYPEAUTHORIZEDSELLERSTATUS = 33, + + /// + /// Target ads to a specific regional location (for example, a city or state). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GEO_REGION")] + TARGETINGTYPEGEOREGION = 34, + + /// Purchase impressions from a group of deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE_GROUP")] + TARGETINGTYPEINVENTORYSOURCEGROUP = 35, + + /// Purchase impressions from specific exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_EXCHANGE")] + TARGETINGTYPEEXCHANGE = 36, + + /// Purchase impressions from specific sub-exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SUB_EXCHANGE")] + TARGETINGTYPESUBEXCHANGE = 37, + + /// + /// Target ads around a specific point of interest, such as a notable building, a street + /// address, or latitude/longitude coordinates. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_POI")] + TARGETINGTYPEPOI = 38, + + /// + /// Target ads around locations of a business chain within a specific geo region. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BUSINESS_CHAIN")] + TARGETINGTYPEBUSINESSCHAIN = 39, + + /// Target ads to a specific video content duration. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_DURATION")] + TARGETINGTYPECONTENTDURATION = 40, + + /// Target ads to a specific video content stream type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_STREAM_TYPE")] + TARGETINGTYPECONTENTSTREAMTYPE = 41, + + /// Target ads to a specific native content position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NATIVE_CONTENT_POSITION")] + TARGETINGTYPENATIVECONTENTPOSITION = 42, + + /// Target ads in an Open Measurement enabled inventory. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OMID")] + TARGETINGTYPEOMID = 43, + + /// Target ads to a specific audio content type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIO_CONTENT_TYPE")] + TARGETINGTYPEAUDIOCONTENTTYPE = 44, + + /// Target ads to a specific content genre. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_GENRE")] + TARGETINGTYPECONTENTGENRE = 45, + + /// + /// Target ads to a specific YouTube video. Targeting of this type cannot be created or updated + /// using the API. Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_VIDEO")] + TARGETINGTYPEYOUTUBEVIDEO = 46, + + /// + /// Target ads to a specific YouTube channel. Targeting of this type cannot be created or + /// updated using the API. Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_CHANNEL")] + TARGETINGTYPEYOUTUBECHANNEL = 47, + + /// + /// Target ads to a serve it in a certain position of a session. Only supported for Ad Group + /// resources under YouTube Programmatic Reservation line items. Targeting of this type cannot + /// be created or updated using the API. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SESSION_POSITION")] + TARGETINGTYPESESSIONPOSITION = 48, + } + + /// + /// Required. An identifier unique to the targeting type in this partner that identifies the + /// assigned targeting option being requested. + /// + [Google.Apis.Util.RequestParameterAttribute("assignedTargetingOptionId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string AssignedTargetingOptionId { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions/{+assignedTargetingOptionId}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("targetingType", new Google.Apis.Discovery.Parameter + { + Name = "targetingType", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("assignedTargetingOptionId", new Google.Apis.Discovery.Parameter + { + Name = "assignedTargetingOptionId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// Lists the targeting options assigned to a partner. + /// Required. The ID of the partner. + /// + /// Required. Identifies the type of assigned targeting options to list. Supported targeting types: * + /// `TARGETING_TYPE_CHANNEL` + /// + public virtual ListRequest List(long partnerId, ListRequest.TargetingTypeEnum targetingType) + { + return new ListRequest(service, partnerId, targetingType); + } + + /// Lists the targeting options assigned to a partner. + public class ListRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, long partnerId, TargetingTypeEnum targetingType) : base(service) + { + PartnerId = partnerId; + TargetingType = targetingType; + InitParameters(); + } + + /// Required. The ID of the partner. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long PartnerId { get; private set; } + + /// + /// Required. Identifies the type of assigned targeting options to list. Supported targeting types: + /// * `TARGETING_TYPE_CHANNEL` + /// + [Google.Apis.Util.RequestParameterAttribute("targetingType", Google.Apis.Util.RequestParameterType.Path)] + public virtual TargetingTypeEnum TargetingType { get; private set; } + + /// + /// Required. Identifies the type of assigned targeting options to list. Supported targeting types: + /// * `TARGETING_TYPE_CHANNEL` + /// + public enum TargetingTypeEnum + { + /// Default value when type is not specified or is unknown in this version. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_UNSPECIFIED")] + TARGETINGTYPEUNSPECIFIED = 0, + + /// Target a channel (a custom group of related websites or apps). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CHANNEL")] + TARGETINGTYPECHANNEL = 1, + + /// Target an app category (for example, education or puzzle games). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP_CATEGORY")] + TARGETINGTYPEAPPCATEGORY = 2, + + /// Target a specific app (for example, Angry Birds). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP")] + TARGETINGTYPEAPP = 3, + + /// Target a specific url (for example, quora.com). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_URL")] + TARGETINGTYPEURL = 4, + + /// Target ads during a chosen time period on a specific day. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DAY_AND_TIME")] + TARGETINGTYPEDAYANDTIME = 5, + + /// Target ads to a specific age range (for example, 18-24). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AGE_RANGE")] + TARGETINGTYPEAGERANGE = 6, + + /// Target ads to the specified regions on a regional location list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_REGIONAL_LOCATION_LIST")] + TARGETINGTYPEREGIONALLOCATIONLIST = 7, + + /// + /// Target ads to the specified points of interest on a proximity location list. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PROXIMITY_LOCATION_LIST")] + TARGETINGTYPEPROXIMITYLOCATIONLIST = 8, + + /// Target ads to a specific gender (for example, female or male). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GENDER")] + TARGETINGTYPEGENDER = 9, + + /// Target a specific video player size for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIDEO_PLAYER_SIZE")] + TARGETINGTYPEVIDEOPLAYERSIZE = 10, + + /// Target user rewarded content for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_USER_REWARDED_CONTENT")] + TARGETINGTYPEUSERREWARDEDCONTENT = 11, + + /// + /// Target ads to a specific parental status (for example, parent or not a parent). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PARENTAL_STATUS")] + TARGETINGTYPEPARENTALSTATUS = 12, + + /// + /// Target video or audio ads in a specific content instream position (for example, pre-roll, + /// mid-roll, or post-roll). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_INSTREAM_POSITION")] + TARGETINGTYPECONTENTINSTREAMPOSITION = 13, + + /// Target ads in a specific content outstream position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION")] + TARGETINGTYPECONTENTOUTSTREAMPOSITION = 14, + + /// + /// Target ads to a specific device type (for example, tablet or connected TV). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_TYPE")] + TARGETINGTYPEDEVICETYPE = 15, + + /// + /// Target ads to an audience or groups of audiences. Singleton field, at most one can exist on + /// a single Lineitem at a time. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIENCE_GROUP")] + TARGETINGTYPEAUDIENCEGROUP = 16, + + /// Target ads to specific web browsers (for example, Chrome). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BROWSER")] + TARGETINGTYPEBROWSER = 17, + + /// Target ads to a specific household income range (for example, top 10%). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_HOUSEHOLD_INCOME")] + TARGETINGTYPEHOUSEHOLDINCOME = 18, + + /// Target ads in a specific on screen position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ON_SCREEN_POSITION")] + TARGETINGTYPEONSCREENPOSITION = 19, + + /// + /// Filter web sites through third party verification (for example, IAS or DoubleVerify). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_THIRD_PARTY_VERIFIER")] + TARGETINGTYPETHIRDPARTYVERIFIER = 20, + + /// + /// Filter web sites by specific digital content label ratings (for example, DL-MA: suitable + /// only for mature audiences). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION")] + TARGETINGTYPEDIGITALCONTENTLABELEXCLUSION = 21, + + /// Filter website content by sensitive categories (for example, adult). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION")] + TARGETINGTYPESENSITIVECATEGORYEXCLUSION = 22, + + /// Target ads to a specific environment (for example, web or app). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ENVIRONMENT")] + TARGETINGTYPEENVIRONMENT = 23, + + /// + /// Target ads to a specific network carrier or internet service provider (ISP) (for example, + /// Comcast or Orange). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CARRIER_AND_ISP")] + TARGETINGTYPECARRIERANDISP = 24, + + /// Target ads to a specific operating system (for example, macOS). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OPERATING_SYSTEM")] + TARGETINGTYPEOPERATINGSYSTEM = 25, + + /// + /// Target ads to a specific device make or model (for example, Roku or Samsung). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_MAKE_MODEL")] + TARGETINGTYPEDEVICEMAKEMODEL = 26, + + /// Target ads to a specific keyword (for example, dog or retriever). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_KEYWORD")] + TARGETINGTYPEKEYWORD = 27, + + /// Target ads to a specific negative keyword list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NEGATIVE_KEYWORD_LIST")] + TARGETINGTYPENEGATIVEKEYWORDLIST = 28, + + /// Target ads to a specific viewability (for example, 80% viewable). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIEWABILITY")] + TARGETINGTYPEVIEWABILITY = 29, + + /// + /// Target ads to a specific content category (for example, arts &amp; entertainment). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CATEGORY")] + TARGETINGTYPECATEGORY = 30, + + /// Purchase impressions from specific deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE")] + TARGETINGTYPEINVENTORYSOURCE = 31, + + /// Target ads to a specific language (for example, English or Japanese). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_LANGUAGE")] + TARGETINGTYPELANGUAGE = 32, + + /// + /// Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, + /// the resource uses the "Authorized Direct Sellers and Resellers" option by default. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUTHORIZED_SELLER_STATUS")] + TARGETINGTYPEAUTHORIZEDSELLERSTATUS = 33, + + /// + /// Target ads to a specific regional location (for example, a city or state). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GEO_REGION")] + TARGETINGTYPEGEOREGION = 34, + + /// Purchase impressions from a group of deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE_GROUP")] + TARGETINGTYPEINVENTORYSOURCEGROUP = 35, + + /// Purchase impressions from specific exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_EXCHANGE")] + TARGETINGTYPEEXCHANGE = 36, + + /// Purchase impressions from specific sub-exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SUB_EXCHANGE")] + TARGETINGTYPESUBEXCHANGE = 37, + + /// + /// Target ads around a specific point of interest, such as a notable building, a street + /// address, or latitude/longitude coordinates. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_POI")] + TARGETINGTYPEPOI = 38, + + /// + /// Target ads around locations of a business chain within a specific geo region. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BUSINESS_CHAIN")] + TARGETINGTYPEBUSINESSCHAIN = 39, + + /// Target ads to a specific video content duration. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_DURATION")] + TARGETINGTYPECONTENTDURATION = 40, + + /// Target ads to a specific video content stream type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_STREAM_TYPE")] + TARGETINGTYPECONTENTSTREAMTYPE = 41, + + /// Target ads to a specific native content position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NATIVE_CONTENT_POSITION")] + TARGETINGTYPENATIVECONTENTPOSITION = 42, + + /// Target ads in an Open Measurement enabled inventory. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OMID")] + TARGETINGTYPEOMID = 43, + + /// Target ads to a specific audio content type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIO_CONTENT_TYPE")] + TARGETINGTYPEAUDIOCONTENTTYPE = 44, + + /// Target ads to a specific content genre. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_GENRE")] + TARGETINGTYPECONTENTGENRE = 45, + + /// + /// Target ads to a specific YouTube video. Targeting of this type cannot be created or updated + /// using the API. Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_VIDEO")] + TARGETINGTYPEYOUTUBEVIDEO = 46, + + /// + /// Target ads to a specific YouTube channel. Targeting of this type cannot be created or + /// updated using the API. Although this targeting is inherited by child resources, **inherited + /// targeting of this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_CHANNEL")] + TARGETINGTYPEYOUTUBECHANNEL = 47, + + /// + /// Target ads to a serve it in a certain position of a session. Only supported for Ad Group + /// resources under YouTube Programmatic Reservation line items. Targeting of this type cannot + /// be created or updated using the API. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SESSION_POSITION")] + TARGETINGTYPESESSIONPOSITION = 48, + } + + /// + /// Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are + /// made up of one or more restrictions. * Restrictions can be combined by the logical operator + /// `OR`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the + /// `EQUALS (=)` operator. Supported fields: * `assignedTargetingOptionId` Examples: * + /// `AssignedTargetingOption` resource with ID 123456: `assignedTargetingOptionId="123456"` The + /// length of this field should be no more than 500 characters. Reference our [filter `LIST` + /// requests](/display-video/api/guides/how-tos/filters) guide for more information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Field by which to sort the list. Acceptable values are: * `assignedTargetingOptionId` (default) + /// The default sorting order is ascending. To specify descending order for a field, a suffix "desc" + /// should be added to the field name. Example: `assignedTargetingOptionId desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. + /// Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token identifying a page of results the server should return. Typically, this is the value of + /// next_page_token returned from the previous call to `ListPartnerAssignedTargetingOptions` method. + /// If not specified, the first page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/partners/{+partnerId}/targetingTypes/{+targetingType}/assignedTargetingOptions"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("targetingType", new Google.Apis.Discovery.Parameter + { + Name = "targetingType", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + } + + /// + /// Edits targeting options under a single partner. The operation will delete the assigned targeting options + /// provided in BulkEditPartnerAssignedTargetingOptionsRequest.deleteRequests and then create the assigned + /// targeting options provided in BulkEditPartnerAssignedTargetingOptionsRequest.createRequests . + /// + /// The body of the request. + /// Required. The ID of the partner. + public virtual EditAssignedTargetingOptionsRequest EditAssignedTargetingOptions(Google.Apis.DisplayVideo.v3.Data.BulkEditPartnerAssignedTargetingOptionsRequest body, long partnerId) + { + return new EditAssignedTargetingOptionsRequest(service, body, partnerId); + } + + /// + /// Edits targeting options under a single partner. The operation will delete the assigned targeting options + /// provided in BulkEditPartnerAssignedTargetingOptionsRequest.deleteRequests and then create the assigned + /// targeting options provided in BulkEditPartnerAssignedTargetingOptionsRequest.createRequests . + /// + public class EditAssignedTargetingOptionsRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new EditAssignedTargetingOptions request. + public EditAssignedTargetingOptionsRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.BulkEditPartnerAssignedTargetingOptionsRequest body, long partnerId) : base(service) + { + PartnerId = partnerId; + Body = body; + InitParameters(); + } + + /// Required. The ID of the partner. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long PartnerId { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.BulkEditPartnerAssignedTargetingOptionsRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "editAssignedTargetingOptions"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/partners/{+partnerId}:editAssignedTargetingOptions"; + + /// Initializes EditAssignedTargetingOptions parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// Gets a partner. + /// Required. The ID of the partner to fetch. + public virtual GetRequest Get(long partnerId) + { + return new GetRequest(service, partnerId); + } + + /// Gets a partner. + public class GetRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, long partnerId) : base(service) + { + PartnerId = partnerId; + InitParameters(); + } + + /// Required. The ID of the partner to fetch. + [Google.Apis.Util.RequestParameterAttribute("partnerId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long PartnerId { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/partners/{+partnerId}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("partnerId", new Google.Apis.Discovery.Parameter + { + Name = "partnerId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// + /// Lists partners that are accessible to the current user. The order is defined by the order_by parameter. + /// + public virtual ListRequest List() + { + return new ListRequest(service); + } + + /// + /// Lists partners that are accessible to the current user. The order is defined by the order_by parameter. + /// + public class ListRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service) : base(service) + { + InitParameters(); + } + + /// + /// Allows filtering by partner fields. Supported syntax: * Filter expressions are made up of one or more + /// restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of + /// restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * All + /// fields must use the `EQUALS (=)` operator. Supported fields: * `entityStatus` Examples: * All active + /// partners: `entityStatus="ENTITY_STATUS_ACTIVE"` The length of this field should be no more than 500 + /// characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for + /// more information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Field by which to sort the list. Acceptable values are: * `displayName` The default sorting order is + /// ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. + /// For example, `displayName desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token identifying a page of results the server should return. Typically, this is the value of + /// next_page_token returned from the previous call to `ListPartners` method. If not specified, the first + /// page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/partners"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } + + /// The "sdfdownloadtasks" collection of methods. + public class SdfdownloadtasksResource + { + private const string Resource = "sdfdownloadtasks"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public SdfdownloadtasksResource(Google.Apis.Services.IClientService service) + { + this.service = service; + Operations = new OperationsResource(service); + } + + /// Gets the Operations resource. + public virtual OperationsResource Operations { get; } + + /// The "operations" collection of methods. + public class OperationsResource + { + private const string Resource = "operations"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public OperationsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// + /// Gets the latest state of an asynchronous SDF download task operation. Clients should poll this method at + /// intervals of 30 seconds. + /// + /// The name of the operation resource. + public virtual GetRequest Get(string name) + { + return new GetRequest(service, name); + } + + /// + /// Gets the latest state of an asynchronous SDF download task operation. Clients should poll this method at + /// intervals of 30 seconds. + /// + public class GetRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, string name) : base(service) + { + Name = name; + InitParameters(); + } + + /// The name of the operation resource. + [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Name { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/{+name}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("name", new Google.Apis.Discovery.Parameter + { + Name = "name", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^sdfdownloadtasks/operations/[^/]+$", + }); + } + } + } + + /// + /// Creates an SDF Download Task. Returns an Operation. An SDF Download Task is a long-running, asynchronous + /// operation. The metadata type of this operation is SdfDownloadTaskMetadata. If the request is successful, the + /// response type of the operation is SdfDownloadTask. The response will not include the download files, which + /// must be retrieved with media.download. The state of operation can be retrieved with + /// sdfdownloadtask.operations.get. Any errors can be found in the error.message. Note that error.details is + /// expected to be empty. + /// + /// The body of the request. + public virtual CreateRequest Create(Google.Apis.DisplayVideo.v3.Data.CreateSdfDownloadTaskRequest body) + { + return new CreateRequest(service, body); + } + + /// + /// Creates an SDF Download Task. Returns an Operation. An SDF Download Task is a long-running, asynchronous + /// operation. The metadata type of this operation is SdfDownloadTaskMetadata. If the request is successful, the + /// response type of the operation is SdfDownloadTask. The response will not include the download files, which + /// must be retrieved with media.download. The state of operation can be retrieved with + /// sdfdownloadtask.operations.get. Any errors can be found in the error.message. Note that error.details is + /// expected to be empty. + /// + public class CreateRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.CreateSdfDownloadTaskRequest body) : base(service) + { + Body = body; + InitParameters(); + } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.CreateSdfDownloadTaskRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "create"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/sdfdownloadtasks"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + } + } + } + + /// The "targetingTypes" collection of methods. + public class TargetingTypesResource + { + private const string Resource = "targetingTypes"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public TargetingTypesResource(Google.Apis.Services.IClientService service) + { + this.service = service; + TargetingOptions = new TargetingOptionsResource(service); + } + + /// Gets the TargetingOptions resource. + public virtual TargetingOptionsResource TargetingOptions { get; } + + /// The "targetingOptions" collection of methods. + public class TargetingOptionsResource + { + private const string Resource = "targetingOptions"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public TargetingOptionsResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// Gets a single targeting option. + /// + /// Required. The type of targeting option to retrieve. Accepted values are: * `TARGETING_TYPE_APP_CATEGORY` + /// * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * + /// `TARGETING_TYPE_USER_REWARDED_CONTENT` * `TARGETING_TYPE_PARENTAL_STATUS` * + /// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * + /// `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * + /// `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_CARRIER_AND_ISP` * + /// `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_ENVIRONMENT` * + /// `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_VIEWABILITY` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * + /// `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_GEO_REGION` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * + /// `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * + /// `TARGETING_TYPE_OMID` + /// + /// Required. The ID of the of targeting option to retrieve. + public virtual GetRequest Get(GetRequest.TargetingTypeEnum targetingType, string targetingOptionId) + { + return new GetRequest(service, targetingType, targetingOptionId); + } + + /// Gets a single targeting option. + public class GetRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, TargetingTypeEnum targetingType, string targetingOptionId) : base(service) + { + TargetingType = targetingType; + TargetingOptionId = targetingOptionId; + InitParameters(); + } + + /// + /// Required. The type of targeting option to retrieve. Accepted values are: * + /// `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_GENDER` * + /// `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * + /// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DEVICE_TYPE` * + /// `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_ON_SCREEN_POSITION` * + /// `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_OPERATING_SYSTEM` * + /// `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_CATEGORY` * + /// `TARGETING_TYPE_VIEWABILITY` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_LANGUAGE` + /// * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_EXCHANGE` * + /// `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_OMID` + /// + [Google.Apis.Util.RequestParameterAttribute("targetingType", Google.Apis.Util.RequestParameterType.Path)] + public virtual TargetingTypeEnum TargetingType { get; private set; } + + /// + /// Required. The type of targeting option to retrieve. Accepted values are: * + /// `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_GENDER` * + /// `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * + /// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DEVICE_TYPE` * + /// `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_ON_SCREEN_POSITION` * + /// `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_OPERATING_SYSTEM` * + /// `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_CATEGORY` * + /// `TARGETING_TYPE_VIEWABILITY` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_LANGUAGE` + /// * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_EXCHANGE` * + /// `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_OMID` + /// + public enum TargetingTypeEnum + { + /// Default value when type is not specified or is unknown in this version. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_UNSPECIFIED")] + TARGETINGTYPEUNSPECIFIED = 0, + + /// Target a channel (a custom group of related websites or apps). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CHANNEL")] + TARGETINGTYPECHANNEL = 1, + + /// Target an app category (for example, education or puzzle games). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP_CATEGORY")] + TARGETINGTYPEAPPCATEGORY = 2, + + /// Target a specific app (for example, Angry Birds). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP")] + TARGETINGTYPEAPP = 3, + + /// Target a specific url (for example, quora.com). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_URL")] + TARGETINGTYPEURL = 4, + + /// Target ads during a chosen time period on a specific day. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DAY_AND_TIME")] + TARGETINGTYPEDAYANDTIME = 5, + + /// Target ads to a specific age range (for example, 18-24). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AGE_RANGE")] + TARGETINGTYPEAGERANGE = 6, + + /// Target ads to the specified regions on a regional location list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_REGIONAL_LOCATION_LIST")] + TARGETINGTYPEREGIONALLOCATIONLIST = 7, + + /// Target ads to the specified points of interest on a proximity location list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PROXIMITY_LOCATION_LIST")] + TARGETINGTYPEPROXIMITYLOCATIONLIST = 8, + + /// Target ads to a specific gender (for example, female or male). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GENDER")] + TARGETINGTYPEGENDER = 9, + + /// Target a specific video player size for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIDEO_PLAYER_SIZE")] + TARGETINGTYPEVIDEOPLAYERSIZE = 10, + + /// Target user rewarded content for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_USER_REWARDED_CONTENT")] + TARGETINGTYPEUSERREWARDEDCONTENT = 11, + + /// + /// Target ads to a specific parental status (for example, parent or not a parent). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PARENTAL_STATUS")] + TARGETINGTYPEPARENTALSTATUS = 12, + + /// + /// Target video or audio ads in a specific content instream position (for example, pre-roll, + /// mid-roll, or post-roll). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_INSTREAM_POSITION")] + TARGETINGTYPECONTENTINSTREAMPOSITION = 13, + + /// Target ads in a specific content outstream position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION")] + TARGETINGTYPECONTENTOUTSTREAMPOSITION = 14, + + /// Target ads to a specific device type (for example, tablet or connected TV). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_TYPE")] + TARGETINGTYPEDEVICETYPE = 15, + + /// + /// Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a + /// single Lineitem at a time. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIENCE_GROUP")] + TARGETINGTYPEAUDIENCEGROUP = 16, + + /// Target ads to specific web browsers (for example, Chrome). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BROWSER")] + TARGETINGTYPEBROWSER = 17, + + /// Target ads to a specific household income range (for example, top 10%). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_HOUSEHOLD_INCOME")] + TARGETINGTYPEHOUSEHOLDINCOME = 18, + + /// Target ads in a specific on screen position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ON_SCREEN_POSITION")] + TARGETINGTYPEONSCREENPOSITION = 19, + + /// + /// Filter web sites through third party verification (for example, IAS or DoubleVerify). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_THIRD_PARTY_VERIFIER")] + TARGETINGTYPETHIRDPARTYVERIFIER = 20, + + /// + /// Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only + /// for mature audiences). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION")] + TARGETINGTYPEDIGITALCONTENTLABELEXCLUSION = 21, + + /// Filter website content by sensitive categories (for example, adult). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION")] + TARGETINGTYPESENSITIVECATEGORYEXCLUSION = 22, + + /// Target ads to a specific environment (for example, web or app). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ENVIRONMENT")] + TARGETINGTYPEENVIRONMENT = 23, + + /// + /// Target ads to a specific network carrier or internet service provider (ISP) (for example, + /// Comcast or Orange). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CARRIER_AND_ISP")] + TARGETINGTYPECARRIERANDISP = 24, + + /// Target ads to a specific operating system (for example, macOS). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OPERATING_SYSTEM")] + TARGETINGTYPEOPERATINGSYSTEM = 25, + + /// Target ads to a specific device make or model (for example, Roku or Samsung). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_MAKE_MODEL")] + TARGETINGTYPEDEVICEMAKEMODEL = 26, + + /// Target ads to a specific keyword (for example, dog or retriever). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_KEYWORD")] + TARGETINGTYPEKEYWORD = 27, + + /// Target ads to a specific negative keyword list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NEGATIVE_KEYWORD_LIST")] + TARGETINGTYPENEGATIVEKEYWORDLIST = 28, + + /// Target ads to a specific viewability (for example, 80% viewable). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIEWABILITY")] + TARGETINGTYPEVIEWABILITY = 29, + + /// + /// Target ads to a specific content category (for example, arts &amp; entertainment). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CATEGORY")] + TARGETINGTYPECATEGORY = 30, + + /// Purchase impressions from specific deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE")] + TARGETINGTYPEINVENTORYSOURCE = 31, + + /// Target ads to a specific language (for example, English or Japanese). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_LANGUAGE")] + TARGETINGTYPELANGUAGE = 32, + + /// + /// Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the + /// resource uses the "Authorized Direct Sellers and Resellers" option by default. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUTHORIZED_SELLER_STATUS")] + TARGETINGTYPEAUTHORIZEDSELLERSTATUS = 33, + + /// Target ads to a specific regional location (for example, a city or state). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GEO_REGION")] + TARGETINGTYPEGEOREGION = 34, + + /// Purchase impressions from a group of deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE_GROUP")] + TARGETINGTYPEINVENTORYSOURCEGROUP = 35, + + /// Purchase impressions from specific exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_EXCHANGE")] + TARGETINGTYPEEXCHANGE = 36, + + /// Purchase impressions from specific sub-exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SUB_EXCHANGE")] + TARGETINGTYPESUBEXCHANGE = 37, + + /// + /// Target ads around a specific point of interest, such as a notable building, a street address, or + /// latitude/longitude coordinates. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_POI")] + TARGETINGTYPEPOI = 38, + + /// Target ads around locations of a business chain within a specific geo region. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BUSINESS_CHAIN")] + TARGETINGTYPEBUSINESSCHAIN = 39, + + /// Target ads to a specific video content duration. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_DURATION")] + TARGETINGTYPECONTENTDURATION = 40, + + /// Target ads to a specific video content stream type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_STREAM_TYPE")] + TARGETINGTYPECONTENTSTREAMTYPE = 41, + + /// Target ads to a specific native content position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NATIVE_CONTENT_POSITION")] + TARGETINGTYPENATIVECONTENTPOSITION = 42, + + /// Target ads in an Open Measurement enabled inventory. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OMID")] + TARGETINGTYPEOMID = 43, + + /// Target ads to a specific audio content type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIO_CONTENT_TYPE")] + TARGETINGTYPEAUDIOCONTENTTYPE = 44, + + /// Target ads to a specific content genre. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_GENRE")] + TARGETINGTYPECONTENTGENRE = 45, + + /// + /// Target ads to a specific YouTube video. Targeting of this type cannot be created or updated + /// using the API. Although this targeting is inherited by child resources, **inherited targeting of + /// this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_VIDEO")] + TARGETINGTYPEYOUTUBEVIDEO = 46, + + /// + /// Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated + /// using the API. Although this targeting is inherited by child resources, **inherited targeting of + /// this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_CHANNEL")] + TARGETINGTYPEYOUTUBECHANNEL = 47, + + /// + /// Target ads to a serve it in a certain position of a session. Only supported for Ad Group + /// resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be + /// created or updated using the API. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SESSION_POSITION")] + TARGETINGTYPESESSIONPOSITION = 48, + } + + /// Required. The ID of the of targeting option to retrieve. + [Google.Apis.Util.RequestParameterAttribute("targetingOptionId", Google.Apis.Util.RequestParameterType.Path)] + public virtual string TargetingOptionId { get; private set; } + + /// Required. The Advertiser this request is being made in the context of. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/targetingTypes/{+targetingType}/targetingOptions/{+targetingOptionId}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("targetingType", new Google.Apis.Discovery.Parameter + { + Name = "targetingType", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("targetingOptionId", new Google.Apis.Discovery.Parameter + { + Name = "targetingOptionId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Lists targeting options of a given type. + /// + /// Required. The type of targeting option to be listed. Accepted values are: * + /// `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_GENDER` * + /// `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * + /// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_BROWSER` * + /// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_ON_SCREEN_POSITION` * + /// `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_OPERATING_SYSTEM` * + /// `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_CATEGORY` * + /// `TARGETING_TYPE_VIEWABILITY` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_LANGUAGE` * + /// `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_EXCHANGE` * + /// `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_OMID` + /// + public virtual ListRequest List(ListRequest.TargetingTypeEnum targetingType) + { + return new ListRequest(service, targetingType); + } + + /// Lists targeting options of a given type. + public class ListRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service, TargetingTypeEnum targetingType) : base(service) + { + TargetingType = targetingType; + InitParameters(); + } + + /// + /// Required. The type of targeting option to be listed. Accepted values are: * + /// `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_GENDER` * + /// `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * + /// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DEVICE_TYPE` * + /// `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_ON_SCREEN_POSITION` * + /// `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_OPERATING_SYSTEM` * + /// `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_CATEGORY` * + /// `TARGETING_TYPE_VIEWABILITY` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_LANGUAGE` + /// * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_EXCHANGE` * + /// `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_OMID` + /// + [Google.Apis.Util.RequestParameterAttribute("targetingType", Google.Apis.Util.RequestParameterType.Path)] + public virtual TargetingTypeEnum TargetingType { get; private set; } + + /// + /// Required. The type of targeting option to be listed. Accepted values are: * + /// `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_GENDER` * + /// `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * + /// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * `TARGETING_TYPE_DEVICE_TYPE` * + /// `TARGETING_TYPE_BROWSER` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_ON_SCREEN_POSITION` * + /// `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_OPERATING_SYSTEM` * + /// `TARGETING_TYPE_DEVICE_MAKE_MODEL` * `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_CATEGORY` * + /// `TARGETING_TYPE_VIEWABILITY` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_LANGUAGE` + /// * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_EXCHANGE` * + /// `TARGETING_TYPE_SUB_EXCHANGE` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_OMID` + /// + public enum TargetingTypeEnum + { + /// Default value when type is not specified or is unknown in this version. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_UNSPECIFIED")] + TARGETINGTYPEUNSPECIFIED = 0, + + /// Target a channel (a custom group of related websites or apps). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CHANNEL")] + TARGETINGTYPECHANNEL = 1, + + /// Target an app category (for example, education or puzzle games). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP_CATEGORY")] + TARGETINGTYPEAPPCATEGORY = 2, + + /// Target a specific app (for example, Angry Birds). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP")] + TARGETINGTYPEAPP = 3, + + /// Target a specific url (for example, quora.com). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_URL")] + TARGETINGTYPEURL = 4, + + /// Target ads during a chosen time period on a specific day. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DAY_AND_TIME")] + TARGETINGTYPEDAYANDTIME = 5, + + /// Target ads to a specific age range (for example, 18-24). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AGE_RANGE")] + TARGETINGTYPEAGERANGE = 6, + + /// Target ads to the specified regions on a regional location list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_REGIONAL_LOCATION_LIST")] + TARGETINGTYPEREGIONALLOCATIONLIST = 7, + + /// Target ads to the specified points of interest on a proximity location list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PROXIMITY_LOCATION_LIST")] + TARGETINGTYPEPROXIMITYLOCATIONLIST = 8, + + /// Target ads to a specific gender (for example, female or male). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GENDER")] + TARGETINGTYPEGENDER = 9, + + /// Target a specific video player size for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIDEO_PLAYER_SIZE")] + TARGETINGTYPEVIDEOPLAYERSIZE = 10, + + /// Target user rewarded content for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_USER_REWARDED_CONTENT")] + TARGETINGTYPEUSERREWARDEDCONTENT = 11, + + /// + /// Target ads to a specific parental status (for example, parent or not a parent). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PARENTAL_STATUS")] + TARGETINGTYPEPARENTALSTATUS = 12, + + /// + /// Target video or audio ads in a specific content instream position (for example, pre-roll, + /// mid-roll, or post-roll). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_INSTREAM_POSITION")] + TARGETINGTYPECONTENTINSTREAMPOSITION = 13, + + /// Target ads in a specific content outstream position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION")] + TARGETINGTYPECONTENTOUTSTREAMPOSITION = 14, + + /// Target ads to a specific device type (for example, tablet or connected TV). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_TYPE")] + TARGETINGTYPEDEVICETYPE = 15, + + /// + /// Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a + /// single Lineitem at a time. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIENCE_GROUP")] + TARGETINGTYPEAUDIENCEGROUP = 16, + + /// Target ads to specific web browsers (for example, Chrome). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BROWSER")] + TARGETINGTYPEBROWSER = 17, + + /// Target ads to a specific household income range (for example, top 10%). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_HOUSEHOLD_INCOME")] + TARGETINGTYPEHOUSEHOLDINCOME = 18, + + /// Target ads in a specific on screen position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ON_SCREEN_POSITION")] + TARGETINGTYPEONSCREENPOSITION = 19, + + /// + /// Filter web sites through third party verification (for example, IAS or DoubleVerify). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_THIRD_PARTY_VERIFIER")] + TARGETINGTYPETHIRDPARTYVERIFIER = 20, + + /// + /// Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only + /// for mature audiences). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION")] + TARGETINGTYPEDIGITALCONTENTLABELEXCLUSION = 21, + + /// Filter website content by sensitive categories (for example, adult). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION")] + TARGETINGTYPESENSITIVECATEGORYEXCLUSION = 22, + + /// Target ads to a specific environment (for example, web or app). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ENVIRONMENT")] + TARGETINGTYPEENVIRONMENT = 23, + + /// + /// Target ads to a specific network carrier or internet service provider (ISP) (for example, + /// Comcast or Orange). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CARRIER_AND_ISP")] + TARGETINGTYPECARRIERANDISP = 24, + + /// Target ads to a specific operating system (for example, macOS). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OPERATING_SYSTEM")] + TARGETINGTYPEOPERATINGSYSTEM = 25, + + /// Target ads to a specific device make or model (for example, Roku or Samsung). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_MAKE_MODEL")] + TARGETINGTYPEDEVICEMAKEMODEL = 26, + + /// Target ads to a specific keyword (for example, dog or retriever). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_KEYWORD")] + TARGETINGTYPEKEYWORD = 27, + + /// Target ads to a specific negative keyword list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NEGATIVE_KEYWORD_LIST")] + TARGETINGTYPENEGATIVEKEYWORDLIST = 28, + + /// Target ads to a specific viewability (for example, 80% viewable). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIEWABILITY")] + TARGETINGTYPEVIEWABILITY = 29, + + /// + /// Target ads to a specific content category (for example, arts &amp; entertainment). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CATEGORY")] + TARGETINGTYPECATEGORY = 30, + + /// Purchase impressions from specific deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE")] + TARGETINGTYPEINVENTORYSOURCE = 31, + + /// Target ads to a specific language (for example, English or Japanese). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_LANGUAGE")] + TARGETINGTYPELANGUAGE = 32, + + /// + /// Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the + /// resource uses the "Authorized Direct Sellers and Resellers" option by default. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUTHORIZED_SELLER_STATUS")] + TARGETINGTYPEAUTHORIZEDSELLERSTATUS = 33, + + /// Target ads to a specific regional location (for example, a city or state). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GEO_REGION")] + TARGETINGTYPEGEOREGION = 34, + + /// Purchase impressions from a group of deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE_GROUP")] + TARGETINGTYPEINVENTORYSOURCEGROUP = 35, + + /// Purchase impressions from specific exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_EXCHANGE")] + TARGETINGTYPEEXCHANGE = 36, + + /// Purchase impressions from specific sub-exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SUB_EXCHANGE")] + TARGETINGTYPESUBEXCHANGE = 37, + + /// + /// Target ads around a specific point of interest, such as a notable building, a street address, or + /// latitude/longitude coordinates. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_POI")] + TARGETINGTYPEPOI = 38, + + /// Target ads around locations of a business chain within a specific geo region. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BUSINESS_CHAIN")] + TARGETINGTYPEBUSINESSCHAIN = 39, + + /// Target ads to a specific video content duration. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_DURATION")] + TARGETINGTYPECONTENTDURATION = 40, + + /// Target ads to a specific video content stream type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_STREAM_TYPE")] + TARGETINGTYPECONTENTSTREAMTYPE = 41, + + /// Target ads to a specific native content position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NATIVE_CONTENT_POSITION")] + TARGETINGTYPENATIVECONTENTPOSITION = 42, + + /// Target ads in an Open Measurement enabled inventory. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OMID")] + TARGETINGTYPEOMID = 43, + + /// Target ads to a specific audio content type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIO_CONTENT_TYPE")] + TARGETINGTYPEAUDIOCONTENTTYPE = 44, + + /// Target ads to a specific content genre. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_GENRE")] + TARGETINGTYPECONTENTGENRE = 45, + + /// + /// Target ads to a specific YouTube video. Targeting of this type cannot be created or updated + /// using the API. Although this targeting is inherited by child resources, **inherited targeting of + /// this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_VIDEO")] + TARGETINGTYPEYOUTUBEVIDEO = 46, + + /// + /// Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated + /// using the API. Although this targeting is inherited by child resources, **inherited targeting of + /// this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_CHANNEL")] + TARGETINGTYPEYOUTUBECHANNEL = 47, + + /// + /// Target ads to a serve it in a certain position of a session. Only supported for Ad Group + /// resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be + /// created or updated using the API. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SESSION_POSITION")] + TARGETINGTYPESESSIONPOSITION = 48, + } + + /// Required. The Advertiser this request is being made in the context of. + [Google.Apis.Util.RequestParameterAttribute("advertiserId", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable AdvertiserId { get; set; } + + /// + /// Allows filtering by targeting option fields. Supported syntax: * Filter expressions are made up of + /// one or more restrictions. * Restrictions can be combined by `OR` logical operators. * A restriction + /// has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. + /// Supported fields: * `carrierAndIspDetails.type` * `geoRegionDetails.geoRegionType` * + /// `targetingOptionId` Examples: * All `GEO REGION` targeting options that belong to sub type + /// `GEO_REGION_TYPE_COUNTRY` or `GEO_REGION_TYPE_STATE`: + /// `geoRegionDetails.geoRegionType="GEO_REGION_TYPE_COUNTRY" OR + /// geoRegionDetails.geoRegionType="GEO_REGION_TYPE_STATE"` * All `CARRIER AND ISP` targeting options + /// that belong to sub type `CARRIER_AND_ISP_TYPE_CARRIER`: + /// `carrierAndIspDetails.type="CARRIER_AND_ISP_TYPE_CARRIER"` The length of this field should be no + /// more than 500 characters. Reference our [filter `LIST` + /// requests](/display-video/api/guides/how-tos/filters) guide for more information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Field by which to sort the list. Acceptable values are: * `targetingOptionId` (default) The default + /// sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added + /// to the field name. Example: `targetingOptionId desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns + /// error code `INVALID_ARGUMENT` if an invalid value is specified. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token identifying a page of results the server should return. Typically, this is the value of + /// next_page_token returned from the previous call to `ListTargetingOptions` method. If not specified, + /// the first page of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/targetingTypes/{+targetingType}/targetingOptions"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("targetingType", new Google.Apis.Discovery.Parameter + { + Name = "targetingType", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("advertiserId", new Google.Apis.Discovery.Parameter + { + Name = "advertiserId", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// Searches for targeting options of a given type based on the given search terms. + /// The body of the request. + /// + /// Required. The type of targeting options to retrieve. Accepted values are: * `TARGETING_TYPE_GEO_REGION` + /// * `TARGETING_TYPE_POI` * `TARGETING_TYPE_BUSINESS_CHAIN` + /// + public virtual SearchRequest Search(Google.Apis.DisplayVideo.v3.Data.SearchTargetingOptionsRequest body, SearchRequest.TargetingTypeEnum targetingType) + { + return new SearchRequest(service, body, targetingType); + } + + /// Searches for targeting options of a given type based on the given search terms. + public class SearchRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Search request. + public SearchRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.SearchTargetingOptionsRequest body, TargetingTypeEnum targetingType) : base(service) + { + TargetingType = targetingType; + Body = body; + InitParameters(); + } + + /// + /// Required. The type of targeting options to retrieve. Accepted values are: * + /// `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_BUSINESS_CHAIN` + /// + [Google.Apis.Util.RequestParameterAttribute("targetingType", Google.Apis.Util.RequestParameterType.Path)] + public virtual TargetingTypeEnum TargetingType { get; private set; } + + /// + /// Required. The type of targeting options to retrieve. Accepted values are: * + /// `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_POI` * `TARGETING_TYPE_BUSINESS_CHAIN` + /// + public enum TargetingTypeEnum + { + /// Default value when type is not specified or is unknown in this version. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_UNSPECIFIED")] + TARGETINGTYPEUNSPECIFIED = 0, + + /// Target a channel (a custom group of related websites or apps). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CHANNEL")] + TARGETINGTYPECHANNEL = 1, + + /// Target an app category (for example, education or puzzle games). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP_CATEGORY")] + TARGETINGTYPEAPPCATEGORY = 2, + + /// Target a specific app (for example, Angry Birds). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_APP")] + TARGETINGTYPEAPP = 3, + + /// Target a specific url (for example, quora.com). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_URL")] + TARGETINGTYPEURL = 4, + + /// Target ads during a chosen time period on a specific day. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DAY_AND_TIME")] + TARGETINGTYPEDAYANDTIME = 5, + + /// Target ads to a specific age range (for example, 18-24). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AGE_RANGE")] + TARGETINGTYPEAGERANGE = 6, + + /// Target ads to the specified regions on a regional location list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_REGIONAL_LOCATION_LIST")] + TARGETINGTYPEREGIONALLOCATIONLIST = 7, + + /// Target ads to the specified points of interest on a proximity location list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PROXIMITY_LOCATION_LIST")] + TARGETINGTYPEPROXIMITYLOCATIONLIST = 8, + + /// Target ads to a specific gender (for example, female or male). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GENDER")] + TARGETINGTYPEGENDER = 9, + + /// Target a specific video player size for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIDEO_PLAYER_SIZE")] + TARGETINGTYPEVIDEOPLAYERSIZE = 10, + + /// Target user rewarded content for video ads. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_USER_REWARDED_CONTENT")] + TARGETINGTYPEUSERREWARDEDCONTENT = 11, + + /// + /// Target ads to a specific parental status (for example, parent or not a parent). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_PARENTAL_STATUS")] + TARGETINGTYPEPARENTALSTATUS = 12, + + /// + /// Target video or audio ads in a specific content instream position (for example, pre-roll, + /// mid-roll, or post-roll). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_INSTREAM_POSITION")] + TARGETINGTYPECONTENTINSTREAMPOSITION = 13, + + /// Target ads in a specific content outstream position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION")] + TARGETINGTYPECONTENTOUTSTREAMPOSITION = 14, + + /// Target ads to a specific device type (for example, tablet or connected TV). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_TYPE")] + TARGETINGTYPEDEVICETYPE = 15, + + /// + /// Target ads to an audience or groups of audiences. Singleton field, at most one can exist on a + /// single Lineitem at a time. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIENCE_GROUP")] + TARGETINGTYPEAUDIENCEGROUP = 16, + + /// Target ads to specific web browsers (for example, Chrome). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BROWSER")] + TARGETINGTYPEBROWSER = 17, + + /// Target ads to a specific household income range (for example, top 10%). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_HOUSEHOLD_INCOME")] + TARGETINGTYPEHOUSEHOLDINCOME = 18, + + /// Target ads in a specific on screen position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ON_SCREEN_POSITION")] + TARGETINGTYPEONSCREENPOSITION = 19, + + /// + /// Filter web sites through third party verification (for example, IAS or DoubleVerify). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_THIRD_PARTY_VERIFIER")] + TARGETINGTYPETHIRDPARTYVERIFIER = 20, + + /// + /// Filter web sites by specific digital content label ratings (for example, DL-MA: suitable only + /// for mature audiences). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION")] + TARGETINGTYPEDIGITALCONTENTLABELEXCLUSION = 21, + + /// Filter website content by sensitive categories (for example, adult). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION")] + TARGETINGTYPESENSITIVECATEGORYEXCLUSION = 22, + + /// Target ads to a specific environment (for example, web or app). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_ENVIRONMENT")] + TARGETINGTYPEENVIRONMENT = 23, + + /// + /// Target ads to a specific network carrier or internet service provider (ISP) (for example, + /// Comcast or Orange). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CARRIER_AND_ISP")] + TARGETINGTYPECARRIERANDISP = 24, + + /// Target ads to a specific operating system (for example, macOS). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OPERATING_SYSTEM")] + TARGETINGTYPEOPERATINGSYSTEM = 25, + + /// Target ads to a specific device make or model (for example, Roku or Samsung). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_DEVICE_MAKE_MODEL")] + TARGETINGTYPEDEVICEMAKEMODEL = 26, + + /// Target ads to a specific keyword (for example, dog or retriever). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_KEYWORD")] + TARGETINGTYPEKEYWORD = 27, + + /// Target ads to a specific negative keyword list. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NEGATIVE_KEYWORD_LIST")] + TARGETINGTYPENEGATIVEKEYWORDLIST = 28, + + /// Target ads to a specific viewability (for example, 80% viewable). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_VIEWABILITY")] + TARGETINGTYPEVIEWABILITY = 29, + + /// + /// Target ads to a specific content category (for example, arts &amp; entertainment). + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CATEGORY")] + TARGETINGTYPECATEGORY = 30, + + /// Purchase impressions from specific deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE")] + TARGETINGTYPEINVENTORYSOURCE = 31, + + /// Target ads to a specific language (for example, English or Japanese). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_LANGUAGE")] + TARGETINGTYPELANGUAGE = 32, + + /// + /// Target ads to ads.txt authorized sellers. If no targeting option of this type is assigned, the + /// resource uses the "Authorized Direct Sellers and Resellers" option by default. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUTHORIZED_SELLER_STATUS")] + TARGETINGTYPEAUTHORIZEDSELLERSTATUS = 33, + + /// Target ads to a specific regional location (for example, a city or state). + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_GEO_REGION")] + TARGETINGTYPEGEOREGION = 34, + + /// Purchase impressions from a group of deals and auction packages. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_INVENTORY_SOURCE_GROUP")] + TARGETINGTYPEINVENTORYSOURCEGROUP = 35, + + /// Purchase impressions from specific exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_EXCHANGE")] + TARGETINGTYPEEXCHANGE = 36, + + /// Purchase impressions from specific sub-exchanges. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SUB_EXCHANGE")] + TARGETINGTYPESUBEXCHANGE = 37, + + /// + /// Target ads around a specific point of interest, such as a notable building, a street address, or + /// latitude/longitude coordinates. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_POI")] + TARGETINGTYPEPOI = 38, + + /// Target ads around locations of a business chain within a specific geo region. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_BUSINESS_CHAIN")] + TARGETINGTYPEBUSINESSCHAIN = 39, + + /// Target ads to a specific video content duration. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_DURATION")] + TARGETINGTYPECONTENTDURATION = 40, + + /// Target ads to a specific video content stream type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_STREAM_TYPE")] + TARGETINGTYPECONTENTSTREAMTYPE = 41, + + /// Target ads to a specific native content position. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_NATIVE_CONTENT_POSITION")] + TARGETINGTYPENATIVECONTENTPOSITION = 42, + + /// Target ads in an Open Measurement enabled inventory. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_OMID")] + TARGETINGTYPEOMID = 43, + + /// Target ads to a specific audio content type. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_AUDIO_CONTENT_TYPE")] + TARGETINGTYPEAUDIOCONTENTTYPE = 44, + + /// Target ads to a specific content genre. + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_CONTENT_GENRE")] + TARGETINGTYPECONTENTGENRE = 45, + + /// + /// Target ads to a specific YouTube video. Targeting of this type cannot be created or updated + /// using the API. Although this targeting is inherited by child resources, **inherited targeting of + /// this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_VIDEO")] + TARGETINGTYPEYOUTUBEVIDEO = 46, + + /// + /// Target ads to a specific YouTube channel. Targeting of this type cannot be created or updated + /// using the API. Although this targeting is inherited by child resources, **inherited targeting of + /// this type will not be retrieveable**. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_YOUTUBE_CHANNEL")] + TARGETINGTYPEYOUTUBECHANNEL = 47, + + /// + /// Target ads to a serve it in a certain position of a session. Only supported for Ad Group + /// resources under YouTube Programmatic Reservation line items. Targeting of this type cannot be + /// created or updated using the API. + /// + [Google.Apis.Util.StringValueAttribute("TARGETING_TYPE_SESSION_POSITION")] + TARGETINGTYPESESSIONPOSITION = 48, + } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.SearchTargetingOptionsRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "search"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/targetingTypes/{+targetingType}/targetingOptions:search"; + + /// Initializes Search parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("targetingType", new Google.Apis.Discovery.Parameter + { + Name = "targetingType", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + } + } + + /// The "users" collection of methods. + public class UsersResource + { + private const string Resource = "users"; + + /// The service which this resource belongs to. + private readonly Google.Apis.Services.IClientService service; + + /// Constructs a new resource. + public UsersResource(Google.Apis.Services.IClientService service) + { + this.service = service; + } + + /// + /// Bulk edits user roles for a user. The operation will delete the assigned user roles provided in + /// BulkEditAssignedUserRolesRequest.deletedAssignedUserRoles and then assign the user roles provided in + /// BulkEditAssignedUserRolesRequest.createdAssignedUserRoles. This method has unique authentication + /// requirements. Read the prerequisites in our [Managing Users + /// guide](/display-video/api/guides/users/overview#prerequisites) before using this method. The "Try this + /// method" feature does not work for this method. + /// + /// The body of the request. + /// Required. The ID of the user to which the assigned user roles belong. + public virtual BulkEditAssignedUserRolesRequest BulkEditAssignedUserRoles(Google.Apis.DisplayVideo.v3.Data.BulkEditAssignedUserRolesRequest body, long userId) + { + return new BulkEditAssignedUserRolesRequest(service, body, userId); + } + + /// + /// Bulk edits user roles for a user. The operation will delete the assigned user roles provided in + /// BulkEditAssignedUserRolesRequest.deletedAssignedUserRoles and then assign the user roles provided in + /// BulkEditAssignedUserRolesRequest.createdAssignedUserRoles. This method has unique authentication + /// requirements. Read the prerequisites in our [Managing Users + /// guide](/display-video/api/guides/users/overview#prerequisites) before using this method. The "Try this + /// method" feature does not work for this method. + /// + public class BulkEditAssignedUserRolesRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new BulkEditAssignedUserRoles request. + public BulkEditAssignedUserRolesRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.BulkEditAssignedUserRolesRequest body, long userId) : base(service) + { + UserId = userId; + Body = body; + InitParameters(); + } + + /// Required. The ID of the user to which the assigned user roles belong. + [Google.Apis.Util.RequestParameterAttribute("userId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long UserId { get; private set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.BulkEditAssignedUserRolesRequest Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "bulkEditAssignedUserRoles"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/users/{+userId}:bulkEditAssignedUserRoles"; + + /// Initializes BulkEditAssignedUserRoles parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("userId", new Google.Apis.Discovery.Parameter + { + Name = "userId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// + /// Creates a new user. Returns the newly created user if successful. This method has unique authentication + /// requirements. Read the prerequisites in our [Managing Users + /// guide](/display-video/api/guides/users/overview#prerequisites) before using this method. The "Try this + /// method" feature does not work for this method. + /// + /// The body of the request. + public virtual CreateRequest Create(Google.Apis.DisplayVideo.v3.Data.User body) + { + return new CreateRequest(service, body); + } + + /// + /// Creates a new user. Returns the newly created user if successful. This method has unique authentication + /// requirements. Read the prerequisites in our [Managing Users + /// guide](/display-video/api/guides/users/overview#prerequisites) before using this method. The "Try this + /// method" feature does not work for this method. + /// + public class CreateRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Create request. + public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.User body) : base(service) + { + Body = body; + InitParameters(); + } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.User Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "create"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v3/users"; + + /// Initializes Create parameter list. + protected override void InitParameters() + { + base.InitParameters(); + } + } + + /// + /// Deletes a user. This method has unique authentication requirements. Read the prerequisites in our [Managing + /// Users guide](/display-video/api/guides/users/overview#prerequisites) before using this method. The "Try this + /// method" feature does not work for this method. + /// + /// Required. The ID of the user to delete. + public virtual DeleteRequest Delete(long userId) + { + return new DeleteRequest(service, userId); + } + + /// + /// Deletes a user. This method has unique authentication requirements. Read the prerequisites in our [Managing + /// Users guide](/display-video/api/guides/users/overview#prerequisites) before using this method. The "Try this + /// method" feature does not work for this method. + /// + public class DeleteRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Delete request. + public DeleteRequest(Google.Apis.Services.IClientService service, long userId) : base(service) + { + UserId = userId; + InitParameters(); + } + + /// Required. The ID of the user to delete. + [Google.Apis.Util.RequestParameterAttribute("userId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long UserId { get; private set; } + + /// Gets the method name. + public override string MethodName => "delete"; + + /// Gets the HTTP method. + public override string HttpMethod => "DELETE"; + + /// Gets the REST path. + public override string RestPath => "v3/users/{+userId}"; + + /// Initializes Delete parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("userId", new Google.Apis.Discovery.Parameter + { + Name = "userId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// + /// Gets a user. This method has unique authentication requirements. Read the prerequisites in our [Managing + /// Users guide](/display-video/api/guides/users/overview#prerequisites) before using this method. The "Try this + /// method" feature does not work for this method. + /// + /// Required. The ID of the user to fetch. + public virtual GetRequest Get(long userId) + { + return new GetRequest(service, userId); + } + + /// + /// Gets a user. This method has unique authentication requirements. Read the prerequisites in our [Managing + /// Users guide](/display-video/api/guides/users/overview#prerequisites) before using this method. The "Try this + /// method" feature does not work for this method. + /// + public class GetRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Get request. + public GetRequest(Google.Apis.Services.IClientService service, long userId) : base(service) + { + UserId = userId; + InitParameters(); + } + + /// Required. The ID of the user to fetch. + [Google.Apis.Util.RequestParameterAttribute("userId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long UserId { get; private set; } + + /// Gets the method name. + public override string MethodName => "get"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/users/{+userId}"; + + /// Initializes Get parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("userId", new Google.Apis.Discovery.Parameter + { + Name = "userId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + } + } + + /// + /// Lists users that are accessible to the current user. If two users have user roles on the same partner or + /// advertiser, they can access each other. This method has unique authentication requirements. Read the + /// prerequisites in our [Managing Users guide](/display-video/api/guides/users/overview#prerequisites) before + /// using this method. The "Try this method" feature does not work for this method. + /// + public virtual ListRequest List() + { + return new ListRequest(service); + } + + /// + /// Lists users that are accessible to the current user. If two users have user roles on the same partner or + /// advertiser, they can access each other. This method has unique authentication requirements. Read the + /// prerequisites in our [Managing Users guide](/display-video/api/guides/users/overview#prerequisites) before + /// using this method. The "Try this method" feature does not work for this method. + /// + public class ListRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new List request. + public ListRequest(Google.Apis.Services.IClientService service) : base(service) + { + InitParameters(); + } + + /// + /// Allows filtering by user fields. Supported syntax: * Filter expressions are made up of one or more + /// restrictions. * Restrictions can be combined by the logical operator `AND`. * A restriction has the form + /// of `{field} {operator} {value}`. * The `budget.budget_segments.date_range.end_date` field must use the + /// `LESS THAN (&lt;)` operator. * The `displayName and `email` field must use the `HAS (:)` operator. * + /// All other fields must use the `EQUALS (=)` operator. Supported fields: * `assignedUserRole.advertiserId` + /// * `assignedUserRole.entityType` * This is synthetic field of `AssignedUserRole` used for filtering. + /// Identifies the type of entity to which the user role is assigned. Valid values are `Partner` and + /// `Advertiser`. * `assignedUserRole.parentPartnerId` * This is a synthetic field of `AssignedUserRole` + /// used for filtering. Identifies the parent partner of the entity to which the user role is assigned. * + /// `assignedUserRole.partnerId` * `assignedUserRole.userRole` * `displayName` * `email` Examples: * The + /// user with `displayName` containing "foo": `displayName:"foo"` * The user with `email` containing "bar": + /// `email:"bar"` * All users with standard user roles: `assignedUserRole.userRole="STANDARD"` * All users + /// with user roles for partner 123: `assignedUserRole.partnerId="123"` * All users with user roles for + /// advertiser 123: `assignedUserRole.advertiserId="123"` * All users with partner level user roles: + /// `entityType="PARTNER"` * All users with user roles for partner 123 and advertisers under partner 123: + /// `parentPartnerId="123"` The length of this field should be no more than 500 characters. Reference our + /// [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information. + /// + [Google.Apis.Util.RequestParameterAttribute("filter", Google.Apis.Util.RequestParameterType.Query)] + public virtual string Filter { get; set; } + + /// + /// Field by which to sort the list. Acceptable values are: * `displayName` (default) The default sorting + /// order is ascending. To specify descending order for a field, a suffix "desc" should be added to the + /// field name. For example, `displayName desc`. + /// + [Google.Apis.Util.RequestParameterAttribute("orderBy", Google.Apis.Util.RequestParameterType.Query)] + public virtual string OrderBy { get; set; } + + /// + /// Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. + /// + [Google.Apis.Util.RequestParameterAttribute("pageSize", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token identifying a page of results the server should return. Typically, this is the value of + /// next_page_token returned from the previous call to `ListUsers` method. If not specified, the first page + /// of results will be returned. + /// + [Google.Apis.Util.RequestParameterAttribute("pageToken", Google.Apis.Util.RequestParameterType.Query)] + public virtual string PageToken { get; set; } + + /// Gets the method name. + public override string MethodName => "list"; + + /// Gets the HTTP method. + public override string HttpMethod => "GET"; + + /// Gets the REST path. + public override string RestPath => "v3/users"; + + /// Initializes List parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("filter", new Google.Apis.Discovery.Parameter + { + Name = "filter", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("orderBy", new Google.Apis.Discovery.Parameter + { + Name = "orderBy", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageSize", new Google.Apis.Discovery.Parameter + { + Name = "pageSize", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("pageToken", new Google.Apis.Discovery.Parameter + { + Name = "pageToken", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + + /// + /// Updates an existing user. Returns the updated user if successful. This method has unique authentication + /// requirements. Read the prerequisites in our [Managing Users + /// guide](/display-video/api/guides/users/overview#prerequisites) before using this method. The "Try this + /// method" feature does not work for this method. + /// + /// The body of the request. + /// Output only. The unique ID of the user. Assigned by the system. + public virtual PatchRequest Patch(Google.Apis.DisplayVideo.v3.Data.User body, long userId) + { + return new PatchRequest(service, body, userId); + } + + /// + /// Updates an existing user. Returns the updated user if successful. This method has unique authentication + /// requirements. Read the prerequisites in our [Managing Users + /// guide](/display-video/api/guides/users/overview#prerequisites) before using this method. The "Try this + /// method" feature does not work for this method. + /// + public class PatchRequest : DisplayVideoBaseServiceRequest + { + /// Constructs a new Patch request. + public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.DisplayVideo.v3.Data.User body, long userId) : base(service) + { + UserId = userId; + Body = body; + InitParameters(); + } + + /// Output only. The unique ID of the user. Assigned by the system. + [Google.Apis.Util.RequestParameterAttribute("userId", Google.Apis.Util.RequestParameterType.Path)] + public virtual long UserId { get; private set; } + + /// Required. The mask to control which fields to update. + [Google.Apis.Util.RequestParameterAttribute("updateMask", Google.Apis.Util.RequestParameterType.Query)] + public virtual object UpdateMask { get; set; } + + /// Gets or sets the body of this request. + Google.Apis.DisplayVideo.v3.Data.User Body { get; set; } + + /// Returns the body of the request. + protected override object GetBody() => Body; + + /// Gets the method name. + public override string MethodName => "patch"; + + /// Gets the HTTP method. + public override string HttpMethod => "PATCH"; + + /// Gets the REST path. + public override string RestPath => "v3/users/{+userId}"; + + /// Initializes Patch parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("userId", new Google.Apis.Discovery.Parameter + { + Name = "userId", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = @"^[^/]+$", + }); + RequestParameters.Add("updateMask", new Google.Apis.Discovery.Parameter + { + Name = "updateMask", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + } +} +namespace Google.Apis.DisplayVideo.v3.Data +{ + /// Configuration for custom Active View video viewability metrics. + public class ActiveViewVideoViewabilityMetricConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. The display name of the custom metric. + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// + /// The minimum visible video duration required (in seconds) in order for an impression to be recorded. You must + /// specify minimum_duration, minimum_quartile or both. If both are specified, an impression meets the metric + /// criteria if either requirement is met (whichever happens first). + /// + [Newtonsoft.Json.JsonPropertyAttribute("minimumDuration")] + public virtual string MinimumDuration { get; set; } + + /// + /// The minimum visible video duration required, based on the video quartiles, in order for an impression to be + /// recorded. You must specify minimum_duration, minimum_quartile or both. If both are specified, an impression + /// meets the metric criteria if either requirement is met (whichever happens first). + /// + [Newtonsoft.Json.JsonPropertyAttribute("minimumQuartile")] + public virtual string MinimumQuartile { get; set; } + + /// + /// Required. The minimum percentage of the video ad's pixels visible on the screen in order for an impression + /// to be recorded. + /// + [Newtonsoft.Json.JsonPropertyAttribute("minimumViewability")] + public virtual string MinimumViewability { get; set; } + + /// + /// Required. The minimum percentage of the video ad's volume required in order for an impression to be + /// recorded. + /// + [Newtonsoft.Json.JsonPropertyAttribute("minimumVolume")] + public virtual string MinimumVolume { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A single ad group associated with a line item. + public class AdGroup : Google.Apis.Requests.IDirectResponseSchema + { + /// The format of the ads in the ad group. + [Newtonsoft.Json.JsonPropertyAttribute("adGroupFormat")] + public virtual string AdGroupFormat { get; set; } + + /// The unique ID of the ad group. Assigned by the system. + [Newtonsoft.Json.JsonPropertyAttribute("adGroupId")] + public virtual System.Nullable AdGroupId { get; set; } + + /// The unique ID of the advertiser the ad group belongs to. + [Newtonsoft.Json.JsonPropertyAttribute("advertiserId")] + public virtual System.Nullable AdvertiserId { get; set; } + + /// + /// The bidding strategy used by the ad group. Only the youtubeAndPartnersBid field can be used in the bidding + /// strategy. + /// + [Newtonsoft.Json.JsonPropertyAttribute("bidStrategy")] + public virtual BiddingStrategy BidStrategy { get; set; } + + /// The display name of the ad group. Must be UTF-8 encoded with a maximum size of 255 bytes. + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// + /// Controls whether or not the ad group can spend its budget and bid on inventory. If the ad group's parent + /// line item is not active, the ad group can't spend its budget even if its own status is + /// `ENTITY_STATUS_ACTIVE`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("entityStatus")] + public virtual string EntityStatus { get; set; } + + /// The unique ID of the line item that the ad group belongs to. + [Newtonsoft.Json.JsonPropertyAttribute("lineItemId")] + public virtual System.Nullable LineItemId { get; set; } + + /// The resource name of the ad group. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// The settings of the product feed in this ad group. + [Newtonsoft.Json.JsonPropertyAttribute("productFeedData")] + public virtual ProductFeedData ProductFeedData { get; set; } + + /// + /// The [optimized targeting](//support.google.com/displayvideo/answer/12060859) settings of the ad group. + /// + [Newtonsoft.Json.JsonPropertyAttribute("targetingExpansion")] + public virtual TargetingExpansionConfig TargetingExpansion { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A single ad associated with an ad group. + public class AdGroupAd : Google.Apis.Requests.IDirectResponseSchema + { + /// The unique ID of the ad. Assigned by the system. + [Newtonsoft.Json.JsonPropertyAttribute("adGroupAdId")] + public virtual System.Nullable AdGroupAdId { get; set; } + + /// The unique ID of the ad group that the ad belongs to. + [Newtonsoft.Json.JsonPropertyAttribute("adGroupId")] + public virtual System.Nullable AdGroupId { get; set; } + + /// List of URLs used by the ad. + [Newtonsoft.Json.JsonPropertyAttribute("adUrls")] + public virtual System.Collections.Generic.IList AdUrls { get; set; } + + /// The unique ID of the advertiser the ad belongs to. + [Newtonsoft.Json.JsonPropertyAttribute("advertiserId")] + public virtual System.Nullable AdvertiserId { get; set; } + + /// + /// Details of an [audio ad](//support.google.com/displayvideo/answer/6274216) used for reach marketing + /// objectives. + /// + [Newtonsoft.Json.JsonPropertyAttribute("audioAd")] + public virtual AudioAd AudioAd { get; set; } + + /// + /// Details of a [non-skippable short video ad](//support.google.com/displayvideo/answer/6274216), equal to or + /// less than 6 seconds, used for reach. + /// + [Newtonsoft.Json.JsonPropertyAttribute("bumperAd")] + public virtual BumperAd BumperAd { get; set; } + + /// The display name of the ad. Must be UTF-8 encoded with a maximum size of 255 bytes. + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// Details of an ad sourced from a Display & Video 360 creative. + [Newtonsoft.Json.JsonPropertyAttribute("displayVideoSourceAd")] + public virtual DisplayVideoSourceAd DisplayVideoSourceAd { get; set; } + + /// The entity status of the ad. + [Newtonsoft.Json.JsonPropertyAttribute("entityStatus")] + public virtual string EntityStatus { get; set; } + + /// + /// Details of an [in-stream ad skippable after 5 seconds](//support.google.com/displayvideo/answer/6274216), + /// used for brand awareness or reach marketing objectives. + /// + [Newtonsoft.Json.JsonPropertyAttribute("inStreamAd")] + public virtual InStreamAd InStreamAd { get; set; } + + /// + /// Details of an [ad served on the YouTube Home feed](//support.google.com/google-ads/answer/9709826). + /// + [Newtonsoft.Json.JsonPropertyAttribute("mastheadAd")] + public virtual MastheadAd MastheadAd { get; set; } + + /// The resource name of the ad. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// + /// Details of a [non-skippable short in-stream video ad](//support.google.com/displayvideo/answer/6274216), + /// between 6 and 15 seconds, used for reach marketing objectives. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nonSkippableAd")] + public virtual NonSkippableAd NonSkippableAd { get; set; } + + /// + /// Details of an [ad promoting a video](//support.google.com/displayvideo/answer/6274216) that shows in places + /// of discovery. + /// + [Newtonsoft.Json.JsonPropertyAttribute("videoDiscoverAd")] + public virtual VideoDiscoveryAd VideoDiscoverAd { get; set; } + + /// + /// Details of an [ad used in a video action campaign](//support.google.com/google-ads/answer/10147229) to drive + /// actions to the business, service or product. + /// + [Newtonsoft.Json.JsonPropertyAttribute("videoPerformanceAd")] + public virtual VideoPerformanceAd VideoPerformanceAd { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Wrapper object associating an AssignedTargetingOption resource and the ad group it is assigned to. + /// + public class AdGroupAssignedTargetingOption : Google.Apis.Requests.IDirectResponseSchema + { + /// The ID of the ad group the assigned targeting option is assigned to. + [Newtonsoft.Json.JsonPropertyAttribute("adGroupId")] + public virtual System.Nullable AdGroupId { get; set; } + + /// The assigned targeting option resource. + [Newtonsoft.Json.JsonPropertyAttribute("assignedTargetingOption")] + public virtual AssignedTargetingOption AssignedTargetingOption { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Additional URLs related to the ad, including beacons. + public class AdUrl : Google.Apis.Requests.IDirectResponseSchema + { + /// The type of the Ad URL. + [Newtonsoft.Json.JsonPropertyAttribute("type")] + public virtual string Type { get; set; } + + /// The URL string value. + [Newtonsoft.Json.JsonPropertyAttribute("url")] + public virtual string Url { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Details of Adloox settings. + public class Adloox : Google.Apis.Requests.IDirectResponseSchema + { + /// Adloox's brand safety settings. + [Newtonsoft.Json.JsonPropertyAttribute("excludedAdlooxCategories")] + public virtual System.Collections.Generic.IList ExcludedAdlooxCategories { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A single advertiser in Display & Video 360 (DV360). + public class Advertiser : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. Immutable. Ad server related settings of the advertiser. + [Newtonsoft.Json.JsonPropertyAttribute("adServerConfig")] + public virtual AdvertiserAdServerConfig AdServerConfig { get; set; } + + /// Output only. The unique ID of the advertiser. Assigned by the system. + [Newtonsoft.Json.JsonPropertyAttribute("advertiserId")] + public virtual System.Nullable AdvertiserId { get; set; } + + /// Required. Billing related settings of the advertiser. + [Newtonsoft.Json.JsonPropertyAttribute("billingConfig")] + public virtual AdvertiserBillingConfig BillingConfig { get; set; } + + /// Required. Creative related settings of the advertiser. + [Newtonsoft.Json.JsonPropertyAttribute("creativeConfig")] + public virtual AdvertiserCreativeConfig CreativeConfig { get; set; } + + /// Settings that control how advertiser data may be accessed. + [Newtonsoft.Json.JsonPropertyAttribute("dataAccessConfig")] + public virtual AdvertiserDataAccessConfig DataAccessConfig { get; set; } + + /// + /// Required. The display name of the advertiser. Must be UTF-8 encoded with a maximum size of 240 bytes. + /// + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// + /// Required. Controls whether or not insertion orders and line items of the advertiser can spend their budgets + /// and bid on inventory. * Accepted values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_PAUSED` and + /// `ENTITY_STATUS_SCHEDULED_FOR_DELETION`. * If set to `ENTITY_STATUS_SCHEDULED_FOR_DELETION`, the advertiser + /// will be deleted 30 days from when it was first scheduled for deletion. + /// + [Newtonsoft.Json.JsonPropertyAttribute("entityStatus")] + public virtual string EntityStatus { get; set; } + + /// Required. General settings of the advertiser. + [Newtonsoft.Json.JsonPropertyAttribute("generalConfig")] + public virtual AdvertiserGeneralConfig GeneralConfig { get; set; } + + /// + /// Integration details of the advertiser. Only integrationCode is currently applicable to advertiser. Other + /// fields of IntegrationDetails are not supported and will be ignored if provided. + /// + [Newtonsoft.Json.JsonPropertyAttribute("integrationDetails")] + public virtual IntegrationDetails IntegrationDetails { get; set; } + + /// Output only. The resource name of the advertiser. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Required. Immutable. The unique ID of the partner that the advertiser belongs to. + [Newtonsoft.Json.JsonPropertyAttribute("partnerId")] + public virtual System.Nullable PartnerId { get; set; } + + /// + /// Whether integration with Mediaocean (Prisma) is enabled. By enabling this, you agree to the following: On + /// behalf of my company, I authorize Mediaocean (Prisma) to send budget segment plans to Google, and I + /// authorize Google to send corresponding reporting and invoices from DV360 to Mediaocean for the purposes of + /// budget planning, billing, and reconciliation for this advertiser. + /// + [Newtonsoft.Json.JsonPropertyAttribute("prismaEnabled")] + public virtual System.Nullable PrismaEnabled { get; set; } + + /// Targeting settings related to ad serving of the advertiser. + [Newtonsoft.Json.JsonPropertyAttribute("servingConfig")] + public virtual AdvertiserTargetingConfig ServingConfig { get; set; } + + private string _updateTimeRaw; + + private object _updateTime; + + /// Output only. The timestamp when the advertiser was last updated. Assigned by the system. + [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] + public virtual string UpdateTimeRaw + { + get => _updateTimeRaw; + set + { + _updateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _updateTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use UpdateTimeDateTimeOffset instead.")] + public virtual object UpdateTime + { + get => _updateTime; + set + { + _updateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _updateTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset + { + get => Google.Apis.Util.Utilities.GetDateTimeOffsetFromString(UpdateTimeRaw); + set => UpdateTimeRaw = Google.Apis.Util.Utilities.GetStringFromDateTimeOffset(value); + } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Ad server related settings of an advertiser. + public class AdvertiserAdServerConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The configuration for advertisers that use both Campaign Manager 360 (CM360) and third-party ad servers. + /// + [Newtonsoft.Json.JsonPropertyAttribute("cmHybridConfig")] + public virtual CmHybridConfig CmHybridConfig { get; set; } + + /// The configuration for advertisers that use third-party ad servers only. + [Newtonsoft.Json.JsonPropertyAttribute("thirdPartyOnlyConfig")] + public virtual ThirdPartyOnlyConfig ThirdPartyOnlyConfig { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Billing related settings of an advertiser. + public class AdvertiserBillingConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// The ID of a billing profile assigned to the advertiser. + [Newtonsoft.Json.JsonPropertyAttribute("billingProfileId")] + public virtual System.Nullable BillingProfileId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Creatives related settings of an advertiser. + public class AdvertiserCreativeConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// Whether or not the advertiser is enabled for dynamic creatives. + [Newtonsoft.Json.JsonPropertyAttribute("dynamicCreativeEnabled")] + public virtual System.Nullable DynamicCreativeEnabled { get; set; } + + /// + /// An ID for configuring campaign monitoring provided by Integral Ad Service (IAS). The DV360 system will + /// append an IAS "Campaign Monitor" tag containing this ID to the creative tag. + /// + [Newtonsoft.Json.JsonPropertyAttribute("iasClientId")] + public virtual System.Nullable IasClientId { get; set; } + + /// + /// Whether or not to use DV360's Online Behavioral Advertising (OBA) compliance. Warning: Changing OBA settings + /// may cause the audit status of your creatives to be reset by some ad exchanges, making them ineligible to + /// serve until they are re-approved. + /// + [Newtonsoft.Json.JsonPropertyAttribute("obaComplianceDisabled")] + public virtual System.Nullable ObaComplianceDisabled { get; set; } + + /// + /// By setting this field to `true`, you, on behalf of your company, authorize Google to use video creatives + /// associated with this Display &amp; Video 360 advertiser to provide reporting and features related to the + /// advertiser's television campaigns. Applicable only when the advertiser has a CM360 hybrid ad server + /// configuration. + /// + [Newtonsoft.Json.JsonPropertyAttribute("videoCreativeDataSharingAuthorized")] + public virtual System.Nullable VideoCreativeDataSharingAuthorized { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Settings that control how advertiser related data may be accessed. + public class AdvertiserDataAccessConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Structured Data Files (SDF) settings for the advertiser. If not specified, the SDF settings of the parent + /// partner are used. + /// + [Newtonsoft.Json.JsonPropertyAttribute("sdfConfig")] + public virtual AdvertiserSdfConfig SdfConfig { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// General settings of an advertiser. + public class AdvertiserGeneralConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Required. Immutable. Advertiser's currency in ISO 4217 format. Accepted codes and the currencies they + /// represent are: Currency Code : Currency Name * `ARS` : Argentine Peso * `AUD` : Australian Dollar * `BRL` : + /// Brazilian Real * `CAD` : Canadian Dollar * `CHF` : Swiss Franc * `CLP` : Chilean Peso * `CNY` : Chinese Yuan + /// * `COP` : Colombian Peso * `CZK` : Czech Koruna * `DKK` : Danish Krone * `EGP` : Egyption Pound * `EUR` : + /// Euro * `GBP` : British Pound * `HKD` : Hong Kong Dollar * `HUF` : Hungarian Forint * `IDR` : Indonesian + /// Rupiah * `ILS` : Israeli Shekel * `INR` : Indian Rupee * `JPY` : Japanese Yen * `KRW` : South Korean Won * + /// `MXN` : Mexican Pesos * `MYR` : Malaysian Ringgit * `NGN` : Nigerian Naira * `NOK` : Norwegian Krone * `NZD` + /// : New Zealand Dollar * `PEN` : Peruvian Nuevo Sol * `PLN` : Polish Zloty * `RON` : New Romanian Leu * `RUB` + /// : Russian Ruble * `SEK` : Swedish Krona * `TRY` : Turkish Lira * `TWD` : New Taiwan Dollar * `USD` : US + /// Dollar * `ZAR` : South African Rand + /// + [Newtonsoft.Json.JsonPropertyAttribute("currencyCode")] + public virtual string CurrencyCode { get; set; } + + /// + /// Required. The domain URL of the advertiser's primary website. The system will send this information to + /// publishers that require website URL to associate a campaign with an advertiser. Provide a URL with no path + /// or query string, beginning with `http:` or `https:`. For example, http://www.example.com + /// + [Newtonsoft.Json.JsonPropertyAttribute("domainUrl")] + public virtual string DomainUrl { get; set; } + + /// + /// Output only. The standard TZ database name of the advertiser's time zone. For example, `America/New_York`. + /// See more at: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones For CM360 hybrid advertisers, the + /// time zone is the same as that of the associated CM360 account; for third-party only advertisers, the time + /// zone is the same as that of the parent partner. + /// + [Newtonsoft.Json.JsonPropertyAttribute("timeZone")] + public virtual string TimeZone { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Structured Data Files (SDF) settings of an advertiser. + public class AdvertiserSdfConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Whether or not this advertiser overrides the SDF configuration of its parent partner. By default, an + /// advertiser inherits the SDF configuration from the parent partner. To override the partner configuration, + /// set this field to `true` and provide the new configuration in sdfConfig. + /// + [Newtonsoft.Json.JsonPropertyAttribute("overridePartnerSdfConfig")] + public virtual System.Nullable OverridePartnerSdfConfig { get; set; } + + /// + /// The SDF configuration for the advertiser. * Required when overridePartnerSdfConfig is `true`. * Output only + /// when overridePartnerSdfConfig is `false`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("sdfConfig")] + public virtual SdfConfig SdfConfig { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Targeting settings related to ad serving of an advertiser. + public class AdvertiserTargetingConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Whether or not connected TV devices are exempt from viewability targeting for all video line items under the + /// advertiser. + /// + [Newtonsoft.Json.JsonPropertyAttribute("exemptTvFromViewabilityTargeting")] + public virtual System.Nullable ExemptTvFromViewabilityTargeting { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Represents a targetable age range. This will be populated in the details field of an AssignedTargetingOption + /// when targeting_type is `TARGETING_TYPE_AGE_RANGE`. + /// + public class AgeRangeAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Required. The age range of an audience. We only support targeting a continuous age range of an audience. + /// Thus, the age range represented in this field can be 1) targeted solely, or, 2) part of a larger continuous + /// age range. The reach of a continuous age range targeting can be expanded by also targeting an audience of an + /// unknown age. + /// + [Newtonsoft.Json.JsonPropertyAttribute("ageRange")] + public virtual string AgeRange { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Represents a targetable age range. This will be populated in the age_range_details field when targeting_type is + /// `TARGETING_TYPE_AGE_RANGE`. + /// + public class AgeRangeTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The age range of an audience. + [Newtonsoft.Json.JsonPropertyAttribute("ageRange")] + public virtual string AgeRange { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Rule-based algorithm. + public class AlgorithmRules : Google.Apis.Requests.IDirectResponseSchema + { + /// Rules for the impression signals. + [Newtonsoft.Json.JsonPropertyAttribute("impressionSignalRuleset")] + public virtual AlgorithmRulesRuleset ImpressionSignalRuleset { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A value to compare the signal to. + public class AlgorithmRulesComparisonValue : Google.Apis.Requests.IDirectResponseSchema + { + /// Boolean value. + [Newtonsoft.Json.JsonPropertyAttribute("boolValue")] + public virtual System.Nullable BoolValue { get; set; } + + /// Creative dimension value. + [Newtonsoft.Json.JsonPropertyAttribute("creativeDimensionValue")] + public virtual Dimensions CreativeDimensionValue { get; set; } + + /// Day and time value. Only `TIME_ZONE_RESOLUTION_END_USER` is supported. + [Newtonsoft.Json.JsonPropertyAttribute("dayAndTimeValue")] + public virtual DayAndTime DayAndTimeValue { get; set; } + + /// Device type value. + [Newtonsoft.Json.JsonPropertyAttribute("deviceTypeValue")] + public virtual string DeviceTypeValue { get; set; } + + /// Double value. + [Newtonsoft.Json.JsonPropertyAttribute("doubleValue")] + public virtual System.Nullable DoubleValue { get; set; } + + /// Environment value. + [Newtonsoft.Json.JsonPropertyAttribute("environmentValue")] + public virtual string EnvironmentValue { get; set; } + + /// Exchange value. + [Newtonsoft.Json.JsonPropertyAttribute("exchangeValue")] + public virtual string ExchangeValue { get; set; } + + /// Integer value. + [Newtonsoft.Json.JsonPropertyAttribute("int64Value")] + public virtual System.Nullable Int64Value { get; set; } + + /// Ad position value. + [Newtonsoft.Json.JsonPropertyAttribute("onScreenPositionValue")] + public virtual string OnScreenPositionValue { get; set; } + + /// String value. + [Newtonsoft.Json.JsonPropertyAttribute("stringValue")] + public virtual string StringValue { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Set of conditions. The return value of the rule is either: * The return value for single met condition or * The + /// defined default return value if no conditions are met. + /// + public class AlgorithmRulesRule : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// List of conditions in this rule. The criteria among conditions should be mutually exclusive. + /// + [Newtonsoft.Json.JsonPropertyAttribute("conditions")] + public virtual System.Collections.Generic.IList Conditions { get; set; } + + /// The default return value applied when none of the conditions are met. + [Newtonsoft.Json.JsonPropertyAttribute("defaultReturnValue")] + public virtual AlgorithmRulesSignalValue DefaultReturnValue { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Set of signal comparisons. Equivalent of an `if` statement. + public class AlgorithmRulesRuleCondition : Google.Apis.Requests.IDirectResponseSchema + { + /// The value returned if the `signalComparisons` condition evaluates to `TRUE`. + [Newtonsoft.Json.JsonPropertyAttribute("returnValue")] + public virtual AlgorithmRulesSignalValue ReturnValue { get; set; } + + /// + /// List of comparisons that build `if` statement condition. The comparisons are combined into a single + /// condition with `AND` logical operators. + /// + [Newtonsoft.Json.JsonPropertyAttribute("signalComparisons")] + public virtual System.Collections.Generic.IList SignalComparisons { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A ruleset consisting of a list of rules and how to aggregate the resulting values. + public class AlgorithmRulesRuleset : Google.Apis.Requests.IDirectResponseSchema + { + /// How to aggregate values of evaluated rules. + [Newtonsoft.Json.JsonPropertyAttribute("aggregationType")] + public virtual string AggregationType { get; set; } + + /// Maximum value the ruleset can evaluate to. + [Newtonsoft.Json.JsonPropertyAttribute("maxValue")] + public virtual System.Nullable MaxValue { get; set; } + + /// List of rules to generate the impression value. + [Newtonsoft.Json.JsonPropertyAttribute("rules")] + public virtual System.Collections.Generic.IList Rules { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Signal used to evaluate rules. + public class AlgorithmRulesSignal : Google.Apis.Requests.IDirectResponseSchema + { + /// Signal based on impressions. + [Newtonsoft.Json.JsonPropertyAttribute("impressionSignal")] + public virtual string ImpressionSignal { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// A single comparison. The comparison compares the `signal` to the `comparisonValue`. The comparison of + /// `siteId==123` is represented with the following field values: * `signal` has an `impressionSignal` of `SITE_ID`. + /// * `comparisonOperator` is set to `EQUAL`. * `comparisonValue` is set to 123. + /// + public class AlgorithmRulesSignalComparison : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Operator used to compare the two values. In the resulting experession, the `signal` will be the first value + /// and the `comparisonValue will be the second. + /// + [Newtonsoft.Json.JsonPropertyAttribute("comparisonOperator")] + public virtual string ComparisonOperator { get; set; } + + /// Value to compare signal to. + [Newtonsoft.Json.JsonPropertyAttribute("comparisonValue")] + public virtual AlgorithmRulesComparisonValue ComparisonValue { get; set; } + + /// Signal to compare. + [Newtonsoft.Json.JsonPropertyAttribute("signal")] + public virtual AlgorithmRulesSignal Signal { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Adjusted value of the signal used for rule evaluation. + public class AlgorithmRulesSignalValue : Google.Apis.Requests.IDirectResponseSchema + { + /// Value to use as result. + [Newtonsoft.Json.JsonPropertyAttribute("number")] + public virtual System.Nullable Number { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Details for assigned app targeting option. This will be populated in the details field of an + /// AssignedTargetingOption when targeting_type is `TARGETING_TYPE_APP`. + /// + public class AppAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Required. The ID of the app. Android's Play store app uses bundle ID, for example `com.google.android.gm`. + /// Apple's App store app ID uses 9 digit string, for example `422689480`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("appId")] + public virtual string AppId { get; set; } + + /// + /// Indicates the platform of the targeted app. If this field is not specified, the app platform will be assumed + /// to be mobile (i.e., Android or iOS), and we will derive the appropriate mobile platform from the app ID. + /// + [Newtonsoft.Json.JsonPropertyAttribute("appPlatform")] + public virtual string AppPlatform { get; set; } + + /// Output only. The display name of the app. + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// Indicates if this option is being negatively targeted. + [Newtonsoft.Json.JsonPropertyAttribute("negative")] + public virtual System.Nullable Negative { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Details for assigned app category targeting option. This will be populated in the app_category_details field of + /// an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_APP_CATEGORY`. + /// + public class AppCategoryAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The display name of the app category. + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// Indicates if this option is being negatively targeted. + [Newtonsoft.Json.JsonPropertyAttribute("negative")] + public virtual System.Nullable Negative { get; set; } + + /// + /// Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_APP_CATEGORY`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("targetingOptionId")] + public virtual string TargetingOptionId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Represents a targetable collection of apps. A collection lets you target dynamic groups of related apps that are + /// maintained by the platform, for example `All Apps/Google Play/Games`. This will be populated in the + /// app_category_details field when targeting_type is `TARGETING_TYPE_APP_CATEGORY`. + /// + public class AppCategoryTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The name of the app collection. + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A single asset. + public class Asset : Google.Apis.Requests.IDirectResponseSchema + { + /// The asset content. For uploaded assets, the content is the serving path. + [Newtonsoft.Json.JsonPropertyAttribute("content")] + public virtual string Content { get; set; } + + /// + /// Media ID of the uploaded asset. This is a unique identifier for the asset. This ID can be passed to other + /// API calls, e.g. CreateCreative to associate the asset with a creative. The Media ID space updated on **April + /// 5, 2023**. Update media IDs cached before **April 5, 2023** by retrieving the new media ID from associated + /// creative resources or re-uploading the asset. + /// + [Newtonsoft.Json.JsonPropertyAttribute("mediaId")] + public virtual System.Nullable MediaId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Asset association for the creative. + public class AssetAssociation : Google.Apis.Requests.IDirectResponseSchema + { + /// The associated asset. + [Newtonsoft.Json.JsonPropertyAttribute("asset")] + public virtual Asset Asset { get; set; } + + /// The role of this asset for the creative. + [Newtonsoft.Json.JsonPropertyAttribute("role")] + public virtual string Role { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// An assignment between a targetable inventory source and an inventory source group. + public class AssignedInventorySource : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Output only. The unique ID of the assigned inventory source. The ID is only unique within a given inventory + /// source group. It may be reused in other contexts. + /// + [Newtonsoft.Json.JsonPropertyAttribute("assignedInventorySourceId")] + public virtual System.Nullable AssignedInventorySourceId { get; set; } + + /// Required. The ID of the inventory source entity being targeted. + [Newtonsoft.Json.JsonPropertyAttribute("inventorySourceId")] + public virtual string InventorySourceId { get; set; } + + /// Output only. The resource name of the assigned inventory source. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// An assignment between a location list and a relevant targeting option. + public class AssignedLocation : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Output only. The unique ID of the assigned location. The ID is only unique within a location list. It may be + /// reused in other contexts. + /// + [Newtonsoft.Json.JsonPropertyAttribute("assignedLocationId")] + public virtual System.Nullable AssignedLocationId { get; set; } + + /// Output only. The resource name of the assigned location. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Required. The ID of the targeting option assigned to the location list. + [Newtonsoft.Json.JsonPropertyAttribute("targetingOptionId")] + public virtual string TargetingOptionId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// A single assigned targeting option, which defines the state of a targeting option for an entity with targeting + /// settings. + /// + public class AssignedTargetingOption : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Age range details. This field will be populated when the targeting_type is `TARGETING_TYPE_AGE_RANGE`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("ageRangeDetails")] + public virtual AgeRangeAssignedTargetingOptionDetails AgeRangeDetails { get; set; } + + /// + /// App category details. This field will be populated when the targeting_type is `TARGETING_TYPE_APP_CATEGORY`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("appCategoryDetails")] + public virtual AppCategoryAssignedTargetingOptionDetails AppCategoryDetails { get; set; } + + /// + /// App details. This field will be populated when the targeting_type is `TARGETING_TYPE_APP`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("appDetails")] + public virtual AppAssignedTargetingOptionDetails AppDetails { get; set; } + + /// + /// Output only. The unique ID of the assigned targeting option. The ID is only unique within a given resource + /// and targeting type. It may be reused in other contexts. + /// + [Newtonsoft.Json.JsonPropertyAttribute("assignedTargetingOptionId")] + public virtual string AssignedTargetingOptionId { get; set; } + + /// + /// Output only. An alias for the assigned_targeting_option_id. This value can be used in place of + /// `assignedTargetingOptionId` when retrieving or deleting existing targeting. This field will only be + /// supported for all assigned targeting options of the following targeting types: * `TARGETING_TYPE_AGE_RANGE` + /// * `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * + /// `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * + /// `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_OMID` * + /// `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * + /// `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` This field is also supported for line item + /// assigned targeting options of the following targeting types: * `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` + /// + [Newtonsoft.Json.JsonPropertyAttribute("assignedTargetingOptionIdAlias")] + public virtual string AssignedTargetingOptionIdAlias { get; set; } + + /// + /// Audience targeting details. This field will be populated when the targeting_type is + /// `TARGETING_TYPE_AUDIENCE_GROUP`. You can only target one audience group option per resource. + /// + [Newtonsoft.Json.JsonPropertyAttribute("audienceGroupDetails")] + public virtual AudienceGroupAssignedTargetingOptionDetails AudienceGroupDetails { get; set; } + + /// + /// Audio content type details. This field will be populated when the targeting_type is + /// `TARGETING_TYPE_AUDIO_CONTENT_TYPE`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("audioContentTypeDetails")] + public virtual AudioContentTypeAssignedTargetingOptionDetails AudioContentTypeDetails { get; set; } + + /// + /// Authorized seller status details. This field will be populated when the targeting_type is + /// `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`. You can only target one authorized seller status option per + /// resource. If a resource doesn't have an authorized seller status option, all authorized sellers indicated as + /// DIRECT or RESELLER in the ads.txt file are targeted by default. + /// + [Newtonsoft.Json.JsonPropertyAttribute("authorizedSellerStatusDetails")] + public virtual AuthorizedSellerStatusAssignedTargetingOptionDetails AuthorizedSellerStatusDetails { get; set; } + + /// + /// Browser details. This field will be populated when the targeting_type is `TARGETING_TYPE_BROWSER`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("browserDetails")] + public virtual BrowserAssignedTargetingOptionDetails BrowserDetails { get; set; } + + /// + /// Business chain details. This field will be populated when the targeting_type is + /// `TARGETING_TYPE_BUSINESS_CHAIN`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("businessChainDetails")] + public virtual BusinessChainAssignedTargetingOptionDetails BusinessChainDetails { get; set; } + + /// + /// Carrier and ISP details. This field will be populated when the targeting_type is + /// `TARGETING_TYPE_CARRIER_AND_ISP`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("carrierAndIspDetails")] + public virtual CarrierAndIspAssignedTargetingOptionDetails CarrierAndIspDetails { get; set; } + + /// + /// Category details. This field will be populated when the targeting_type is `TARGETING_TYPE_CATEGORY`. + /// Targeting a category will also target its subcategories. If a category is excluded from targeting and a + /// subcategory is included, the exclusion will take precedence. + /// + [Newtonsoft.Json.JsonPropertyAttribute("categoryDetails")] + public virtual CategoryAssignedTargetingOptionDetails CategoryDetails { get; set; } + + /// + /// Channel details. This field will be populated when the targeting_type is `TARGETING_TYPE_CHANNEL`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("channelDetails")] + public virtual ChannelAssignedTargetingOptionDetails ChannelDetails { get; set; } + + /// + /// Content duration details. This field will be populated when the targeting_type is + /// `TARGETING_TYPE_CONTENT_DURATION`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("contentDurationDetails")] + public virtual ContentDurationAssignedTargetingOptionDetails ContentDurationDetails { get; set; } + + /// + /// Content genre details. This field will be populated when the targeting_type is + /// `TARGETING_TYPE_CONTENT_GENRE`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("contentGenreDetails")] + public virtual ContentGenreAssignedTargetingOptionDetails ContentGenreDetails { get; set; } + + /// + /// Content instream position details. This field will be populated when the targeting_type is + /// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("contentInstreamPositionDetails")] + public virtual ContentInstreamPositionAssignedTargetingOptionDetails ContentInstreamPositionDetails { get; set; } + + /// + /// Content outstream position details. This field will be populated when the targeting_type is + /// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("contentOutstreamPositionDetails")] + public virtual ContentOutstreamPositionAssignedTargetingOptionDetails ContentOutstreamPositionDetails { get; set; } + + /// + /// Content duration details. This field will be populated when the TargetingType is + /// `TARGETING_TYPE_CONTENT_STREAM_TYPE`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("contentStreamTypeDetails")] + public virtual ContentStreamTypeAssignedTargetingOptionDetails ContentStreamTypeDetails { get; set; } + + /// + /// Day and time details. This field will be populated when the targeting_type is `TARGETING_TYPE_DAY_AND_TIME`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("dayAndTimeDetails")] + public virtual DayAndTimeAssignedTargetingOptionDetails DayAndTimeDetails { get; set; } + + /// + /// Device make and model details. This field will be populated when the targeting_type is + /// `TARGETING_TYPE_DEVICE_MAKE_MODEL`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("deviceMakeModelDetails")] + public virtual DeviceMakeModelAssignedTargetingOptionDetails DeviceMakeModelDetails { get; set; } + + /// + /// Device Type details. This field will be populated when the targeting_type is `TARGETING_TYPE_DEVICE_TYPE`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("deviceTypeDetails")] + public virtual DeviceTypeAssignedTargetingOptionDetails DeviceTypeDetails { get; set; } + + /// + /// Digital content label details. This field will be populated when the targeting_type is + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`. Digital content labels are targeting exclusions. + /// Advertiser level digital content label exclusions, if set, are always applied in serving (even though they + /// aren't visible in resource settings). Resource settings can exclude content labels in addition to advertiser + /// exclusions, but can't override them. A line item won't serve if all the digital content labels are excluded. + /// + [Newtonsoft.Json.JsonPropertyAttribute("digitalContentLabelExclusionDetails")] + public virtual DigitalContentLabelAssignedTargetingOptionDetails DigitalContentLabelExclusionDetails { get; set; } + + /// + /// Environment details. This field will be populated when the targeting_type is `TARGETING_TYPE_ENVIRONMENT`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("environmentDetails")] + public virtual EnvironmentAssignedTargetingOptionDetails EnvironmentDetails { get; set; } + + /// + /// Exchange details. This field will be populated when the targeting_type is `TARGETING_TYPE_EXCHANGE`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("exchangeDetails")] + public virtual ExchangeAssignedTargetingOptionDetails ExchangeDetails { get; set; } + + /// + /// Gender details. This field will be populated when the targeting_type is `TARGETING_TYPE_GENDER`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("genderDetails")] + public virtual GenderAssignedTargetingOptionDetails GenderDetails { get; set; } + + /// + /// Geographic region details. This field will be populated when the targeting_type is + /// `TARGETING_TYPE_GEO_REGION`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("geoRegionDetails")] + public virtual GeoRegionAssignedTargetingOptionDetails GeoRegionDetails { get; set; } + + /// + /// Household income details. This field will be populated when the targeting_type is + /// `TARGETING_TYPE_HOUSEHOLD_INCOME`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("householdIncomeDetails")] + public virtual HouseholdIncomeAssignedTargetingOptionDetails HouseholdIncomeDetails { get; set; } + + /// Output only. The inheritance status of the assigned targeting option. + [Newtonsoft.Json.JsonPropertyAttribute("inheritance")] + public virtual string Inheritance { get; set; } + + /// + /// Inventory source details. This field will be populated when the targeting_type is + /// `TARGETING_TYPE_INVENTORY_SOURCE`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("inventorySourceDetails")] + public virtual InventorySourceAssignedTargetingOptionDetails InventorySourceDetails { get; set; } + + /// + /// Inventory source group details. This field will be populated when the targeting_type is + /// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("inventorySourceGroupDetails")] + public virtual InventorySourceGroupAssignedTargetingOptionDetails InventorySourceGroupDetails { get; set; } + + /// + /// Keyword details. This field will be populated when the targeting_type is `TARGETING_TYPE_KEYWORD`. A maximum + /// of 5000 direct negative keywords can be assigned to a resource. No limit on number of positive keywords that + /// can be assigned. + /// + [Newtonsoft.Json.JsonPropertyAttribute("keywordDetails")] + public virtual KeywordAssignedTargetingOptionDetails KeywordDetails { get; set; } + + /// + /// Language details. This field will be populated when the targeting_type is `TARGETING_TYPE_LANGUAGE`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("languageDetails")] + public virtual LanguageAssignedTargetingOptionDetails LanguageDetails { get; set; } + + /// Output only. The resource name for this assigned targeting option. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// + /// Native content position details. This field will be populated when the targeting_type is + /// `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nativeContentPositionDetails")] + public virtual NativeContentPositionAssignedTargetingOptionDetails NativeContentPositionDetails { get; set; } + + /// + /// Keyword details. This field will be populated when the targeting_type is + /// `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. A maximum of 4 negative keyword lists can be assigned to a resource. + /// + [Newtonsoft.Json.JsonPropertyAttribute("negativeKeywordListDetails")] + public virtual NegativeKeywordListAssignedTargetingOptionDetails NegativeKeywordListDetails { get; set; } + + /// + /// Open Measurement enabled inventory details. This field will be populated when the targeting_type is + /// `TARGETING_TYPE_OMID`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("omidDetails")] + public virtual OmidAssignedTargetingOptionDetails OmidDetails { get; set; } + + /// + /// On screen position details. This field will be populated when the targeting_type is + /// `TARGETING_TYPE_ON_SCREEN_POSITION`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("onScreenPositionDetails")] + public virtual OnScreenPositionAssignedTargetingOptionDetails OnScreenPositionDetails { get; set; } + + /// + /// Operating system details. This field will be populated when the targeting_type is + /// `TARGETING_TYPE_OPERATING_SYSTEM`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("operatingSystemDetails")] + public virtual OperatingSystemAssignedTargetingOptionDetails OperatingSystemDetails { get; set; } + + /// + /// Parental status details. This field will be populated when the targeting_type is + /// `TARGETING_TYPE_PARENTAL_STATUS`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("parentalStatusDetails")] + public virtual ParentalStatusAssignedTargetingOptionDetails ParentalStatusDetails { get; set; } + + /// + /// POI details. This field will be populated when the targeting_type is `TARGETING_TYPE_POI`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("poiDetails")] + public virtual PoiAssignedTargetingOptionDetails PoiDetails { get; set; } + + /// + /// Proximity location list details. This field will be populated when the targeting_type is + /// `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("proximityLocationListDetails")] + public virtual ProximityLocationListAssignedTargetingOptionDetails ProximityLocationListDetails { get; set; } + + /// + /// Regional location list details. This field will be populated when the targeting_type is + /// `TARGETING_TYPE_REGIONAL_LOCATION_LIST`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("regionalLocationListDetails")] + public virtual RegionalLocationListAssignedTargetingOptionDetails RegionalLocationListDetails { get; set; } + + /// + /// Sensitive category details. This field will be populated when the targeting_type is + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`. Sensitive categories are targeting exclusions. Advertiser + /// level sensitive category exclusions, if set, are always applied in serving (even though they aren't visible + /// in resource settings). Resource settings can exclude sensitive categories in addition to advertiser + /// exclusions, but can't override them. + /// + [Newtonsoft.Json.JsonPropertyAttribute("sensitiveCategoryExclusionDetails")] + public virtual SensitiveCategoryAssignedTargetingOptionDetails SensitiveCategoryExclusionDetails { get; set; } + + /// + /// Session position details. This field will be populated when the targeting_type is + /// `TARGETING_TYPE_SESSION_POSITION`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("sessionPositionDetails")] + public virtual SessionPositionAssignedTargetingOptionDetails SessionPositionDetails { get; set; } + + /// + /// Sub-exchange details. This field will be populated when the targeting_type is `TARGETING_TYPE_SUB_EXCHANGE`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("subExchangeDetails")] + public virtual SubExchangeAssignedTargetingOptionDetails SubExchangeDetails { get; set; } + + /// Output only. Identifies the type of this assigned targeting option. + [Newtonsoft.Json.JsonPropertyAttribute("targetingType")] + public virtual string TargetingType { get; set; } + + /// + /// Third party verification details. This field will be populated when the targeting_type is + /// `TARGETING_TYPE_THIRD_PARTY_VERIFIER`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("thirdPartyVerifierDetails")] + public virtual ThirdPartyVerifierAssignedTargetingOptionDetails ThirdPartyVerifierDetails { get; set; } + + /// + /// URL details. This field will be populated when the targeting_type is `TARGETING_TYPE_URL`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("urlDetails")] + public virtual UrlAssignedTargetingOptionDetails UrlDetails { get; set; } + + /// + /// User rewarded content details. This field will be populated when the targeting_type is + /// `TARGETING_TYPE_USER_REWARDED_CONTENT`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("userRewardedContentDetails")] + public virtual UserRewardedContentAssignedTargetingOptionDetails UserRewardedContentDetails { get; set; } + + /// + /// Video player size details. This field will be populated when the targeting_type is + /// `TARGETING_TYPE_VIDEO_PLAYER_SIZE`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("videoPlayerSizeDetails")] + public virtual VideoPlayerSizeAssignedTargetingOptionDetails VideoPlayerSizeDetails { get; set; } + + /// + /// Viewability details. This field will be populated when the targeting_type is `TARGETING_TYPE_VIEWABILITY`. + /// You can only target one viewability option per resource. + /// + [Newtonsoft.Json.JsonPropertyAttribute("viewabilityDetails")] + public virtual ViewabilityAssignedTargetingOptionDetails ViewabilityDetails { get; set; } + + /// + /// YouTube channel details. This field will be populated when the targeting_type is + /// `TARGETING_TYPE_YOUTUBE_CHANNEL`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("youtubeChannelDetails")] + public virtual YoutubeChannelAssignedTargetingOptionDetails YoutubeChannelDetails { get; set; } + + /// + /// YouTube video details. This field will be populated when the targeting_type is + /// `TARGETING_TYPE_YOUTUBE_VIDEO`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("youtubeVideoDetails")] + public virtual YoutubeVideoAssignedTargetingOptionDetails YoutubeVideoDetails { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// A single assigned user role, which defines a user's authorized interaction with a specified partner or + /// advertiser. + /// + public class AssignedUserRole : Google.Apis.Requests.IDirectResponseSchema + { + /// The ID of the advertiser that the assigend user role applies to. + [Newtonsoft.Json.JsonPropertyAttribute("advertiserId")] + public virtual System.Nullable AdvertiserId { get; set; } + + /// Output only. The ID of the assigned user role. + [Newtonsoft.Json.JsonPropertyAttribute("assignedUserRoleId")] + public virtual string AssignedUserRoleId { get; set; } + + /// The ID of the partner that the assigned user role applies to. + [Newtonsoft.Json.JsonPropertyAttribute("partnerId")] + public virtual System.Nullable PartnerId { get; set; } + + /// Required. The user role to assign to a user for the entity. + [Newtonsoft.Json.JsonPropertyAttribute("userRole")] + public virtual string UserRole { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Assigned audience group targeting option details. This will be populated in the details field of an + /// AssignedTargetingOption when targeting_type is `TARGETING_TYPE_AUDIENCE_GROUP`. The relation between each group + /// is UNION, except for excluded_first_and_third_party_audience_group and excluded_google_audience_group, of which + /// COMPLEMENT is used as an INTERSECTION with other groups. + /// + public class AudienceGroupAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The first and third party audience ids and recencies of the excluded first and third party audience group. + /// Used for negative targeting. The COMPLEMENT of the UNION of this group and other excluded audience groups is + /// used as an INTERSECTION to any positive audience targeting. All items are logically ‘OR’ of each other. + /// + [Newtonsoft.Json.JsonPropertyAttribute("excludedFirstAndThirdPartyAudienceGroup")] + public virtual FirstAndThirdPartyAudienceGroup ExcludedFirstAndThirdPartyAudienceGroup { get; set; } + + /// + /// The Google audience ids of the excluded Google audience group. Used for negative targeting. The COMPLEMENT + /// of the UNION of this group and other excluded audience groups is used as an INTERSECTION to any positive + /// audience targeting. Only contains Affinity, In-market and Installed-apps type Google audiences. All items + /// are logically ‘OR’ of each other. + /// + [Newtonsoft.Json.JsonPropertyAttribute("excludedGoogleAudienceGroup")] + public virtual GoogleAudienceGroup ExcludedGoogleAudienceGroup { get; set; } + + /// + /// The combined audience ids of the included combined audience group. Contains combined audience ids only. + /// + [Newtonsoft.Json.JsonPropertyAttribute("includedCombinedAudienceGroup")] + public virtual CombinedAudienceGroup IncludedCombinedAudienceGroup { get; set; } + + /// The custom list ids of the included custom list group. Contains custom list ids only. + [Newtonsoft.Json.JsonPropertyAttribute("includedCustomListGroup")] + public virtual CustomListGroup IncludedCustomListGroup { get; set; } + + /// + /// The first and third party audience ids and recencies of included first and third party audience groups. Each + /// first and third party audience group contains first and third party audience ids only. The relation between + /// each first and third party audience group is INTERSECTION, and the result is UNION'ed with other audience + /// groups. Repeated groups with same settings will be ignored. + /// + [Newtonsoft.Json.JsonPropertyAttribute("includedFirstAndThirdPartyAudienceGroups")] + public virtual System.Collections.Generic.IList IncludedFirstAndThirdPartyAudienceGroups { get; set; } + + /// + /// The Google audience ids of the included Google audience group. Contains Google audience ids only. + /// + [Newtonsoft.Json.JsonPropertyAttribute("includedGoogleAudienceGroup")] + public virtual GoogleAudienceGroup IncludedGoogleAudienceGroup { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Details for an audio ad. + public class AudioAd : Google.Apis.Requests.IDirectResponseSchema + { + /// The webpage address that appears with the ad. + [Newtonsoft.Json.JsonPropertyAttribute("displayUrl")] + public virtual string DisplayUrl { get; set; } + + /// The URL address of the webpage that people reach after they click the ad. + [Newtonsoft.Json.JsonPropertyAttribute("finalUrl")] + public virtual string FinalUrl { get; set; } + + /// The URL address loaded in the background for tracking purposes. + [Newtonsoft.Json.JsonPropertyAttribute("trackingUrl")] + public virtual string TrackingUrl { get; set; } + + /// The YouTube video of the ad. + [Newtonsoft.Json.JsonPropertyAttribute("video")] + public virtual YoutubeVideoDetails Video { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Details for audio content type assigned targeting option. This will be populated in the + /// audio_content_type_details field when targeting_type is `TARGETING_TYPE_AUDIO_CONTENT_TYPE`. Explicitly + /// targeting all options is not supported. Remove all audio content type targeting options to achieve this effect. + /// + public class AudioContentTypeAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. The audio content type. + [Newtonsoft.Json.JsonPropertyAttribute("audioContentType")] + public virtual string AudioContentType { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Represents a targetable audio content type. This will be populated in the audio_content_type_details field when + /// targeting_type is `TARGETING_TYPE_AUDIO_CONTENT_TYPE`. + /// + public class AudioContentTypeTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The audio content type. + [Newtonsoft.Json.JsonPropertyAttribute("audioContentType")] + public virtual string AudioContentType { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// The length an audio or a video has been played. + public class AudioVideoOffset : Google.Apis.Requests.IDirectResponseSchema + { + /// The offset in percentage of the audio or video duration. + [Newtonsoft.Json.JsonPropertyAttribute("percentage")] + public virtual System.Nullable Percentage { get; set; } + + /// The offset in seconds from the start of the audio or video. + [Newtonsoft.Json.JsonPropertyAttribute("seconds")] + public virtual System.Nullable Seconds { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Response message for AdvertiserService.AuditAdvertiser. + public class AuditAdvertiserResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The number of individual targeting options from the following targeting types that are assigned to a line + /// item under this advertiser. These individual targeting options count towards the limit of 4500000 ad group + /// targeting options per advertiser. Qualifying Targeting types: * Channels, URLs, apps, and collections * + /// Demographic * Google Audiences, including Affinity, Custom Affinity, and In-market audiences * Inventory + /// source * Keyword * Mobile app category * User lists * Video targeting * Viewability + /// + [Newtonsoft.Json.JsonPropertyAttribute("adGroupCriteriaCount")] + public virtual System.Nullable AdGroupCriteriaCount { get; set; } + + /// + /// The number of individual targeting options from the following targeting types that are assigned to a line + /// item under this advertiser. These individual targeting options count towards the limit of 900000 campaign + /// targeting options per advertiser. Qualifying Targeting types: * Position * Browser * Connection speed * Day + /// and time * Device and operating system * Digital content label * Sensitive categories * Environment * + /// Geography, including business chains and proximity * ISP * Language * Third-party verification + /// + [Newtonsoft.Json.JsonPropertyAttribute("campaignCriteriaCount")] + public virtual System.Nullable CampaignCriteriaCount { get; set; } + + /// + /// The number of channels created under this advertiser. These channels count towards the limit of 1000 + /// channels per advertiser. + /// + [Newtonsoft.Json.JsonPropertyAttribute("channelsCount")] + public virtual System.Nullable ChannelsCount { get; set; } + + /// + /// The number of negative keyword lists created under this advertiser. These negative keyword lists count + /// towards the limit of 20 negative keyword lists per advertiser. + /// + [Newtonsoft.Json.JsonPropertyAttribute("negativeKeywordListsCount")] + public virtual System.Nullable NegativeKeywordListsCount { get; set; } + + /// + /// The number of negatively targeted channels created under this advertiser. These negatively targeted channels + /// count towards the limit of 5 negatively targeted channels per advertiser. + /// + [Newtonsoft.Json.JsonPropertyAttribute("negativelyTargetedChannelsCount")] + public virtual System.Nullable NegativelyTargetedChannelsCount { get; set; } + + /// + /// The number of ACTIVE and PAUSED campaigns under this advertiser. These campaigns count towards the limit of + /// 9999 campaigns per advertiser. + /// + [Newtonsoft.Json.JsonPropertyAttribute("usedCampaignsCount")] + public virtual System.Nullable UsedCampaignsCount { get; set; } + + /// + /// The number of ACTIVE, PAUSED and DRAFT insertion orders under this advertiser. These insertion orders count + /// towards the limit of 9999 insertion orders per advertiser. + /// + [Newtonsoft.Json.JsonPropertyAttribute("usedInsertionOrdersCount")] + public virtual System.Nullable UsedInsertionOrdersCount { get; set; } + + /// + /// The number of ACTIVE, PAUSED, and DRAFT line items under this advertiser. These line items count towards the + /// limit of 9999 line items per advertiser. + /// + [Newtonsoft.Json.JsonPropertyAttribute("usedLineItemsCount")] + public virtual System.Nullable UsedLineItemsCount { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Represents an assigned authorized seller status. This will be populated in the details field of an + /// AssignedTargetingOption when targeting_type is `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`. If a resource does not + /// have an `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` assigned targeting option, it is using the "Authorized Direct + /// Sellers and Resellers" option. + /// + public class AuthorizedSellerStatusAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The authorized seller status to target. + [Newtonsoft.Json.JsonPropertyAttribute("authorizedSellerStatus")] + public virtual string AuthorizedSellerStatus { get; set; } + + /// + /// Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("targetingOptionId")] + public virtual string TargetingOptionId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Represents a targetable authorized seller status. This will be populated in the authorized_seller_status_details + /// field when targeting_type is `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS`. + /// + public class AuthorizedSellerStatusTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The authorized seller status. + [Newtonsoft.Json.JsonPropertyAttribute("authorizedSellerStatus")] + public virtual string AuthorizedSellerStatus { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Settings that control the bid strategy. Bid strategy determines the bid price. + public class BiddingStrategy : Google.Apis.Requests.IDirectResponseSchema + { + /// A strategy that uses a fixed bid price. + [Newtonsoft.Json.JsonPropertyAttribute("fixedBid")] + public virtual FixedBidStrategy FixedBid { get; set; } + + /// + /// A strategy that automatically adjusts the bid to optimize to your performance goal while spending the full + /// budget. At insertion order level, the markup_type of line items cannot be set to + /// `PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM`. In addition, when performance_goal_type is one of: * + /// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC` * + /// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED` , the line_item_type of the insertion order line items + /// must be either: * `LINE_ITEM_TYPE_DISPLAY_DEFAULT` * `LINE_ITEM_TYPE_VIDEO_DEFAULT` , and when + /// performance_goal_type is either: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA` * + /// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN` the line_item_type of the insertion order line items must + /// be `LINE_ITEM_TYPE_VIDEO_DEFAULT`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("maximizeSpendAutoBid")] + public virtual MaximizeSpendBidStrategy MaximizeSpendAutoBid { get; set; } + + /// + /// A strategy that automatically adjusts the bid to meet or beat a specified performance goal. It is to be used + /// only for a line item entity. + /// + [Newtonsoft.Json.JsonPropertyAttribute("performanceGoalAutoBid")] + public virtual PerformanceGoalBidStrategy PerformanceGoalAutoBid { get; set; } + + /// + /// A bid strategy used by YouTube and Partners resources. It can only be used for a YouTube and Partners line + /// item or ad group entity. + /// + [Newtonsoft.Json.JsonPropertyAttribute("youtubeAndPartnersBid")] + public virtual YoutubeAndPartnersBiddingStrategy YoutubeAndPartnersBid { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Details for assigned browser targeting option. This will be populated in the details field of an + /// AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BROWSER`. + /// + public class BrowserAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The display name of the browser. + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// + /// Indicates if this option is being negatively targeted. All assigned browser targeting options on the same + /// resource must have the same value for this field. + /// + [Newtonsoft.Json.JsonPropertyAttribute("negative")] + public virtual System.Nullable Negative { get; set; } + + /// Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BROWSER`. + [Newtonsoft.Json.JsonPropertyAttribute("targetingOptionId")] + public virtual string TargetingOptionId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Represents a targetable browser. This will be populated in the browser_details field when targeting_type is + /// `TARGETING_TYPE_BROWSER`. + /// + public class BrowserTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The display name of the browser. + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Summarized information of an individual campaign budget. + public class BudgetSummary : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Corresponds to the external_budget_id of a campaign budget. If the value is not set in the campaign budget, + /// this field will be empty. + /// + [Newtonsoft.Json.JsonPropertyAttribute("externalBudgetId")] + public virtual string ExternalBudgetId { get; set; } + + /// + /// The sum of charges made under this budget before taxes, in micros of the invoice's currency. For example, if + /// currency_code is `USD`, then 1000000 represents one US dollar. + /// + [Newtonsoft.Json.JsonPropertyAttribute("preTaxAmountMicros")] + public virtual System.Nullable PreTaxAmountMicros { get; set; } + + /// + /// Relevant client, product, and estimate codes from the Mediaocean Prisma tool. Only applicable for campaign + /// budgets with an external_budget_source of EXTERNAL_BUDGET_SOURCE_MEDIA_OCEAN. + /// + [Newtonsoft.Json.JsonPropertyAttribute("prismaCpeCode")] + public virtual PrismaCpeCode PrismaCpeCode { get; set; } + + /// + /// The amount of tax applied to charges under this budget, in micros of the invoice's currency. For example, if + /// currency_code is `USD`, then 1000000 represents one US dollar. + /// + [Newtonsoft.Json.JsonPropertyAttribute("taxAmountMicros")] + public virtual System.Nullable TaxAmountMicros { get; set; } + + /// + /// The total sum of charges made under this budget, including tax, in micros of the invoice's currency. For + /// example, if currency_code is `USD`, then 1000000 represents one US dollar. + /// + [Newtonsoft.Json.JsonPropertyAttribute("totalAmountMicros")] + public virtual System.Nullable TotalAmountMicros { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Request message for BulkEditAdvertiserAssignedTargetingOptions. + public class BulkEditAdvertiserAssignedTargetingOptionsRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The assigned targeting options to create in batch, specified as a list of + /// `CreateAssignedTargetingOptionsRequest`. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` + /// + [Newtonsoft.Json.JsonPropertyAttribute("createRequests")] + public virtual System.Collections.Generic.IList CreateRequests { get; set; } + + /// + /// The assigned targeting options to delete in batch, specified as a list of + /// `DeleteAssignedTargetingOptionsRequest`. Supported targeting types: * `TARGETING_TYPE_CHANNEL` * + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * `TARGETING_TYPE_OMID` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` + /// + [Newtonsoft.Json.JsonPropertyAttribute("deleteRequests")] + public virtual System.Collections.Generic.IList DeleteRequests { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class BulkEditAdvertiserAssignedTargetingOptionsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The list of assigned targeting options that have been successfully created. This list will be absent if + /// empty. + /// + [Newtonsoft.Json.JsonPropertyAttribute("createdAssignedTargetingOptions")] + public virtual System.Collections.Generic.IList CreatedAssignedTargetingOptions { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Request message for AssignedInventorySourceService.BulkEdit. + public class BulkEditAssignedInventorySourcesRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The ID of the advertiser that owns the parent inventory source group. The parent partner does not have + /// access to these assigned inventory sources. + /// + [Newtonsoft.Json.JsonPropertyAttribute("advertiserId")] + public virtual System.Nullable AdvertiserId { get; set; } + + /// + /// The assigned inventory sources to create in bulk, specified as a list of AssignedInventorySources. + /// + [Newtonsoft.Json.JsonPropertyAttribute("createdAssignedInventorySources")] + public virtual System.Collections.Generic.IList CreatedAssignedInventorySources { get; set; } + + /// + /// The IDs of the assigned inventory sources to delete in bulk, specified as a list of + /// assigned_inventory_source_ids. + /// + [Newtonsoft.Json.JsonPropertyAttribute("deletedAssignedInventorySources")] + public virtual System.Collections.Generic.IList> DeletedAssignedInventorySources { get; set; } + + /// + /// The ID of the partner that owns the inventory source group. Only this partner has write access to these + /// assigned inventory sources. + /// + [Newtonsoft.Json.JsonPropertyAttribute("partnerId")] + public virtual System.Nullable PartnerId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Response message for AssignedInventorySourceService.BulkEdit. + public class BulkEditAssignedInventorySourcesResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The list of assigned inventory sources that have been successfully created. This list will be absent if + /// empty. + /// + [Newtonsoft.Json.JsonPropertyAttribute("assignedInventorySources")] + public virtual System.Collections.Generic.IList AssignedInventorySources { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Request message for AssignedLocationService.BulkEditAssignedLocations. + public class BulkEditAssignedLocationsRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The assigned locations to create in bulk, specified as a list of AssignedLocation resources. + /// + [Newtonsoft.Json.JsonPropertyAttribute("createdAssignedLocations")] + public virtual System.Collections.Generic.IList CreatedAssignedLocations { get; set; } + + /// + /// The IDs of the assigned locations to delete in bulk, specified as a list of assignedLocationId values. + /// + [Newtonsoft.Json.JsonPropertyAttribute("deletedAssignedLocations")] + public virtual System.Collections.Generic.IList> DeletedAssignedLocations { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class BulkEditAssignedLocationsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The list of assigned locations that have been successfully created. This list will be absent if empty. + /// + [Newtonsoft.Json.JsonPropertyAttribute("assignedLocations")] + public virtual System.Collections.Generic.IList AssignedLocations { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Request message for BulkEditLineItemsAssignedTargetingOptions. + public class BulkEditAssignedTargetingOptionsRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The assigned targeting options to create in batch, specified as a list of + /// CreateAssignedTargetingOptionsRequest. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * + /// `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * + /// `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * + /// `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * + /// `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * + /// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * + /// `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * + /// `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * + /// `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * + /// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * + /// `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * + /// `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * + /// `TARGETING_TYPE_POI` * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * + /// `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * + /// `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` + /// + [Newtonsoft.Json.JsonPropertyAttribute("createRequests")] + public virtual System.Collections.Generic.IList CreateRequests { get; set; } + + /// + /// The assigned targeting options to delete in batch, specified as a list of + /// DeleteAssignedTargetingOptionsRequest. Supported targeting types include: * `TARGETING_TYPE_AGE_RANGE` * + /// `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * + /// `TARGETING_TYPE_AUDIO_CONTENT_TYPE` * `TARGETING_TYPE_AUTHORIZED_SELLER_STATUS` * `TARGETING_TYPE_BROWSER` * + /// `TARGETING_TYPE_BUSINESS_CHAIN` * `TARGETING_TYPE_CARRIER_AND_ISP` * `TARGETING_TYPE_CATEGORY` * + /// `TARGETING_TYPE_CHANNEL` * `TARGETING_TYPE_CONTENT_DURATION` * `TARGETING_TYPE_CONTENT_GENRE` * + /// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION` * `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION` * + /// `TARGETING_TYPE_CONTENT_STREAM_TYPE` * `TARGETING_TYPE_DAY_AND_TIME` * `TARGETING_TYPE_DEVICE_MAKE_MODEL` * + /// `TARGETING_TYPE_DEVICE_TYPE` * `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION` * + /// `TARGETING_TYPE_ENVIRONMENT` * `TARGETING_TYPE_EXCHANGE` * `TARGETING_TYPE_GENDER` * + /// `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_INVENTORY_SOURCE` * + /// `TARGETING_TYPE_INVENTORY_SOURCE_GROUP` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * + /// `TARGETING_TYPE_NATIVE_CONTENT_POSITION` * `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST` * `TARGETING_TYPE_OMID` * + /// `TARGETING_TYPE_ON_SCREEN_POSITION` * `TARGETING_TYPE_OPERATING_SYSTEM` * `TARGETING_TYPE_PARENTAL_STATUS` * + /// `TARGETING_TYPE_POI` * `TARGETING_TYPE_PROXIMITY_LOCATION_LIST` * `TARGETING_TYPE_REGIONAL_LOCATION_LIST` * + /// `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION` * `TARGETING_TYPE_SUB_EXCHANGE` * + /// `TARGETING_TYPE_THIRD_PARTY_VERIFIER` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_USER_REWARDED_CONTENT` * + /// `TARGETING_TYPE_VIDEO_PLAYER_SIZE` * `TARGETING_TYPE_VIEWABILITY` + /// + [Newtonsoft.Json.JsonPropertyAttribute("deleteRequests")] + public virtual System.Collections.Generic.IList DeleteRequests { get; set; } + + /// Required. The ID of the line items whose targeting is being updated. + [Newtonsoft.Json.JsonPropertyAttribute("lineItemIds")] + public virtual System.Collections.Generic.IList> LineItemIds { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class BulkEditAssignedTargetingOptionsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The error information for each line item that failed to update. + [Newtonsoft.Json.JsonPropertyAttribute("errors")] + public virtual System.Collections.Generic.IList Errors { get; set; } + + /// Output only. The IDs of the line items which failed. + [Newtonsoft.Json.JsonPropertyAttribute("failedLineItemIds")] + public virtual System.Collections.Generic.IList> FailedLineItemIds { get; set; } + + /// Output only. The IDs of the line items which successfully updated. + [Newtonsoft.Json.JsonPropertyAttribute("updatedLineItemIds")] + public virtual System.Collections.Generic.IList> UpdatedLineItemIds { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Request message for BulkEditAssignedUserRoles. + public class BulkEditAssignedUserRolesRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// The assigned user roles to create in batch, specified as a list of AssignedUserRoles. + [Newtonsoft.Json.JsonPropertyAttribute("createdAssignedUserRoles")] + public virtual System.Collections.Generic.IList CreatedAssignedUserRoles { get; set; } + + /// + /// The assigned user roles to delete in batch, specified as a list of assigned_user_role_ids. The format of + /// assigned_user_role_id is `entityType-entityid`, for example `partner-123`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("deletedAssignedUserRoles")] + public virtual System.Collections.Generic.IList DeletedAssignedUserRoles { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class BulkEditAssignedUserRolesResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The list of assigned user roles that have been successfully created. This list will be absent if empty. + /// + [Newtonsoft.Json.JsonPropertyAttribute("createdAssignedUserRoles")] + public virtual System.Collections.Generic.IList CreatedAssignedUserRoles { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Request message for NegativeKeywordService.BulkEditNegativeKeywords. + public class BulkEditNegativeKeywordsRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// The negative keywords to create in batch, specified as a list of NegativeKeywords. + [Newtonsoft.Json.JsonPropertyAttribute("createdNegativeKeywords")] + public virtual System.Collections.Generic.IList CreatedNegativeKeywords { get; set; } + + /// The negative keywords to delete in batch, specified as a list of keyword_values. + [Newtonsoft.Json.JsonPropertyAttribute("deletedNegativeKeywords")] + public virtual System.Collections.Generic.IList DeletedNegativeKeywords { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Response message for NegativeKeywordService.BulkEditNegativeKeywords. + public class BulkEditNegativeKeywordsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The list of negative keywords that have been successfully created. This list will be absent if empty. + /// + [Newtonsoft.Json.JsonPropertyAttribute("negativeKeywords")] + public virtual System.Collections.Generic.IList NegativeKeywords { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Request message for BulkEditPartnerAssignedTargetingOptions. + public class BulkEditPartnerAssignedTargetingOptionsRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The assigned targeting options to create in batch, specified as a list of + /// `CreateAssignedTargetingOptionsRequest`. Supported targeting types: * `TARGETING_TYPE_CHANNEL` + /// + [Newtonsoft.Json.JsonPropertyAttribute("createRequests")] + public virtual System.Collections.Generic.IList CreateRequests { get; set; } + + /// + /// The assigned targeting options to delete in batch, specified as a list of + /// `DeleteAssignedTargetingOptionsRequest`. Supported targeting types: * `TARGETING_TYPE_CHANNEL` + /// + [Newtonsoft.Json.JsonPropertyAttribute("deleteRequests")] + public virtual System.Collections.Generic.IList DeleteRequests { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class BulkEditPartnerAssignedTargetingOptionsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The list of assigned targeting options that have been successfully created. This list will be absent if + /// empty. + /// + [Newtonsoft.Json.JsonPropertyAttribute("createdAssignedTargetingOptions")] + public virtual System.Collections.Generic.IList CreatedAssignedTargetingOptions { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Request message for SiteService.BulkEditSites. + public class BulkEditSitesRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// The ID of the advertiser that owns the parent channel. + [Newtonsoft.Json.JsonPropertyAttribute("advertiserId")] + public virtual System.Nullable AdvertiserId { get; set; } + + /// The sites to create in batch, specified as a list of Sites. + [Newtonsoft.Json.JsonPropertyAttribute("createdSites")] + public virtual System.Collections.Generic.IList CreatedSites { get; set; } + + /// The sites to delete in batch, specified as a list of site url_or_app_ids. + [Newtonsoft.Json.JsonPropertyAttribute("deletedSites")] + public virtual System.Collections.Generic.IList DeletedSites { get; set; } + + /// The ID of the partner that owns the parent channel. + [Newtonsoft.Json.JsonPropertyAttribute("partnerId")] + public virtual System.Nullable PartnerId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Response message for SiteService.BulkEditSites. + public class BulkEditSitesResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of sites that have been successfully created. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("sites")] + public virtual System.Collections.Generic.IList Sites { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class BulkListAdGroupAssignedTargetingOptionsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The list of wrapper objects, each providing an assigned targeting option and the ad group it is assigned to. + /// This list will be absent if empty. + /// + [Newtonsoft.Json.JsonPropertyAttribute("adGroupAssignedTargetingOptions")] + public virtual System.Collections.Generic.IList AdGroupAssignedTargetingOptions { get; set; } + + /// + /// A token identifying the next page of results. This value should be specified as the pageToken in a + /// subsequent call to `BulkListAdGroupAssignedTargetingOptions` to fetch the next page of results. This token + /// will be absent if there are no more AdGroupAssignedTargetingOption resources to return. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class BulkListAdvertiserAssignedTargetingOptionsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of assigned targeting options. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("assignedTargetingOptions")] + public virtual System.Collections.Generic.IList AssignedTargetingOptions { get; set; } + + /// + /// A token identifying the next page of results. This value should be specified as the pageToken in a + /// subsequent BulkListAdvertiserAssignedTargetingOptionsRequest to fetch the next page of results. This token + /// will be absent if there are no more assigned_targeting_options to return. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class BulkListAssignedTargetingOptionsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The list of wrapper objects, each providing an assigned targeting option and the line item it is assigned + /// to. This list will be absent if empty. + /// + [Newtonsoft.Json.JsonPropertyAttribute("lineItemAssignedTargetingOptions")] + public virtual System.Collections.Generic.IList LineItemAssignedTargetingOptions { get; set; } + + /// + /// A token identifying the next page of results. This value should be specified as the pageToken in a + /// subsequent call to `BulkListAssignedTargetingOptions` to fetch the next page of results. This token will be + /// absent if there are no more line_item_assigned_targeting_options to return. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class BulkListCampaignAssignedTargetingOptionsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of assigned targeting options. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("assignedTargetingOptions")] + public virtual System.Collections.Generic.IList AssignedTargetingOptions { get; set; } + + /// + /// A token identifying the next page of results. This value should be specified as the pageToken in a + /// subsequent BulkListCampaignAssignedTargetingOptionsRequest to fetch the next page of results. This token + /// will be absent if there are no more assigned_targeting_options to return. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class BulkListInsertionOrderAssignedTargetingOptionsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of assigned targeting options. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("assignedTargetingOptions")] + public virtual System.Collections.Generic.IList AssignedTargetingOptions { get; set; } + + /// + /// A token identifying the next page of results. This value should be specified as the pageToken in a + /// subsequent BulkListInsertionOrderAssignedTargetingOptionsRequest to fetch the next page of results. This + /// token will be absent if there are no more assigned_targeting_options to return. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Request message for LineItemService.BulkUpdateLineItems. + public class BulkUpdateLineItemsRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. IDs of line items to update. + [Newtonsoft.Json.JsonPropertyAttribute("lineItemIds")] + public virtual System.Collections.Generic.IList> LineItemIds { get; set; } + + /// + /// Required. A line item object containing the fields to be updated and the new values to assign to all line + /// items specified in line_item_ids." + /// + [Newtonsoft.Json.JsonPropertyAttribute("targetLineItem")] + public virtual LineItem TargetLineItem { get; set; } + + /// + /// Required. A field mask identifying which fields to update. Only the following fields are currently + /// supported: * entityStatus + /// + [Newtonsoft.Json.JsonPropertyAttribute("updateMask")] + public virtual object UpdateMask { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Response message for LineItemService.BulkUpdateLineItems. + public class BulkUpdateLineItemsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// Errors returned by line items that failed to update. + [Newtonsoft.Json.JsonPropertyAttribute("errors")] + public virtual System.Collections.Generic.IList Errors { get; set; } + + /// The IDs of line items that failed to update. + [Newtonsoft.Json.JsonPropertyAttribute("failedLineItemIds")] + public virtual System.Collections.Generic.IList> FailedLineItemIds { get; set; } + + /// + /// The IDs of line items that are skipped for updates. For example, unnecessary mutates that will result in + /// effectively no changes to line items will be skipped and corresponding line item IDs can be tracked here. + /// + [Newtonsoft.Json.JsonPropertyAttribute("skippedLineItemIds")] + public virtual System.Collections.Generic.IList> SkippedLineItemIds { get; set; } + + /// The IDs of successfully updated line items. + [Newtonsoft.Json.JsonPropertyAttribute("updatedLineItemIds")] + public virtual System.Collections.Generic.IList> UpdatedLineItemIds { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Details for a bumper ad. + public class BumperAd : Google.Apis.Requests.IDirectResponseSchema + { + /// Common ad attributes. + [Newtonsoft.Json.JsonPropertyAttribute("commonInStreamAttribute")] + public virtual CommonInStreamAttribute CommonInStreamAttribute { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Details for assigned Business chain targeting option. This will be populated in the details field of an + /// AssignedTargetingOption when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. + /// + public class BusinessChainAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The display name of a business chain, e.g. "KFC", "Chase Bank". + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// + /// Required. The radius of the area around the business chain that will be targeted. The units of the radius + /// are specified by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 + /// if unit is `DISTANCE_UNIT_MILES`. The minimum increment for both cases is 0.1. Inputs will be rounded to the + /// nearest acceptable value if it is too granular, e.g. 15.57 will become 15.6. + /// + [Newtonsoft.Json.JsonPropertyAttribute("proximityRadiusAmount")] + public virtual System.Nullable ProximityRadiusAmount { get; set; } + + /// Required. The unit of distance by which the targeting radius is measured. + [Newtonsoft.Json.JsonPropertyAttribute("proximityRadiusUnit")] + public virtual string ProximityRadiusUnit { get; set; } + + /// + /// Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_BUSINESS_CHAIN`. Accepted + /// business chain targeting option IDs can be retrieved using SearchTargetingOptions. + /// + [Newtonsoft.Json.JsonPropertyAttribute("targetingOptionId")] + public virtual string TargetingOptionId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Search terms for Business Chain targeting options. At least one of the field should be populated. + /// + public class BusinessChainSearchTerms : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The search query for the desired business chain. The query must be the full name of the business, e.g. + /// "KFC", "mercedes-benz". + /// + [Newtonsoft.Json.JsonPropertyAttribute("businessChainQuery")] + public virtual string BusinessChainQuery { get; set; } + + /// The search query for the desired geo region, e.g. "Seattle", "United State". + [Newtonsoft.Json.JsonPropertyAttribute("regionQuery")] + public virtual string RegionQuery { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Represents a targetable business chain within a geo region. This will be populated in the business_chain_details + /// field when targeting_type is `TARGETING_TYPE_BUSINESS_CHAIN`. + /// + public class BusinessChainTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The display name of the business chain, e.g. "KFC", "Chase Bank". + [Newtonsoft.Json.JsonPropertyAttribute("businessChain")] + public virtual string BusinessChain { get; set; } + + /// Output only. The display name of the geographic region, e.g. "Ontario, Canada". + [Newtonsoft.Json.JsonPropertyAttribute("geoRegion")] + public virtual string GeoRegion { get; set; } + + /// Output only. The type of the geographic region. + [Newtonsoft.Json.JsonPropertyAttribute("geoRegionType")] + public virtual string GeoRegionType { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A single campaign. + public class Campaign : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The unique ID of the advertiser the campaign belongs to. + [Newtonsoft.Json.JsonPropertyAttribute("advertiserId")] + public virtual System.Nullable AdvertiserId { get; set; } + + /// + /// The list of budgets available to this campaign. If this field is not set, the campaign uses an unlimited + /// budget. + /// + [Newtonsoft.Json.JsonPropertyAttribute("campaignBudgets")] + public virtual System.Collections.Generic.IList CampaignBudgets { get; set; } + + /// Required. The planned spend and duration of the campaign. + [Newtonsoft.Json.JsonPropertyAttribute("campaignFlight")] + public virtual CampaignFlight CampaignFlight { get; set; } + + /// Required. The goal of the campaign. + [Newtonsoft.Json.JsonPropertyAttribute("campaignGoal")] + public virtual CampaignGoal CampaignGoal { get; set; } + + /// Output only. The unique ID of the campaign. Assigned by the system. + [Newtonsoft.Json.JsonPropertyAttribute("campaignId")] + public virtual System.Nullable CampaignId { get; set; } + + /// + /// Required. The display name of the campaign. Must be UTF-8 encoded with a maximum size of 240 bytes. + /// + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// + /// Required. Controls whether or not the insertion orders under this campaign can spend their budgets and bid + /// on inventory. * Accepted values are `ENTITY_STATUS_ACTIVE`, `ENTITY_STATUS_ARCHIVED`, and + /// `ENTITY_STATUS_PAUSED`. * For CreateCampaign method, `ENTITY_STATUS_ARCHIVED` is not allowed. + /// + [Newtonsoft.Json.JsonPropertyAttribute("entityStatus")] + public virtual string EntityStatus { get; set; } + + /// Required. The frequency cap setting of the campaign. + [Newtonsoft.Json.JsonPropertyAttribute("frequencyCap")] + public virtual FrequencyCap FrequencyCap { get; set; } + + /// Output only. The resource name of the campaign. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + private string _updateTimeRaw; + + private object _updateTime; + + /// Output only. The timestamp when the campaign was last updated. Assigned by the system. + [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] + public virtual string UpdateTimeRaw + { + get => _updateTimeRaw; + set + { + _updateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _updateTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use UpdateTimeDateTimeOffset instead.")] + public virtual object UpdateTime + { + get => _updateTime; + set + { + _updateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _updateTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset + { + get => Google.Apis.Util.Utilities.GetDateTimeOffsetFromString(UpdateTimeRaw); + set => UpdateTimeRaw = Google.Apis.Util.Utilities.GetStringFromDateTimeOffset(value); + } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Settings that control how the campaign budget is allocated. + public class CampaignBudget : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Required. The total amount the linked insertion order segments can budget. The amount is in micros. Must be + /// greater than 0. For example, 500000000 represents 500 standard units of the currency. + /// + [Newtonsoft.Json.JsonPropertyAttribute("budgetAmountMicros")] + public virtual System.Nullable BudgetAmountMicros { get; set; } + + /// + /// The unique ID of the campaign budget. Assigned by the system. Do not set for new budgets. Must be included + /// when updating or adding budgets to campaign_budgets. Otherwise, a new ID will be generated and assigned. + /// + [Newtonsoft.Json.JsonPropertyAttribute("budgetId")] + public virtual System.Nullable BudgetId { get; set; } + + /// Required. Immutable. Specifies whether the budget is measured in currency or impressions. + [Newtonsoft.Json.JsonPropertyAttribute("budgetUnit")] + public virtual string BudgetUnit { get; set; } + + /// + /// Required. The date range for the campaign budget. Linked budget segments may have a different date range. + /// They are resolved relative to the parent advertiser's time zone. Both `start_date` and `end_date` must be + /// before the year 2037. + /// + [Newtonsoft.Json.JsonPropertyAttribute("dateRange")] + public virtual DateRange DateRange { get; set; } + + /// + /// Required. The display name of the budget. Must be UTF-8 encoded with a maximum size of 240 bytes. + /// + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// + /// Immutable. The ID identifying this budget to the external source. If this field is set and the invoice + /// detail level of the corresponding billing profile is set to "Budget level PO", all impressions served + /// against this budget will include this ID on the invoice. Must be unique under the campaign. + /// + [Newtonsoft.Json.JsonPropertyAttribute("externalBudgetId")] + public virtual string ExternalBudgetId { get; set; } + + /// Required. The external source of the budget. + [Newtonsoft.Json.JsonPropertyAttribute("externalBudgetSource")] + public virtual string ExternalBudgetSource { get; set; } + + /// + /// Immutable. The ID used to group budgets to be included the same invoice. If this field is set and the + /// invoice level of the corresponding billing profile is set to "Budget invoice grouping ID", all + /// external_budget_id sharing the same invoice_grouping_id will be grouped in the same invoice. + /// + [Newtonsoft.Json.JsonPropertyAttribute("invoiceGroupingId")] + public virtual string InvoiceGroupingId { get; set; } + + /// + /// Additional metadata for use by the Mediaocean Prisma tool. Required for Mediaocean budgets. Only applicable + /// to prisma_enabled advertisers. + /// + [Newtonsoft.Json.JsonPropertyAttribute("prismaConfig")] + public virtual PrismaConfig PrismaConfig { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Settings that track the planned spend and duration of a campaign. + public class CampaignFlight : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Required. The dates that the campaign is expected to run. They are resolved relative to the parent + /// advertiser's time zone. * The dates specified here will not affect serving. They are used to generate alerts + /// and warnings. For example, if the flight date of any child insertion order is outside the range of these + /// dates, the user interface will show a warning. * `start_date` is required and must be the current date or + /// later. * `end_date` is optional. If specified, it must be the `start_date` or later. * Any specified date + /// must be before the year 2037. + /// + [Newtonsoft.Json.JsonPropertyAttribute("plannedDates")] + public virtual DateRange PlannedDates { get; set; } + + /// + /// The amount the campaign is expected to spend for its given planned_dates. This will not limit serving, but + /// will be used for tracking spend in the DV360 UI. The amount is in micros. Must be greater than or equal to + /// 0. For example, 500000000 represents 500 standard units of the currency. + /// + [Newtonsoft.Json.JsonPropertyAttribute("plannedSpendAmountMicros")] + public virtual System.Nullable PlannedSpendAmountMicros { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Settings that control the goal of a campaign. + public class CampaignGoal : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. The type of the campaign goal. + [Newtonsoft.Json.JsonPropertyAttribute("campaignGoalType")] + public virtual string CampaignGoalType { get; set; } + + /// + /// Required. The performance goal of the campaign. Acceptable values for performance_goal_type are: * + /// `PERFORMANCE_GOAL_TYPE_CPM` * `PERFORMANCE_GOAL_TYPE_CPC` * `PERFORMANCE_GOAL_TYPE_CPA` * + /// `PERFORMANCE_GOAL_TYPE_CPIAVC` * `PERFORMANCE_GOAL_TYPE_CTR` * `PERFORMANCE_GOAL_TYPE_VIEWABILITY` * + /// `PERFORMANCE_GOAL_TYPE_OTHER` + /// + [Newtonsoft.Json.JsonPropertyAttribute("performanceGoal")] + public virtual PerformanceGoal PerformanceGoal { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Details for assigned carrier and ISP targeting option. This will be populated in the details field of an + /// AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`. + /// + public class CarrierAndIspAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The display name of the carrier or ISP. + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// + /// Indicates if this option is being negatively targeted. All assigned carrier and ISP targeting options on the + /// same resource must have the same value for this field. + /// + [Newtonsoft.Json.JsonPropertyAttribute("negative")] + public virtual System.Nullable Negative { get; set; } + + /// + /// Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_CARRIER_AND_ISP`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("targetingOptionId")] + public virtual string TargetingOptionId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Represents a targetable carrier or ISP. This will be populated in the carrier_and_isp_details field of a + /// TargetingOption when targeting_type is `TARGETING_TYPE_CARRIER_AND_ISP`. + /// + public class CarrierAndIspTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The display name of the carrier or ISP. + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// Output only. The type indicating if it's carrier or ISP. + [Newtonsoft.Json.JsonPropertyAttribute("type")] + public virtual string Type { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Assigned category targeting option details. This will be populated in the category_details field when + /// targeting_type is `TARGETING_TYPE_CATEGORY`. + /// + public class CategoryAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The display name of the category. + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// Indicates if this option is being negatively targeted. + [Newtonsoft.Json.JsonPropertyAttribute("negative")] + public virtual System.Nullable Negative { get; set; } + + /// Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_CATEGORY`. + [Newtonsoft.Json.JsonPropertyAttribute("targetingOptionId")] + public virtual string TargetingOptionId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Represents a targetable category. This will be populated in the category_details field of a TargetingOption when + /// targeting_type is `TARGETING_TYPE_CATEGORY`. + /// + public class CategoryTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The display name of the category. + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A single channel. Channels are custom groups of related websites and apps. + public class Channel : Google.Apis.Requests.IDirectResponseSchema + { + /// The ID of the advertiser that owns the channel. + [Newtonsoft.Json.JsonPropertyAttribute("advertiserId")] + public virtual System.Nullable AdvertiserId { get; set; } + + /// Output only. The unique ID of the channel. Assigned by the system. + [Newtonsoft.Json.JsonPropertyAttribute("channelId")] + public virtual System.Nullable ChannelId { get; set; } + + /// + /// Required. The display name of the channel. Must be UTF-8 encoded with a maximum length of 240 bytes. + /// + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// Output only. The resource name of the channel. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Output only. Number of line items that are directly targeting this channel negatively. + [Newtonsoft.Json.JsonPropertyAttribute("negativelyTargetedLineItemCount")] + public virtual System.Nullable NegativelyTargetedLineItemCount { get; set; } + + /// The ID of the partner that owns the channel. + [Newtonsoft.Json.JsonPropertyAttribute("partnerId")] + public virtual System.Nullable PartnerId { get; set; } + + /// Output only. Number of line items that are directly targeting this channel positively. + [Newtonsoft.Json.JsonPropertyAttribute("positivelyTargetedLineItemCount")] + public virtual System.Nullable PositivelyTargetedLineItemCount { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Details for assigned channel targeting option. This will be populated in the details field of an + /// AssignedTargetingOption when targeting_type is `TARGETING_TYPE_CHANNEL`. + /// + public class ChannelAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Required. ID of the channel. Should refer to the channel ID field on a [Partner-owned + /// channel](partners.channels#Channel.FIELDS.channel_id) or [advertiser-owned + /// channel](advertisers.channels#Channel.FIELDS.channel_id) resource. + /// + [Newtonsoft.Json.JsonPropertyAttribute("channelId")] + public virtual System.Nullable ChannelId { get; set; } + + /// + /// Indicates if this option is being negatively targeted. For advertiser level assigned targeting option, this + /// field must be true. + /// + [Newtonsoft.Json.JsonPropertyAttribute("negative")] + public virtual System.Nullable Negative { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Settings for advertisers that use both Campaign Manager 360 (CM360) and third-party ad servers. + /// + public class CmHybridConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Required. Immutable. Account ID of the CM360 Floodlight configuration linked with the DV360 advertiser. + /// + [Newtonsoft.Json.JsonPropertyAttribute("cmAccountId")] + public virtual System.Nullable CmAccountId { get; set; } + + /// + /// Required. Immutable. ID of the CM360 Floodlight configuration linked with the DV360 advertiser. + /// + [Newtonsoft.Json.JsonPropertyAttribute("cmFloodlightConfigId")] + public virtual System.Nullable CmFloodlightConfigId { get; set; } + + /// + /// Required. Immutable. By setting this field to `true`, you, on behalf of your company, authorize the sharing + /// of information from the given Floodlight configuration to this Display &amp; Video 360 advertiser. + /// + [Newtonsoft.Json.JsonPropertyAttribute("cmFloodlightLinkingAuthorized")] + public virtual System.Nullable CmFloodlightLinkingAuthorized { get; set; } + + /// + /// A list of CM360 sites whose placements will be synced to DV360 as creatives. If absent or empty in + /// CreateAdvertiser method, the system will automatically create a CM360 site. Removing sites from this list + /// may cause DV360 creatives synced from CM360 to be deleted. At least one site must be specified. + /// + [Newtonsoft.Json.JsonPropertyAttribute("cmSyncableSiteIds")] + public virtual System.Collections.Generic.IList> CmSyncableSiteIds { get; set; } + + /// Whether or not to report DV360 cost to CM360. + [Newtonsoft.Json.JsonPropertyAttribute("dv360ToCmCostReportingEnabled")] + public virtual System.Nullable Dv360ToCmCostReportingEnabled { get; set; } + + /// Whether or not to include DV360 data in CM360 data transfer reports. + [Newtonsoft.Json.JsonPropertyAttribute("dv360ToCmDataSharingEnabled")] + public virtual System.Nullable Dv360ToCmDataSharingEnabled { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A Campaign Manager 360 tracking ad. + public class CmTrackingAd : Google.Apis.Requests.IDirectResponseSchema + { + /// The ad ID of the campaign manager 360 tracking Ad. + [Newtonsoft.Json.JsonPropertyAttribute("cmAdId")] + public virtual System.Nullable CmAdId { get; set; } + + /// The creative ID of the campaign manager 360 tracking Ad. + [Newtonsoft.Json.JsonPropertyAttribute("cmCreativeId")] + public virtual System.Nullable CmCreativeId { get; set; } + + /// The placement ID of the campaign manager 360 tracking Ad. + [Newtonsoft.Json.JsonPropertyAttribute("cmPlacementId")] + public virtual System.Nullable CmPlacementId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Describes a combined audience resource. + public class CombinedAudience : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The unique ID of the combined audience. Assigned by the system. + [Newtonsoft.Json.JsonPropertyAttribute("combinedAudienceId")] + public virtual System.Nullable CombinedAudienceId { get; set; } + + /// Output only. The display name of the combined audience. . + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// Output only. The resource name of the combined audience. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Details of combined audience group. All combined audience targeting settings are logically ‘OR’ of each other. + /// + public class CombinedAudienceGroup : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Required. All combined audience targeting settings in combined audience group. Repeated settings with same + /// id will be ignored. The number of combined audience settings should be no more than five, error will be + /// thrown otherwise. + /// + [Newtonsoft.Json.JsonPropertyAttribute("settings")] + public virtual System.Collections.Generic.IList Settings { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Details of combined audience targeting setting. + public class CombinedAudienceTargetingSetting : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Required. Combined audience id of combined audience targeting setting. This id is combined_audience_id. + /// + [Newtonsoft.Json.JsonPropertyAttribute("combinedAudienceId")] + public virtual System.Nullable CombinedAudienceId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Common attributes for in-stream, non-skippable and bumper ads. + public class CommonInStreamAttribute : Google.Apis.Requests.IDirectResponseSchema + { + /// The text on the call-to-action button. + [Newtonsoft.Json.JsonPropertyAttribute("actionButtonLabel")] + public virtual string ActionButtonLabel { get; set; } + + /// The headline of the call-to-action banner. + [Newtonsoft.Json.JsonPropertyAttribute("actionHeadline")] + public virtual string ActionHeadline { get; set; } + + /// The image which shows next to the video ad. + [Newtonsoft.Json.JsonPropertyAttribute("companionBanner")] + public virtual ImageAsset CompanionBanner { get; set; } + + /// The webpage address that appears with the ad. + [Newtonsoft.Json.JsonPropertyAttribute("displayUrl")] + public virtual string DisplayUrl { get; set; } + + /// The URL address of the webpage that people reach after they click the ad. + [Newtonsoft.Json.JsonPropertyAttribute("finalUrl")] + public virtual string FinalUrl { get; set; } + + /// The URL address loaded in the background for tracking purposes. + [Newtonsoft.Json.JsonPropertyAttribute("trackingUrl")] + public virtual string TrackingUrl { get; set; } + + /// The YouTube video of the ad. + [Newtonsoft.Json.JsonPropertyAttribute("video")] + public virtual YoutubeVideoDetails Video { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Contact information defining a Customer Match audience member. + public class ContactInfo : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Country code of the member. Must also be set with the following fields: * hashed_first_name * + /// hashed_last_name * zip_codes + /// + [Newtonsoft.Json.JsonPropertyAttribute("countryCode")] + public virtual string CountryCode { get; set; } + + /// + /// A list of SHA256 hashed email of the member. Before hashing, remove all whitespace and make sure the string + /// is all lowercase. + /// + [Newtonsoft.Json.JsonPropertyAttribute("hashedEmails")] + public virtual System.Collections.Generic.IList HashedEmails { get; set; } + + /// + /// SHA256 hashed first name of the member. Before hashing, remove all whitespace and make sure the string is + /// all lowercase. Must also be set with the following fields: * country_code * hashed_last_name * zip_codes + /// + [Newtonsoft.Json.JsonPropertyAttribute("hashedFirstName")] + public virtual string HashedFirstName { get; set; } + + /// + /// SHA256 hashed last name of the member. Before hashing, remove all whitespace and make sure the string is all + /// lowercase. Must also be set with the following fields: * country_code * hashed_first_name * zip_codes + /// + [Newtonsoft.Json.JsonPropertyAttribute("hashedLastName")] + public virtual string HashedLastName { get; set; } + + /// + /// A list of SHA256 hashed phone numbers of the member. Before hashing, all phone numbers must be formatted + /// using the [E.164 format](//en.wikipedia.org/wiki/E.164) and include the country calling code. + /// + [Newtonsoft.Json.JsonPropertyAttribute("hashedPhoneNumbers")] + public virtual System.Collections.Generic.IList HashedPhoneNumbers { get; set; } + + /// + /// A list of zip codes of the member. Must also be set with the following fields: * country_code * + /// hashed_first_name * hashed_last_name + /// + [Newtonsoft.Json.JsonPropertyAttribute("zipCodes")] + public virtual System.Collections.Generic.IList ZipCodes { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Wrapper message for a list of contact information defining Customer Match audience members. + public class ContactInfoList : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// A list of ContactInfo objects defining Customer Match audience members. The size of members after splitting + /// the contact_infos mustn't be greater than 500,000. + /// + [Newtonsoft.Json.JsonPropertyAttribute("contactInfos")] + public virtual System.Collections.Generic.IList ContactInfos { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Details for content duration assigned targeting option. This will be populated in the content_duration_details + /// field when targeting_type is `TARGETING_TYPE_CONTENT_DURATION`. Explicitly targeting all options is not + /// supported. Remove all content duration targeting options to achieve this effect. + /// + public class ContentDurationAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The content duration. + [Newtonsoft.Json.JsonPropertyAttribute("contentDuration")] + public virtual string ContentDuration { get; set; } + + /// + /// Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_CONTENT_DURATION`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("targetingOptionId")] + public virtual string TargetingOptionId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Represents a targetable content duration. This will be populated in the content_duration_details field when + /// targeting_type is `TARGETING_TYPE_CONTENT_DURATION`. + /// + public class ContentDurationTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The content duration. + [Newtonsoft.Json.JsonPropertyAttribute("contentDuration")] + public virtual string ContentDuration { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Details for content genre assigned targeting option. This will be populated in the content_genre_details field + /// when targeting_type is `TARGETING_TYPE_CONTENT_GENRE`. Explicitly targeting all options is not supported. Remove + /// all content genre targeting options to achieve this effect. + /// + public class ContentGenreAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The display name of the content genre. + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// Indicates if this option is being negatively targeted. + [Newtonsoft.Json.JsonPropertyAttribute("negative")] + public virtual System.Nullable Negative { get; set; } + + /// + /// Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_CONTENT_GENRE`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("targetingOptionId")] + public virtual string TargetingOptionId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Represents a targetable content genre. This will be populated in the content_genre_details field when + /// targeting_type is `TARGETING_TYPE_CONTENT_GENRE`. + /// + public class ContentGenreTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The display name of the content genre + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Assigned content instream position targeting option details. This will be populated in the + /// content_instream_position_details field when targeting_type is `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`. + /// + public class ContentInstreamPositionAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Output only. The ad type to target. Only applicable to insertion order targeting and new line items + /// supporting the specified ad type will inherit this targeting option by default. Possible values are: * + /// `AD_TYPE_VIDEO`, the setting will be inherited by new line item when line_item_type is + /// `LINE_ITEM_TYPE_VIDEO_DEFAULT`. * `AD_TYPE_AUDIO`, the setting will be inherited by new line item when + /// line_item_type is `LINE_ITEM_TYPE_AUDIO_DEFAULT`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("adType")] + public virtual string AdType { get; set; } + + /// Required. The content instream position for video or audio ads. + [Newtonsoft.Json.JsonPropertyAttribute("contentInstreamPosition")] + public virtual string ContentInstreamPosition { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Represents a targetable content instream position, which could be used by video and audio ads. This will be + /// populated in the content_instream_position_details field when targeting_type is + /// `TARGETING_TYPE_CONTENT_INSTREAM_POSITION`. + /// + public class ContentInstreamPositionTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The content instream position. + [Newtonsoft.Json.JsonPropertyAttribute("contentInstreamPosition")] + public virtual string ContentInstreamPosition { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Assigned content outstream position targeting option details. This will be populated in the + /// content_outstream_position_details field when targeting_type is `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`. + /// + public class ContentOutstreamPositionAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Output only. The ad type to target. Only applicable to insertion order targeting and new line items + /// supporting the specified ad type will inherit this targeting option by default. Possible values are: * + /// `AD_TYPE_DISPLAY`, the setting will be inherited by new line item when line_item_type is + /// `LINE_ITEM_TYPE_DISPLAY_DEFAULT`. * `AD_TYPE_VIDEO`, the setting will be inherited by new line item when + /// line_item_type is `LINE_ITEM_TYPE_VIDEO_DEFAULT`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("adType")] + public virtual string AdType { get; set; } + + /// Required. The content outstream position. + [Newtonsoft.Json.JsonPropertyAttribute("contentOutstreamPosition")] + public virtual string ContentOutstreamPosition { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Represents a targetable content outstream position, which could be used by display and video ads. This will be + /// populated in the content_outstream_position_details field when targeting_type is + /// `TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION`. + /// + public class ContentOutstreamPositionTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The content outstream position. + [Newtonsoft.Json.JsonPropertyAttribute("contentOutstreamPosition")] + public virtual string ContentOutstreamPosition { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Details for content stream type assigned targeting option. This will be populated in the + /// content_stream_type_details field when targeting_type is `TARGETING_TYPE_CONTENT_STREAM_TYPE`. Explicitly + /// targeting all options is not supported. Remove all content stream type targeting options to achieve this effect. + /// + public class ContentStreamTypeAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The content stream type. + [Newtonsoft.Json.JsonPropertyAttribute("contentStreamType")] + public virtual string ContentStreamType { get; set; } + + /// + /// Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_CONTENT_STREAM_TYPE`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("targetingOptionId")] + public virtual string TargetingOptionId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Represents a targetable content stream type. This will be populated in the content_stream_type_details field + /// when targeting_type is `TARGETING_TYPE_CONTENT_STREAM_TYPE`. + /// + public class ContentStreamTypeTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The content stream type. + [Newtonsoft.Json.JsonPropertyAttribute("contentStreamType")] + public virtual string ContentStreamType { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Settings that control how conversions are counted. All post-click conversions will be counted. A percentage + /// value can be set for post-view conversions counting. + /// + public class ConversionCountingConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The Floodlight activity configs used to track conversions. The number of conversions counted is the sum of + /// all of the conversions counted by all of the Floodlight activity IDs specified in this field. + /// + [Newtonsoft.Json.JsonPropertyAttribute("floodlightActivityConfigs")] + public virtual System.Collections.Generic.IList FloodlightActivityConfigs { get; set; } + + /// + /// 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. + /// + [Newtonsoft.Json.JsonPropertyAttribute("postViewCountPercentageMillis")] + public virtual System.Nullable PostViewCountPercentageMillis { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Counter event of the creative. + public class CounterEvent : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. The name of the counter event. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Required. The name used to identify this counter event in reports. + [Newtonsoft.Json.JsonPropertyAttribute("reportingName")] + public virtual string ReportingName { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A request message for CreateAsset. + public class CreateAssetRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Required. The filename of the asset, including the file extension. The filename must be UTF-8 encoded with a + /// maximum size of 240 bytes. + /// + [Newtonsoft.Json.JsonPropertyAttribute("filename")] + public virtual string Filename { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A response message for CreateAsset. + public class CreateAssetResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The uploaded asset, if successful. + [Newtonsoft.Json.JsonPropertyAttribute("asset")] + public virtual Asset Asset { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// A request listing which assigned targeting options of a given targeting type should be created and added. + /// + public class CreateAssignedTargetingOptionsRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. The assigned targeting options to create and add. + [Newtonsoft.Json.JsonPropertyAttribute("assignedTargetingOptions")] + public virtual System.Collections.Generic.IList AssignedTargetingOptions { get; set; } + + /// Required. Identifies the type of this assigned targeting option. + [Newtonsoft.Json.JsonPropertyAttribute("targetingType")] + public virtual string TargetingType { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Request message for [SdfDownloadTaskService.CreateSdfDownloadTask]. + public class CreateSdfDownloadTaskRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// The ID of the advertiser to download SDF for. + [Newtonsoft.Json.JsonPropertyAttribute("advertiserId")] + public virtual System.Nullable AdvertiserId { get; set; } + + /// Filters on entities by their entity IDs. + [Newtonsoft.Json.JsonPropertyAttribute("idFilter")] + public virtual IdFilter IdFilter { get; set; } + + /// Filters on Inventory Sources by their IDs. + [Newtonsoft.Json.JsonPropertyAttribute("inventorySourceFilter")] + public virtual InventorySourceFilter InventorySourceFilter { get; set; } + + /// + /// Filters on selected file types. The entities in each file are filtered by a chosen set of filter entities. + /// The filter entities must be the same type as, or a parent type of, the selected file types. + /// + [Newtonsoft.Json.JsonPropertyAttribute("parentEntityFilter")] + public virtual ParentEntityFilter ParentEntityFilter { get; set; } + + /// The ID of the partner to download SDF for. + [Newtonsoft.Json.JsonPropertyAttribute("partnerId")] + public virtual System.Nullable PartnerId { get; set; } + + /// + /// Required. The SDF version of the downloaded file. If set to `SDF_VERSION_UNSPECIFIED`, this will default to + /// the version specified by the advertiser or partner identified by `root_id`. An advertiser inherits its SDF + /// version from its partner unless configured otherwise. + /// + [Newtonsoft.Json.JsonPropertyAttribute("version")] + public virtual string Version { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A single Creative. + public class Creative : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Additional dimensions. Applicable when creative_type is one of: * `CREATIVE_TYPE_STANDARD` * + /// `CREATIVE_TYPE_EXPANDABLE` * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * + /// `CREATIVE_TYPE_LIGHTBOX` * `CREATIVE_TYPE_PUBLISHER_HOSTED` If this field is specified, width_pixels and + /// height_pixels are both required and must be greater than or equal to 0. + /// + [Newtonsoft.Json.JsonPropertyAttribute("additionalDimensions")] + public virtual System.Collections.Generic.IList AdditionalDimensions { get; set; } + + /// Output only. The unique ID of the advertiser the creative belongs to. + [Newtonsoft.Json.JsonPropertyAttribute("advertiserId")] + public virtual System.Nullable AdvertiserId { get; set; } + + /// Third-party HTML tracking tag to be appended to the creative tag. + [Newtonsoft.Json.JsonPropertyAttribute("appendedTag")] + public virtual string AppendedTag { get; set; } + + /// Required. Assets associated to this creative. + [Newtonsoft.Json.JsonPropertyAttribute("assets")] + public virtual System.Collections.Generic.IList Assets { get; set; } + + /// + /// Output only. The unique ID of the Campaign Manager 360 placement associated with the creative. This field is + /// only applicable for creatives that are synced from Campaign Manager. + /// + [Newtonsoft.Json.JsonPropertyAttribute("cmPlacementId")] + public virtual System.Nullable CmPlacementId { get; set; } + + /// + /// The Campaign Manager 360 tracking ad associated with the creative. Optional for the following creative_type + /// when created by an advertiser that uses both Campaign Manager 360 and third-party ad serving: * + /// `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` Output only for other cases. + /// + [Newtonsoft.Json.JsonPropertyAttribute("cmTrackingAd")] + public virtual CmTrackingAd CmTrackingAd { get; set; } + + /// + /// The IDs of companion creatives for a video creative. You can assign existing display creatives (with image + /// or HTML5 assets) to serve surrounding the publisher's video player. Companions display around the video + /// player while the video is playing and remain after the video has completed. Creatives contain additional + /// dimensions can not be companion creatives. This field is only supported for following creative_type: * + /// `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO` + /// + [Newtonsoft.Json.JsonPropertyAttribute("companionCreativeIds")] + public virtual System.Collections.Generic.IList> CompanionCreativeIds { get; set; } + + /// + /// Counter events for a rich media creative. Counters track the number of times that a user interacts with any + /// part of a rich media creative in a specified way (mouse-overs, mouse-outs, clicks, taps, data loading, + /// keyboard entries, etc.). Any event that can be captured in the creative can be recorded as a counter. Leave + /// it empty or unset for creatives containing image assets only. + /// + [Newtonsoft.Json.JsonPropertyAttribute("counterEvents")] + public virtual System.Collections.Generic.IList CounterEvents { get; set; } + + private string _createTimeRaw; + + private object _createTime; + + /// Output only. The timestamp when the creative was created. Assigned by the system. + [Newtonsoft.Json.JsonPropertyAttribute("createTime")] + public virtual string CreateTimeRaw + { + get => _createTimeRaw; + set + { + _createTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _createTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use CreateTimeDateTimeOffset instead.")] + public virtual object CreateTime + { + get => _createTime; + set + { + _createTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _createTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? CreateTimeDateTimeOffset + { + get => Google.Apis.Util.Utilities.GetDateTimeOffsetFromString(CreateTimeRaw); + set => CreateTimeRaw = Google.Apis.Util.Utilities.GetStringFromDateTimeOffset(value); + } + + /// Output only. A list of attributes of the creative that is generated by the system. + [Newtonsoft.Json.JsonPropertyAttribute("creativeAttributes")] + public virtual System.Collections.Generic.IList CreativeAttributes { get; set; } + + /// Output only. The unique ID of the creative. Assigned by the system. + [Newtonsoft.Json.JsonPropertyAttribute("creativeId")] + public virtual System.Nullable CreativeId { get; set; } + + /// Required. Immutable. The type of the creative. + [Newtonsoft.Json.JsonPropertyAttribute("creativeType")] + public virtual string CreativeType { get; set; } + + /// + /// Required. Primary dimensions of the creative. Applicable to all creative types. The value of width_pixels + /// and height_pixels defaults to `0` when creative_type is one of: * `CREATIVE_TYPE_VIDEO` * + /// `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_NATIVE_VIDEO` + /// + [Newtonsoft.Json.JsonPropertyAttribute("dimensions")] + public virtual Dimensions Dimensions { get; set; } + + /// + /// Required. The display name of the creative. Must be UTF-8 encoded with a maximum size of 240 bytes. + /// + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// Output only. Indicates whether the creative is dynamic. + [Newtonsoft.Json.JsonPropertyAttribute("dynamic")] + public virtual System.Nullable Dynamic { get; set; } + + /// + /// Required. Controls whether or not the creative can serve. Accepted values are: * `ENTITY_STATUS_ACTIVE` * + /// `ENTITY_STATUS_ARCHIVED` * `ENTITY_STATUS_PAUSED` + /// + [Newtonsoft.Json.JsonPropertyAttribute("entityStatus")] + public virtual string EntityStatus { get; set; } + + /// + /// Required. Exit events for this creative. An exit (also known as a click tag) is any area in your creative + /// that someone can click or tap to open an advertiser's landing page. Every creative must include at least one + /// exit. You can add an exit to your creative in any of the following ways: * Use Google Web Designer's tap + /// area. * Define a JavaScript variable called "clickTag". * Use the Enabler (Enabler.exit()) to track exits in + /// rich media formats. + /// + [Newtonsoft.Json.JsonPropertyAttribute("exitEvents")] + public virtual System.Collections.Generic.IList ExitEvents { get; set; } + + /// + /// Optional. Indicates the creative will automatically expand on hover. Optional and only valid for third-party + /// expandable creatives. Third-party expandable creatives are creatives with following hosting source: * + /// `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_EXPANDABLE` + /// + [Newtonsoft.Json.JsonPropertyAttribute("expandOnHover")] + public virtual System.Nullable ExpandOnHover { get; set; } + + /// + /// Optional. Specifies the expanding direction of the creative. Required and only valid for third-party + /// expandable creatives. Third-party expandable creatives are creatives with following hosting source: * + /// `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_EXPANDABLE` + /// + [Newtonsoft.Json.JsonPropertyAttribute("expandingDirection")] + public virtual string ExpandingDirection { get; set; } + + /// Required. Indicates where the creative is hosted. + [Newtonsoft.Json.JsonPropertyAttribute("hostingSource")] + public virtual string HostingSource { get; set; } + + /// + /// Output only. Indicates the third-party VAST tag creative requires HTML5 Video support. Output only and only + /// valid for third-party VAST tag creatives. Third-party VAST tag creatives are creatives with following + /// hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * + /// `CREATIVE_TYPE_VIDEO` + /// + [Newtonsoft.Json.JsonPropertyAttribute("html5Video")] + public virtual System.Nullable Html5Video { get; set; } + + /// + /// Indicates whether Integral Ad Science (IAS) campaign monitoring is enabled. To enable this for the creative, + /// make sure the Advertiser.creative_config.ias_client_id has been set to your IAS client ID. + /// + [Newtonsoft.Json.JsonPropertyAttribute("iasCampaignMonitoring")] + public virtual System.Nullable IasCampaignMonitoring { get; set; } + + /// + /// ID information used to link this creative to an external system. Must be UTF-8 encoded with a length of no + /// more than 10,000 characters. + /// + [Newtonsoft.Json.JsonPropertyAttribute("integrationCode")] + public virtual string IntegrationCode { get; set; } + + /// + /// JavaScript measurement URL from supported third-party verification providers (ComScore, DoubleVerify, IAS, + /// Moat). HTML script tags are not supported. This field is only writeable in following creative_type: * + /// `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * `CREATIVE_TYPE_NATIVE_VIDEO` + /// + [Newtonsoft.Json.JsonPropertyAttribute("jsTrackerUrl")] + public virtual string JsTrackerUrl { get; set; } + + /// + /// Output only. The IDs of the line items this creative is associated with. To associate a creative to a line + /// item, use LineItem.creative_ids instead. + /// + [Newtonsoft.Json.JsonPropertyAttribute("lineItemIds")] + public virtual System.Collections.Generic.IList> LineItemIds { get; set; } + + /// + /// Output only. Media duration of the creative. Applicable when creative_type is one of: * + /// `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_NATIVE_VIDEO` * + /// `CREATIVE_TYPE_PUBLISHER_HOSTED` + /// + [Newtonsoft.Json.JsonPropertyAttribute("mediaDuration")] + public virtual object MediaDuration { get; set; } + + /// + /// Output only. Indicates the third-party audio creative supports MP3. Output only and only valid for + /// third-party audio creatives. Third-party audio creatives are creatives with following hosting_source: * + /// `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_AUDIO` + /// + [Newtonsoft.Json.JsonPropertyAttribute("mp3Audio")] + public virtual System.Nullable Mp3Audio { get; set; } + + /// Output only. The resource name of the creative. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// + /// User notes for this creative. Must be UTF-8 encoded with a length of no more than 20,000 characters. + /// + [Newtonsoft.Json.JsonPropertyAttribute("notes")] + public virtual string Notes { get; set; } + + /// + /// Specifies the OBA icon for a video creative. This field is only supported in following creative_type: * + /// `CREATIVE_TYPE_VIDEO` + /// + [Newtonsoft.Json.JsonPropertyAttribute("obaIcon")] + public virtual ObaIcon ObaIcon { get; set; } + + /// + /// Output only. Indicates the third-party audio creative supports OGG. Output only and only valid for + /// third-party audio creatives. Third-party audio creatives are creatives with following hosting_source: * + /// `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_AUDIO` + /// + [Newtonsoft.Json.JsonPropertyAttribute("oggAudio")] + public virtual System.Nullable OggAudio { get; set; } + + /// + /// Amount of time to play the video before counting a view. This field is required when skippable is true. This + /// field is only supported for the following creative_type: * `CREATIVE_TYPE_VIDEO` + /// + [Newtonsoft.Json.JsonPropertyAttribute("progressOffset")] + public virtual AudioVideoOffset ProgressOffset { get; set; } + + /// + /// Optional. Indicates that the creative relies on HTML5 to render properly. Optional and only valid for + /// third-party tag creatives. Third-party tag creatives are creatives with following hosting_source: * + /// `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_STANDARD` * + /// `CREATIVE_TYPE_EXPANDABLE` + /// + [Newtonsoft.Json.JsonPropertyAttribute("requireHtml5")] + public virtual System.Nullable RequireHtml5 { get; set; } + + /// + /// Optional. Indicates that the creative requires MRAID (Mobile Rich Media Ad Interface Definitions system). + /// Set this if the creative relies on mobile gestures for interactivity, such as swiping or tapping. Optional + /// and only valid for third-party tag creatives. Third-party tag creatives are creatives with following + /// hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * + /// `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE` + /// + [Newtonsoft.Json.JsonPropertyAttribute("requireMraid")] + public virtual System.Nullable RequireMraid { get; set; } + + /// + /// Optional. Indicates that the creative will wait for a return ping for attribution. Only valid when using a + /// Campaign Manager 360 tracking ad with a third-party ad server parameter and the ${DC_DBM_TOKEN} macro. + /// Optional and only valid for third-party tag creatives or third-party VAST tag creatives. Third-party tag + /// creatives are creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with + /// following creative_type: * `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_EXPANDABLE` Third-party VAST tag + /// creatives are creatives with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with + /// following creative_type: * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO` + /// + [Newtonsoft.Json.JsonPropertyAttribute("requirePingForAttribution")] + public virtual System.Nullable RequirePingForAttribution { get; set; } + + /// Output only. The current status of the creative review process. + [Newtonsoft.Json.JsonPropertyAttribute("reviewStatus")] + public virtual ReviewStatusInfo ReviewStatus { get; set; } + + /// + /// Amount of time to play the video before the skip button appears. This field is required when skippable is + /// true. This field is only supported for the following creative_type: * `CREATIVE_TYPE_VIDEO` + /// + [Newtonsoft.Json.JsonPropertyAttribute("skipOffset")] + public virtual AudioVideoOffset SkipOffset { get; set; } + + /// + /// Whether the user can choose to skip a video creative. This field is only supported for the following + /// creative_type: * `CREATIVE_TYPE_VIDEO` + /// + [Newtonsoft.Json.JsonPropertyAttribute("skippable")] + public virtual System.Nullable Skippable { get; set; } + + /// + /// Optional. The original third-party tag used for the creative. Required and only valid for third-party tag + /// creatives. Third-party tag creatives are creatives with following hosting_source: * + /// `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_STANDARD` * + /// `CREATIVE_TYPE_EXPANDABLE` + /// + [Newtonsoft.Json.JsonPropertyAttribute("thirdPartyTag")] + public virtual string ThirdPartyTag { get; set; } + + /// + /// Tracking URLs from third parties to track interactions with a video creative. This field is only supported + /// for the following creative_type: * `CREATIVE_TYPE_AUDIO` * `CREATIVE_TYPE_VIDEO` * + /// `CREATIVE_TYPE_NATIVE_VIDEO` + /// + [Newtonsoft.Json.JsonPropertyAttribute("thirdPartyUrls")] + public virtual System.Collections.Generic.IList ThirdPartyUrls { get; set; } + + /// + /// Timer custom events for a rich media creative. Timers track the time during which a user views and interacts + /// with a specified part of a rich media creative. A creative can have multiple timer events, each timed + /// independently. Leave it empty or unset for creatives containing image assets only. + /// + [Newtonsoft.Json.JsonPropertyAttribute("timerEvents")] + public virtual System.Collections.Generic.IList TimerEvents { get; set; } + + /// + /// Tracking URLs for analytics providers or third-party ad technology vendors. The URLs must start with https + /// (except on inventory that doesn't require SSL compliance). If using macros in your URL, use only macros + /// supported by Display &amp; Video 360. Standard URLs only, no IMG or SCRIPT tags. This field is only + /// writeable in following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE` * + /// `CREATIVE_TYPE_NATIVE_VIDEO` + /// + [Newtonsoft.Json.JsonPropertyAttribute("trackerUrls")] + public virtual System.Collections.Generic.IList TrackerUrls { get; set; } + + /// + /// Output only. Audio/Video transcodes. Display &amp; Video 360 transcodes the main asset into a number of + /// alternative versions that use different file formats or have different properties (resolution, audio bit + /// rate, and video bit rate), each designed for specific video players or bandwidths. These transcodes give a + /// publisher's system more options to choose from for each impression on your video and ensures that the + /// appropriate file serves based on the viewer’s connection and screen size. This field is only supported in + /// following creative_type: * `CREATIVE_TYPE_VIDEO` * `CREATIVE_TYPE_NATIVE_VIDEO` * `CREATIVE_TYPE_AUDIO` + /// + [Newtonsoft.Json.JsonPropertyAttribute("transcodes")] + public virtual System.Collections.Generic.IList Transcodes { get; set; } + + /// + /// Optional. An optional creative identifier provided by a registry that is unique across all platforms. + /// Universal Ad ID is part of the VAST 4.0 standard. It can be modified after the creative is created. This + /// field is only supported for the following creative_type: * `CREATIVE_TYPE_VIDEO` + /// + [Newtonsoft.Json.JsonPropertyAttribute("universalAdId")] + public virtual UniversalAdId UniversalAdId { get; set; } + + private string _updateTimeRaw; + + private object _updateTime; + + /// + /// Output only. The timestamp when the creative was last updated, either by the user or system (e.g. creative + /// review). Assigned by the system. + /// + [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] + public virtual string UpdateTimeRaw + { + get => _updateTimeRaw; + set + { + _updateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _updateTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use UpdateTimeDateTimeOffset instead.")] + public virtual object UpdateTime + { + get => _updateTime; + set + { + _updateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _updateTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset + { + get => Google.Apis.Util.Utilities.GetDateTimeOffsetFromString(UpdateTimeRaw); + set => UpdateTimeRaw = Google.Apis.Util.Utilities.GetStringFromDateTimeOffset(value); + } + + /// + /// Optional. The URL of the VAST tag for a third-party VAST tag creative. Required and only valid for + /// third-party VAST tag creatives. Third-party VAST tag creatives are creatives with following hosting_source: + /// * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * `CREATIVE_TYPE_AUDIO` * + /// `CREATIVE_TYPE_VIDEO` + /// + [Newtonsoft.Json.JsonPropertyAttribute("vastTagUrl")] + public virtual string VastTagUrl { get; set; } + + /// + /// Output only. Indicates the third-party VAST tag creative requires VPAID (Digital Video Player-Ad Interface). + /// Output only and only valid for third-party VAST tag creatives. Third-party VAST tag creatives are creatives + /// with following hosting_source: * `HOSTING_SOURCE_THIRD_PARTY` combined with following creative_type: * + /// `CREATIVE_TYPE_VIDEO` + /// + [Newtonsoft.Json.JsonPropertyAttribute("vpaid")] + public virtual System.Nullable Vpaid { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Creative requirements configuration for the inventory source. + public class CreativeConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The type of creative that can be assigned to the inventory source. Only the following types are supported: * + /// `CREATIVE_TYPE_STANDARD` * `CREATIVE_TYPE_VIDEO` + /// + [Newtonsoft.Json.JsonPropertyAttribute("creativeType")] + public virtual string CreativeType { get; set; } + + /// + /// The configuration for display creatives. Applicable when creative_type is `CREATIVE_TYPE_STANDARD`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("displayCreativeConfig")] + public virtual InventorySourceDisplayCreativeConfig DisplayCreativeConfig { get; set; } + + /// + /// The configuration for video creatives. Applicable when creative_type is `CREATIVE_TYPE_VIDEO`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("videoCreativeConfig")] + public virtual InventorySourceVideoCreativeConfig VideoCreativeConfig { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A single custom bidding algorithm. + public class CustomBiddingAlgorithm : Google.Apis.Requests.IDirectResponseSchema + { + /// Immutable. The unique ID of the advertiser that owns the custom bidding algorithm. + [Newtonsoft.Json.JsonPropertyAttribute("advertiserId")] + public virtual System.Nullable AdvertiserId { get; set; } + + /// Output only. The unique ID of the custom bidding algorithm. Assigned by the system. + [Newtonsoft.Json.JsonPropertyAttribute("customBiddingAlgorithmId")] + public virtual System.Nullable CustomBiddingAlgorithmId { get; set; } + + /// Required. Immutable. The type of custom bidding algorithm. + [Newtonsoft.Json.JsonPropertyAttribute("customBiddingAlgorithmType")] + public virtual string CustomBiddingAlgorithmType { get; set; } + + /// + /// Required. The display name of the custom bidding algorithm. Must be UTF-8 encoded with a maximum size of 240 + /// bytes. + /// + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// + /// Controls whether or not the custom bidding algorithm can be used as a bidding strategy. Accepted values are: + /// * `ENTITY_STATUS_ACTIVE` * `ENTITY_STATUS_ARCHIVED` + /// + [Newtonsoft.Json.JsonPropertyAttribute("entityStatus")] + public virtual string EntityStatus { get; set; } + + /// + /// Output only. The details of custom bidding models for each advertiser who has access. This field may only + /// include the details of the queried advertiser if the algorithm + /// [`owner`](/display-video/api/reference/rest/v1/customBiddingAlgorithms#CustomBiddingAlgorithm.FIELDS.oneof_owner) + /// is a partner and is being retrieved using an advertiser + /// [`accessor`](/display-video/api/reference/rest/v1/customBiddingAlgorithms/list#body.QUERY_PARAMETERS.oneof_accessor). + /// + [Newtonsoft.Json.JsonPropertyAttribute("modelDetails")] + public virtual System.Collections.Generic.IList ModelDetails { get; set; } + + /// Output only. The resource name of the custom bidding algorithm. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Immutable. The unique ID of the partner that owns the custom bidding algorithm. + [Newtonsoft.Json.JsonPropertyAttribute("partnerId")] + public virtual System.Nullable PartnerId { get; set; } + + /// + /// The IDs of the advertisers who have access to this algorithm. If advertiser_id is set, this field will only + /// consist of that value. This field will not be set if the algorithm + /// [`owner`](/display-video/api/reference/rest/v1/customBiddingAlgorithms#CustomBiddingAlgorithm.FIELDS.oneof_owner) + /// is a partner and is being retrieved using an advertiser + /// [`accessor`](/display-video/api/reference/rest/v1/customBiddingAlgorithms/list#body.QUERY_PARAMETERS.oneof_accessor). + /// + [Newtonsoft.Json.JsonPropertyAttribute("sharedAdvertiserIds")] + public virtual System.Collections.Generic.IList> SharedAdvertiserIds { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A single custom bidding algorithm rules. + public class CustomBiddingAlgorithmRules : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Output only. Whether the rules resource is currently being used for scoring by the parent algorithm. + /// + [Newtonsoft.Json.JsonPropertyAttribute("active")] + public virtual System.Nullable Active { get; set; } + + private string _createTimeRaw; + + private object _createTime; + + /// Output only. The time when the rules resource was created. + [Newtonsoft.Json.JsonPropertyAttribute("createTime")] + public virtual string CreateTimeRaw + { + get => _createTimeRaw; + set + { + _createTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _createTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use CreateTimeDateTimeOffset instead.")] + public virtual object CreateTime + { + get => _createTime; + set + { + _createTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _createTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? CreateTimeDateTimeOffset + { + get => Google.Apis.Util.Utilities.GetDateTimeOffsetFromString(CreateTimeRaw); + set => CreateTimeRaw = Google.Apis.Util.Utilities.GetStringFromDateTimeOffset(value); + } + + /// + /// Output only. The unique ID of the custom bidding algorithm that the rules resource belongs to. + /// + [Newtonsoft.Json.JsonPropertyAttribute("customBiddingAlgorithmId")] + public virtual System.Nullable CustomBiddingAlgorithmId { get; set; } + + /// Output only. The unique ID of the rules resource. + [Newtonsoft.Json.JsonPropertyAttribute("customBiddingAlgorithmRulesId")] + public virtual System.Nullable CustomBiddingAlgorithmRulesId { get; set; } + + /// + /// Output only. Error code of the rejected rules resource. This field will only be populated when the state is + /// `REJECTED`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("error")] + public virtual CustomBiddingAlgorithmRulesError Error { get; set; } + + /// Output only. The resource name of the rules resource. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Required. Immutable. The reference to the uploaded AlgorithmRules file. + [Newtonsoft.Json.JsonPropertyAttribute("rules")] + public virtual CustomBiddingAlgorithmRulesRef Rules { get; set; } + + /// Output only. The state of the rules resource. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// An error message for a CustomBiddingAlgorithmRules resource. + public class CustomBiddingAlgorithmRulesError : Google.Apis.Requests.IDirectResponseSchema + { + /// The type of error. + [Newtonsoft.Json.JsonPropertyAttribute("errorCode")] + public virtual string ErrorCode { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// The reference to the uploaded AlgorithmRules file. Retrieve the location to upload new AlgorithmRules file to + /// using customBiddingAlgorithms.uploadRules. + /// + public class CustomBiddingAlgorithmRulesRef : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// A resource name to be used in media.download to download the rules files. Or media.upload to upload the + /// rules files. Resource names have the format + /// `customBiddingAlgorithms/{custom_bidding_algorithm_id}/rulesRef/{ref_id}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("resourceName")] + public virtual string ResourceName { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// The details of a custom bidding algorithm model for a single shared advertiser. + public class CustomBiddingModelDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// The unique ID of the relevant advertiser. + [Newtonsoft.Json.JsonPropertyAttribute("advertiserId")] + public virtual System.Nullable AdvertiserId { get; set; } + + /// The readiness state of custom bidding model. + [Newtonsoft.Json.JsonPropertyAttribute("readinessState")] + public virtual string ReadinessState { get; set; } + + /// Output only. The suspension state of custom bidding model. + [Newtonsoft.Json.JsonPropertyAttribute("suspensionState")] + public virtual string SuspensionState { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A single custom bidding script. + public class CustomBiddingScript : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Output only. Whether the script is currently being used for scoring by the parent algorithm. + /// + [Newtonsoft.Json.JsonPropertyAttribute("active")] + public virtual System.Nullable Active { get; set; } + + private string _createTimeRaw; + + private object _createTime; + + /// Output only. The time when the script was created. + [Newtonsoft.Json.JsonPropertyAttribute("createTime")] + public virtual string CreateTimeRaw + { + get => _createTimeRaw; + set + { + _createTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _createTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use CreateTimeDateTimeOffset instead.")] + public virtual object CreateTime + { + get => _createTime; + set + { + _createTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _createTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? CreateTimeDateTimeOffset + { + get => Google.Apis.Util.Utilities.GetDateTimeOffsetFromString(CreateTimeRaw); + set => CreateTimeRaw = Google.Apis.Util.Utilities.GetStringFromDateTimeOffset(value); + } + + /// Output only. The unique ID of the custom bidding algorithm the script belongs to. + [Newtonsoft.Json.JsonPropertyAttribute("customBiddingAlgorithmId")] + public virtual System.Nullable CustomBiddingAlgorithmId { get; set; } + + /// Output only. The unique ID of the custom bidding script. + [Newtonsoft.Json.JsonPropertyAttribute("customBiddingScriptId")] + public virtual System.Nullable CustomBiddingScriptId { get; set; } + + /// + /// Output only. Error details of a rejected custom bidding script. This field will only be populated when state + /// is REJECTED. + /// + [Newtonsoft.Json.JsonPropertyAttribute("errors")] + public virtual System.Collections.Generic.IList Errors { get; set; } + + /// Output only. The resource name of the custom bidding script. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// The reference to the uploaded script file. + [Newtonsoft.Json.JsonPropertyAttribute("script")] + public virtual CustomBiddingScriptRef Script { get; set; } + + /// Output only. The state of the custom bidding script. + [Newtonsoft.Json.JsonPropertyAttribute("state")] + public virtual string State { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// The reference to the uploaded custom bidding script file. + public class CustomBiddingScriptRef : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// A resource name to be used in media.download to Download the script files. Or media.upload to Upload the + /// script files. Resource names have the format + /// `customBiddingAlgorithms/{custom_bidding_algorithm_id}/scriptRef/{ref_id}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("resourceName")] + public virtual string ResourceName { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// The key and value of a custom label. + public class CustomLabel : Google.Apis.Requests.IDirectResponseSchema + { + /// The key of the label. + [Newtonsoft.Json.JsonPropertyAttribute("key")] + public virtual string Key { get; set; } + + /// The value of the label. + [Newtonsoft.Json.JsonPropertyAttribute("value")] + public virtual string Value { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Describes a custom list entity, such as a custom affinity or custom intent audience list. + public class CustomList : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The unique ID of the custom list. Assigned by the system. + [Newtonsoft.Json.JsonPropertyAttribute("customListId")] + public virtual System.Nullable CustomListId { get; set; } + + /// Output only. The display name of the custom list. . + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// Output only. The resource name of the custom list. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Details of custom list group. All custom list targeting settings are logically ‘OR’ of each other. + /// + public class CustomListGroup : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Required. All custom list targeting settings in custom list group. Repeated settings with same id will be + /// ignored. + /// + [Newtonsoft.Json.JsonPropertyAttribute("settings")] + public virtual System.Collections.Generic.IList Settings { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Details of custom list targeting setting. + public class CustomListTargetingSetting : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. Custom id of custom list targeting setting. This id is custom_list_id. + [Newtonsoft.Json.JsonPropertyAttribute("customListId")] + public virtual System.Nullable CustomListId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// 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 + /// + public class Date : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// 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. + /// + [Newtonsoft.Json.JsonPropertyAttribute("day")] + public virtual System.Nullable Day { get; set; } + + /// Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + [Newtonsoft.Json.JsonPropertyAttribute("month")] + public virtual System.Nullable Month { get; set; } + + /// Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + [Newtonsoft.Json.JsonPropertyAttribute("year")] + public virtual System.Nullable Year { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A date range. + public class DateRange : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The upper bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("endDate")] + public virtual Date EndDate { get; set; } + + /// + /// The lower bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("startDate")] + public virtual Date StartDate { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Representation of time defined by day of the week and hour of the day. + public class DayAndTime : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. Day of the week. + [Newtonsoft.Json.JsonPropertyAttribute("dayOfWeek")] + public virtual string DayOfWeek { get; set; } + + /// Required. Hour of the day. + [Newtonsoft.Json.JsonPropertyAttribute("hourOfDay")] + public virtual System.Nullable HourOfDay { get; set; } + + /// Required. The mechanism used to determine the relevant timezone. + [Newtonsoft.Json.JsonPropertyAttribute("timeZoneResolution")] + public virtual string TimeZoneResolution { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Representation of a segment of time defined on a specific day of the week and with a start and end time. The + /// time represented by `start_hour` must be before the time represented by `end_hour`. + /// + public class DayAndTimeAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. The day of the week for this day and time targeting setting. + [Newtonsoft.Json.JsonPropertyAttribute("dayOfWeek")] + public virtual string DayOfWeek { get; set; } + + /// + /// Required. The end hour for day and time targeting. Must be between 1 (1 hour after start of day) and 24 (end + /// of day). + /// + [Newtonsoft.Json.JsonPropertyAttribute("endHour")] + public virtual System.Nullable EndHour { get; set; } + + /// + /// Required. The start hour for day and time targeting. Must be between 0 (start of day) and 23 (1 hour before + /// end of day). + /// + [Newtonsoft.Json.JsonPropertyAttribute("startHour")] + public virtual System.Nullable StartHour { get; set; } + + /// + /// Required. The mechanism used to determine which timezone to use for this day and time targeting setting. + /// + [Newtonsoft.Json.JsonPropertyAttribute("timeZoneResolution")] + public virtual string TimeZoneResolution { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// A request listing which assigned targeting options of a given targeting type should be deleted. + /// + public class DeleteAssignedTargetingOptionsRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. The assigned targeting option IDs to delete. + [Newtonsoft.Json.JsonPropertyAttribute("assignedTargetingOptionIds")] + public virtual System.Collections.Generic.IList AssignedTargetingOptionIds { get; set; } + + /// Required. Identifies the type of this assigned targeting option. + [Newtonsoft.Json.JsonPropertyAttribute("targetingType")] + public virtual string TargetingType { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Assigned device make and model targeting option details. This will be populated in the device_make_model_details + /// field when targeting_type is `TARGETING_TYPE_DEVICE_MAKE_MODEL`. + /// + public class DeviceMakeModelAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The display name of the device make and model. + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// Indicates if this option is being negatively targeted. + [Newtonsoft.Json.JsonPropertyAttribute("negative")] + public virtual System.Nullable Negative { get; set; } + + /// + /// Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_DEVICE_MAKE_MODEL`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("targetingOptionId")] + public virtual string TargetingOptionId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Represents a targetable device make and model. This will be populated in the device_make_model_details field of + /// a TargetingOption when targeting_type is `TARGETING_TYPE_DEVICE_MAKE_MODEL`. + /// + public class DeviceMakeModelTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The display name of the device make and model. + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Targeting details for device type. This will be populated in the details field of an AssignedTargetingOption + /// when targeting_type is `TARGETING_TYPE_DEVICE_TYPE`. + /// + public class DeviceTypeAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. The display name of the device type. + [Newtonsoft.Json.JsonPropertyAttribute("deviceType")] + public virtual string DeviceType { get; set; } + + /// + /// Output only. Bid multiplier allows you to show your ads more or less frequently based on the device type. It + /// will apply a multiplier on the original bid price. When this field is 0, it indicates this field is not + /// applicable instead of multiplying 0 on the original bid price. For example, if the bid price without + /// multiplier is $10.0 and the multiplier is 1.5 for Tablet, the resulting bid price for Tablet will be $15.0. + /// Only applicable to YouTube and Partners line items. + /// + [Newtonsoft.Json.JsonPropertyAttribute("youtubeAndPartnersBidMultiplier")] + public virtual System.Nullable YoutubeAndPartnersBidMultiplier { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Represents a targetable device type. This will be populated in the device_type_details field of a + /// TargetingOption when targeting_type is `TARGETING_TYPE_DEVICE_TYPE`. + /// + public class DeviceTypeTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The device type that is used to be targeted. + [Newtonsoft.Json.JsonPropertyAttribute("deviceType")] + public virtual string DeviceType { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Targeting details for digital content label. This will be populated in the details field of an + /// AssignedTargetingOption when targeting_type is `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`. + /// + public class DigitalContentLabelAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. The display name of the digital content label rating tier to be EXCLUDED. + [Newtonsoft.Json.JsonPropertyAttribute("excludedContentRatingTier")] + public virtual string ExcludedContentRatingTier { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Represents a targetable digital content label rating tier. This will be populated in the + /// digital_content_label_details field of the TargetingOption when targeting_type is + /// `TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION`. + /// + public class DigitalContentLabelTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. An enum for the content label brand safety tiers. + [Newtonsoft.Json.JsonPropertyAttribute("contentRatingTier")] + public virtual string ContentRatingTier { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Dimensions. + public class Dimensions : Google.Apis.Requests.IDirectResponseSchema + { + /// The height in pixels. + [Newtonsoft.Json.JsonPropertyAttribute("heightPixels")] + public virtual System.Nullable HeightPixels { get; set; } + + /// The width in pixels. + [Newtonsoft.Json.JsonPropertyAttribute("widthPixels")] + public virtual System.Nullable WidthPixels { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// The ad sourced from a DV360 creative. + public class DisplayVideoSourceAd : Google.Apis.Requests.IDirectResponseSchema + { + /// The ID of the source creative. + [Newtonsoft.Json.JsonPropertyAttribute("creativeId")] + public virtual System.Nullable CreativeId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Details of DoubleVerify settings. + public class DoubleVerify : Google.Apis.Requests.IDirectResponseSchema + { + /// Avoid bidding on apps with the star ratings. + [Newtonsoft.Json.JsonPropertyAttribute("appStarRating")] + public virtual DoubleVerifyAppStarRating AppStarRating { get; set; } + + /// Avoid bidding on apps with the age rating. + [Newtonsoft.Json.JsonPropertyAttribute("avoidedAgeRatings")] + public virtual System.Collections.Generic.IList AvoidedAgeRatings { get; set; } + + /// DV Brand Safety Controls. + [Newtonsoft.Json.JsonPropertyAttribute("brandSafetyCategories")] + public virtual DoubleVerifyBrandSafetyCategories BrandSafetyCategories { get; set; } + + /// + /// The custom segment ID provided by DoubleVerify. The ID must start with "51" and consist of eight digits. + /// Custom segment ID cannot be specified along with any of the following fields: * brand_safety_categories * + /// avoided_age_ratings * app_star_rating * fraud_invalid_traffic + /// + [Newtonsoft.Json.JsonPropertyAttribute("customSegmentId")] + public virtual System.Nullable CustomSegmentId { get; set; } + + /// Display viewability settings (applicable to display line items only). + [Newtonsoft.Json.JsonPropertyAttribute("displayViewability")] + public virtual DoubleVerifyDisplayViewability DisplayViewability { get; set; } + + /// Avoid Sites and Apps with historical Fraud & IVT Rates. + [Newtonsoft.Json.JsonPropertyAttribute("fraudInvalidTraffic")] + public virtual DoubleVerifyFraudInvalidTraffic FraudInvalidTraffic { get; set; } + + /// Video viewability settings (applicable to video line items only). + [Newtonsoft.Json.JsonPropertyAttribute("videoViewability")] + public virtual DoubleVerifyVideoViewability VideoViewability { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Details of DoubleVerify star ratings settings. + public class DoubleVerifyAppStarRating : Google.Apis.Requests.IDirectResponseSchema + { + /// Avoid bidding on apps with insufficient star ratings. + [Newtonsoft.Json.JsonPropertyAttribute("avoidInsufficientStarRating")] + public virtual System.Nullable AvoidInsufficientStarRating { get; set; } + + /// Avoid bidding on apps with the star ratings. + [Newtonsoft.Json.JsonPropertyAttribute("avoidedStarRating")] + public virtual string AvoidedStarRating { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Settings for brand safety controls. + public class DoubleVerifyBrandSafetyCategories : Google.Apis.Requests.IDirectResponseSchema + { + /// Unknown or unrateable. + [Newtonsoft.Json.JsonPropertyAttribute("avoidUnknownBrandSafetyCategory")] + public virtual System.Nullable AvoidUnknownBrandSafetyCategory { get; set; } + + /// Brand safety high severity avoidance categories. + [Newtonsoft.Json.JsonPropertyAttribute("avoidedHighSeverityCategories")] + public virtual System.Collections.Generic.IList AvoidedHighSeverityCategories { get; set; } + + /// Brand safety medium severity avoidance categories. + [Newtonsoft.Json.JsonPropertyAttribute("avoidedMediumSeverityCategories")] + public virtual System.Collections.Generic.IList AvoidedMediumSeverityCategories { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Details of DoubleVerify display viewability settings. + public class DoubleVerifyDisplayViewability : Google.Apis.Requests.IDirectResponseSchema + { + /// Target web and app inventory to maximize IAB viewable rate. + [Newtonsoft.Json.JsonPropertyAttribute("iab")] + public virtual string Iab { get; set; } + + /// Target web and app inventory to maximize 100% viewable duration. + [Newtonsoft.Json.JsonPropertyAttribute("viewableDuring")] + public virtual string ViewableDuring { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// DoubleVerify Fraud & Invalid Traffic settings. + public class DoubleVerifyFraudInvalidTraffic : Google.Apis.Requests.IDirectResponseSchema + { + /// Insufficient Historical Fraud & IVT Stats. + [Newtonsoft.Json.JsonPropertyAttribute("avoidInsufficientOption")] + public virtual System.Nullable AvoidInsufficientOption { get; set; } + + /// Avoid Sites and Apps with historical Fraud & IVT. + [Newtonsoft.Json.JsonPropertyAttribute("avoidedFraudOption")] + public virtual string AvoidedFraudOption { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Details of DoubleVerify video viewability settings. + public class DoubleVerifyVideoViewability : Google.Apis.Requests.IDirectResponseSchema + { + /// Target inventory to maximize impressions with 400x300 or greater player size. + [Newtonsoft.Json.JsonPropertyAttribute("playerImpressionRate")] + public virtual string PlayerImpressionRate { get; set; } + + /// Target web inventory to maximize IAB viewable rate. + [Newtonsoft.Json.JsonPropertyAttribute("videoIab")] + public virtual string VideoIab { get; set; } + + /// Target web inventory to maximize fully viewable rate. + [Newtonsoft.Json.JsonPropertyAttribute("videoViewableRate")] + public virtual string VideoViewableRate { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Request message for LineItemService.DuplicateLineItem. + public class DuplicateLineItemRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The display name of the new line item. Must be UTF-8 encoded with a maximum size of 240 bytes. + /// + [Newtonsoft.Json.JsonPropertyAttribute("targetDisplayName")] + public virtual string TargetDisplayName { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class DuplicateLineItemResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The ID of the created line item. + [Newtonsoft.Json.JsonPropertyAttribute("duplicateLineItemId")] + public virtual System.Nullable DuplicateLineItemId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Request message for FirstAndThirdPartyAudienceService.EditCustomerMatchMembers. + public class EditCustomerMatchMembersRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// Input only. A list of contact information to define the members to be added. + [Newtonsoft.Json.JsonPropertyAttribute("addedContactInfoList")] + public virtual ContactInfoList AddedContactInfoList { get; set; } + + /// Input only. A list of mobile device IDs to define the members to be added. + [Newtonsoft.Json.JsonPropertyAttribute("addedMobileDeviceIdList")] + public virtual MobileDeviceIdList AddedMobileDeviceIdList { get; set; } + + /// + /// Required. The ID of the owner advertiser of the updated Customer Match FirstAndThirdPartyAudience. + /// + [Newtonsoft.Json.JsonPropertyAttribute("advertiserId")] + public virtual System.Nullable AdvertiserId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// The response of FirstAndThirdPartyAudienceService.EditCustomerMatchMembers. + public class EditCustomerMatchMembersResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. The ID of the updated Customer Match FirstAndThirdPartyAudience. + [Newtonsoft.Json.JsonPropertyAttribute("firstAndThirdPartyAudienceId")] + public virtual System.Nullable FirstAndThirdPartyAudienceId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Request message for GuaranteedOrderService.EditGuaranteedOrderReadAccessors. + public class EditGuaranteedOrderReadAccessorsRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// The advertisers to add as read accessors to the guaranteed order. + [Newtonsoft.Json.JsonPropertyAttribute("addedAdvertisers")] + public virtual System.Collections.Generic.IList> AddedAdvertisers { get; set; } + + /// Required. The partner context in which the change is being made. + [Newtonsoft.Json.JsonPropertyAttribute("partnerId")] + public virtual System.Nullable PartnerId { get; set; } + + /// + /// Whether to give all advertisers of the read/write accessor partner read access to the guaranteed order. Only + /// applicable if read_write_partner_id is set in the guaranteed order. + /// + [Newtonsoft.Json.JsonPropertyAttribute("readAccessInherited")] + public virtual System.Nullable ReadAccessInherited { get; set; } + + /// The advertisers to remove as read accessors to the guaranteed order. + [Newtonsoft.Json.JsonPropertyAttribute("removedAdvertisers")] + public virtual System.Collections.Generic.IList> RemovedAdvertisers { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class EditGuaranteedOrderReadAccessorsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Whether all advertisers of read_write_partner_id have read access to the guaranteed order. + /// + [Newtonsoft.Json.JsonPropertyAttribute("readAccessInherited")] + public virtual System.Nullable ReadAccessInherited { get; set; } + + /// The IDs of advertisers with read access to the guaranteed order. + [Newtonsoft.Json.JsonPropertyAttribute("readAdvertiserIds")] + public virtual System.Collections.Generic.IList> ReadAdvertiserIds { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Request message for InventorySourceService.EditInventorySourceReadWriteAccessors. + public class EditInventorySourceReadWriteAccessorsRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The advertisers to add or remove from the list of advertisers that have read/write access to the inventory + /// source. This change will remove an existing partner read/write accessor. + /// + [Newtonsoft.Json.JsonPropertyAttribute("advertisersUpdate")] + public virtual EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate AdvertisersUpdate { get; set; } + + /// + /// Set the partner context as read/write accessor of the inventory source. This will remove all other current + /// read/write advertiser accessors. + /// + [Newtonsoft.Json.JsonPropertyAttribute("assignPartner")] + public virtual System.Nullable AssignPartner { get; set; } + + /// Required. The partner context by which the accessors change is being made. + [Newtonsoft.Json.JsonPropertyAttribute("partnerId")] + public virtual System.Nullable PartnerId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Update to the list of advertisers with read/write access to the inventory source. + public class EditInventorySourceReadWriteAccessorsRequestAdvertisersUpdate : Google.Apis.Requests.IDirectResponseSchema + { + /// The advertisers to add. + [Newtonsoft.Json.JsonPropertyAttribute("addedAdvertisers")] + public virtual System.Collections.Generic.IList> AddedAdvertisers { get; set; } + + /// The advertisers to remove. + [Newtonsoft.Json.JsonPropertyAttribute("removedAdvertisers")] + public virtual System.Collections.Generic.IList> RemovedAdvertisers { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// 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); } + /// + public class Empty : Google.Apis.Requests.IDirectResponseSchema + { + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Assigned environment targeting option details. This will be populated in the details field of an + /// AssignedTargetingOption when targeting_type is `TARGETING_TYPE_ENVIRONMENT`. + /// + public class EnvironmentAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. The serving environment. + [Newtonsoft.Json.JsonPropertyAttribute("environment")] + public virtual string Environment { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Represents a targetable environment. This will be populated in the environment_details field of a + /// TargetingOption when targeting_type is `TARGETING_TYPE_ENVIRONMENT`. + /// + public class EnvironmentTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The serving environment. + [Newtonsoft.Json.JsonPropertyAttribute("environment")] + public virtual string Environment { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Details for assigned exchange targeting option. This will be populated in the details field of an + /// AssignedTargetingOption when targeting_type is `TARGETING_TYPE_EXCHANGE`. + /// + public class ExchangeAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. The enum value for the exchange. + [Newtonsoft.Json.JsonPropertyAttribute("exchange")] + public virtual string Exchange { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Settings that control which exchanges are enabled for a partner. + public class ExchangeConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// All enabled exchanges in the partner. Duplicate enabled exchanges will be ignored. + [Newtonsoft.Json.JsonPropertyAttribute("enabledExchanges")] + public virtual System.Collections.Generic.IList EnabledExchanges { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// An enabled exchange in the partner. + public class ExchangeConfigEnabledExchange : Google.Apis.Requests.IDirectResponseSchema + { + /// The enabled exchange. + [Newtonsoft.Json.JsonPropertyAttribute("exchange")] + public virtual string Exchange { get; set; } + + /// + /// Output only. Agency ID of Google Ad Manager. The field is only relevant when Google Ad Manager is the + /// enabled exchange. + /// + [Newtonsoft.Json.JsonPropertyAttribute("googleAdManagerAgencyId")] + public virtual string GoogleAdManagerAgencyId { get; set; } + + /// + /// Output only. Network ID of Google Ad Manager. The field is only relevant when Google Ad Manager is the + /// enabled exchange. + /// + [Newtonsoft.Json.JsonPropertyAttribute("googleAdManagerBuyerNetworkId")] + public virtual string GoogleAdManagerBuyerNetworkId { get; set; } + + /// Output only. Seat ID of the enabled exchange. + [Newtonsoft.Json.JsonPropertyAttribute("seatId")] + public virtual string SeatId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Exchange review status for the creative. + public class ExchangeReviewStatus : Google.Apis.Requests.IDirectResponseSchema + { + /// The exchange reviewing the creative. + [Newtonsoft.Json.JsonPropertyAttribute("exchange")] + public virtual string Exchange { get; set; } + + /// Status of the exchange review. + [Newtonsoft.Json.JsonPropertyAttribute("status")] + public virtual string Status { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Represents a targetable exchange. This will be populated in the exchange_details field of a TargetingOption when + /// targeting_type is `TARGETING_TYPE_EXCHANGE`. + /// + public class ExchangeTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The type of exchange. + [Newtonsoft.Json.JsonPropertyAttribute("exchange")] + public virtual string Exchange { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Exit event of the creative. + public class ExitEvent : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The name of the click tag of the exit event. The name must be unique within one creative. Leave it empty or + /// unset for creatives containing image assets only. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// + /// The name used to identify this event in reports. Leave it empty or unset for creatives containing image + /// assets only. + /// + [Newtonsoft.Json.JsonPropertyAttribute("reportingName")] + public virtual string ReportingName { get; set; } + + /// Required. The type of the exit event. + [Newtonsoft.Json.JsonPropertyAttribute("type")] + public virtual string Type { get; set; } + + /// + /// Required. The click through URL of the exit event. This is required when type is: * + /// `EXIT_EVENT_TYPE_DEFAULT` * `EXIT_EVENT_TYPE_BACKUP` + /// + [Newtonsoft.Json.JsonPropertyAttribute("url")] + public virtual string Url { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Describes a first or third party audience list used for targeting. First party audiences are created via usage + /// of client data. Third party audiences are provided by Third Party data providers and can only be licensed to + /// customers. + /// + public class FirstAndThirdPartyAudience : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Output only. The estimated audience size for the Display network in the past month. If the size is less than + /// 1000, the number will be hidden and 0 will be returned due to privacy reasons. Otherwise, the number will be + /// rounded off to two significant digits. Only returned in GET request. + /// + [Newtonsoft.Json.JsonPropertyAttribute("activeDisplayAudienceSize")] + public virtual System.Nullable ActiveDisplayAudienceSize { get; set; } + + /// + /// The app_id matches with the type of the mobile_device_ids being uploaded. Only applicable to audience_type + /// `CUSTOMER_MATCH_DEVICE_ID` + /// + [Newtonsoft.Json.JsonPropertyAttribute("appId")] + public virtual string AppId { get; set; } + + /// Output only. The source of the audience. + [Newtonsoft.Json.JsonPropertyAttribute("audienceSource")] + public virtual string AudienceSource { get; set; } + + /// The type of the audience. + [Newtonsoft.Json.JsonPropertyAttribute("audienceType")] + public virtual string AudienceType { get; set; } + + /// + /// Input only. A list of contact information to define the initial audience members. Only applicable to + /// audience_type `CUSTOMER_MATCH_CONTACT_INFO` + /// + [Newtonsoft.Json.JsonPropertyAttribute("contactInfoList")] + public virtual ContactInfoList ContactInfoList { get; set; } + + /// The user-provided description of the audience. Only applicable to first party audiences. + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// + /// Output only. The estimated audience size for the Display network. If the size is less than 1000, the number + /// will be hidden and 0 will be returned due to privacy reasons. Otherwise, the number will be rounded off to + /// two significant digits. Only returned in GET request. + /// + [Newtonsoft.Json.JsonPropertyAttribute("displayAudienceSize")] + public virtual System.Nullable DisplayAudienceSize { get; set; } + + /// + /// Output only. The estimated desktop audience size in Display network. If the size is less than 1000, the + /// number will be hidden and 0 will be returned due to privacy reasons. Otherwise, the number will be rounded + /// off to two significant digits. Only applicable to first party audiences. Only returned in GET request. + /// + [Newtonsoft.Json.JsonPropertyAttribute("displayDesktopAudienceSize")] + public virtual System.Nullable DisplayDesktopAudienceSize { get; set; } + + /// + /// Output only. The estimated mobile app audience size in Display network. If the size is less than 1000, the + /// number will be hidden and 0 will be returned due to privacy reasons. Otherwise, the number will be rounded + /// off to two significant digits. Only applicable to first party audiences. Only returned in GET request. + /// + [Newtonsoft.Json.JsonPropertyAttribute("displayMobileAppAudienceSize")] + public virtual System.Nullable DisplayMobileAppAudienceSize { get; set; } + + /// + /// Output only. The estimated mobile web audience size in Display network. If the size is less than 1000, the + /// number will be hidden and 0 will be returned due to privacy reasons. Otherwise, the number will be rounded + /// off to two significant digits. Only applicable to first party audiences. Only returned in GET request. + /// + [Newtonsoft.Json.JsonPropertyAttribute("displayMobileWebAudienceSize")] + public virtual System.Nullable DisplayMobileWebAudienceSize { get; set; } + + /// The display name of the first and third party audience. + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// Output only. The unique ID of the first and third party audience. Assigned by the system. + [Newtonsoft.Json.JsonPropertyAttribute("firstAndThirdPartyAudienceId")] + public virtual System.Nullable FirstAndThirdPartyAudienceId { get; set; } + + /// Whether the audience is a first or third party audience. + [Newtonsoft.Json.JsonPropertyAttribute("firstAndThirdPartyAudienceType")] + public virtual string FirstAndThirdPartyAudienceType { get; set; } + + /// + /// Output only. The estimated audience size for Gmail network. If the size is less than 1000, the number will + /// be hidden and 0 will be returned due to privacy reasons. Otherwise, the number will be rounded off to two + /// significant digits. Only applicable to first party audiences. Only returned in GET request. + /// + [Newtonsoft.Json.JsonPropertyAttribute("gmailAudienceSize")] + public virtual System.Nullable GmailAudienceSize { get; set; } + + /// + /// The duration in days that an entry remains in the audience after the qualifying event. If the audience has + /// no expiration, set the value of this field to 10000. Otherwise, the set value must be greater than 0 and + /// less than or equal to 540. Only applicable to first party audiences. This field is required if one of the + /// following audience_type is used: * `CUSTOMER_MATCH_CONTACT_INFO` * `CUSTOMER_MATCH_DEVICE_ID` + /// + [Newtonsoft.Json.JsonPropertyAttribute("membershipDurationDays")] + public virtual System.Nullable MembershipDurationDays { get; set; } + + /// + /// Input only. A list of mobile device IDs to define the initial audience members. Only applicable to + /// audience_type `CUSTOMER_MATCH_DEVICE_ID` + /// + [Newtonsoft.Json.JsonPropertyAttribute("mobileDeviceIdList")] + public virtual MobileDeviceIdList MobileDeviceIdList { get; set; } + + /// Output only. The resource name of the first and third party audience. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// + /// Output only. The estimated audience size for YouTube network. If the size is less than 1000, the number will + /// be hidden and 0 will be returned due to privacy reasons. Otherwise, the number will be rounded off to two + /// significant digits. Only applicable to first party audiences. Only returned in GET request. + /// + [Newtonsoft.Json.JsonPropertyAttribute("youtubeAudienceSize")] + public virtual System.Nullable YoutubeAudienceSize { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Details of first and third party audience group. All first and third party audience targeting settings are + /// logically ‘OR’ of each other. + /// + public class FirstAndThirdPartyAudienceGroup : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Required. All first and third party audience targeting settings in first and third party audience group. + /// Repeated settings with same id are not allowed. + /// + [Newtonsoft.Json.JsonPropertyAttribute("settings")] + public virtual System.Collections.Generic.IList Settings { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Details of first and third party audience targeting setting. + public class FirstAndThirdPartyAudienceTargetingSetting : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Required. First and third party audience id of the first and third party audience targeting setting. This id + /// is first_and_third_party_audience_id. + /// + [Newtonsoft.Json.JsonPropertyAttribute("firstAndThirdPartyAudienceId")] + public virtual System.Nullable FirstAndThirdPartyAudienceId { get; set; } + + /// + /// The recency of the first and third party audience targeting setting. Only applicable to first party + /// audiences, otherwise will be ignored. For more info, refer to + /// https://support.google.com/displayvideo/answer/2949947#recency When unspecified, no recency limit will be + /// used. + /// + [Newtonsoft.Json.JsonPropertyAttribute("recency")] + public virtual string Recency { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A strategy that uses a fixed bidding price. + public class FixedBidStrategy : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The fixed bid amount, in micros of the advertiser's currency. For insertion order entity, bid_amount_micros + /// should be set as 0. For line item entity, bid_amount_micros must be greater than or equal to billable unit + /// of the given currency and smaller than or equal to the upper limit 1000000000. For example, 1500000 + /// represents 1.5 standard units of the currency. + /// + [Newtonsoft.Json.JsonPropertyAttribute("bidAmountMicros")] + public virtual System.Nullable BidAmountMicros { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A single Floodlight group. + public class FloodlightGroup : Google.Apis.Requests.IDirectResponseSchema + { + /// The Active View video viewability metric configuration for the Floodlight group. + [Newtonsoft.Json.JsonPropertyAttribute("activeViewConfig")] + public virtual ActiveViewVideoViewabilityMetricConfig ActiveViewConfig { get; set; } + + /// + /// User-defined custom variables owned by the Floodlight group. Use custom Floodlight variables to create + /// reporting data that is tailored to your unique business needs. Custom Floodlight variables use the keys + /// `U1=`, `U2=`, and so on, and can take any values that you choose to pass to them. You can use them to track + /// virtually any type of data that you collect about your customers, such as the genre of movie that a customer + /// purchases, the country to which the item is shipped, and so on. Custom Floodlight variables may not be used + /// to pass any data that could be used or recognized as personally identifiable information (PII). Example: + /// `custom_variables { fields { "U1": value { number_value: 123.4 }, "U2": value { string_value: "MyVariable2" + /// }, "U3": value { string_value: "MyVariable3" } } }` Acceptable values for keys are "U1" through "U100", + /// inclusive. String values must be less than 64 characters long, and cannot contain the following characters: + /// `"&lt;&gt;`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("customVariables")] + public virtual System.Collections.Generic.IDictionary CustomVariables { get; set; } + + /// Required. The display name of the Floodlight group. + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// Output only. The unique ID of the Floodlight group. Assigned by the system. + [Newtonsoft.Json.JsonPropertyAttribute("floodlightGroupId")] + public virtual System.Nullable FloodlightGroupId { get; set; } + + /// + /// Required. The lookback window for the Floodlight group. Both click_days and impression_days are required. + /// Acceptable values for both are `0` to `90`, inclusive. + /// + [Newtonsoft.Json.JsonPropertyAttribute("lookbackWindow")] + public virtual LookbackWindow LookbackWindow { get; set; } + + /// Output only. The resource name of the Floodlight group. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Required. The web tag type enabled for the Floodlight group. + [Newtonsoft.Json.JsonPropertyAttribute("webTagType")] + public virtual string WebTagType { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Settings that control the number of times a user may be shown with the same ad during a given time period. + /// + public class FrequencyCap : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The maximum number of times a user may be shown the same ad during this period. Must be greater than 0. + /// Required when unlimited is `false` and max_views is not set. + /// + [Newtonsoft.Json.JsonPropertyAttribute("maxImpressions")] + public virtual System.Nullable MaxImpressions { get; set; } + + /// + /// The maximum number of times a user may click-through or fully view an ad during this period until it is no + /// longer served to them. Must be greater than 0. Only applicable to YouTube and Partners resources. Required + /// when unlimited is `false` and max_impressions is not set. + /// + [Newtonsoft.Json.JsonPropertyAttribute("maxViews")] + public virtual System.Nullable MaxViews { get; set; } + + /// + /// The time unit in which the frequency cap will be applied. Required when unlimited is `false`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("timeUnit")] + public virtual string TimeUnit { get; set; } + + /// + /// The number of time_unit the frequency cap will last. Required when unlimited is `false`. The following + /// restrictions apply based on the value of time_unit: * `TIME_UNIT_LIFETIME` - this field is output only and + /// will default to 1 * `TIME_UNIT_MONTHS` - must be between 1 and 2 * `TIME_UNIT_WEEKS` - must be between 1 and + /// 4 * `TIME_UNIT_DAYS` - must be between 1 and 6 * `TIME_UNIT_HOURS` - must be between 1 and 23 * + /// `TIME_UNIT_MINUTES` - must be between 1 and 59 + /// + [Newtonsoft.Json.JsonPropertyAttribute("timeUnitCount")] + public virtual System.Nullable TimeUnitCount { get; set; } + + /// + /// Whether unlimited frequency capping is applied. When this field is set to `true`, the remaining frequency + /// cap fields are not applicable. + /// + [Newtonsoft.Json.JsonPropertyAttribute("unlimited")] + public virtual System.Nullable Unlimited { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Details for assigned gender targeting option. This will be populated in the details field of an + /// AssignedTargetingOption when targeting_type is `TARGETING_TYPE_GENDER`. + /// + public class GenderAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. The gender of the audience. + [Newtonsoft.Json.JsonPropertyAttribute("gender")] + public virtual string Gender { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Represents a targetable gender. This will be populated in the gender_details field of a TargetingOption when + /// targeting_type is `TARGETING_TYPE_GENDER`. + /// + public class GenderTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The gender of an audience. + [Newtonsoft.Json.JsonPropertyAttribute("gender")] + public virtual string Gender { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Request message for LineItemService.GenerateDefaultLineItem. + public class GenerateDefaultLineItemRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Required. The display name of the line item. Must be UTF-8 encoded with a maximum size of 240 bytes. + /// + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// Required. The unique ID of the insertion order that the line item belongs to. + [Newtonsoft.Json.JsonPropertyAttribute("insertionOrderId")] + public virtual System.Nullable InsertionOrderId { get; set; } + + /// Required. The type of the line item. + [Newtonsoft.Json.JsonPropertyAttribute("lineItemType")] + public virtual string LineItemType { get; set; } + + /// + /// The mobile app promoted by the line item. This is applicable only when line_item_type is either + /// `LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL` or `LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("mobileApp")] + public virtual MobileApp MobileApp { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Details for assigned geographic region targeting option. This will be populated in the details field of an + /// AssignedTargetingOption when targeting_type is `TARGETING_TYPE_GEO_REGION`. + /// + public class GeoRegionAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The display name of the geographic region (e.g., "Ontario, Canada"). + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// Output only. The type of geographic region targeting. + [Newtonsoft.Json.JsonPropertyAttribute("geoRegionType")] + public virtual string GeoRegionType { get; set; } + + /// Indicates if this option is being negatively targeted. + [Newtonsoft.Json.JsonPropertyAttribute("negative")] + public virtual System.Nullable Negative { get; set; } + + /// + /// Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_GEO_REGION`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("targetingOptionId")] + public virtual string TargetingOptionId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Search terms for geo region targeting options. + public class GeoRegionSearchTerms : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The search query for the desired geo region. The query can be a prefix, e.g. "New Yor", "Seattle", "USA", + /// etc. + /// + [Newtonsoft.Json.JsonPropertyAttribute("geoRegionQuery")] + public virtual string GeoRegionQuery { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Represents a targetable geographic region. This will be populated in the geo_region_details field when + /// targeting_type is `TARGETING_TYPE_GEO_REGION`. + /// + public class GeoRegionTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The display name of the geographic region (e.g., "Ontario, Canada"). + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// Output only. The type of geographic region targeting. + [Newtonsoft.Json.JsonPropertyAttribute("geoRegionType")] + public virtual string GeoRegionType { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Describes a Google audience resource. Includes Google audience lists. + public class GoogleAudience : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The display name of the Google audience. . + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// Output only. The unique ID of the Google audience. Assigned by the system. + [Newtonsoft.Json.JsonPropertyAttribute("googleAudienceId")] + public virtual System.Nullable GoogleAudienceId { get; set; } + + /// Output only. The type of Google audience. . + [Newtonsoft.Json.JsonPropertyAttribute("googleAudienceType")] + public virtual string GoogleAudienceType { get; set; } + + /// Output only. The resource name of the google audience. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Details of Google audience group. All Google audience targeting settings are logically ‘OR’ of each other. + /// + public class GoogleAudienceGroup : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Required. All Google audience targeting settings in Google audience group. Repeated settings with same id + /// will be ignored. + /// + [Newtonsoft.Json.JsonPropertyAttribute("settings")] + public virtual System.Collections.Generic.IList Settings { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Details of Google audience targeting setting. + public class GoogleAudienceTargetingSetting : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Required. Google audience id of the Google audience targeting setting. This id is google_audience_id. + /// + [Newtonsoft.Json.JsonPropertyAttribute("googleAudienceId")] + public virtual System.Nullable GoogleAudienceId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Media resource. + public class GoogleBytestreamMedia : Google.Apis.Requests.IDirectResponseSchema + { + /// Name of the media resource. + [Newtonsoft.Json.JsonPropertyAttribute("resourceName")] + public virtual string ResourceName { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// A guaranteed order. Guaranteed orders are parent entity of guaranteed inventory sources. When creating a + /// guaranteed inventory source, a guaranteed order ID must be assigned to the inventory source. + /// + public class GuaranteedOrder : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Output only. The ID of default advertiser of the guaranteed order. The default advertiser is either the + /// read_write_advertiser_id or, if that is not set, the first advertiser listed in read_advertiser_ids. + /// Otherwise, there is no default advertiser. + /// + [Newtonsoft.Json.JsonPropertyAttribute("defaultAdvertiserId")] + public virtual System.Nullable DefaultAdvertiserId { get; set; } + + /// + /// The ID of the default campaign that is assigned to the guaranteed order. The default campaign must belong to + /// the default advertiser. + /// + [Newtonsoft.Json.JsonPropertyAttribute("defaultCampaignId")] + public virtual System.Nullable DefaultCampaignId { get; set; } + + /// + /// Required. The display name of the guaranteed order. Must be UTF-8 encoded with a maximum size of 240 bytes. + /// + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// Required. Immutable. The exchange where the guaranteed order originated. + [Newtonsoft.Json.JsonPropertyAttribute("exchange")] + public virtual string Exchange { get; set; } + + /// + /// Output only. The unique identifier of the guaranteed order. The guaranteed order IDs have the format + /// `{exchange}-{legacy_guaranteed_order_id}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("guaranteedOrderId")] + public virtual string GuaranteedOrderId { get; set; } + + /// + /// Output only. The legacy ID of the guaranteed order. Assigned by the original exchange. The legacy ID is + /// unique within one exchange, but is not guaranteed to be unique across all guaranteed orders. This ID is used + /// in SDF and UI. + /// + [Newtonsoft.Json.JsonPropertyAttribute("legacyGuaranteedOrderId")] + public virtual string LegacyGuaranteedOrderId { get; set; } + + /// Output only. The resource name of the guaranteed order. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// + /// Required. The publisher name of the guaranteed order. Must be UTF-8 encoded with a maximum size of 240 + /// bytes. + /// + [Newtonsoft.Json.JsonPropertyAttribute("publisherName")] + public virtual string PublisherName { get; set; } + + /// + /// Whether all advertisers of read_write_partner_id have read access to the guaranteed order. Only applicable + /// if read_write_partner_id is set. If True, overrides read_advertiser_ids. + /// + [Newtonsoft.Json.JsonPropertyAttribute("readAccessInherited")] + public virtual System.Nullable ReadAccessInherited { get; set; } + + /// + /// The IDs of advertisers with read access to the guaranteed order. This field must not include the advertiser + /// assigned to read_write_advertiser_id if it is set. All advertisers in this field must belong to + /// read_write_partner_id or the same partner as read_write_advertiser_id. + /// + [Newtonsoft.Json.JsonPropertyAttribute("readAdvertiserIds")] + public virtual System.Collections.Generic.IList> ReadAdvertiserIds { get; set; } + + /// + /// The advertiser with read/write access to the guaranteed order. This is also the default advertiser of the + /// guaranteed order. + /// + [Newtonsoft.Json.JsonPropertyAttribute("readWriteAdvertiserId")] + public virtual System.Nullable ReadWriteAdvertiserId { get; set; } + + /// The partner with read/write access to the guaranteed order. + [Newtonsoft.Json.JsonPropertyAttribute("readWritePartnerId")] + public virtual System.Nullable ReadWritePartnerId { get; set; } + + /// The status settings of the guaranteed order. + [Newtonsoft.Json.JsonPropertyAttribute("status")] + public virtual GuaranteedOrderStatus Status { get; set; } + + private string _updateTimeRaw; + + private object _updateTime; + + /// + /// Output only. The timestamp when the guaranteed order was last updated. Assigned by the system. + /// + [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] + public virtual string UpdateTimeRaw + { + get => _updateTimeRaw; + set + { + _updateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _updateTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use UpdateTimeDateTimeOffset instead.")] + public virtual object UpdateTime + { + get => _updateTime; + set + { + _updateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _updateTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset + { + get => Google.Apis.Util.Utilities.GetDateTimeOffsetFromString(UpdateTimeRaw); + set => UpdateTimeRaw = Google.Apis.Util.Utilities.GetStringFromDateTimeOffset(value); + } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// The status settings of the guaranteed order. + public class GuaranteedOrderStatus : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Output only. The configuration status of the guaranteed order. Acceptable values are `PENDING` and + /// `COMPLETED`. A guaranteed order must be configured (fill in the required fields, choose creatives, and + /// select a default campaign) before it can serve. Currently the configuration action can only be performed via + /// UI. + /// + [Newtonsoft.Json.JsonPropertyAttribute("configStatus")] + public virtual string ConfigStatus { get; set; } + + /// + /// The user-provided reason for pausing this guaranteed order. Must be UTF-8 encoded with a maximum length of + /// 100 bytes. Only applicable when entity_status is set to `ENTITY_STATUS_PAUSED`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("entityPauseReason")] + public virtual string EntityPauseReason { get; set; } + + /// + /// Whether or not the guaranteed order is servable. Acceptable values are `ENTITY_STATUS_ACTIVE`, + /// `ENTITY_STATUS_ARCHIVED`, and `ENTITY_STATUS_PAUSED`. Default value is `ENTITY_STATUS_ACTIVE`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("entityStatus")] + public virtual string EntityStatus { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Details for assigned household income targeting option. This will be populated in the details field of an + /// AssignedTargetingOption when targeting_type is `TARGETING_TYPE_HOUSEHOLD_INCOME`. + /// + public class HouseholdIncomeAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. The household income of the audience. + [Newtonsoft.Json.JsonPropertyAttribute("householdIncome")] + public virtual string HouseholdIncome { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Represents a targetable household income. This will be populated in the household_income_details field of a + /// TargetingOption when targeting_type is `TARGETING_TYPE_HOUSEHOLD_INCOME`. + /// + public class HouseholdIncomeTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The household income of an audience. + [Newtonsoft.Json.JsonPropertyAttribute("householdIncome")] + public virtual string HouseholdIncome { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A filtering option that filters entities by their entity IDs. + public class IdFilter : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// YouTube Ads to download by ID. All IDs must belong to the same Advertiser or Partner specified in + /// CreateSdfDownloadTaskRequest. + /// + [Newtonsoft.Json.JsonPropertyAttribute("adGroupAdIds")] + public virtual System.Collections.Generic.IList> AdGroupAdIds { get; set; } + + /// + /// YouTube Ad Groups to download by ID. All IDs must belong to the same Advertiser or Partner specified in + /// CreateSdfDownloadTaskRequest. + /// + [Newtonsoft.Json.JsonPropertyAttribute("adGroupIds")] + public virtual System.Collections.Generic.IList> AdGroupIds { get; set; } + + /// + /// Campaigns to download by ID. All IDs must belong to the same Advertiser or Partner specified in + /// CreateSdfDownloadTaskRequest. + /// + [Newtonsoft.Json.JsonPropertyAttribute("campaignIds")] + public virtual System.Collections.Generic.IList> CampaignIds { get; set; } + + /// + /// Insertion Orders to download by ID. All IDs must belong to the same Advertiser or Partner specified in + /// CreateSdfDownloadTaskRequest. + /// + [Newtonsoft.Json.JsonPropertyAttribute("insertionOrderIds")] + public virtual System.Collections.Generic.IList> InsertionOrderIds { get; set; } + + /// + /// Line Items to download by ID. All IDs must belong to the same Advertiser or Partner specified in + /// CreateSdfDownloadTaskRequest. + /// + [Newtonsoft.Json.JsonPropertyAttribute("lineItemIds")] + public virtual System.Collections.Generic.IList> LineItemIds { get; set; } + + /// + /// Media Products to download by ID. All IDs must belong to the same Advertiser or Partner specified in + /// CreateSdfDownloadTaskRequest. + /// + [Newtonsoft.Json.JsonPropertyAttribute("mediaProductIds")] + public virtual System.Collections.Generic.IList> MediaProductIds { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Meta data of an image asset. + public class ImageAsset : Google.Apis.Requests.IDirectResponseSchema + { + /// File size of the image asset in bytes. + [Newtonsoft.Json.JsonPropertyAttribute("fileSize")] + public virtual System.Nullable FileSize { get; set; } + + /// Metadata for this image at its original size. + [Newtonsoft.Json.JsonPropertyAttribute("fullSize")] + public virtual Dimensions FullSize { get; set; } + + /// MIME type of the image asset. + [Newtonsoft.Json.JsonPropertyAttribute("mimeType")] + public virtual string MimeType { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Details for an in-stream ad. + public class InStreamAd : Google.Apis.Requests.IDirectResponseSchema + { + /// Common ad attributes. + [Newtonsoft.Json.JsonPropertyAttribute("commonInStreamAttribute")] + public virtual CommonInStreamAttribute CommonInStreamAttribute { get; set; } + + /// The custom parameters to pass custom values to tracking URL template. + [Newtonsoft.Json.JsonPropertyAttribute("customParameters")] + public virtual System.Collections.Generic.IDictionary CustomParameters { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A single insertion order. + public class InsertionOrder : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The unique ID of the advertiser the insertion order belongs to. + [Newtonsoft.Json.JsonPropertyAttribute("advertiserId")] + public virtual System.Nullable AdvertiserId { get; set; } + + /// The bidding strategy of the insertion order. By default, fixed_bid is set. + [Newtonsoft.Json.JsonPropertyAttribute("bidStrategy")] + public virtual BiddingStrategy BidStrategy { get; set; } + + /// Required. The budget allocation settings of the insertion order. + [Newtonsoft.Json.JsonPropertyAttribute("budget")] + public virtual InsertionOrderBudget Budget { get; set; } + + /// Required. Immutable. The unique ID of the campaign that the insertion order belongs to. + [Newtonsoft.Json.JsonPropertyAttribute("campaignId")] + public virtual System.Nullable CampaignId { get; set; } + + /// + /// Required. The display name of the insertion order. Must be UTF-8 encoded with a maximum size of 240 bytes. + /// + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// + /// Required. Controls whether or not the insertion order can spend its budget and bid on inventory. * For + /// CreateInsertionOrder method, only `ENTITY_STATUS_DRAFT` is allowed. To activate an insertion order, use + /// UpdateInsertionOrder method and update the status to `ENTITY_STATUS_ACTIVE` after creation. * An insertion + /// order cannot be changed back to `ENTITY_STATUS_DRAFT` status from any other status. * An insertion order + /// cannot be set to `ENTITY_STATUS_ACTIVE` if its parent campaign is not active. + /// + [Newtonsoft.Json.JsonPropertyAttribute("entityStatus")] + public virtual string EntityStatus { get; set; } + + /// Required. The frequency capping setting of the insertion order. + [Newtonsoft.Json.JsonPropertyAttribute("frequencyCap")] + public virtual FrequencyCap FrequencyCap { get; set; } + + /// Output only. The unique ID of the insertion order. Assigned by the system. + [Newtonsoft.Json.JsonPropertyAttribute("insertionOrderId")] + public virtual System.Nullable InsertionOrderId { get; set; } + + /// + /// The type of insertion order. If this field is unspecified in creation, the value defaults to `RTB`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("insertionOrderType")] + public virtual string InsertionOrderType { get; set; } + + /// Additional integration details of the insertion order. + [Newtonsoft.Json.JsonPropertyAttribute("integrationDetails")] + public virtual IntegrationDetails IntegrationDetails { get; set; } + + /// + /// Required. The key performance indicator (KPI) of the insertion order. This is represented as referred to as + /// the "Goal" in the Display &amp; Video 360 interface. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kpi")] + public virtual Kpi Kpi { get; set; } + + /// Output only. The resource name of the insertion order. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Required. The budget spending speed setting of the insertion order. + [Newtonsoft.Json.JsonPropertyAttribute("pacing")] + public virtual Pacing Pacing { get; set; } + + /// + /// The partner costs associated with the insertion order. If absent or empty in CreateInsertionOrder method, + /// the newly created insertion order will inherit partner costs from the partner settings. + /// + [Newtonsoft.Json.JsonPropertyAttribute("partnerCosts")] + public virtual System.Collections.Generic.IList PartnerCosts { get; set; } + + /// Output only. The reservation type of the insertion order. + [Newtonsoft.Json.JsonPropertyAttribute("reservationType")] + public virtual string ReservationType { get; set; } + + private string _updateTimeRaw; + + private object _updateTime; + + /// + /// Output only. The timestamp when the insertion order was last updated. Assigned by the system. + /// + [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] + public virtual string UpdateTimeRaw + { + get => _updateTimeRaw; + set + { + _updateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _updateTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use UpdateTimeDateTimeOffset instead.")] + public virtual object UpdateTime + { + get => _updateTime; + set + { + _updateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _updateTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset + { + get => Google.Apis.Util.Utilities.GetDateTimeOffsetFromString(UpdateTimeRaw); + set => UpdateTimeRaw = Google.Apis.Util.Utilities.GetStringFromDateTimeOffset(value); + } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Settings that control how insertion order budget is allocated. + public class InsertionOrderBudget : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The type of automation used to manage bid and budget for the insertion order. If this field is unspecified + /// in creation, the value defaults to `INSERTION_ORDER_AUTOMATION_TYPE_NONE`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("automationType")] + public virtual string AutomationType { get; set; } + + /// + /// Required. The list of budget segments. Use a budget segment to specify a specific budget for a given period + /// of time an insertion order is running. + /// + [Newtonsoft.Json.JsonPropertyAttribute("budgetSegments")] + public virtual System.Collections.Generic.IList BudgetSegments { get; set; } + + /// + /// Required. Immutable. The budget unit specifies whether the budget is currency based or impression based. + /// + [Newtonsoft.Json.JsonPropertyAttribute("budgetUnit")] + public virtual string BudgetUnit { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Settings that control the budget of a single budget segment. + public class InsertionOrderBudgetSegment : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Required. The budget amount the insertion order will spend for the given date_range. The amount is in + /// micros. Must be greater than 0. For example, 500000000 represents 500 standard units of the currency. + /// + [Newtonsoft.Json.JsonPropertyAttribute("budgetAmountMicros")] + public virtual System.Nullable BudgetAmountMicros { get; set; } + + /// + /// The budget_id of the campaign budget that this insertion order budget segment is a part of. + /// + [Newtonsoft.Json.JsonPropertyAttribute("campaignBudgetId")] + public virtual System.Nullable CampaignBudgetId { get; set; } + + /// + /// Required. The start and end date settings of the budget segment. They are resolved relative to the parent + /// advertiser's time zone. * When creating a new budget segment, both `start_date` and `end_date` must be in + /// the future. * An existing budget segment with a `start_date` in the past has a mutable `end_date` but an + /// immutable `start_date`. * `end_date` must be the `start_date` or later, both before the year 2037. + /// + [Newtonsoft.Json.JsonPropertyAttribute("dateRange")] + public virtual DateRange DateRange { get; set; } + + /// + /// The budget segment description. It can be used to enter Purchase Order information for each budget segment + /// and have that information printed on the invoices. Must be UTF-8 encoded. + /// + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Details of Integral Ad Science settings. + public class IntegralAdScience : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The custom segment ID provided by Integral Ad Science. The ID must be between `1000001` and `1999999`, + /// inclusive. + /// + [Newtonsoft.Json.JsonPropertyAttribute("customSegmentId")] + public virtual System.Collections.Generic.IList> CustomSegmentId { get; set; } + + /// Display Viewability section (applicable to display line items only). + [Newtonsoft.Json.JsonPropertyAttribute("displayViewability")] + public virtual string DisplayViewability { get; set; } + + /// Brand Safety - **Unrateable**. + [Newtonsoft.Json.JsonPropertyAttribute("excludeUnrateable")] + public virtual System.Nullable ExcludeUnrateable { get; set; } + + /// Ad Fraud settings. + [Newtonsoft.Json.JsonPropertyAttribute("excludedAdFraudRisk")] + public virtual string ExcludedAdFraudRisk { get; set; } + + /// Brand Safety - **Adult content**. + [Newtonsoft.Json.JsonPropertyAttribute("excludedAdultRisk")] + public virtual string ExcludedAdultRisk { get; set; } + + /// Brand Safety - **Alcohol**. + [Newtonsoft.Json.JsonPropertyAttribute("excludedAlcoholRisk")] + public virtual string ExcludedAlcoholRisk { get; set; } + + /// Brand Safety - **Drugs**. + [Newtonsoft.Json.JsonPropertyAttribute("excludedDrugsRisk")] + public virtual string ExcludedDrugsRisk { get; set; } + + /// Brand Safety - **Gambling**. + [Newtonsoft.Json.JsonPropertyAttribute("excludedGamblingRisk")] + public virtual string ExcludedGamblingRisk { get; set; } + + /// Brand Safety - **Hate speech**. + [Newtonsoft.Json.JsonPropertyAttribute("excludedHateSpeechRisk")] + public virtual string ExcludedHateSpeechRisk { get; set; } + + /// Brand Safety - **Illegal downloads**. + [Newtonsoft.Json.JsonPropertyAttribute("excludedIllegalDownloadsRisk")] + public virtual string ExcludedIllegalDownloadsRisk { get; set; } + + /// Brand Safety - **Offensive language**. + [Newtonsoft.Json.JsonPropertyAttribute("excludedOffensiveLanguageRisk")] + public virtual string ExcludedOffensiveLanguageRisk { get; set; } + + /// Brand Safety - **Violence**. + [Newtonsoft.Json.JsonPropertyAttribute("excludedViolenceRisk")] + public virtual string ExcludedViolenceRisk { get; set; } + + /// True advertising quality (applicable to Display line items only). + [Newtonsoft.Json.JsonPropertyAttribute("traqScoreOption")] + public virtual string TraqScoreOption { get; set; } + + /// Video Viewability Section (applicable to video line items only). + [Newtonsoft.Json.JsonPropertyAttribute("videoViewability")] + public virtual string VideoViewability { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Integration details of an entry. + public class IntegrationDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Additional details of the entry in string format. Must be UTF-8 encoded with a length of no more than 1000 + /// characters. + /// + [Newtonsoft.Json.JsonPropertyAttribute("details")] + public virtual string Details { get; set; } + + /// + /// An external identifier to be associated with the entry. The integration code will show up together with the + /// entry in many places in the system, for example, reporting. Must be UTF-8 encoded with a length of no more + /// than 500 characters. + /// + [Newtonsoft.Json.JsonPropertyAttribute("integrationCode")] + public virtual string IntegrationCode { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// An inventory source. + public class InventorySource : Google.Apis.Requests.IDirectResponseSchema + { + /// Whether the inventory source has a guaranteed or non-guaranteed delivery. + [Newtonsoft.Json.JsonPropertyAttribute("commitment")] + public virtual string Commitment { get; set; } + + /// The creative requirements of the inventory source. Not applicable for auction packages. + [Newtonsoft.Json.JsonPropertyAttribute("creativeConfigs")] + public virtual System.Collections.Generic.IList CreativeConfigs { get; set; } + + /// + /// The ID in the exchange space that uniquely identifies the inventory source. Must be unique across buyers + /// within each exchange but not necessarily unique across exchanges. + /// + [Newtonsoft.Json.JsonPropertyAttribute("dealId")] + public virtual string DealId { get; set; } + + /// + /// The delivery method of the inventory source. * For non-guaranteed inventory sources, the only acceptable + /// value is `INVENTORY_SOURCE_DELIVERY_METHOD_PROGRAMMATIC`. * For guaranteed inventory sources, acceptable + /// values are `INVENTORY_SOURCE_DELIVERY_METHOD_TAG` and `INVENTORY_SOURCE_DELIVERY_METHOD_PROGRAMMATIC`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("deliveryMethod")] + public virtual string DeliveryMethod { get; set; } + + /// + /// The display name of the inventory source. Must be UTF-8 encoded with a maximum size of 240 bytes. + /// + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// The exchange to which the inventory source belongs. + [Newtonsoft.Json.JsonPropertyAttribute("exchange")] + public virtual string Exchange { get; set; } + + /// + /// Immutable. The ID of the guaranteed order that this inventory source belongs to. Only applicable when + /// commitment is `INVENTORY_SOURCE_COMMITMENT_GUARANTEED`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("guaranteedOrderId")] + public virtual string GuaranteedOrderId { get; set; } + + /// Output only. The unique ID of the inventory source. Assigned by the system. + [Newtonsoft.Json.JsonPropertyAttribute("inventorySourceId")] + public virtual System.Nullable InventorySourceId { get; set; } + + /// + /// Output only. The product type of the inventory source, denoting the way through which it sells inventory. + /// + [Newtonsoft.Json.JsonPropertyAttribute("inventorySourceProductType")] + public virtual string InventorySourceProductType { get; set; } + + /// Denotes the type of the inventory source. + [Newtonsoft.Json.JsonPropertyAttribute("inventorySourceType")] + public virtual string InventorySourceType { get; set; } + + /// Output only. The resource name of the inventory source. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// The publisher/seller name of the inventory source. + [Newtonsoft.Json.JsonPropertyAttribute("publisherName")] + public virtual string PublisherName { get; set; } + + /// Required. The rate details of the inventory source. + [Newtonsoft.Json.JsonPropertyAttribute("rateDetails")] + public virtual RateDetails RateDetails { get; set; } + + /// Output only. The IDs of advertisers with read-only access to the inventory source. + [Newtonsoft.Json.JsonPropertyAttribute("readAdvertiserIds")] + public virtual System.Collections.Generic.IList> ReadAdvertiserIds { get; set; } + + /// + /// Output only. The IDs of partners with read-only access to the inventory source. All advertisers of partners + /// in this field inherit read-only access to the inventory source. + /// + [Newtonsoft.Json.JsonPropertyAttribute("readPartnerIds")] + public virtual System.Collections.Generic.IList> ReadPartnerIds { get; set; } + + /// + /// The partner or advertisers that have read/write access to the inventory source. Output only when commitment + /// is `INVENTORY_SOURCE_COMMITMENT_GUARANTEED`, in which case the read/write accessors are inherited from the + /// parent guaranteed order. Required when commitment is `INVENTORY_SOURCE_COMMITMENT_NON_GUARANTEED`. If + /// commitment is `INVENTORY_SOURCE_COMMITMENT_NON_GUARANTEED` and a partner is set in this field, all + /// advertisers under this partner will automatically have read-only access to the inventory source. These + /// advertisers will not be included in read_advertiser_ids. + /// + [Newtonsoft.Json.JsonPropertyAttribute("readWriteAccessors")] + public virtual InventorySourceAccessors ReadWriteAccessors { get; set; } + + /// The status settings of the inventory source. + [Newtonsoft.Json.JsonPropertyAttribute("status")] + public virtual InventorySourceStatus Status { get; set; } + + /// The time range when this inventory source starts and stops serving. + [Newtonsoft.Json.JsonPropertyAttribute("timeRange")] + public virtual TimeRange TimeRange { get; set; } + + private string _updateTimeRaw; + + private object _updateTime; + + /// + /// Output only. The timestamp when the inventory source was last updated. Assigned by the system. + /// + [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] + public virtual string UpdateTimeRaw + { + get => _updateTimeRaw; + set + { + _updateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _updateTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use UpdateTimeDateTimeOffset instead.")] + public virtual object UpdateTime + { + get => _updateTime; + set + { + _updateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _updateTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset + { + get => Google.Apis.Util.Utilities.GetDateTimeOffsetFromString(UpdateTimeRaw); + set => UpdateTimeRaw = Google.Apis.Util.Utilities.GetStringFromDateTimeOffset(value); + } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// The partner or advertisers with access to the inventory source. + public class InventorySourceAccessors : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The advertisers with access to the inventory source. All advertisers must belong to the same partner. + /// + [Newtonsoft.Json.JsonPropertyAttribute("advertisers")] + public virtual InventorySourceAccessorsAdvertiserAccessors Advertisers { get; set; } + + /// The partner with access to the inventory source. + [Newtonsoft.Json.JsonPropertyAttribute("partner")] + public virtual InventorySourceAccessorsPartnerAccessor Partner { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// The advertisers with access to the inventory source. + public class InventorySourceAccessorsAdvertiserAccessors : Google.Apis.Requests.IDirectResponseSchema + { + /// The IDs of the advertisers. + [Newtonsoft.Json.JsonPropertyAttribute("advertiserIds")] + public virtual System.Collections.Generic.IList> AdvertiserIds { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// The partner with access to the inventory source. + public class InventorySourceAccessorsPartnerAccessor : Google.Apis.Requests.IDirectResponseSchema + { + /// The ID of the partner. + [Newtonsoft.Json.JsonPropertyAttribute("partnerId")] + public virtual System.Nullable PartnerId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Targeting details for inventory source. This will be populated in the details field of an + /// AssignedTargetingOption when targeting_type is `TARGETING_TYPE_INVENTORY_SOURCE`. + /// + public class InventorySourceAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Required. ID of the inventory source. Should refer to the inventory_source_id field of an InventorySource + /// resource. + /// + [Newtonsoft.Json.JsonPropertyAttribute("inventorySourceId")] + public virtual System.Nullable InventorySourceId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// The configuration for display creatives. + public class InventorySourceDisplayCreativeConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// The size requirements for display creatives that can be assigned to the inventory source. + [Newtonsoft.Json.JsonPropertyAttribute("creativeSize")] + public virtual Dimensions CreativeSize { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A filtering option for filtering on Inventory Source entities. + public class InventorySourceFilter : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Inventory Sources to download by ID. All IDs must belong to the same Advertiser or Partner specified in + /// CreateSdfDownloadTaskRequest. Leave empty to download all Inventory Sources for the selected Advertiser or + /// Partner. + /// + [Newtonsoft.Json.JsonPropertyAttribute("inventorySourceIds")] + public virtual System.Collections.Generic.IList> InventorySourceIds { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A collection of targetable inventory sources. + public class InventorySourceGroup : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Required. The display name of the inventory source group. Must be UTF-8 encoded with a maximum size of 240 + /// bytes. + /// + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// Output only. The unique ID of the inventory source group. Assigned by the system. + [Newtonsoft.Json.JsonPropertyAttribute("inventorySourceGroupId")] + public virtual System.Nullable InventorySourceGroupId { get; set; } + + /// Output only. The resource name of the inventory source group. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Targeting details for inventory source group. This will be populated in the details field of an + /// AssignedTargetingOption when targeting_type is `TARGETING_TYPE_INVENTORY_SOURCE_GROUP`. + /// + public class InventorySourceGroupAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Required. ID of the inventory source group. Should refer to the inventory_source_group_id field of an + /// InventorySourceGroup resource. + /// + [Newtonsoft.Json.JsonPropertyAttribute("inventorySourceGroupId")] + public virtual System.Nullable InventorySourceGroupId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// The status related settings of the inventory source. + public class InventorySourceStatus : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Output only. The configuration status of the inventory source. Only applicable for guaranteed inventory + /// sources. Acceptable values are `INVENTORY_SOURCE_CONFIG_STATUS_PENDING` and + /// `INVENTORY_SOURCE_CONFIG_STATUS_COMPLETED`. An inventory source must be configured (fill in the required + /// fields, choose creatives, and select a default campaign) before it can serve. + /// + [Newtonsoft.Json.JsonPropertyAttribute("configStatus")] + public virtual string ConfigStatus { get; set; } + + /// + /// The user-provided reason for pausing this inventory source. Must not exceed 100 characters. Only applicable + /// when entity_status is set to `ENTITY_STATUS_PAUSED`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("entityPauseReason")] + public virtual string EntityPauseReason { get; set; } + + /// + /// Whether or not the inventory source is servable. Acceptable values are `ENTITY_STATUS_ACTIVE`, + /// `ENTITY_STATUS_ARCHIVED`, and `ENTITY_STATUS_PAUSED`. Default value is `ENTITY_STATUS_ACTIVE`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("entityStatus")] + public virtual string EntityStatus { get; set; } + + /// + /// Output only. The seller-provided reason for pausing this inventory source. Only applicable for inventory + /// sources synced directly from the publishers and when seller_status is set to `ENTITY_STATUS_PAUSED`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("sellerPauseReason")] + public virtual string SellerPauseReason { get; set; } + + /// + /// Output only. The status set by the seller for the inventory source. Only applicable for inventory sources + /// synced directly from the publishers. Acceptable values are `ENTITY_STATUS_ACTIVE` and + /// `ENTITY_STATUS_PAUSED`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("sellerStatus")] + public virtual string SellerStatus { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// The configuration for video creatives. + public class InventorySourceVideoCreativeConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The duration requirements for the video creatives that can be assigned to the inventory source. + /// + [Newtonsoft.Json.JsonPropertyAttribute("duration")] + public virtual object Duration { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A single invoice. + public class Invoice : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The budget grouping ID for this invoice. This field will only be set if the invoice level of the + /// corresponding billing profile was set to "Budget invoice grouping ID". + /// + [Newtonsoft.Json.JsonPropertyAttribute("budgetInvoiceGroupingId")] + public virtual string BudgetInvoiceGroupingId { get; set; } + + /// + /// The list of summarized information for each budget associated with this invoice. This field will only be set + /// if the invoice detail level of the corresponding billing profile was set to "Budget level PO". + /// + [Newtonsoft.Json.JsonPropertyAttribute("budgetSummaries")] + public virtual System.Collections.Generic.IList BudgetSummaries { get; set; } + + /// + /// The ID of the original invoice being adjusted by this invoice, if applicable. May appear on the invoice PDF + /// as `Reference invoice number`. If replaced_invoice_ids is set, this field will be empty. + /// + [Newtonsoft.Json.JsonPropertyAttribute("correctedInvoiceId")] + public virtual string CorrectedInvoiceId { get; set; } + + /// The currency used in the invoice in ISO 4217 format. + [Newtonsoft.Json.JsonPropertyAttribute("currencyCode")] + public virtual string CurrencyCode { get; set; } + + /// The display name of the invoice. + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// The date when the invoice is due. + [Newtonsoft.Json.JsonPropertyAttribute("dueDate")] + public virtual Date DueDate { get; set; } + + /// The unique ID of the invoice. + [Newtonsoft.Json.JsonPropertyAttribute("invoiceId")] + public virtual string InvoiceId { get; set; } + + /// The type of invoice document. + [Newtonsoft.Json.JsonPropertyAttribute("invoiceType")] + public virtual string InvoiceType { get; set; } + + /// The date when the invoice was issued. + [Newtonsoft.Json.JsonPropertyAttribute("issueDate")] + public virtual Date IssueDate { get; set; } + + /// The resource name of the invoice. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// + /// The total amount of costs or adjustments not tied to a particular budget, in micros of the invoice's + /// currency. For example, if currency_code is `USD`, then 1000000 represents one US dollar. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nonBudgetMicros")] + public virtual System.Nullable NonBudgetMicros { get; set; } + + /// + /// The ID of the payments account the invoice belongs to. Appears on the invoice PDF as `Billing Account + /// Number`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("paymentsAccountId")] + public virtual string PaymentsAccountId { get; set; } + + /// + /// The ID of the payments profile the invoice belongs to. Appears on the invoice PDF as `Billing ID`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("paymentsProfileId")] + public virtual string PaymentsProfileId { get; set; } + + /// + /// The URL to download a PDF copy of the invoice. This URL is user specific and requires a valid OAuth 2.0 + /// access token to access. The access token must be provided in an `Authorization: Bearer` HTTP header and be + /// authorized for one of the following scopes: * `https://www.googleapis.com/auth/display-video-mediaplanning` + /// * `https://www.googleapis.com/auth/display-video` The URL will be valid for 7 days after retrieval of this + /// invoice object or until this invoice is retrieved again. + /// + [Newtonsoft.Json.JsonPropertyAttribute("pdfUrl")] + public virtual string PdfUrl { get; set; } + + /// Purchase order number associated with the invoice. + [Newtonsoft.Json.JsonPropertyAttribute("purchaseOrderNumber")] + public virtual string PurchaseOrderNumber { get; set; } + + /// + /// The ID(s) of any originally issued invoice that is being cancelled by this invoice, if applicable. Multiple + /// invoices may be listed if those invoices are being consolidated into a single invoice. May appear on invoice + /// PDF as `Replaced invoice numbers`. If corrected_invoice_id is set, this field will be empty. + /// + [Newtonsoft.Json.JsonPropertyAttribute("replacedInvoiceIds")] + public virtual System.Collections.Generic.IList ReplacedInvoiceIds { get; set; } + + /// The service start and end dates which are covered by this invoice. + [Newtonsoft.Json.JsonPropertyAttribute("serviceDateRange")] + public virtual DateRange ServiceDateRange { get; set; } + + /// + /// The pre-tax subtotal amount, in micros of the invoice's currency. For example, if currency_code is `USD`, + /// then 1000000 represents one US dollar. + /// + [Newtonsoft.Json.JsonPropertyAttribute("subtotalAmountMicros")] + public virtual System.Nullable SubtotalAmountMicros { get; set; } + + /// + /// The invoice total amount, in micros of the invoice's currency. For example, if currency_code is `USD`, then + /// 1000000 represents one US dollar. + /// + [Newtonsoft.Json.JsonPropertyAttribute("totalAmountMicros")] + public virtual System.Nullable TotalAmountMicros { get; set; } + + /// + /// The sum of all taxes in invoice, in micros of the invoice's currency. For example, if currency_code is + /// `USD`, then 1000000 represents one US dollar. + /// + [Newtonsoft.Json.JsonPropertyAttribute("totalTaxAmountMicros")] + public virtual System.Nullable TotalTaxAmountMicros { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Details for assigned keyword targeting option. This will be populated in the details field of an + /// AssignedTargetingOption when targeting_type is `TARGETING_TYPE_KEYWORD`. + /// + public class KeywordAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Required. The keyword, for example `car insurance`. Positive keyword cannot be offensive word. Must be UTF-8 + /// encoded with a maximum size of 255 bytes. Maximum number of characters is 80. Maximum number of words is 10. + /// + [Newtonsoft.Json.JsonPropertyAttribute("keyword")] + public virtual string Keyword { get; set; } + + /// Indicates if this option is being negatively targeted. + [Newtonsoft.Json.JsonPropertyAttribute("negative")] + public virtual System.Nullable Negative { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Settings that control the key performance indicator, or KPI, of an insertion order. + public class Kpi : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The goal amount, in micros of the advertiser's currency. Applicable when kpi_type is one of: * + /// `KPI_TYPE_CPM` * `KPI_TYPE_CPC` * `KPI_TYPE_CPA` * `KPI_TYPE_CPIAVC` * `KPI_TYPE_VCPM` For example: 1500000 + /// represents 1.5 standard units of the currency. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kpiAmountMicros")] + public virtual System.Nullable KpiAmountMicros { get; set; } + + /// + /// The decimal representation of the goal percentage in micros. Applicable when kpi_type is one of: * + /// `KPI_TYPE_CTR` * `KPI_TYPE_VIEWABILITY` * `KPI_TYPE_CLICK_CVR` * `KPI_TYPE_IMPRESSION_CVR` * `KPI_TYPE_VTR` + /// * `KPI_TYPE_AUDIO_COMPLETION_RATE` * `KPI_TYPE_VIDEO_COMPLETION_RATE` For example: 70000 represents 7% + /// (decimal 0.07). + /// + [Newtonsoft.Json.JsonPropertyAttribute("kpiPercentageMicros")] + public virtual System.Nullable KpiPercentageMicros { get; set; } + + /// + /// A KPI string, which can be empty. Must be UTF-8 encoded with a length of no more than 100 characters. + /// Applicable when kpi_type is `KPI_TYPE_OTHER`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("kpiString")] + public virtual string KpiString { get; set; } + + /// Required. The type of KPI. + [Newtonsoft.Json.JsonPropertyAttribute("kpiType")] + public virtual string KpiType { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Details for assigned language targeting option. This will be populated in the details field of an + /// AssignedTargetingOption when targeting_type is `TARGETING_TYPE_LANGUAGE`. + /// + public class LanguageAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The display name of the language (e.g., "French"). + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// + /// Indicates if this option is being negatively targeted. All assigned language targeting options on the same + /// resource must have the same value for this field. + /// + [Newtonsoft.Json.JsonPropertyAttribute("negative")] + public virtual System.Nullable Negative { get; set; } + + /// Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_LANGUAGE`. + [Newtonsoft.Json.JsonPropertyAttribute("targetingOptionId")] + public virtual string TargetingOptionId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Represents a targetable language. This will be populated in the language_details field when targeting_type is + /// `TARGETING_TYPE_LANGUAGE`. + /// + public class LanguageTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The display name of the language (e.g., "French"). + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A single line item. + public class LineItem : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The unique ID of the advertiser the line item belongs to. + [Newtonsoft.Json.JsonPropertyAttribute("advertiserId")] + public virtual System.Nullable AdvertiserId { get; set; } + + /// Required. The bidding strategy of the line item. + [Newtonsoft.Json.JsonPropertyAttribute("bidStrategy")] + public virtual BiddingStrategy BidStrategy { get; set; } + + /// Required. The budget allocation setting of the line item. + [Newtonsoft.Json.JsonPropertyAttribute("budget")] + public virtual LineItemBudget Budget { get; set; } + + /// Output only. The unique ID of the campaign that the line item belongs to. + [Newtonsoft.Json.JsonPropertyAttribute("campaignId")] + public virtual System.Nullable CampaignId { get; set; } + + /// The conversion tracking setting of the line item. + [Newtonsoft.Json.JsonPropertyAttribute("conversionCounting")] + public virtual ConversionCountingConfig ConversionCounting { get; set; } + + /// The IDs of the creatives associated with the line item. + [Newtonsoft.Json.JsonPropertyAttribute("creativeIds")] + public virtual System.Collections.Generic.IList> CreativeIds { get; set; } + + /// + /// Required. The display name of the line item. Must be UTF-8 encoded with a maximum size of 240 bytes. + /// + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// + /// Required. Controls whether or not the line item can spend its budget and bid on inventory. * For + /// CreateLineItem method, only `ENTITY_STATUS_DRAFT` is allowed. To activate a line item, use UpdateLineItem + /// method and update the status to `ENTITY_STATUS_ACTIVE` after creation. * A line item cannot be changed back + /// to `ENTITY_STATUS_DRAFT` status from any other status. * If the line item's parent insertion order is not + /// active, the line item can't spend its budget even if its own status is `ENTITY_STATUS_ACTIVE`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("entityStatus")] + public virtual string EntityStatus { get; set; } + + /// + /// Whether to exclude new exchanges from automatically being targeted by the line item. This field is false by + /// default. + /// + [Newtonsoft.Json.JsonPropertyAttribute("excludeNewExchanges")] + public virtual System.Nullable ExcludeNewExchanges { get; set; } + + /// Required. The start and end time of the line item's flight. + [Newtonsoft.Json.JsonPropertyAttribute("flight")] + public virtual LineItemFlight Flight { get; set; } + + /// + /// Required. The impression frequency cap settings of the line item. The max_impressions field in this settings + /// object must be used if assigning a limited cap. + /// + [Newtonsoft.Json.JsonPropertyAttribute("frequencyCap")] + public virtual FrequencyCap FrequencyCap { get; set; } + + /// Required. Immutable. The unique ID of the insertion order that the line item belongs to. + [Newtonsoft.Json.JsonPropertyAttribute("insertionOrderId")] + public virtual System.Nullable InsertionOrderId { get; set; } + + /// Integration details of the line item. + [Newtonsoft.Json.JsonPropertyAttribute("integrationDetails")] + public virtual IntegrationDetails IntegrationDetails { get; set; } + + /// Output only. The unique ID of the line item. Assigned by the system. + [Newtonsoft.Json.JsonPropertyAttribute("lineItemId")] + public virtual System.Nullable LineItemId { get; set; } + + /// Required. Immutable. The type of the line item. + [Newtonsoft.Json.JsonPropertyAttribute("lineItemType")] + public virtual string LineItemType { get; set; } + + /// + /// The mobile app promoted by the line item. This is applicable only when line_item_type is either + /// `LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL` or `LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("mobileApp")] + public virtual MobileApp MobileApp { get; set; } + + /// Output only. The resource name of the line item. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Required. The budget spending speed setting of the line item. + [Newtonsoft.Json.JsonPropertyAttribute("pacing")] + public virtual Pacing Pacing { get; set; } + + /// + /// The partner costs associated with the line item. If absent or empty in CreateLineItem method, the newly + /// created line item will inherit partner costs from its parent insertion order. + /// + [Newtonsoft.Json.JsonPropertyAttribute("partnerCosts")] + public virtual System.Collections.Generic.IList PartnerCosts { get; set; } + + /// Required. The partner revenue model setting of the line item. + [Newtonsoft.Json.JsonPropertyAttribute("partnerRevenueModel")] + public virtual PartnerRevenueModel PartnerRevenueModel { get; set; } + + /// Output only. The reservation type of the line item. + [Newtonsoft.Json.JsonPropertyAttribute("reservationType")] + public virtual string ReservationType { get; set; } + + /// + /// 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. + /// + [Newtonsoft.Json.JsonPropertyAttribute("targetingExpansion")] + public virtual TargetingExpansionConfig TargetingExpansion { get; set; } + + private string _updateTimeRaw; + + private object _updateTime; + + /// Output only. The timestamp when the line item was last updated. Assigned by the system. + [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] + public virtual string UpdateTimeRaw + { + get => _updateTimeRaw; + set + { + _updateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _updateTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use UpdateTimeDateTimeOffset instead.")] + public virtual object UpdateTime + { + get => _updateTime; + set + { + _updateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _updateTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset + { + get => Google.Apis.Util.Utilities.GetDateTimeOffsetFromString(UpdateTimeRaw); + set => UpdateTimeRaw = Google.Apis.Util.Utilities.GetStringFromDateTimeOffset(value); + } + + /// + /// 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. + /// + [Newtonsoft.Json.JsonPropertyAttribute("warningMessages")] + public virtual System.Collections.Generic.IList WarningMessages { get; set; } + + /// Output only. Settings specific to YouTube and Partners line items. + [Newtonsoft.Json.JsonPropertyAttribute("youtubeAndPartnersSettings")] + public virtual YoutubeAndPartnersSettings YoutubeAndPartnersSettings { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Wrapper object associating an assigned_targeting_option resource and the line item it is assigned to. + /// + public class LineItemAssignedTargetingOption : Google.Apis.Requests.IDirectResponseSchema + { + /// The assigned targeting option resource. + [Newtonsoft.Json.JsonPropertyAttribute("assignedTargetingOption")] + public virtual AssignedTargetingOption AssignedTargetingOption { get; set; } + + /// The ID of the line item the assigned targeting option is assigned to. + [Newtonsoft.Json.JsonPropertyAttribute("lineItemId")] + public virtual System.Nullable LineItemId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Settings that control how budget is allocated. + public class LineItemBudget : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Required. The type of the budget allocation. `LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC` is only applicable + /// when automatic budget allocation is enabled for the parent insertion order. + /// + [Newtonsoft.Json.JsonPropertyAttribute("budgetAllocationType")] + public virtual string BudgetAllocationType { get; set; } + + /// + /// Output only. The budget unit specifies whether the budget is currency based or impression based. This value + /// is inherited from the parent insertion order. + /// + [Newtonsoft.Json.JsonPropertyAttribute("budgetUnit")] + public virtual string BudgetUnit { get; set; } + + /// + /// The maximum budget amount the line item will spend. Must be greater than 0. When budget_allocation_type is: + /// * `LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC`, this field is immutable and is set by the system. * + /// `LINE_ITEM_BUDGET_ALLOCATION_TYPE_FIXED`, if budget_unit is: - `BUDGET_UNIT_CURRENCY`, this field represents + /// maximum budget amount to spend, in micros of the advertiser's currency. For example, 1500000 represents 1.5 + /// standard units of the currency. - `BUDGET_UNIT_IMPRESSIONS`, this field represents the maximum number of + /// impressions to serve. * `LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNLIMITED`, this field is not applicable and will + /// be ignored by the system. + /// + [Newtonsoft.Json.JsonPropertyAttribute("maxAmount")] + public virtual System.Nullable MaxAmount { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Settings that control the active duration of a line item. + public class LineItemFlight : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The flight start and end dates of the line item. They are resolved relative to the parent advertiser's time + /// zone. * Required when flight_date_type is `LINE_ITEM_FLIGHT_DATE_TYPE_CUSTOM`. Output only otherwise. * When + /// creating a new flight, both `start_date` and `end_date` must be in the future. * An existing flight with a + /// `start_date` in the past has a mutable `end_date` but an immutable `start_date`. * `end_date` must be the + /// `start_date` or later, both before the year 2037. + /// + [Newtonsoft.Json.JsonPropertyAttribute("dateRange")] + public virtual DateRange DateRange { get; set; } + + /// Required. The type of the line item's flight dates. + [Newtonsoft.Json.JsonPropertyAttribute("flightDateType")] + public virtual string FlightDateType { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class ListAdGroupAdsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of ad group ads. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("adGroupAds")] + public virtual System.Collections.Generic.IList AdGroupAds { get; set; } + + /// + /// A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call + /// to `ListAdGroupAds` method to retrieve the next page of results. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Response message for ListAdGroupAssignedTargetingOptions. + public class ListAdGroupAssignedTargetingOptionsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of assigned targeting options. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("assignedTargetingOptions")] + public virtual System.Collections.Generic.IList AssignedTargetingOptions { get; set; } + + /// + /// A token identifying the next page of results. This value should be specified as the pageToken in a + /// subsequent ListAdGroupAssignedTargetingOptionsRequest to fetch the next page of results. This token will be + /// absent if there are no more AssignedTargetingOption resources to return. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class ListAdGroupsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of ad groups. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("adGroups")] + public virtual System.Collections.Generic.IList AdGroups { get; set; } + + /// + /// A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call + /// to `ListAdGroups` method to retrieve the next page of results. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Response message for ListAdvertiserAssignedTargetingOptions. + public class ListAdvertiserAssignedTargetingOptionsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of assigned targeting options. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("assignedTargetingOptions")] + public virtual System.Collections.Generic.IList AssignedTargetingOptions { get; set; } + + /// + /// A token identifying the next page of results. This value should be specified as the pageToken in a + /// subsequent ListAdvertiserAssignedTargetingOptionsRequest to fetch the next page of results. This token will + /// be absent if there are no more assigned_targeting_options to return. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class ListAdvertisersResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of advertisers. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("advertisers")] + public virtual System.Collections.Generic.IList Advertisers { get; set; } + + /// + /// A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call + /// to `ListAdvertisers` method to retrieve the next page of results. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Response message for AssignedInventorySourceService.ListAssignedInventorySources. + public class ListAssignedInventorySourcesResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of assigned inventory sources. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("assignedInventorySources")] + public virtual System.Collections.Generic.IList AssignedInventorySources { get; set; } + + /// + /// A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call + /// to `ListAssignedInventorySources` method to retrieve the next page of results. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Response message for AssignedLocationService.ListAssignedLocations. + public class ListAssignedLocationsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of assigned locations. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("assignedLocations")] + public virtual System.Collections.Generic.IList AssignedLocations { get; set; } + + /// + /// A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call + /// to `ListAssignedLocations` method to retrieve the next page of results. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Response message for ListCampaignAssignedTargetingOptions. + public class ListCampaignAssignedTargetingOptionsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of assigned targeting options. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("assignedTargetingOptions")] + public virtual System.Collections.Generic.IList AssignedTargetingOptions { get; set; } + + /// + /// A token identifying the next page of results. This value should be specified as the pageToken in a + /// subsequent ListCampaignAssignedTargetingOptionsRequest to fetch the next page of results. This token will be + /// absent if there are no more assigned_targeting_options to return. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class ListCampaignsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of campaigns. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("campaigns")] + public virtual System.Collections.Generic.IList Campaigns { get; set; } + + /// + /// A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call + /// to `ListCampaigns` method to retrieve the next page of results. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class ListChannelsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of channels. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("channels")] + public virtual System.Collections.Generic.IList Channels { get; set; } + + /// + /// A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call + /// to `ListChannels` method to retrieve the next page of results. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class ListCombinedAudiencesResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of combined audiences. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("combinedAudiences")] + public virtual System.Collections.Generic.IList CombinedAudiences { get; set; } + + /// + /// A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call + /// to `ListCombinedAudiences` method to retrieve the next page of results. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class ListCreativesResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of creatives. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("creatives")] + public virtual System.Collections.Generic.IList Creatives { get; set; } + + /// + /// A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call + /// to `ListCreativesRequest` method to retrieve the next page of results. If this field is null, it means this + /// is the last page. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class ListCustomBiddingAlgorithmRulesResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of CustomBiddingAlgorithmRules resources. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("customBiddingRules")] + public virtual System.Collections.Generic.IList CustomBiddingRules { get; set; } + + /// + /// A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call + /// to `ListCustomBiddingAlgorithmRulesRequest` method to retrieve the next page of results. If this field is + /// null, it means this is the last page. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class ListCustomBiddingAlgorithmsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of custom bidding algorithms. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("customBiddingAlgorithms")] + public virtual System.Collections.Generic.IList CustomBiddingAlgorithms { get; set; } + + /// + /// A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call + /// to `ListCustomBiddingAlgorithmsRequest` method to retrieve the next page of results. If this field is null, + /// it means this is the last page. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class ListCustomBiddingScriptsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of custom bidding scripts. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("customBiddingScripts")] + public virtual System.Collections.Generic.IList CustomBiddingScripts { get; set; } + + /// + /// A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call + /// to `ListCustomBiddingScriptsRequest` method to retrieve the next page of results. If this field is null, it + /// means this is the last page. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class ListCustomListsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of custom lists. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("customLists")] + public virtual System.Collections.Generic.IList CustomLists { get; set; } + + /// + /// A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call + /// to `ListCustomLists` method to retrieve the next page of results. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class ListFirstAndThirdPartyAudiencesResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The list of first and third party audiences. Audience size properties will not be included. This list will + /// be absent if empty. + /// + [Newtonsoft.Json.JsonPropertyAttribute("firstAndThirdPartyAudiences")] + public virtual System.Collections.Generic.IList FirstAndThirdPartyAudiences { get; set; } + + /// + /// A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call + /// to `ListFirstAndThirdPartyAudiences` method to retrieve the next page of results. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class ListGoogleAudiencesResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of Google audiences. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("googleAudiences")] + public virtual System.Collections.Generic.IList GoogleAudiences { get; set; } + + /// + /// A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call + /// to `ListGoogleAudiences` method to retrieve the next page of results. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class ListGuaranteedOrdersResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of guaranteed orders. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("guaranteedOrders")] + public virtual System.Collections.Generic.IList GuaranteedOrders { get; set; } + + /// + /// A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call + /// to `ListGuaranteedOrders` method to retrieve the next page of results. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class ListInsertionOrderAssignedTargetingOptionsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of assigned targeting options. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("assignedTargetingOptions")] + public virtual System.Collections.Generic.IList AssignedTargetingOptions { get; set; } + + /// + /// A token identifying the next page of results. This value should be specified as the pageToken in a + /// subsequent ListInsertionOrderAssignedTargetingOptionsRequest to fetch the next page of results. This token + /// will be absent if there are no more assigned_targeting_options to return. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class ListInsertionOrdersResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of insertion orders. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("insertionOrders")] + public virtual System.Collections.Generic.IList InsertionOrders { get; set; } + + /// + /// A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call + /// to `ListInsertionOrders` method to retrieve the next page of results. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Response message for InventorySourceGroupService.ListInventorySourceGroups. + public class ListInventorySourceGroupsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of inventory source groups. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("inventorySourceGroups")] + public virtual System.Collections.Generic.IList InventorySourceGroups { get; set; } + + /// + /// A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call + /// to `ListInventorySourceGroups` method to retrieve the next page of results. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class ListInventorySourcesResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of inventory sources. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("inventorySources")] + public virtual System.Collections.Generic.IList InventorySources { get; set; } + + /// + /// A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call + /// to `ListInventorySources` method to retrieve the next page of results. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class ListInvoicesResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of invoices. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("invoices")] + public virtual System.Collections.Generic.IList Invoices { get; set; } + + /// + /// A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call + /// to `ListInvoices` method to retrieve the next page of results. This token will be absent if there are no + /// more invoices to return. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Response message for ListLineItemAssignedTargetingOptions. + public class ListLineItemAssignedTargetingOptionsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of assigned targeting options. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("assignedTargetingOptions")] + public virtual System.Collections.Generic.IList AssignedTargetingOptions { get; set; } + + /// + /// A token identifying the next page of results. This value should be specified as the pageToken in a + /// subsequent ListLineItemAssignedTargetingOptionsRequest to fetch the next page of results. This token will be + /// absent if there are no more assigned_targeting_options to return. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class ListLineItemsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of line items. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("lineItems")] + public virtual System.Collections.Generic.IList LineItems { get; set; } + + /// + /// A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call + /// to `ListLineItems` method to retrieve the next page of results. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class ListLocationListsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of location lists. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("locationLists")] + public virtual System.Collections.Generic.IList LocationLists { get; set; } + + /// + /// A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call + /// to `ListLocationLists` method to retrieve the next page of results. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Response message for NegativeKeywordListService.ListNegativeKeywordLists. + public class ListNegativeKeywordListsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of negative keyword lists. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("negativeKeywordLists")] + public virtual System.Collections.Generic.IList NegativeKeywordLists { get; set; } + + /// + /// A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call + /// to `ListNegativeKeywordLists` method to retrieve the next page of results. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Response message for NegativeKeywordService.ListNegativeKeywords. + public class ListNegativeKeywordsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of negative keywords. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("negativeKeywords")] + public virtual System.Collections.Generic.IList NegativeKeywords { get; set; } + + /// + /// A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call + /// to `ListNegativeKeywords` method to retrieve the next page of results. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class ListPartnerAssignedTargetingOptionsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of assigned targeting options. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("assignedTargetingOptions")] + public virtual System.Collections.Generic.IList AssignedTargetingOptions { get; set; } + + /// + /// A token identifying the next page of results. This value should be specified as the pageToken in a + /// subsequent ListPartnerAssignedTargetingOptionsRequest to fetch the next page of results. This token will be + /// absent if there are no more assigned_targeting_options to return. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class ListPartnersResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call + /// to `ListPartners` method to retrieve the next page of results. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The list of partners. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("partners")] + public virtual System.Collections.Generic.IList Partners { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Response message for SiteService.ListSites. + public class ListSitesResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call + /// to `ListSites` method to retrieve the next page of results. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The list of sites. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("sites")] + public virtual System.Collections.Generic.IList Sites { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Response message for ListTargetingOptions. + public class ListTargetingOptionsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call + /// to `ListTargetingOptions` method to retrieve the next page of results. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The list of targeting options. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("targetingOptions")] + public virtual System.Collections.Generic.IList TargetingOptions { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class ListUsersResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call + /// to `ListUsers` method to retrieve the next page of results. This token will be absent if there are no more + /// results to return. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// The list of users. This list will be absent if empty. + [Newtonsoft.Json.JsonPropertyAttribute("users")] + public virtual System.Collections.Generic.IList Users { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A list of locations used for targeting. + public class LocationList : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. Immutable. The unique ID of the advertiser the location list belongs to. + [Newtonsoft.Json.JsonPropertyAttribute("advertiserId")] + public virtual System.Nullable AdvertiserId { get; set; } + + /// + /// Required. The display name of the location list. Must be UTF-8 encoded with a maximum size of 240 bytes. + /// + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// Output only. The unique ID of the location list. Assigned by the system. + [Newtonsoft.Json.JsonPropertyAttribute("locationListId")] + public virtual System.Nullable LocationListId { get; set; } + + /// + /// Required. Immutable. The type of location. All locations in the list will share this type. + /// + [Newtonsoft.Json.JsonPropertyAttribute("locationType")] + public virtual string LocationType { get; set; } + + /// Output only. The resource name of the location list. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Specifies how many days into the past to look when determining whether to record a conversion. + /// + public class LookbackWindow : Google.Apis.Requests.IDirectResponseSchema + { + /// Lookback window, in days, from the last time a given user clicked on one of your ads. + [Newtonsoft.Json.JsonPropertyAttribute("clickDays")] + public virtual System.Nullable ClickDays { get; set; } + + /// Lookback window, in days, from the last time a given user viewed one of your ads. + [Newtonsoft.Json.JsonPropertyAttribute("impressionDays")] + public virtual System.Nullable ImpressionDays { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + public class LookupInvoiceCurrencyResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// Currency used by the advertiser in ISO 4217 format. + [Newtonsoft.Json.JsonPropertyAttribute("currencyCode")] + public virtual string CurrencyCode { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Details for a Masthead Ad. + public class MastheadAd : Google.Apis.Requests.IDirectResponseSchema + { + /// The duration of time the video will autoplay. + [Newtonsoft.Json.JsonPropertyAttribute("autoplayVideoDuration")] + public virtual object AutoplayVideoDuration { get; set; } + + /// The amount of time in milliseconds after which the video will start to play. + [Newtonsoft.Json.JsonPropertyAttribute("autoplayVideoStartMillisecond")] + public virtual System.Nullable AutoplayVideoStartMillisecond { get; set; } + + /// The text on the call-to-action button. + [Newtonsoft.Json.JsonPropertyAttribute("callToActionButtonLabel")] + public virtual string CallToActionButtonLabel { get; set; } + + /// The destination URL for the call-to-action button. + [Newtonsoft.Json.JsonPropertyAttribute("callToActionFinalUrl")] + public virtual string CallToActionFinalUrl { get; set; } + + /// The tracking URL for the call-to-action button. + [Newtonsoft.Json.JsonPropertyAttribute("callToActionTrackingUrl")] + public virtual string CallToActionTrackingUrl { get; set; } + + /// The videos that appear next to the Masthead Ad on desktop. Can be no more than two. + [Newtonsoft.Json.JsonPropertyAttribute("companionYoutubeVideos")] + public virtual System.Collections.Generic.IList CompanionYoutubeVideos { get; set; } + + /// The description of the ad. + [Newtonsoft.Json.JsonPropertyAttribute("description")] + public virtual string Description { get; set; } + + /// The headline of the ad. + [Newtonsoft.Json.JsonPropertyAttribute("headline")] + public virtual string Headline { get; set; } + + /// Whether to show a background or banner that appears at the top of a YouTube page. + [Newtonsoft.Json.JsonPropertyAttribute("showChannelArt")] + public virtual System.Nullable ShowChannelArt { get; set; } + + /// The YouTube video used by the ad. + [Newtonsoft.Json.JsonPropertyAttribute("video")] + public virtual YoutubeVideoDetails Video { get; set; } + + /// The aspect ratio of the autoplaying YouTube video on the Masthead. + [Newtonsoft.Json.JsonPropertyAttribute("videoAspectRatio")] + public virtual string VideoAspectRatio { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// A strategy that automatically adjusts the bid to optimize a specified performance goal while spending the full + /// budget. + /// + public class MaximizeSpendBidStrategy : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The ID of the Custom Bidding Algorithm used by this strategy. Only applicable when performance_goal_type is + /// set to `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("customBiddingAlgorithmId")] + public virtual System.Nullable CustomBiddingAlgorithmId { get; set; } + + /// + /// The maximum average CPM that may be bid, in micros of the advertiser's currency. Must be greater than or + /// equal to a billable unit of the given currency. For example, 1500000 represents 1.5 standard units of the + /// currency. + /// + [Newtonsoft.Json.JsonPropertyAttribute("maxAverageCpmBidAmountMicros")] + public virtual System.Nullable MaxAverageCpmBidAmountMicros { get; set; } + + /// + /// Required. The type of the performance goal that the bidding strategy tries to minimize while spending the + /// full budget. `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` is not supported for this strategy. + /// + [Newtonsoft.Json.JsonPropertyAttribute("performanceGoalType")] + public virtual string PerformanceGoalType { get; set; } + + /// Whether the strategy takes deal floor prices into account. + [Newtonsoft.Json.JsonPropertyAttribute("raiseBidForDeals")] + public virtual System.Nullable RaiseBidForDeals { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Measurement settings of a partner. + public class MeasurementConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// Whether or not to report DV360 cost to CM360. + [Newtonsoft.Json.JsonPropertyAttribute("dv360ToCmCostReportingEnabled")] + public virtual System.Nullable Dv360ToCmCostReportingEnabled { get; set; } + + /// Whether or not to include DV360 data in CM360 data transfer reports. + [Newtonsoft.Json.JsonPropertyAttribute("dv360ToCmDataSharingEnabled")] + public virtual System.Nullable Dv360ToCmDataSharingEnabled { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A mobile app promoted by a mobile app install line item. + public class MobileApp : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Required. The ID of the app provided by the platform store. Android apps are identified by the bundle ID + /// used by Android's Play store, such as `com.google.android.gm`. iOS apps are identified by a nine-digit app + /// ID used by Apple's App store, such as `422689480`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("appId")] + public virtual string AppId { get; set; } + + /// Output only. The app name. + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// Output only. The app platform. + [Newtonsoft.Json.JsonPropertyAttribute("platform")] + public virtual string Platform { get; set; } + + /// Output only. The app publisher. + [Newtonsoft.Json.JsonPropertyAttribute("publisher")] + public virtual string Publisher { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Wrapper message for a list of mobile device IDs defining Customer Match audience members. + public class MobileDeviceIdList : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// A list of mobile device IDs defining Customer Match audience members. The size of mobile_device_ids mustn't + /// be greater than 500,000. + /// + [Newtonsoft.Json.JsonPropertyAttribute("mobileDeviceIds")] + public virtual System.Collections.Generic.IList MobileDeviceIds { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Represents an amount of money with its currency type. + public class Money : Google.Apis.Requests.IDirectResponseSchema + { + /// The three-letter currency code defined in ISO 4217. + [Newtonsoft.Json.JsonPropertyAttribute("currencyCode")] + public virtual string CurrencyCode { get; set; } + + /// + /// 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. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nanos")] + public virtual System.Nullable Nanos { get; set; } + + /// + /// The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar. + /// + [Newtonsoft.Json.JsonPropertyAttribute("units")] + public virtual System.Nullable Units { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Details for native content position assigned targeting option. This will be populated in the + /// native_content_position_details field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. + /// Explicitly targeting all options is not supported. Remove all native content position targeting options to + /// achieve this effect. + /// + public class NativeContentPositionAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. The content position. + [Newtonsoft.Json.JsonPropertyAttribute("contentPosition")] + public virtual string ContentPosition { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Represents a targetable native content position. This will be populated in the native_content_position_details + /// field when targeting_type is `TARGETING_TYPE_NATIVE_CONTENT_POSITION`. + /// + public class NativeContentPositionTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The content position. + [Newtonsoft.Json.JsonPropertyAttribute("contentPosition")] + public virtual string ContentPosition { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A negatively targeted keyword that belongs to a negative keyword list. + public class NegativeKeyword : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Required. Immutable. The negatively targeted keyword, for example `car insurance`. Must be UTF-8 encoded + /// with a maximum size of 255 bytes. Maximum number of characters is 80. Maximum number of words is 10. Valid + /// characters are restricted to ASCII characters only. The only URL-escaping permitted is for representing + /// whitespace between words. Leading or trailing whitespace is ignored. + /// + [Newtonsoft.Json.JsonPropertyAttribute("keywordValue")] + public virtual string KeywordValue { get; set; } + + /// Output only. The resource name of the negative keyword. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A list of negative keywords used for targeting. + public class NegativeKeywordList : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The unique ID of the advertiser the negative keyword list belongs to. + [Newtonsoft.Json.JsonPropertyAttribute("advertiserId")] + public virtual System.Nullable AdvertiserId { get; set; } + + /// + /// Required. The display name of the negative keyword list. Must be UTF-8 encoded with a maximum size of 255 + /// bytes. + /// + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// Output only. The resource name of the negative keyword list. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Output only. The unique ID of the negative keyword list. Assigned by the system. + [Newtonsoft.Json.JsonPropertyAttribute("negativeKeywordListId")] + public virtual System.Nullable NegativeKeywordListId { get; set; } + + /// Output only. Number of line items that are directly targeting this negative keyword list. + [Newtonsoft.Json.JsonPropertyAttribute("targetedLineItemCount")] + public virtual System.Nullable TargetedLineItemCount { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Targeting details for negative keyword list. This will be populated in the details field of an + /// AssignedTargetingOption when targeting_type is `TARGETING_TYPE_NEGATIVE_KEYWORD_LIST`. + /// + public class NegativeKeywordListAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Required. ID of the negative keyword list. Should refer to the negative_keyword_list_id field of a + /// NegativeKeywordList resource. + /// + [Newtonsoft.Json.JsonPropertyAttribute("negativeKeywordListId")] + public virtual System.Nullable NegativeKeywordListId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Details for a non-skippable ad. + public class NonSkippableAd : Google.Apis.Requests.IDirectResponseSchema + { + /// Common ad attributes. + [Newtonsoft.Json.JsonPropertyAttribute("commonInStreamAttribute")] + public virtual CommonInStreamAttribute CommonInStreamAttribute { get; set; } + + /// The custom parameters to pass custom values to tracking URL template. + [Newtonsoft.Json.JsonPropertyAttribute("customParameters")] + public virtual System.Collections.Generic.IDictionary CustomParameters { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// OBA Icon for a Creative + public class ObaIcon : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Required. The click tracking URL of the OBA icon. Only URLs of the following domains are allowed: * + /// https://info.evidon.com * https://l.betrad.com + /// + [Newtonsoft.Json.JsonPropertyAttribute("clickTrackingUrl")] + public virtual string ClickTrackingUrl { get; set; } + + /// The dimensions of the OBA icon. + [Newtonsoft.Json.JsonPropertyAttribute("dimensions")] + public virtual Dimensions Dimensions { get; set; } + + /// + /// Required. The landing page URL of the OBA icon. Only URLs of the following domains are allowed: * + /// https://info.evidon.com * https://l.betrad.com + /// + [Newtonsoft.Json.JsonPropertyAttribute("landingPageUrl")] + public virtual string LandingPageUrl { get; set; } + + /// The position of the OBA icon on the creative. + [Newtonsoft.Json.JsonPropertyAttribute("position")] + public virtual string Position { get; set; } + + /// The program of the OBA icon. For example: “AdChoices”. + [Newtonsoft.Json.JsonPropertyAttribute("program")] + public virtual string Program { get; set; } + + /// The MIME type of the OBA icon resource. + [Newtonsoft.Json.JsonPropertyAttribute("resourceMimeType")] + public virtual string ResourceMimeType { get; set; } + + /// The URL of the OBA icon resource. + [Newtonsoft.Json.JsonPropertyAttribute("resourceUrl")] + public virtual string ResourceUrl { get; set; } + + /// + /// Required. The view tracking URL of the OBA icon. Only URLs of the following domains are allowed: * + /// https://info.evidon.com * https://l.betrad.com + /// + [Newtonsoft.Json.JsonPropertyAttribute("viewTrackingUrl")] + public virtual string ViewTrackingUrl { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Represents a targetable Open Measurement enabled inventory type. This will be populated in the details field of + /// an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_OMID`. + /// + public class OmidAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. The type of Open Measurement enabled inventory. + [Newtonsoft.Json.JsonPropertyAttribute("omid")] + public virtual string Omid { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Represents a targetable Open Measurement enabled inventory type. This will be populated in the omid_details + /// field when targeting_type is `TARGETING_TYPE_OMID`. + /// + public class OmidTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The type of Open Measurement enabled inventory. + [Newtonsoft.Json.JsonPropertyAttribute("omid")] + public virtual string Omid { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// On screen position targeting option details. This will be populated in the on_screen_position_details field when + /// targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`. + /// + public class OnScreenPositionAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Output only. The ad type to target. Only applicable to insertion order targeting and new line items + /// supporting the specified ad type will inherit this targeting option by default. Possible values are: * + /// `AD_TYPE_DISPLAY`, the setting will be inherited by new line item when line_item_type is + /// `LINE_ITEM_TYPE_DISPLAY_DEFAULT`. * `AD_TYPE_VIDEO`, the setting will be inherited by new line item when + /// line_item_type is `LINE_ITEM_TYPE_VIDEO_DEFAULT`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("adType")] + public virtual string AdType { get; set; } + + /// Output only. The on screen position. + [Newtonsoft.Json.JsonPropertyAttribute("onScreenPosition")] + public virtual string OnScreenPosition { get; set; } + + /// + /// Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("targetingOptionId")] + public virtual string TargetingOptionId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Represents a targetable on screen position, which could be used by display and video ads. This will be populated + /// in the on_screen_position_details field when targeting_type is `TARGETING_TYPE_ON_SCREEN_POSITION`. + /// + public class OnScreenPositionTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The on screen position. + [Newtonsoft.Json.JsonPropertyAttribute("onScreenPosition")] + public virtual string OnScreenPosition { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Assigned operating system targeting option details. This will be populated in the operating_system_details field + /// when targeting_type is `TARGETING_TYPE_OPERATING_SYSTEM`. + /// + public class OperatingSystemAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The display name of the operating system. + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// Indicates if this option is being negatively targeted. + [Newtonsoft.Json.JsonPropertyAttribute("negative")] + public virtual System.Nullable Negative { get; set; } + + /// + /// Required. The targeting option ID populated in targeting_option_id field when targeting_type is + /// `TARGETING_TYPE_OPERATING_SYSTEM`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("targetingOptionId")] + public virtual string TargetingOptionId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Represents a targetable operating system. This will be populated in the operating_system_details field of a + /// TargetingOption when targeting_type is `TARGETING_TYPE_OPERATING_SYSTEM`. + /// + public class OperatingSystemTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The display name of the operating system. + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// This resource represents a long-running operation that is the result of a network API call. + public class Operation : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// 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. + /// + [Newtonsoft.Json.JsonPropertyAttribute("done")] + public virtual System.Nullable Done { get; set; } + + /// The error result of the operation in case of failure or cancellation. + [Newtonsoft.Json.JsonPropertyAttribute("error")] + public virtual Status Error { get; set; } + + /// + /// 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. + /// + [Newtonsoft.Json.JsonPropertyAttribute("metadata")] + public virtual System.Collections.Generic.IDictionary Metadata { get; set; } + + /// + /// 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}`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// + /// 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`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("response")] + public virtual System.Collections.Generic.IDictionary Response { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Settings that control the rate at which a budget is spent. + public class Pacing : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Maximum number of impressions to serve every day. Applicable when the budget is impression based. Must be + /// greater than 0. + /// + [Newtonsoft.Json.JsonPropertyAttribute("dailyMaxImpressions")] + public virtual System.Nullable DailyMaxImpressions { get; set; } + + /// + /// Maximum currency amount to spend every day in micros of advertiser's currency. Applicable when the budget is + /// currency based. Must be greater than 0. For example, for 1.5 standard unit of the currency, set this field + /// to 1500000. The value assigned will be rounded to whole billable units for the relevant currency by the + /// following rules: any positive value less than a single billable unit will be rounded up to one billable unit + /// and any value larger than a single billable unit will be rounded down to the nearest billable value. For + /// example, if the currency's billable unit is 0.01, and this field is set to 10257770, it will round down to + /// 10250000, a value of 10.25. If set to 505, it will round up to 10000, a value of 0.01. + /// + [Newtonsoft.Json.JsonPropertyAttribute("dailyMaxMicros")] + public virtual System.Nullable DailyMaxMicros { get; set; } + + /// + /// Required. The time period in which the pacing budget will be spent. When automatic budget allocation is + /// enabled at the insertion order via automationType, this field is output only and defaults to + /// `PACING_PERIOD_FLIGHT`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("pacingPeriod")] + public virtual string PacingPeriod { get; set; } + + /// + /// Required. The type of pacing that defines how the budget amount will be spent across the pacing_period. + /// + [Newtonsoft.Json.JsonPropertyAttribute("pacingType")] + public virtual string PacingType { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// A filtering option that filters on selected file types belonging to a chosen set of filter entities. + /// + public class ParentEntityFilter : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. File types that will be returned. + [Newtonsoft.Json.JsonPropertyAttribute("fileType")] + public virtual System.Collections.Generic.IList FileType { get; set; } + + /// + /// The IDs of the specified filter type. This is used to filter entities to fetch. If filter type is not + /// `FILTER_TYPE_NONE`, at least one ID must be specified. + /// + [Newtonsoft.Json.JsonPropertyAttribute("filterIds")] + public virtual System.Collections.Generic.IList> FilterIds { get; set; } + + /// Required. Filter type used to filter fetched entities. + [Newtonsoft.Json.JsonPropertyAttribute("filterType")] + public virtual string FilterType { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Details for assigned parental status targeting option. This will be populated in the details field of an + /// AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PARENTAL_STATUS`. + /// + public class ParentalStatusAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. The parental status of the audience. + [Newtonsoft.Json.JsonPropertyAttribute("parentalStatus")] + public virtual string ParentalStatus { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Represents a targetable parental status. This will be populated in the parental_status_details field of a + /// TargetingOption when targeting_type is `TARGETING_TYPE_PARENTAL_STATUS`. + /// + public class ParentalStatusTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The parental status of an audience. + [Newtonsoft.Json.JsonPropertyAttribute("parentalStatus")] + public virtual string ParentalStatus { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A single partner in Display & Video 360 (DV360). + public class Partner : Google.Apis.Requests.IDirectResponseSchema + { + /// Ad server related settings of the partner. + [Newtonsoft.Json.JsonPropertyAttribute("adServerConfig")] + public virtual PartnerAdServerConfig AdServerConfig { get; set; } + + /// Billing related settings of the partner. + [Newtonsoft.Json.JsonPropertyAttribute("billingConfig")] + public virtual PartnerBillingConfig BillingConfig { get; set; } + + /// Settings that control how partner data may be accessed. + [Newtonsoft.Json.JsonPropertyAttribute("dataAccessConfig")] + public virtual PartnerDataAccessConfig DataAccessConfig { get; set; } + + /// The display name of the partner. Must be UTF-8 encoded with a maximum size of 240 bytes. + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// Output only. The status of the partner. + [Newtonsoft.Json.JsonPropertyAttribute("entityStatus")] + public virtual string EntityStatus { get; set; } + + /// Settings that control which exchanges are enabled for the partner. + [Newtonsoft.Json.JsonPropertyAttribute("exchangeConfig")] + public virtual ExchangeConfig ExchangeConfig { get; set; } + + /// General settings of the partner. + [Newtonsoft.Json.JsonPropertyAttribute("generalConfig")] + public virtual PartnerGeneralConfig GeneralConfig { get; set; } + + /// Output only. The resource name of the partner. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Output only. The unique ID of the partner. Assigned by the system. + [Newtonsoft.Json.JsonPropertyAttribute("partnerId")] + public virtual System.Nullable PartnerId { get; set; } + + private string _updateTimeRaw; + + private object _updateTime; + + /// Output only. The timestamp when the partner was last updated. Assigned by the system. + [Newtonsoft.Json.JsonPropertyAttribute("updateTime")] + public virtual string UpdateTimeRaw + { + get => _updateTimeRaw; + set + { + _updateTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _updateTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use UpdateTimeDateTimeOffset instead.")] + public virtual object UpdateTime + { + get => _updateTime; + set + { + _updateTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _updateTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? UpdateTimeDateTimeOffset + { + get => Google.Apis.Util.Utilities.GetDateTimeOffsetFromString(UpdateTimeRaw); + set => UpdateTimeRaw = Google.Apis.Util.Utilities.GetStringFromDateTimeOffset(value); + } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Ad server related settings of a partner. + public class PartnerAdServerConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// Measurement settings of a partner. + [Newtonsoft.Json.JsonPropertyAttribute("measurementConfig")] + public virtual MeasurementConfig MeasurementConfig { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Billing related settings of a partner. + public class PartnerBillingConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// The ID of a partner default billing profile. + [Newtonsoft.Json.JsonPropertyAttribute("billingProfileId")] + public virtual System.Nullable BillingProfileId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Settings that control a partner cost. A partner cost is any type of expense involved in running a campaign, + /// other than the costs of purchasing impressions (which is called the media cost) and using third-party audience + /// segment data (data fee). Some examples of partner costs include the fees for using DV360, a third-party ad + /// server, or a third-party ad serving verification service. + /// + public class PartnerCost : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. The type of the partner cost. + [Newtonsoft.Json.JsonPropertyAttribute("costType")] + public virtual string CostType { get; set; } + + /// + /// The CPM fee amount in micros of advertiser's currency. Applicable when the fee_type is + /// `PARTNER_FEE_TYPE_CPM_FEE`. Must be greater than or equal to 0. For example, for 1.5 standard unit of the + /// advertiser's currency, set this field to 1500000. + /// + [Newtonsoft.Json.JsonPropertyAttribute("feeAmount")] + public virtual System.Nullable FeeAmount { get; set; } + + /// + /// The media fee percentage in millis (1/1000 of a percent). Applicable when the fee_type is + /// `PARTNER_FEE_TYPE_MEDIA_FEE`. Must be greater than or equal to 0. For example: 100 represents 0.1%. + /// + [Newtonsoft.Json.JsonPropertyAttribute("feePercentageMillis")] + public virtual System.Nullable FeePercentageMillis { get; set; } + + /// Required. The fee type for this partner cost. + [Newtonsoft.Json.JsonPropertyAttribute("feeType")] + public virtual string FeeType { get; set; } + + /// + /// The invoice type for this partner cost. * Required when cost_type is one of: - `PARTNER_COST_TYPE_ADLOOX` - + /// `PARTNER_COST_TYPE_DOUBLE_VERIFY` - `PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE`. * Output only for other types. + /// + [Newtonsoft.Json.JsonPropertyAttribute("invoiceType")] + public virtual string InvoiceType { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Settings that control how partner related data may be accessed. + public class PartnerDataAccessConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Structured Data Files (SDF) settings for the partner. The SDF configuration for the partner. + /// + [Newtonsoft.Json.JsonPropertyAttribute("sdfConfig")] + public virtual SdfConfig SdfConfig { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// General settings of a partner. + public class PartnerGeneralConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// Immutable. Partner's currency in ISO 4217 format. + [Newtonsoft.Json.JsonPropertyAttribute("currencyCode")] + public virtual string CurrencyCode { get; set; } + + /// + /// Immutable. The standard TZ database name of the partner's time zone. For example, `America/New_York`. See + /// more at: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones + /// + [Newtonsoft.Json.JsonPropertyAttribute("timeZone")] + public virtual string TimeZone { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Settings that control how partner revenue is calculated. + public class PartnerRevenueModel : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Required. The markup amount of the partner revenue model. Must be greater than or equal to 0. * When the + /// markup_type is set to be `PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM`, this field represents the CPM markup in + /// micros of advertiser's currency. For example, 1500000 represents 1.5 standard units of the currency. * When + /// the markup_type is set to be `PARTNER_REVENUE_MODEL_MARKUP_TYPE_MEDIA_COST_MARKUP`, this field represents + /// the media cost percent markup in millis. For example, 100 represents 0.1% (decimal 0.001). * When the + /// markup_type is set to be `PARTNER_REVENUE_MODEL_MARKUP_TYPE_TOTAL_MEDIA_COST_MARKUP`, this field represents + /// the total media cost percent markup in millis. For example, 100 represents 0.1% (decimal 0.001). + /// + [Newtonsoft.Json.JsonPropertyAttribute("markupAmount")] + public virtual System.Nullable MarkupAmount { get; set; } + + /// Required. The markup type of the partner revenue model. + [Newtonsoft.Json.JsonPropertyAttribute("markupType")] + public virtual string MarkupType { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Settings that control the performance goal of a campaign. + public class PerformanceGoal : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The goal amount, in micros of the advertiser's currency. Applicable when performance_goal_type is one of: * + /// `PERFORMANCE_GOAL_TYPE_CPM` * `PERFORMANCE_GOAL_TYPE_CPC` * `PERFORMANCE_GOAL_TYPE_CPA` * + /// `PERFORMANCE_GOAL_TYPE_CPIAVC` * `PERFORMANCE_GOAL_TYPE_VCPM` For example 1500000 represents 1.5 standard + /// units of the currency. + /// + [Newtonsoft.Json.JsonPropertyAttribute("performanceGoalAmountMicros")] + public virtual System.Nullable PerformanceGoalAmountMicros { get; set; } + + /// + /// The decimal representation of the goal percentage in micros. Applicable when performance_goal_type is one + /// of: * `PERFORMANCE_GOAL_TYPE_CTR` * `PERFORMANCE_GOAL_TYPE_VIEWABILITY` * `PERFORMANCE_GOAL_TYPE_CLICK_CVR` + /// * `PERFORMANCE_GOAL_TYPE_IMPRESSION_CVR` * `PERFORMANCE_GOAL_TYPE_VTR` * + /// `PERFORMANCE_GOAL_TYPE_AUDIO_COMPLETION_RATE` * `PERFORMANCE_GOAL_TYPE_VIDEO_COMPLETION_RATE` For example, + /// 70000 represents 7% (decimal 0.07). + /// + [Newtonsoft.Json.JsonPropertyAttribute("performanceGoalPercentageMicros")] + public virtual System.Nullable PerformanceGoalPercentageMicros { get; set; } + + /// + /// A key performance indicator (KPI) string, which can be empty. Must be UTF-8 encoded with a length of no more + /// than 100 characters. Applicable when performance_goal_type is set to `PERFORMANCE_GOAL_TYPE_OTHER`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("performanceGoalString")] + public virtual string PerformanceGoalString { get; set; } + + /// Required. The type of the performance goal. + [Newtonsoft.Json.JsonPropertyAttribute("performanceGoalType")] + public virtual string PerformanceGoalType { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A strategy that automatically adjusts the bid to meet or beat a specified performance goal. + public class PerformanceGoalBidStrategy : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The ID of the Custom Bidding Algorithm used by this strategy. Only applicable when performance_goal_type is + /// set to `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("customBiddingAlgorithmId")] + public virtual System.Nullable CustomBiddingAlgorithmId { get; set; } + + /// + /// The maximum average CPM that may be bid, in micros of the advertiser's currency. Must be greater than or + /// equal to a billable unit of the given currency. Not applicable when performance_goal_type is set to + /// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`. For example, 1500000 represents 1.5 standard units of + /// the currency. + /// + [Newtonsoft.Json.JsonPropertyAttribute("maxAverageCpmBidAmountMicros")] + public virtual System.Nullable MaxAverageCpmBidAmountMicros { get; set; } + + /// + /// Required. The performance goal the bidding strategy will attempt to meet or beat, in micros of the + /// advertiser's currency or in micro of the ROAS (Return On Advertising Spend) value which is also based on + /// advertiser's currency. Must be greater than or equal to a billable unit of the given currency and smaller or + /// equal to upper bounds. Each performance_goal_type has its upper bound: * when performance_goal_type is + /// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA`, upper bound is 10000.00 USD. * when performance_goal_type is + /// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC`, upper bound is 1000.00 USD. * when performance_goal_type is + /// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`, upper bound is 1000.00 USD. * when + /// performance_goal_type is `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`, upper bound is 1000.00 and + /// lower bound is 0.01. Example: If set to `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM`, the bid price + /// will be based on the probability that each available impression will be viewable. For example, if viewable + /// CPM target is $2 and an impression is 40% likely to be viewable, the bid price will be $0.80 CPM (40% of + /// $2). For example, 1500000 represents 1.5 standard units of the currency or ROAS value. + /// + [Newtonsoft.Json.JsonPropertyAttribute("performanceGoalAmountMicros")] + public virtual System.Nullable PerformanceGoalAmountMicros { get; set; } + + /// + /// Required. The type of the performance goal that the bidding strategy will try to meet or beat. For line item + /// level usage, the value must be one of: * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA` * + /// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC` * `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM` * + /// `BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("performanceGoalType")] + public virtual string PerformanceGoalType { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Details for assigned POI targeting option. This will be populated in the details field of an + /// AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`. + /// + public class PoiAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Output only. The display name of a POI, e.g. "Times Square", "Space Needle", followed by its full address if + /// available. + /// + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// Output only. Latitude of the POI rounding to 6th decimal place. + [Newtonsoft.Json.JsonPropertyAttribute("latitude")] + public virtual System.Nullable Latitude { get; set; } + + /// Output only. Longitude of the POI rounding to 6th decimal place. + [Newtonsoft.Json.JsonPropertyAttribute("longitude")] + public virtual System.Nullable Longitude { get; set; } + + /// + /// Required. The radius of the area around the POI that will be targeted. The units of the radius are specified + /// by proximity_radius_unit. Must be 1 to 800 if unit is `DISTANCE_UNIT_KILOMETERS` and 1 to 500 if unit is + /// `DISTANCE_UNIT_MILES`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("proximityRadiusAmount")] + public virtual System.Nullable ProximityRadiusAmount { get; set; } + + /// Required. The unit of distance by which the targeting radius is measured. + [Newtonsoft.Json.JsonPropertyAttribute("proximityRadiusUnit")] + public virtual string ProximityRadiusUnit { get; set; } + + /// + /// Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_POI`. Accepted POI targeting + /// option IDs can be retrieved using SearchTargetingOptions. If targeting a specific latitude/longitude + /// coordinate removed from an address or POI name, you can generate the necessary targeting option ID by + /// rounding the desired coordinate values to the 6th decimal place, removing the decimals, and concatenating + /// the string values separated by a semicolon. For example, you can target the latitude/longitude pair of + /// 40.7414691, -74.003387 using the targeting option ID "40741469;-74003387". + /// + [Newtonsoft.Json.JsonPropertyAttribute("targetingOptionId")] + public virtual string TargetingOptionId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Search terms for POI targeting options. + public class PoiSearchTerms : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The search query for the desired POI name, street address, or coordinate of the desired POI. The query can + /// be a prefix, e.g. "Times squar", "40.7505045,-73.99562", "315 W 44th St", etc. + /// + [Newtonsoft.Json.JsonPropertyAttribute("poiQuery")] + public virtual string PoiQuery { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Represents a targetable point of interest(POI). This will be populated in the poi_details field when + /// targeting_type is `TARGETING_TYPE_POI`. + /// + public class PoiTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Output only. The display name of a POI(e.g. "Times Square", "Space Needle"), followed by its full address if + /// available. + /// + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// Output only. Latitude of the POI rounding to 6th decimal place. + [Newtonsoft.Json.JsonPropertyAttribute("latitude")] + public virtual System.Nullable Latitude { get; set; } + + /// Output only. Longitude of the POI rounding to 6th decimal place. + [Newtonsoft.Json.JsonPropertyAttribute("longitude")] + public virtual System.Nullable Longitude { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Settings specific to the Mediaocean Prisma tool. + public class PrismaConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. Relevant client, product, and estimate codes from the Mediaocean Prisma tool. + [Newtonsoft.Json.JsonPropertyAttribute("prismaCpeCode")] + public virtual PrismaCpeCode PrismaCpeCode { get; set; } + + /// Required. The Prisma type. + [Newtonsoft.Json.JsonPropertyAttribute("prismaType")] + public virtual string PrismaType { get; set; } + + /// Required. The entity allocated this budget (DSP, site, etc.). + [Newtonsoft.Json.JsonPropertyAttribute("supplier")] + public virtual string Supplier { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Google Payments Center supports searching and filtering on the component fields of this code. + public class PrismaCpeCode : Google.Apis.Requests.IDirectResponseSchema + { + /// The Prisma client code. + [Newtonsoft.Json.JsonPropertyAttribute("prismaClientCode")] + public virtual string PrismaClientCode { get; set; } + + /// The Prisma estimate code. + [Newtonsoft.Json.JsonPropertyAttribute("prismaEstimateCode")] + public virtual string PrismaEstimateCode { get; set; } + + /// The Prisma product code. + [Newtonsoft.Json.JsonPropertyAttribute("prismaProductCode")] + public virtual string PrismaProductCode { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// The details of product feed. + public class ProductFeedData : Google.Apis.Requests.IDirectResponseSchema + { + /// Whether the product feed has opted-out of showing products. + [Newtonsoft.Json.JsonPropertyAttribute("isFeedDisabled")] + public virtual System.Nullable IsFeedDisabled { get; set; } + + /// A list of dimensions used to match products. + [Newtonsoft.Json.JsonPropertyAttribute("productMatchDimensions")] + public virtual System.Collections.Generic.IList ProductMatchDimensions { get; set; } + + /// How products are selected by the product feed. + [Newtonsoft.Json.JsonPropertyAttribute("productMatchType")] + public virtual string ProductMatchType { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A dimension used to match products. + public class ProductMatchDimension : Google.Apis.Requests.IDirectResponseSchema + { + /// The custom label to match all the products with the label. + [Newtonsoft.Json.JsonPropertyAttribute("customLabel")] + public virtual CustomLabel CustomLabel { get; set; } + + /// The ID of the product offer to match with a product with the same offer ID. + [Newtonsoft.Json.JsonPropertyAttribute("productOfferId")] + public virtual string ProductOfferId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Targeting details for proximity location list. This will be populated in the details field of an + /// AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`. + /// + public class ProximityLocationListAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Required. ID of the proximity location list. Should refer to the location_list_id field of a LocationList + /// resource whose type is `TARGETING_LOCATION_TYPE_PROXIMITY`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("proximityLocationListId")] + public virtual System.Nullable ProximityLocationListId { get; set; } + + /// + /// Required. Radius expressed in the distance units set in proximity_radius_unit. This represents the size of + /// the area around a chosen location that will be targeted. Radius should be between 1 and 500 miles or 800 + /// kilometers. + /// + [Newtonsoft.Json.JsonPropertyAttribute("proximityRadius")] + public virtual System.Nullable ProximityRadius { get; set; } + + /// Required. Radius distance units. + [Newtonsoft.Json.JsonPropertyAttribute("proximityRadiusUnit")] + public virtual string ProximityRadiusUnit { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Publisher review status for the creative. + public class PublisherReviewStatus : Google.Apis.Requests.IDirectResponseSchema + { + /// The publisher reviewing the creative. + [Newtonsoft.Json.JsonPropertyAttribute("publisherName")] + public virtual string PublisherName { get; set; } + + /// Status of the publisher review. + [Newtonsoft.Json.JsonPropertyAttribute("status")] + public virtual string Status { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// The rate related settings of the inventory source. + public class RateDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The rate type. Acceptable values are `INVENTORY_SOURCE_RATE_TYPE_CPM_FIXED`, + /// `INVENTORY_SOURCE_RATE_TYPE_CPM_FLOOR`, and `INVENTORY_SOURCE_RATE_TYPE_CPD`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("inventorySourceRateType")] + public virtual string InventorySourceRateType { get; set; } + + /// + /// Output only. The amount that the buyer has committed to spending on the inventory source up front. Only + /// applicable for guaranteed inventory sources. + /// + [Newtonsoft.Json.JsonPropertyAttribute("minimumSpend")] + public virtual Money MinimumSpend { get; set; } + + /// The rate for the inventory source. + [Newtonsoft.Json.JsonPropertyAttribute("rate")] + public virtual Money Rate { get; set; } + + /// + /// Required for guaranteed inventory sources. The number of impressions guaranteed by the seller. + /// + [Newtonsoft.Json.JsonPropertyAttribute("unitsPurchased")] + public virtual System.Nullable UnitsPurchased { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Targeting details for regional location list. This will be populated in the details field of an + /// AssignedTargetingOption when targeting_type is `TARGETING_TYPE_REGIONAL_LOCATION_LIST`. + /// + public class RegionalLocationListAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Indicates if this option is being negatively targeted. + [Newtonsoft.Json.JsonPropertyAttribute("negative")] + public virtual System.Nullable Negative { get; set; } + + /// + /// Required. ID of the regional location list. Should refer to the location_list_id field of a LocationList + /// resource whose type is `TARGETING_LOCATION_TYPE_REGIONAL`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("regionalLocationListId")] + public virtual System.Nullable RegionalLocationListId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Request message for NegativeKeywordService.ReplaceNegativeKeywords. + public class ReplaceNegativeKeywordsRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The negative keywords that will replace the existing keywords in the negative keyword list, specified as a + /// list of NegativeKeywords. + /// + [Newtonsoft.Json.JsonPropertyAttribute("newNegativeKeywords")] + public virtual System.Collections.Generic.IList NewNegativeKeywords { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Response message for NegativeKeywordService.ReplaceNegativeKeywords. + public class ReplaceNegativeKeywordsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The full list of negative keywords now present in the negative keyword list. + [Newtonsoft.Json.JsonPropertyAttribute("negativeKeywords")] + public virtual System.Collections.Generic.IList NegativeKeywords { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Request message for SiteService.ReplaceSites. + public class ReplaceSitesRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// The ID of the advertiser that owns the parent channel. + [Newtonsoft.Json.JsonPropertyAttribute("advertiserId")] + public virtual System.Nullable AdvertiserId { get; set; } + + /// + /// The sites that will replace the existing sites assigned to the channel, specified as a list of Sites. + /// + [Newtonsoft.Json.JsonPropertyAttribute("newSites")] + public virtual System.Collections.Generic.IList NewSites { get; set; } + + /// The ID of the partner that owns the parent channel. + [Newtonsoft.Json.JsonPropertyAttribute("partnerId")] + public virtual System.Nullable PartnerId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Response message for SiteService.ReplaceSites. + public class ReplaceSitesResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of sites in the channel after replacing. + [Newtonsoft.Json.JsonPropertyAttribute("sites")] + public virtual System.Collections.Generic.IList Sites { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Review statuses for the creative. + public class ReviewStatusInfo : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Represents the basic approval needed for a creative to begin serving. Summary of + /// creative_and_landing_page_review_status and content_and_policy_review_status. + /// + [Newtonsoft.Json.JsonPropertyAttribute("approvalStatus")] + public virtual string ApprovalStatus { get; set; } + + /// Content and policy review status for the creative. + [Newtonsoft.Json.JsonPropertyAttribute("contentAndPolicyReviewStatus")] + public virtual string ContentAndPolicyReviewStatus { get; set; } + + /// Creative and landing page review status for the creative. + [Newtonsoft.Json.JsonPropertyAttribute("creativeAndLandingPageReviewStatus")] + public virtual string CreativeAndLandingPageReviewStatus { get; set; } + + /// Exchange review statuses for the creative. + [Newtonsoft.Json.JsonPropertyAttribute("exchangeReviewStatuses")] + public virtual System.Collections.Generic.IList ExchangeReviewStatuses { get; set; } + + /// Publisher review statuses for the creative. + [Newtonsoft.Json.JsonPropertyAttribute("publisherReviewStatuses")] + public virtual System.Collections.Generic.IList PublisherReviewStatuses { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// An error message for a custom bidding script. + public class ScriptError : Google.Apis.Requests.IDirectResponseSchema + { + /// The column number in the script where the error was thrown. + [Newtonsoft.Json.JsonPropertyAttribute("column")] + public virtual System.Nullable Column { get; set; } + + /// The type of error. + [Newtonsoft.Json.JsonPropertyAttribute("errorCode")] + public virtual string ErrorCode { get; set; } + + /// The detailed error message. + [Newtonsoft.Json.JsonPropertyAttribute("errorMessage")] + public virtual string ErrorMessage { get; set; } + + /// The line number in the script where the error was thrown. + [Newtonsoft.Json.JsonPropertyAttribute("line")] + public virtual System.Nullable Line { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Structured Data File (SDF) related settings. + public class SdfConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// An administrator email address to which the SDF processing status reports will be sent. + [Newtonsoft.Json.JsonPropertyAttribute("adminEmail")] + public virtual string AdminEmail { get; set; } + + /// Required. The version of SDF being used. + [Newtonsoft.Json.JsonPropertyAttribute("version")] + public virtual string Version { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Type for the response returned by [SdfDownloadTaskService.CreateSdfDownloadTask]. + public class SdfDownloadTask : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// A resource name to be used in media.download to Download the prepared files. Resource names have the format + /// `download/sdfdownloadtasks/media/{media_id}`. `media_id` will be made available by the long running + /// operation service once the task status is done. + /// + [Newtonsoft.Json.JsonPropertyAttribute("resourceName")] + public virtual string ResourceName { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Type for the metadata returned by [SdfDownloadTaskService.CreateSdfDownloadTask]. + public class SdfDownloadTaskMetadata : Google.Apis.Requests.IDirectResponseSchema + { + private string _createTimeRaw; + + private object _createTime; + + /// The time when the operation was created. + [Newtonsoft.Json.JsonPropertyAttribute("createTime")] + public virtual string CreateTimeRaw + { + get => _createTimeRaw; + set + { + _createTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _createTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use CreateTimeDateTimeOffset instead.")] + public virtual object CreateTime + { + get => _createTime; + set + { + _createTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _createTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? CreateTimeDateTimeOffset + { + get => Google.Apis.Util.Utilities.GetDateTimeOffsetFromString(CreateTimeRaw); + set => CreateTimeRaw = Google.Apis.Util.Utilities.GetStringFromDateTimeOffset(value); + } + + private string _endTimeRaw; + + private object _endTime; + + /// The time when execution was completed. + [Newtonsoft.Json.JsonPropertyAttribute("endTime")] + public virtual string EndTimeRaw + { + get => _endTimeRaw; + set + { + _endTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _endTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use EndTimeDateTimeOffset instead.")] + public virtual object EndTime + { + get => _endTime; + set + { + _endTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _endTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? EndTimeDateTimeOffset + { + get => Google.Apis.Util.Utilities.GetDateTimeOffsetFromString(EndTimeRaw); + set => EndTimeRaw = Google.Apis.Util.Utilities.GetStringFromDateTimeOffset(value); + } + + /// The SDF version used to execute this download task. + [Newtonsoft.Json.JsonPropertyAttribute("version")] + public virtual string Version { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Request message for SearchTargetingOptions. + public class SearchTargetingOptionsRequest : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. The Advertiser this request is being made in the context of. + [Newtonsoft.Json.JsonPropertyAttribute("advertiserId")] + public virtual System.Nullable AdvertiserId { get; set; } + + /// + /// Search terms for Business Chain targeting options. Can only be used when targeting_type is + /// `TARGETING_TYPE_BUSINESS_CHAIN`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("businessChainSearchTerms")] + public virtual BusinessChainSearchTerms BusinessChainSearchTerms { get; set; } + + /// + /// Search terms for geo region targeting options. Can only be used when targeting_type is + /// `TARGETING_TYPE_GEO_REGION`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("geoRegionSearchTerms")] + public virtual GeoRegionSearchTerms GeoRegionSearchTerms { get; set; } + + /// + /// Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code + /// `INVALID_ARGUMENT` if an invalid value is specified. + /// + [Newtonsoft.Json.JsonPropertyAttribute("pageSize")] + public virtual System.Nullable PageSize { get; set; } + + /// + /// A token identifying a page of results the server should return. Typically, this is the value of + /// next_page_token returned from the previous call to `SearchTargetingOptions` method. If not specified, the + /// first page of results will be returned. + /// + [Newtonsoft.Json.JsonPropertyAttribute("pageToken")] + public virtual string PageToken { get; set; } + + /// + /// Search terms for POI targeting options. Can only be used when targeting_type is `TARGETING_TYPE_POI`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("poiSearchTerms")] + public virtual PoiSearchTerms PoiSearchTerms { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Response message for SearchTargetingOptions. + public class SearchTargetingOptionsResponse : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// A token to retrieve the next page of results. Pass this value in the page_token field in the subsequent call + /// to `SearchTargetingOptions` method to retrieve the next page of results. + /// + [Newtonsoft.Json.JsonPropertyAttribute("nextPageToken")] + public virtual string NextPageToken { get; set; } + + /// + /// The list of targeting options that match the search criteria. This list will be absent if empty. + /// + [Newtonsoft.Json.JsonPropertyAttribute("targetingOptions")] + public virtual System.Collections.Generic.IList TargetingOptions { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Targeting details for sensitive category. This will be populated in the details field of an + /// AssignedTargetingOption when targeting_type is `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`. + /// + public class SensitiveCategoryAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. An enum for the DV360 Sensitive category content classified to be EXCLUDED. + [Newtonsoft.Json.JsonPropertyAttribute("excludedSensitiveCategory")] + public virtual string ExcludedSensitiveCategory { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Represents a targetable sensitive category. This will be populated in the sensitive_category_details field of + /// the TargetingOption when targeting_type is `TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION`. + /// + public class SensitiveCategoryTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. An enum for the DV360 Sensitive category content classifier. + [Newtonsoft.Json.JsonPropertyAttribute("sensitiveCategory")] + public virtual string SensitiveCategory { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Details for session position assigned targeting option. This will be populated in the session_position_details + /// field when targeting_type is `TARGETING_TYPE_SESSION_POSITION`. + /// + public class SessionPositionAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// The position where the ad will show in a session. + [Newtonsoft.Json.JsonPropertyAttribute("sessionPosition")] + public virtual string SessionPosition { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A single site. Sites are apps or websites belonging to a channel. + public class Site : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The resource name of the site. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// + /// Required. The app ID or URL of the site. Must be UTF-8 encoded with a maximum length of 240 bytes. + /// + [Newtonsoft.Json.JsonPropertyAttribute("urlOrAppId")] + public virtual string UrlOrAppId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// 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). + /// + public class Status : Google.Apis.Requests.IDirectResponseSchema + { + /// The status code, which should be an enum value of google.rpc.Code. + [Newtonsoft.Json.JsonPropertyAttribute("code")] + public virtual System.Nullable Code { get; set; } + + /// + /// A list of messages that carry the error details. There is a common set of message types for APIs to use. + /// + [Newtonsoft.Json.JsonPropertyAttribute("details")] + public virtual System.Collections.Generic.IList> Details { get; set; } + + /// + /// 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. + /// + [Newtonsoft.Json.JsonPropertyAttribute("message")] + public virtual string Message { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Details for assigned sub-exchange targeting option. This will be populated in the details field of an + /// AssignedTargetingOption when targeting_type is `TARGETING_TYPE_SUB_EXCHANGE`. + /// + public class SubExchangeAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Required. The targeting_option_id of a TargetingOption of type `TARGETING_TYPE_SUB_EXCHANGE`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("targetingOptionId")] + public virtual string TargetingOptionId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Represents a targetable sub-exchange. This will be populated in the sub_exchange_details field of a + /// TargetingOption when targeting_type is `TARGETING_TYPE_SUB_EXCHANGE`. + /// + public class SubExchangeTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The display name of the sub-exchange. + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Setting that controls the average number of times the ads will show to the same person over a certain period of + /// time. + /// + public class TargetFrequency : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The target number of times, on average, the ads will be shown to the same person in the timespan dictated by + /// time_unit and time_unit_count. + /// + [Newtonsoft.Json.JsonPropertyAttribute("targetCount")] + public virtual System.Nullable TargetCount { get; set; } + + /// + /// The unit of time in which the target frequency will be applied. The following time unit is applicable: * + /// `TIME_UNIT_WEEKS` + /// + [Newtonsoft.Json.JsonPropertyAttribute("timeUnit")] + public virtual string TimeUnit { get; set; } + + /// + /// The number of time_unit the target frequency will last. The following restrictions apply based on the value + /// of time_unit: * `TIME_UNIT_WEEKS` - must be 1 + /// + [Newtonsoft.Json.JsonPropertyAttribute("timeUnitCount")] + public virtual System.Nullable TimeUnitCount { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Settings that control the [optimized targeting](//support.google.com/displayvideo/answer/12060859) settings of + /// the line item. + /// + public class TargetingExpansionConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// 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. + /// + [Newtonsoft.Json.JsonPropertyAttribute("audienceExpansionLevel")] + public virtual string AudienceExpansionLevel { get; set; } + + /// + /// Output only. Whether to exclude seed list for audience expansion. This field only applies to YouTube and + /// Partners line item and ad group resources. + /// + [Newtonsoft.Json.JsonPropertyAttribute("audienceExpansionSeedListExcluded")] + public virtual System.Nullable AudienceExpansionSeedListExcluded { get; set; } + + /// Required. Whether to enable Optimized Targeting for the line item. + [Newtonsoft.Json.JsonPropertyAttribute("enableOptimizedTargeting")] + public virtual System.Nullable EnableOptimizedTargeting { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Represents a single targeting option, which is a targetable concept in DV360. + public class TargetingOption : Google.Apis.Requests.IDirectResponseSchema + { + /// Age range details. + [Newtonsoft.Json.JsonPropertyAttribute("ageRangeDetails")] + public virtual AgeRangeTargetingOptionDetails AgeRangeDetails { get; set; } + + /// App category details. + [Newtonsoft.Json.JsonPropertyAttribute("appCategoryDetails")] + public virtual AppCategoryTargetingOptionDetails AppCategoryDetails { get; set; } + + /// Audio content type details. + [Newtonsoft.Json.JsonPropertyAttribute("audioContentTypeDetails")] + public virtual AudioContentTypeTargetingOptionDetails AudioContentTypeDetails { get; set; } + + /// Authorized seller status resource details. + [Newtonsoft.Json.JsonPropertyAttribute("authorizedSellerStatusDetails")] + public virtual AuthorizedSellerStatusTargetingOptionDetails AuthorizedSellerStatusDetails { get; set; } + + /// Browser details. + [Newtonsoft.Json.JsonPropertyAttribute("browserDetails")] + public virtual BrowserTargetingOptionDetails BrowserDetails { get; set; } + + /// Business chain resource details. + [Newtonsoft.Json.JsonPropertyAttribute("businessChainDetails")] + public virtual BusinessChainTargetingOptionDetails BusinessChainDetails { get; set; } + + /// Carrier and ISP details. + [Newtonsoft.Json.JsonPropertyAttribute("carrierAndIspDetails")] + public virtual CarrierAndIspTargetingOptionDetails CarrierAndIspDetails { get; set; } + + /// Category resource details. + [Newtonsoft.Json.JsonPropertyAttribute("categoryDetails")] + public virtual CategoryTargetingOptionDetails CategoryDetails { get; set; } + + /// Content duration resource details. + [Newtonsoft.Json.JsonPropertyAttribute("contentDurationDetails")] + public virtual ContentDurationTargetingOptionDetails ContentDurationDetails { get; set; } + + /// Content genre resource details. + [Newtonsoft.Json.JsonPropertyAttribute("contentGenreDetails")] + public virtual ContentGenreTargetingOptionDetails ContentGenreDetails { get; set; } + + /// Content instream position details. + [Newtonsoft.Json.JsonPropertyAttribute("contentInstreamPositionDetails")] + public virtual ContentInstreamPositionTargetingOptionDetails ContentInstreamPositionDetails { get; set; } + + /// Content outstream position details. + [Newtonsoft.Json.JsonPropertyAttribute("contentOutstreamPositionDetails")] + public virtual ContentOutstreamPositionTargetingOptionDetails ContentOutstreamPositionDetails { get; set; } + + /// Content stream type resource details. + [Newtonsoft.Json.JsonPropertyAttribute("contentStreamTypeDetails")] + public virtual ContentStreamTypeTargetingOptionDetails ContentStreamTypeDetails { get; set; } + + /// Device make and model resource details. + [Newtonsoft.Json.JsonPropertyAttribute("deviceMakeModelDetails")] + public virtual DeviceMakeModelTargetingOptionDetails DeviceMakeModelDetails { get; set; } + + /// Device type details. + [Newtonsoft.Json.JsonPropertyAttribute("deviceTypeDetails")] + public virtual DeviceTypeTargetingOptionDetails DeviceTypeDetails { get; set; } + + /// Digital content label details. + [Newtonsoft.Json.JsonPropertyAttribute("digitalContentLabelDetails")] + public virtual DigitalContentLabelTargetingOptionDetails DigitalContentLabelDetails { get; set; } + + /// Environment details. + [Newtonsoft.Json.JsonPropertyAttribute("environmentDetails")] + public virtual EnvironmentTargetingOptionDetails EnvironmentDetails { get; set; } + + /// Exchange details. + [Newtonsoft.Json.JsonPropertyAttribute("exchangeDetails")] + public virtual ExchangeTargetingOptionDetails ExchangeDetails { get; set; } + + /// Gender details. + [Newtonsoft.Json.JsonPropertyAttribute("genderDetails")] + public virtual GenderTargetingOptionDetails GenderDetails { get; set; } + + /// Geographic region resource details. + [Newtonsoft.Json.JsonPropertyAttribute("geoRegionDetails")] + public virtual GeoRegionTargetingOptionDetails GeoRegionDetails { get; set; } + + /// Household income details. + [Newtonsoft.Json.JsonPropertyAttribute("householdIncomeDetails")] + public virtual HouseholdIncomeTargetingOptionDetails HouseholdIncomeDetails { get; set; } + + /// Language resource details. + [Newtonsoft.Json.JsonPropertyAttribute("languageDetails")] + public virtual LanguageTargetingOptionDetails LanguageDetails { get; set; } + + /// Output only. The resource name for this targeting option. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Native content position details. + [Newtonsoft.Json.JsonPropertyAttribute("nativeContentPositionDetails")] + public virtual NativeContentPositionTargetingOptionDetails NativeContentPositionDetails { get; set; } + + /// Open Measurement enabled inventory details. + [Newtonsoft.Json.JsonPropertyAttribute("omidDetails")] + public virtual OmidTargetingOptionDetails OmidDetails { get; set; } + + /// On screen position details. + [Newtonsoft.Json.JsonPropertyAttribute("onScreenPositionDetails")] + public virtual OnScreenPositionTargetingOptionDetails OnScreenPositionDetails { get; set; } + + /// Operating system resources details. + [Newtonsoft.Json.JsonPropertyAttribute("operatingSystemDetails")] + public virtual OperatingSystemTargetingOptionDetails OperatingSystemDetails { get; set; } + + /// Parental status details. + [Newtonsoft.Json.JsonPropertyAttribute("parentalStatusDetails")] + public virtual ParentalStatusTargetingOptionDetails ParentalStatusDetails { get; set; } + + /// POI resource details. + [Newtonsoft.Json.JsonPropertyAttribute("poiDetails")] + public virtual PoiTargetingOptionDetails PoiDetails { get; set; } + + /// Sensitive Category details. + [Newtonsoft.Json.JsonPropertyAttribute("sensitiveCategoryDetails")] + public virtual SensitiveCategoryTargetingOptionDetails SensitiveCategoryDetails { get; set; } + + /// Sub-exchange details. + [Newtonsoft.Json.JsonPropertyAttribute("subExchangeDetails")] + public virtual SubExchangeTargetingOptionDetails SubExchangeDetails { get; set; } + + /// + /// Output only. A unique identifier for this targeting option. The tuple {`targeting_type`, + /// `targeting_option_id`} will be unique. + /// + [Newtonsoft.Json.JsonPropertyAttribute("targetingOptionId")] + public virtual string TargetingOptionId { get; set; } + + /// Output only. The type of this targeting option. + [Newtonsoft.Json.JsonPropertyAttribute("targetingType")] + public virtual string TargetingType { get; set; } + + /// User rewarded content details. + [Newtonsoft.Json.JsonPropertyAttribute("userRewardedContentDetails")] + public virtual UserRewardedContentTargetingOptionDetails UserRewardedContentDetails { get; set; } + + /// Video player size details. + [Newtonsoft.Json.JsonPropertyAttribute("videoPlayerSizeDetails")] + public virtual VideoPlayerSizeTargetingOptionDetails VideoPlayerSizeDetails { get; set; } + + /// Viewability resource details. + [Newtonsoft.Json.JsonPropertyAttribute("viewabilityDetails")] + public virtual ViewabilityTargetingOptionDetails ViewabilityDetails { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Settings that control what third-party vendors are measuring specific line item metrics. + public class ThirdPartyMeasurementConfigs : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Optional. The third-party vendors measuring brand lift. The following third-party vendors are applicable: * + /// `THIRD_PARTY_VENDOR_DYNATA` * `THIRD_PARTY_VENDOR_KANTAR` + /// + [Newtonsoft.Json.JsonPropertyAttribute("brandLiftVendorConfigs")] + public virtual System.Collections.Generic.IList BrandLiftVendorConfigs { get; set; } + + /// + /// Optional. The third-party vendors measuring brand safety. The following third-party vendors are applicable: + /// * `THIRD_PARTY_VENDOR_ZERF` * `THIRD_PARTY_VENDOR_DOUBLE_VERIFY` * `THIRD_PARTY_VENDOR_INTEGRAL_AD_SCIENCE` + /// + [Newtonsoft.Json.JsonPropertyAttribute("brandSafetyVendorConfigs")] + public virtual System.Collections.Generic.IList BrandSafetyVendorConfigs { get; set; } + + /// + /// Optional. The third-party vendors measuring reach. The following third-party vendors are applicable: * + /// `THIRD_PARTY_VENDOR_NIELSEN` * `THIRD_PARTY_VENDOR_COMSCORE` * `THIRD_PARTY_VENDOR_KANTAR` + /// + [Newtonsoft.Json.JsonPropertyAttribute("reachVendorConfigs")] + public virtual System.Collections.Generic.IList ReachVendorConfigs { get; set; } + + /// + /// Optional. The third-party vendors measuring viewability. The following third-party vendors are applicable: * + /// `THIRD_PARTY_VENDOR_MOAT` * `THIRD_PARTY_VENDOR_DOUBLE_VERIFY` * `THIRD_PARTY_VENDOR_INTEGRAL_AD_SCIENCE` * + /// `THIRD_PARTY_VENDOR_COMSCORE` * `THIRD_PARTY_VENDOR_TELEMETRY` * `THIRD_PARTY_VENDOR_MEETRICS` + /// + [Newtonsoft.Json.JsonPropertyAttribute("viewabilityVendorConfigs")] + public virtual System.Collections.Generic.IList ViewabilityVendorConfigs { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Settings for advertisers that use third-party ad servers only. + public class ThirdPartyOnlyConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Whether or not order ID reporting for pixels is enabled. This value cannot be changed once set to `true`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("pixelOrderIdReportingEnabled")] + public virtual System.Nullable PixelOrderIdReportingEnabled { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Tracking URLs from third parties to track interactions with an audio or a video creative. + public class ThirdPartyUrl : Google.Apis.Requests.IDirectResponseSchema + { + /// The type of interaction needs to be tracked by the tracking URL + [Newtonsoft.Json.JsonPropertyAttribute("type")] + public virtual string Type { get; set; } + + /// + /// Tracking URL used to track the interaction. Provide a URL with optional path or query string, beginning with + /// `https:`. For example, https://www.example.com/path + /// + [Newtonsoft.Json.JsonPropertyAttribute("url")] + public virtual string Url { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Settings that control how third-party measurement vendors are configured. + public class ThirdPartyVendorConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// The ID used by the platform of the third-party vendor to identify the line item. + [Newtonsoft.Json.JsonPropertyAttribute("placementId")] + public virtual string PlacementId { get; set; } + + /// The third-party measurement vendor. + [Newtonsoft.Json.JsonPropertyAttribute("vendor")] + public virtual string Vendor { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Assigned third party verifier targeting option details. This will be populated in the details field of an + /// AssignedTargetingOption when targeting_type is `TARGETING_TYPE_THIRD_PARTY_VERIFIER`. + /// + public class ThirdPartyVerifierAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Third party brand verifier -- Adloox. + [Newtonsoft.Json.JsonPropertyAttribute("adloox")] + public virtual Adloox Adloox { get; set; } + + /// Third party brand verifier -- DoubleVerify. + [Newtonsoft.Json.JsonPropertyAttribute("doubleVerify")] + public virtual DoubleVerify DoubleVerify { get; set; } + + /// Third party brand verifier -- Integral Ad Science. + [Newtonsoft.Json.JsonPropertyAttribute("integralAdScience")] + public virtual IntegralAdScience IntegralAdScience { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A time range. + public class TimeRange : Google.Apis.Requests.IDirectResponseSchema + { + private string _endTimeRaw; + + private object _endTime; + + /// Required. The upper bound of a time range, inclusive. + [Newtonsoft.Json.JsonPropertyAttribute("endTime")] + public virtual string EndTimeRaw + { + get => _endTimeRaw; + set + { + _endTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _endTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use EndTimeDateTimeOffset instead.")] + public virtual object EndTime + { + get => _endTime; + set + { + _endTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _endTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? EndTimeDateTimeOffset + { + get => Google.Apis.Util.Utilities.GetDateTimeOffsetFromString(EndTimeRaw); + set => EndTimeRaw = Google.Apis.Util.Utilities.GetStringFromDateTimeOffset(value); + } + + private string _startTimeRaw; + + private object _startTime; + + /// Required. The lower bound of a time range, inclusive. + [Newtonsoft.Json.JsonPropertyAttribute("startTime")] + public virtual string StartTimeRaw + { + get => _startTimeRaw; + set + { + _startTime = Google.Apis.Util.Utilities.DeserializeForGoogleFormat(value); + _startTimeRaw = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + [System.ObsoleteAttribute("This property is obsolete and may behave unexpectedly; please use StartTimeDateTimeOffset instead.")] + public virtual object StartTime + { + get => _startTime; + set + { + _startTimeRaw = Google.Apis.Util.Utilities.SerializeForGoogleFormat(value); + _startTime = value; + } + } + + /// representation of . + [Newtonsoft.Json.JsonIgnoreAttribute] + public virtual System.DateTimeOffset? StartTimeDateTimeOffset + { + get => Google.Apis.Util.Utilities.GetDateTimeOffsetFromString(StartTimeRaw); + set => StartTimeRaw = Google.Apis.Util.Utilities.GetStringFromDateTimeOffset(value); + } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Timer event of the creative. + public class TimerEvent : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. The name of the timer event. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Required. The name used to identify this timer event in reports. + [Newtonsoft.Json.JsonPropertyAttribute("reportingName")] + public virtual string ReportingName { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Settings that control the behavior of a single Floodlight activity config. + public class TrackingFloodlightActivityConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. The ID of the Floodlight activity. + [Newtonsoft.Json.JsonPropertyAttribute("floodlightActivityId")] + public virtual System.Nullable FloodlightActivityId { get; set; } + + /// + /// Required. The number of days after an ad has been clicked in which a conversion may be counted. Must be + /// between 0 and 90 inclusive. + /// + [Newtonsoft.Json.JsonPropertyAttribute("postClickLookbackWindowDays")] + public virtual System.Nullable PostClickLookbackWindowDays { get; set; } + + /// + /// Required. The number of days after an ad has been viewed in which a conversion may be counted. Must be + /// between 0 and 90 inclusive. + /// + [Newtonsoft.Json.JsonPropertyAttribute("postViewLookbackWindowDays")] + public virtual System.Nullable PostViewLookbackWindowDays { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Represents information about the transcoded audio or video file. + public class Transcode : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The bit rate for the audio stream of the transcoded video, or the bit rate for the transcoded audio, in + /// kilobits per second. + /// + [Newtonsoft.Json.JsonPropertyAttribute("audioBitRateKbps")] + public virtual System.Nullable AudioBitRateKbps { get; set; } + + /// + /// The sample rate for the audio stream of the transcoded video, or the sample rate for the transcoded audio, + /// in hertz. + /// + [Newtonsoft.Json.JsonPropertyAttribute("audioSampleRateHz")] + public virtual System.Nullable AudioSampleRateHz { get; set; } + + /// The transcoding bit rate of the transcoded video, in kilobits per second. + [Newtonsoft.Json.JsonPropertyAttribute("bitRateKbps")] + public virtual System.Nullable BitRateKbps { get; set; } + + /// The dimensions of the transcoded video. + [Newtonsoft.Json.JsonPropertyAttribute("dimensions")] + public virtual Dimensions Dimensions { get; set; } + + /// The size of the transcoded file, in bytes. + [Newtonsoft.Json.JsonPropertyAttribute("fileSizeBytes")] + public virtual System.Nullable FileSizeBytes { get; set; } + + /// The frame rate of the transcoded video, in frames per second. + [Newtonsoft.Json.JsonPropertyAttribute("frameRate")] + public virtual System.Nullable FrameRate { get; set; } + + /// The MIME type of the transcoded file. + [Newtonsoft.Json.JsonPropertyAttribute("mimeType")] + public virtual string MimeType { get; set; } + + /// The name of the transcoded file. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Indicates if the transcoding was successful. + [Newtonsoft.Json.JsonPropertyAttribute("transcoded")] + public virtual System.Nullable Transcoded { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// A creative identifier provided by a registry that is unique across all platforms. This is part of the VAST 4.0 + /// standard. + /// + public class UniversalAdId : Google.Apis.Requests.IDirectResponseSchema + { + /// The unique creative identifier. + [Newtonsoft.Json.JsonPropertyAttribute("id")] + public virtual string Id { get; set; } + + /// The registry provides unique creative identifiers. + [Newtonsoft.Json.JsonPropertyAttribute("registry")] + public virtual string Registry { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Details for assigned URL targeting option. This will be populated in the details field of an + /// AssignedTargetingOption when targeting_type is `TARGETING_TYPE_URL`. + /// + public class UrlAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Indicates if this option is being negatively targeted. + [Newtonsoft.Json.JsonPropertyAttribute("negative")] + public virtual System.Nullable Negative { get; set; } + + /// + /// Required. The URL, for example `example.com`. DV360 supports two levels of subdirectory targeting, for + /// example `www.example.com/one-subdirectory-level/second-level`, and five levels of subdomain targeting, for + /// example `five.four.three.two.one.example.com`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("url")] + public virtual string Url { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// A single user in Display & Video 360. + public class User : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// The assigned user roles. Required in CreateUser. Output only in UpdateUser. Can only be updated through + /// BulkEditAssignedUserRoles. + /// + [Newtonsoft.Json.JsonPropertyAttribute("assignedUserRoles")] + public virtual System.Collections.Generic.IList AssignedUserRoles { get; set; } + + /// + /// Required. The display name of the user. Must be UTF-8 encoded with a maximum size of 240 bytes. + /// + [Newtonsoft.Json.JsonPropertyAttribute("displayName")] + public virtual string DisplayName { get; set; } + + /// Required. Immutable. The email address used to identify the user. + [Newtonsoft.Json.JsonPropertyAttribute("email")] + public virtual string Email { get; set; } + + /// Output only. The resource name of the user. + [Newtonsoft.Json.JsonPropertyAttribute("name")] + public virtual string Name { get; set; } + + /// Output only. The unique ID of the user. Assigned by the system. + [Newtonsoft.Json.JsonPropertyAttribute("userId")] + public virtual System.Nullable UserId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// User rewarded content targeting option details. This will be populated in the user_rewarded_content_details + /// field when targeting_type is `TARGETING_TYPE_USER_REWARDED_CONTENT`. + /// + public class UserRewardedContentAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// + /// Required. The targeting_option_id field when targeting_type is `TARGETING_TYPE_USER_REWARDED_CONTENT`. + /// + [Newtonsoft.Json.JsonPropertyAttribute("targetingOptionId")] + public virtual string TargetingOptionId { get; set; } + + /// Output only. User rewarded content status for video ads. + [Newtonsoft.Json.JsonPropertyAttribute("userRewardedContent")] + public virtual string UserRewardedContent { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Represents a targetable user rewarded content status for video ads only. This will be populated in the + /// user_rewarded_content_details field when targeting_type is `TARGETING_TYPE_USER_REWARDED_CONTENT`. + /// + public class UserRewardedContentTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. User rewarded content status for video ads. + [Newtonsoft.Json.JsonPropertyAttribute("userRewardedContent")] + public virtual string UserRewardedContent { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Settings related to VideoAdSequence. + public class VideoAdSequenceSettings : Google.Apis.Requests.IDirectResponseSchema + { + /// The minimum time interval before the same user sees this sequence again. + [Newtonsoft.Json.JsonPropertyAttribute("minimumDuration")] + public virtual string MinimumDuration { get; set; } + + /// The steps of which the sequence consists. + [Newtonsoft.Json.JsonPropertyAttribute("steps")] + public virtual System.Collections.Generic.IList Steps { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// The detail of a single step in a VideoAdSequence. + public class VideoAdSequenceStep : Google.Apis.Requests.IDirectResponseSchema + { + /// The ID of the corresponding ad group of the step. + [Newtonsoft.Json.JsonPropertyAttribute("adGroupId")] + public virtual System.Nullable AdGroupId { get; set; } + + /// + /// The interaction on the previous step that will lead the viewer to this step. The first step does not have + /// interaction_type. + /// + [Newtonsoft.Json.JsonPropertyAttribute("interactionType")] + public virtual string InteractionType { get; set; } + + /// The ID of the previous step. The first step does not have previous step. + [Newtonsoft.Json.JsonPropertyAttribute("previousStepId")] + public virtual System.Nullable PreviousStepId { get; set; } + + /// The ID of the step. + [Newtonsoft.Json.JsonPropertyAttribute("stepId")] + public virtual System.Nullable StepId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Details for a video discovery ad. + public class VideoDiscoveryAd : Google.Apis.Requests.IDirectResponseSchema + { + /// First text line for the ad. + [Newtonsoft.Json.JsonPropertyAttribute("description1")] + public virtual string Description1 { get; set; } + + /// Second text line for the ad. + [Newtonsoft.Json.JsonPropertyAttribute("description2")] + public virtual string Description2 { get; set; } + + /// The headline of ad. + [Newtonsoft.Json.JsonPropertyAttribute("headline")] + public virtual string Headline { get; set; } + + /// Thumbnail image used in the ad. + [Newtonsoft.Json.JsonPropertyAttribute("thumbnail")] + public virtual string Thumbnail { get; set; } + + /// The YouTube video the ad promotes. + [Newtonsoft.Json.JsonPropertyAttribute("video")] + public virtual YoutubeVideoDetails Video { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Details for a video performance ad. + public class VideoPerformanceAd : Google.Apis.Requests.IDirectResponseSchema + { + /// The list of text assets shown on the call-to-action button. + [Newtonsoft.Json.JsonPropertyAttribute("actionButtonLabels")] + public virtual System.Collections.Generic.IList ActionButtonLabels { get; set; } + + /// The list of companion banners used by this ad. + [Newtonsoft.Json.JsonPropertyAttribute("companionBanners")] + public virtual System.Collections.Generic.IList CompanionBanners { get; set; } + + /// The custom parameters to pass custom values to tracking URL template. + [Newtonsoft.Json.JsonPropertyAttribute("customParameters")] + public virtual System.Collections.Generic.IDictionary CustomParameters { get; set; } + + /// The list of descriptions shown on the call-to-action banner. + [Newtonsoft.Json.JsonPropertyAttribute("descriptions")] + public virtual System.Collections.Generic.IList Descriptions { get; set; } + + /// The first piece after the domain in the display URL. + [Newtonsoft.Json.JsonPropertyAttribute("displayUrlBreadcrumb1")] + public virtual string DisplayUrlBreadcrumb1 { get; set; } + + /// The second piece after the domain in the display URL. + [Newtonsoft.Json.JsonPropertyAttribute("displayUrlBreadcrumb2")] + public virtual string DisplayUrlBreadcrumb2 { get; set; } + + /// The domain of the display URL. + [Newtonsoft.Json.JsonPropertyAttribute("domain")] + public virtual string Domain { get; set; } + + /// The URL address of the webpage that people reach after they click the ad. + [Newtonsoft.Json.JsonPropertyAttribute("finalUrl")] + public virtual string FinalUrl { get; set; } + + /// The list of headlines shown on the call-to-action banner. + [Newtonsoft.Json.JsonPropertyAttribute("headlines")] + public virtual System.Collections.Generic.IList Headlines { get; set; } + + /// The list of lone headlines shown on the call-to-action banner. + [Newtonsoft.Json.JsonPropertyAttribute("longHeadlines")] + public virtual System.Collections.Generic.IList LongHeadlines { get; set; } + + /// The URL address loaded in the background for tracking purposes. + [Newtonsoft.Json.JsonPropertyAttribute("trackingUrl")] + public virtual string TrackingUrl { get; set; } + + /// The list of YouTube video assets used by this ad. + [Newtonsoft.Json.JsonPropertyAttribute("videos")] + public virtual System.Collections.Generic.IList Videos { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Video player size targeting option details. This will be populated in the video_player_size_details field when + /// targeting_type is `TARGETING_TYPE_VIDEO_PLAYER_SIZE`. Explicitly targeting all options is not supported. Remove + /// all video player size targeting options to achieve this effect. + /// + public class VideoPlayerSizeAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. The video player size. + [Newtonsoft.Json.JsonPropertyAttribute("videoPlayerSize")] + public virtual string VideoPlayerSize { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Represents a targetable video player size. This will be populated in the video_player_size_details field when + /// targeting_type is `TARGETING_TYPE_VIDEO_PLAYER_SIZE`. + /// + public class VideoPlayerSizeTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The video player size. + [Newtonsoft.Json.JsonPropertyAttribute("videoPlayerSize")] + public virtual string VideoPlayerSize { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Assigned viewability targeting option details. This will be populated in the viewability_details field of an + /// AssignedTargetingOption when targeting_type is `TARGETING_TYPE_VIEWABILITY`. + /// + public class ViewabilityAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Required. The predicted viewability percentage. + [Newtonsoft.Json.JsonPropertyAttribute("viewability")] + public virtual string Viewability { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Represents a targetable viewability. This will be populated in the viewability_details field of a + /// TargetingOption when targeting_type is `TARGETING_TYPE_VIEWABILITY`. + /// + public class ViewabilityTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. The predicted viewability percentage. + [Newtonsoft.Json.JsonPropertyAttribute("viewability")] + public virtual string Viewability { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Settings that control the bid strategy for YouTube and Partners resources. + public class YoutubeAndPartnersBiddingStrategy : Google.Apis.Requests.IDirectResponseSchema + { + /// Output only. Source of the effective target CPA value for ad group. + [Newtonsoft.Json.JsonPropertyAttribute("adGroupEffectiveTargetCpaSource")] + public virtual string AdGroupEffectiveTargetCpaSource { get; set; } + + /// Output only. The effective target CPA for ad group, in micros of advertiser's currency. + [Newtonsoft.Json.JsonPropertyAttribute("adGroupEffectiveTargetCpaValue")] + public virtual System.Nullable AdGroupEffectiveTargetCpaValue { get; set; } + + /// The type of the bidding strategy. + [Newtonsoft.Json.JsonPropertyAttribute("type")] + public virtual string Type { get; set; } + + /// + /// The value used by the bidding strategy. When the bidding strategy is assigned at the line item level, this + /// field is only applicable for the following strategy types: * + /// `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPA` * + /// `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_ROAS` When the bidding strategy is assigned at the ad + /// group level, this field is only applicable for the following strategy types: * + /// `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPM` * + /// `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPV` * + /// `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPA` * + /// `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPM` * + /// `YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_ROAS` If not using an applicable strategy, the value of + /// this field will be 0. + /// + [Newtonsoft.Json.JsonPropertyAttribute("value")] + public virtual System.Nullable Value { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Settings that control what YouTube related inventories the YouTube and Partners line item will target. + /// + public class YoutubeAndPartnersInventorySourceConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// Whether to target inventory on YouTube. This includes both search, channels and videos. + [Newtonsoft.Json.JsonPropertyAttribute("includeYoutube")] + public virtual System.Nullable IncludeYoutube { get; set; } + + /// + /// Whether to target inventory on a collection of partner sites and apps that follow the same brand safety + /// standards as YouTube. + /// + [Newtonsoft.Json.JsonPropertyAttribute("includeYoutubeVideoPartners")] + public virtual System.Nullable IncludeYoutubeVideoPartners { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Settings for YouTube and Partners line items. + public class YoutubeAndPartnersSettings : Google.Apis.Requests.IDirectResponseSchema + { + /// The kind of content on which the YouTube and Partners ads will be shown. + [Newtonsoft.Json.JsonPropertyAttribute("contentCategory")] + public virtual string ContentCategory { get; set; } + + /// + /// Output only. The content category which takes effect when serving the line item. When content category is + /// set in both line item and advertiser, the stricter one will take effect when serving the line item. + /// + [Newtonsoft.Json.JsonPropertyAttribute("effectiveContentCategory")] + public virtual string EffectiveContentCategory { get; set; } + + /// Settings that control what YouTube and Partners inventories the line item will target. + [Newtonsoft.Json.JsonPropertyAttribute("inventorySourceSettings")] + public virtual YoutubeAndPartnersInventorySourceConfig InventorySourceSettings { get; set; } + + /// The ID of the form to generate leads. + [Newtonsoft.Json.JsonPropertyAttribute("leadFormId")] + public virtual System.Nullable LeadFormId { get; set; } + + /// The ID of the merchant which is linked to the line item for product feed. + [Newtonsoft.Json.JsonPropertyAttribute("linkedMerchantId")] + public virtual System.Nullable LinkedMerchantId { get; set; } + + /// + /// The IDs of the videos appear below the primary video ad when the ad is playing in the YouTube app on mobile + /// devices. + /// + [Newtonsoft.Json.JsonPropertyAttribute("relatedVideoIds")] + public virtual System.Collections.Generic.IList RelatedVideoIds { get; set; } + + /// + /// The average number of times you want ads from this line item to show to the same person over a certain + /// period of time. + /// + [Newtonsoft.Json.JsonPropertyAttribute("targetFrequency")] + public virtual TargetFrequency TargetFrequency { get; set; } + + /// Optional. The third-party measurement configs of the line item. + [Newtonsoft.Json.JsonPropertyAttribute("thirdPartyMeasurementConfigs")] + public virtual ThirdPartyMeasurementConfigs ThirdPartyMeasurementConfigs { get; set; } + + /// The settings related to VideoAdSequence. + [Newtonsoft.Json.JsonPropertyAttribute("videoAdSequenceSettings")] + public virtual VideoAdSequenceSettings VideoAdSequenceSettings { get; set; } + + /// + /// The view frequency cap settings of the line item. The max_views field in this settings object must be used + /// if assigning a limited cap. + /// + [Newtonsoft.Json.JsonPropertyAttribute("viewFrequencyCap")] + public virtual FrequencyCap ViewFrequencyCap { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Details for YouTube channel assigned targeting option. This will be populated in the youtube_channel_details + /// field when targeting_type is `TARGETING_TYPE_YOUTUBE_CHANNEL`. + /// + public class YoutubeChannelAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// The YouTube uploader channel id or the channel code of a YouTube channel. + [Newtonsoft.Json.JsonPropertyAttribute("channelId")] + public virtual string ChannelId { get; set; } + + /// Indicates if this option is being negatively targeted. + [Newtonsoft.Json.JsonPropertyAttribute("negative")] + public virtual System.Nullable Negative { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// + /// Details for YouTube video assigned targeting option. This will be populated in the youtube_video_details field + /// when targeting_type is `TARGETING_TYPE_YOUTUBE_VIDEO`. + /// + public class YoutubeVideoAssignedTargetingOptionDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// Indicates if this option is being negatively targeted. + [Newtonsoft.Json.JsonPropertyAttribute("negative")] + public virtual System.Nullable Negative { get; set; } + + /// YouTube video id as it appears on the YouTube watch page. + [Newtonsoft.Json.JsonPropertyAttribute("videoId")] + public virtual string VideoId { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + + /// Details of a YouTube video. + public class YoutubeVideoDetails : Google.Apis.Requests.IDirectResponseSchema + { + /// The YouTube video ID which can be searched on YouTube webpage. + [Newtonsoft.Json.JsonPropertyAttribute("id")] + public virtual string Id { get; set; } + + /// The reason why the video data is not available. + [Newtonsoft.Json.JsonPropertyAttribute("unavailableReason")] + public virtual string UnavailableReason { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } +} diff --git a/Src/Generated/Google.Apis.DisplayVideo.v3/Google.Apis.DisplayVideo.v3.csproj b/Src/Generated/Google.Apis.DisplayVideo.v3/Google.Apis.DisplayVideo.v3.csproj new file mode 100644 index 00000000000..06ca3fc823d --- /dev/null +++ b/Src/Generated/Google.Apis.DisplayVideo.v3/Google.Apis.DisplayVideo.v3.csproj @@ -0,0 +1,64 @@ + + + + + Google.Apis.DisplayVideo.v3 Client Library + 1.62.1.3203 + Google LLC + Copyright 2023 Google LLC + Google + https://github.com/google/google-api-dotnet-client + Apache-2.0 + git + https://github.com/google/google-api-dotnet-client + https://www.gstatic.com/images/branding/product/1x/google_developers_64dp.png + NuGetIcon.png + + Google APIs Client Library for working with Displayvideo v3. + + Supported Platforms: + - .NET Framework 4.5+ + - .NET Standard 1.3 and .NET Standard 2.0; providing .NET Core support. + + Incompatible platforms: + - .NET Framework < 4.5 + - Silverlight + - UWP (will build, but is known not to work at runtime) + - Xamarin + - Windows 8 Apps + - Windows Phone 8.1 + - Windows Phone Silverlight 8.0 + + More documentation on the API is available at: + https://developers.google.com/api-client-library/dotnet/apis/displayvideo/v3 + + The package source code is available at: + https://github.com/google/google-api-dotnet-client/tree/master/Src/Generated + + + + + + + + + + + netstandard2.0;netstandard1.3;net45 + true + ..\..\..\google.apis.snk + portable + true + 1570,1587,1591 + + + + + + + + + + + + diff --git a/Src/Generated/Google.Apis.Firebaseappcheck.v1/Google.Apis.Firebaseappcheck.v1.cs b/Src/Generated/Google.Apis.Firebaseappcheck.v1/Google.Apis.Firebaseappcheck.v1.cs index 41b59440816..40dec74c1e9 100644 --- a/Src/Generated/Google.Apis.Firebaseappcheck.v1/Google.Apis.Firebaseappcheck.v1.cs +++ b/Src/Generated/Google.Apis.Firebaseappcheck.v1/Google.Apis.Firebaseappcheck.v1.cs @@ -3655,8 +3655,9 @@ public class GoogleFirebaseAppcheckV1ExchangeAppAttestAssertionRequest : Google. public virtual string Challenge { get; set; } /// - /// Forces a short lived token with a 5 minute TTL. Useful when the client wishes to self impose stricter TTL - /// requirements for this exchange. Default: false. + /// Specifies whether this attestation is for use in a *limited use* (`true`) or *session based* (`false`) + /// context. To enable this attestation to be used with the *replay protection* feature, set this to `true`. The + /// default value is `false`. /// [Newtonsoft.Json.JsonPropertyAttribute("limitedUse")] public virtual System.Nullable LimitedUse { get; set; } @@ -3686,8 +3687,9 @@ public class GoogleFirebaseAppcheckV1ExchangeAppAttestAttestationRequest : Googl public virtual string KeyId { get; set; } /// - /// Forces a short lived token with a 5 minute TTL. Useful when the client wishes to self impose stricter TTL - /// requirements for this exchange. Default: false. + /// Specifies whether this attestation is for use in a *limited use* (`true`) or *session based* (`false`) + /// context. To enable this attestation to be used with the *replay protection* feature, set this to `true`. The + /// default value is `false`. /// [Newtonsoft.Json.JsonPropertyAttribute("limitedUse")] public virtual System.Nullable LimitedUse { get; set; } @@ -3721,8 +3723,9 @@ public class GoogleFirebaseAppcheckV1ExchangeCustomTokenRequest : Google.Apis.Re public virtual string CustomToken { get; set; } /// - /// Forces a short lived token with a 5 minute TTL. Useful when the client wishes to self impose stricter TTL - /// requirements for this exchange. Default: false. + /// Specifies whether this attestation is for use in a *limited use* (`true`) or *session based* (`false`) + /// context. To enable this attestation to be used with the *replay protection* feature, set this to `true`. The + /// default value is `false`. /// [Newtonsoft.Json.JsonPropertyAttribute("limitedUse")] public virtual System.Nullable LimitedUse { get; set; } @@ -3742,8 +3745,9 @@ public class GoogleFirebaseAppcheckV1ExchangeDebugTokenRequest : Google.Apis.Req public virtual string DebugToken { get; set; } /// - /// Forces a short lived token with a 5 minute TTL. Useful when the client wishes to self impose stricter TTL - /// requirements for this exchange. Default: false. + /// Specifies whether this attestation is for use in a *limited use* (`true`) or *session based* (`false`) + /// context. To enable this attestation to be used with the *replay protection* feature, set this to `true`. The + /// default value is `false`. /// [Newtonsoft.Json.JsonPropertyAttribute("limitedUse")] public virtual System.Nullable LimitedUse { get; set; } @@ -3764,8 +3768,9 @@ public class GoogleFirebaseAppcheckV1ExchangeDeviceCheckTokenRequest : Google.Ap public virtual string DeviceToken { get; set; } /// - /// Forces a short lived token with a 5 minute TTL. Useful when the client wishes to self impose stricter TTL - /// requirements for this exchange. Default: false. + /// Specifies whether this attestation is for use in a *limited use* (`true`) or *session based* (`false`) + /// context. To enable this attestation to be used with the *replay protection* feature, set this to `true`. The + /// default value is `false`. /// [Newtonsoft.Json.JsonPropertyAttribute("limitedUse")] public virtual System.Nullable LimitedUse { get; set; } @@ -3778,8 +3783,9 @@ public class GoogleFirebaseAppcheckV1ExchangeDeviceCheckTokenRequest : Google.Ap public class GoogleFirebaseAppcheckV1ExchangePlayIntegrityTokenRequest : Google.Apis.Requests.IDirectResponseSchema { /// - /// Forces a short-lived token with a 5 minute TTL. Useful when the client wishes to impose stricter TTL - /// requirements for this exchange. Default: false. + /// Specifies whether this attestation is for use in a *limited use* (`true`) or *session based* (`false`) + /// context. To enable this attestation to be used with the *replay protection* feature, set this to `true`. The + /// default value is `false`. /// [Newtonsoft.Json.JsonPropertyAttribute("limitedUse")] public virtual System.Nullable LimitedUse { get; set; } @@ -3799,8 +3805,9 @@ public class GoogleFirebaseAppcheckV1ExchangePlayIntegrityTokenRequest : Google. public class GoogleFirebaseAppcheckV1ExchangeRecaptchaEnterpriseTokenRequest : Google.Apis.Requests.IDirectResponseSchema { /// - /// Forces a short lived token with a 5 minute TTL. Useful when the client wishes to self impose stricter TTL - /// requirements for this exchange. Default: false. + /// Specifies whether this attestation is for use in a *limited use* (`true`) or *session based* (`false`) + /// context. To enable this attestation to be used with the *replay protection* feature, set this to `true`. The + /// default value is `false`. /// [Newtonsoft.Json.JsonPropertyAttribute("limitedUse")] public virtual System.Nullable LimitedUse { get; set; } @@ -3820,8 +3827,9 @@ public class GoogleFirebaseAppcheckV1ExchangeRecaptchaEnterpriseTokenRequest : G public class GoogleFirebaseAppcheckV1ExchangeRecaptchaV3TokenRequest : Google.Apis.Requests.IDirectResponseSchema { /// - /// Forces a short lived token with a 5 minute TTL. Useful when the client wishes to self impose stricter TTL - /// requirements for this exchange. Default: false. + /// Specifies whether this attestation is for use in a *limited use* (`true`) or *session based* (`false`) + /// context. To enable this attestation to be used with the *replay protection* feature, set this to `true`. The + /// default value is `false`. /// [Newtonsoft.Json.JsonPropertyAttribute("limitedUse")] public virtual System.Nullable LimitedUse { get; set; } diff --git a/Src/Generated/Google.Apis.Firebaseappcheck.v1/Google.Apis.Firebaseappcheck.v1.csproj b/Src/Generated/Google.Apis.Firebaseappcheck.v1/Google.Apis.Firebaseappcheck.v1.csproj index b4e74630126..7afb32c5dfe 100644 --- a/Src/Generated/Google.Apis.Firebaseappcheck.v1/Google.Apis.Firebaseappcheck.v1.csproj +++ b/Src/Generated/Google.Apis.Firebaseappcheck.v1/Google.Apis.Firebaseappcheck.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.Firebaseappcheck.v1 Client Library - 1.62.0.3158 + 1.62.1.3203 Google LLC Copyright 2023 Google LLC Google @@ -57,8 +57,8 @@ - - + + diff --git a/Src/Generated/Google.Apis.GKEOnPrem.v1/Google.Apis.GKEOnPrem.v1.cs b/Src/Generated/Google.Apis.GKEOnPrem.v1/Google.Apis.GKEOnPrem.v1.cs index 935f9779fa2..a1e85899cd3 100644 --- a/Src/Generated/Google.Apis.GKEOnPrem.v1/Google.Apis.GKEOnPrem.v1.cs +++ b/Src/Generated/Google.Apis.GKEOnPrem.v1/Google.Apis.GKEOnPrem.v1.cs @@ -7196,7 +7196,7 @@ public class BareMetalAdminApiServerArgument : Google.Apis.Requests.IDirectRespo public virtual string ETag { get; set; } } - /// ## Resource that represents a bare metal admin cluster. + /// Resource that represents a bare metal admin cluster. LINT.IfChange public class BareMetalAdminCluster : Google.Apis.Requests.IDirectResponseSchema { /// @@ -7836,7 +7836,7 @@ public class BareMetalBgpPeerConfig : Google.Apis.Requests.IDirectResponseSchema public virtual string ETag { get; set; } } - /// Resource that represents a bare metal user cluster. + /// Resource that represents a bare metal user cluster. LINT.IfChange public class BareMetalCluster : Google.Apis.Requests.IDirectResponseSchema { /// @@ -10177,6 +10177,10 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("platformConfig")] public virtual VmwarePlatformConfig PlatformConfig { get; set; } + /// The VMware admin cluster prepared secrets configuration. + [Newtonsoft.Json.JsonPropertyAttribute("preparedSecrets")] + public virtual VmwareAdminPreparedSecretsConfig PreparedSecrets { get; set; } + /// Output only. If set, there are currently changes in flight to the VMware admin cluster. [Newtonsoft.Json.JsonPropertyAttribute("reconciling")] public virtual System.Nullable Reconciling { get; set; } @@ -10404,6 +10408,17 @@ public class VmwareAdminNetworkConfig : Google.Apis.Requests.IDirectResponseSche public virtual string ETag { get; set; } } + /// VmwareAdminPreparedSecretsConfig represents configuration for admin cluster prepared secrets. + public class VmwareAdminPreparedSecretsConfig : Google.Apis.Requests.IDirectResponseSchema + { + /// Whether prepared secrets is enabled. + [Newtonsoft.Json.JsonPropertyAttribute("enabled")] + public virtual System.Nullable Enabled { get; set; } + + /// The ETag of the item. + public virtual string ETag { get; set; } + } + /// /// VmwareSeesawConfig represents configuration parameters for an already existing Seesaw load balancer. IMPORTANT: /// Please note that the Anthos On-Prem API will not generate or update Seesaw configurations it can only bind a diff --git a/Src/Generated/Google.Apis.GKEOnPrem.v1/Google.Apis.GKEOnPrem.v1.csproj b/Src/Generated/Google.Apis.GKEOnPrem.v1/Google.Apis.GKEOnPrem.v1.csproj index ac1ecbbaa12..4c1b08b1376 100644 --- a/Src/Generated/Google.Apis.GKEOnPrem.v1/Google.Apis.GKEOnPrem.v1.csproj +++ b/Src/Generated/Google.Apis.GKEOnPrem.v1/Google.Apis.GKEOnPrem.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.GKEOnPrem.v1 Client Library - 1.62.1.3189 + 1.62.1.3198 Google LLC Copyright 2023 Google LLC Google diff --git a/Src/Generated/Google.Apis.RecaptchaEnterprise.v1/Google.Apis.RecaptchaEnterprise.v1.cs b/Src/Generated/Google.Apis.RecaptchaEnterprise.v1/Google.Apis.RecaptchaEnterprise.v1.cs index f22346a5a70..4cb16a16e44 100644 --- a/Src/Generated/Google.Apis.RecaptchaEnterprise.v1/Google.Apis.RecaptchaEnterprise.v1.cs +++ b/Src/Generated/Google.Apis.RecaptchaEnterprise.v1/Google.Apis.RecaptchaEnterprise.v1.cs @@ -303,7 +303,7 @@ public AssessmentsResource(Google.Apis.Services.IClientService service) /// The body of the request. /// /// Required. The resource name of the Assessment, in the format - /// "projects/{project}/assessments/{assessment}". + /// `projects/{project}/assessments/{assessment}`. /// public virtual AnnotateRequest Annotate(Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1AnnotateAssessmentRequest body, string name) { @@ -326,7 +326,7 @@ public AnnotateRequest(Google.Apis.Services.IClientService service, Google.Apis. /// /// Required. The resource name of the Assessment, in the format - /// "projects/{project}/assessments/{assessment}". + /// `projects/{project}/assessments/{assessment}`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -365,7 +365,7 @@ protected override void InitParameters() /// The body of the request. /// /// Required. The name of the project in which the assessment will be created, in the format - /// "projects/{project}". + /// `projects/{project}`. /// public virtual CreateRequest Create(Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1Assessment body, string parent) { @@ -385,7 +385,7 @@ public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.Re /// /// Required. The name of the project in which the assessment will be created, in the format - /// "projects/{project}". + /// `projects/{project}`. /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -444,7 +444,7 @@ public FirewallpoliciesResource(Google.Apis.Services.IClientService service) /// /// The body of the request. /// - /// Required. The name of the project this policy will apply to, in the format "projects/{project}". + /// Required. The name of the project this policy will apply to, in the format `projects/{project}`. /// public virtual CreateRequest Create(Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1FirewallPolicy body, string parent) { @@ -466,7 +466,7 @@ public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.Re } /// - /// Required. The name of the project this policy will apply to, in the format "projects/{project}". + /// Required. The name of the project this policy will apply to, in the format `projects/{project}`. /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -504,7 +504,7 @@ protected override void InitParameters() /// Deletes the specified firewall policy. /// /// Required. The name of the policy to be deleted, in the format - /// "projects/{project}/firewallpolicies/{firewallpolicy}". + /// `projects/{project}/firewallpolicies/{firewallpolicy}`. /// public virtual DeleteRequest Delete(string name) { @@ -523,7 +523,7 @@ public DeleteRequest(Google.Apis.Services.IClientService service, string name) : /// /// Required. The name of the policy to be deleted, in the format - /// "projects/{project}/firewallpolicies/{firewallpolicy}". + /// `projects/{project}/firewallpolicies/{firewallpolicy}`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -555,7 +555,7 @@ protected override void InitParameters() /// Returns the specified firewall policy. /// /// Required. The name of the requested policy, in the format - /// "projects/{project}/firewallpolicies/{firewallpolicy}". + /// `projects/{project}/firewallpolicies/{firewallpolicy}`. /// public virtual GetRequest Get(string name) { @@ -574,7 +574,7 @@ public GetRequest(Google.Apis.Services.IClientService service, string name) : ba /// /// Required. The name of the requested policy, in the format - /// "projects/{project}/firewallpolicies/{firewallpolicy}". + /// `projects/{project}/firewallpolicies/{firewallpolicy}`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -605,7 +605,7 @@ protected override void InitParameters() /// Returns the list of all firewall policies that belong to a project. /// - /// Required. The name of the project to list the policies for, in the format "projects/{project}". + /// Required. The name of the project to list the policies for, in the format `projects/{project}`. /// public virtual ListRequest List(string parent) { @@ -623,7 +623,7 @@ public ListRequest(Google.Apis.Services.IClientService service, string parent) : } /// - /// Required. The name of the project to list the policies for, in the format "projects/{project}". + /// Required. The name of the project to list the policies for, in the format `projects/{project}`. /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -684,7 +684,7 @@ protected override void InitParameters() /// The body of the request. /// /// The resource name for the FirewallPolicy in the format - /// "projects/{project}/firewallpolicies/{firewallpolicy}". + /// `projects/{project}/firewallpolicies/{firewallpolicy}`. /// public virtual PatchRequest Patch(Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1FirewallPolicy body, string name) { @@ -704,7 +704,7 @@ public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.Rec /// /// The resource name for the FirewallPolicy in the format - /// "projects/{project}/firewallpolicies/{firewallpolicy}". + /// `projects/{project}/firewallpolicies/{firewallpolicy}`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -775,7 +775,7 @@ public KeysResource(Google.Apis.Services.IClientService service) /// Creates a new reCAPTCHA Enterprise key. /// The body of the request. /// - /// Required. The name of the project in which the key will be created, in the format "projects/{project}". + /// Required. The name of the project in which the key will be created, in the format `projects/{project}`. /// public virtual CreateRequest Create(Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1Key body, string parent) { @@ -795,7 +795,7 @@ public CreateRequest(Google.Apis.Services.IClientService service, Google.Apis.Re /// /// Required. The name of the project in which the key will be created, in the format - /// "projects/{project}". + /// `projects/{project}`. /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -832,7 +832,7 @@ protected override void InitParameters() /// Deletes the specified key. /// - /// Required. The name of the key to be deleted, in the format "projects/{project}/keys/{key}". + /// Required. The name of the key to be deleted, in the format `projects/{project}/keys/{key}`. /// public virtual DeleteRequest Delete(string name) { @@ -850,7 +850,7 @@ public DeleteRequest(Google.Apis.Services.IClientService service, string name) : } /// - /// Required. The name of the key to be deleted, in the format "projects/{project}/keys/{key}". + /// Required. The name of the key to be deleted, in the format `projects/{project}/keys/{key}`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -881,7 +881,7 @@ protected override void InitParameters() /// Returns the specified key. /// - /// Required. The name of the requested key, in the format "projects/{project}/keys/{key}". + /// Required. The name of the requested key, in the format `projects/{project}/keys/{key}`. /// public virtual GetRequest Get(string name) { @@ -899,7 +899,7 @@ public GetRequest(Google.Apis.Services.IClientService service, string name) : ba } /// - /// Required. The name of the requested key, in the format "projects/{project}/keys/{key}". + /// Required. The name of the requested key, in the format `projects/{project}/keys/{key}`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -930,7 +930,7 @@ protected override void InitParameters() /// Get some aggregated metrics for a Key. This data can be used to build dashboards. /// - /// Required. The name of the requested metrics, in the format "projects/{project}/keys/{key}/metrics". + /// Required. The name of the requested metrics, in the format `projects/{project}/keys/{key}/metrics`. /// public virtual GetMetricsRequest GetMetrics(string name) { @@ -948,7 +948,7 @@ public GetMetricsRequest(Google.Apis.Services.IClientService service, string nam } /// - /// Required. The name of the requested metrics, in the format "projects/{project}/keys/{key}/metrics". + /// Required. The name of the requested metrics, in the format `projects/{project}/keys/{key}/metrics`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -980,7 +980,7 @@ protected override void InitParameters() /// Returns the list of all keys that belong to a project. /// /// Required. The name of the project that contains the keys that will be listed, in the format - /// "projects/{project}". + /// `projects/{project}`. /// public virtual ListRequest List(string parent) { @@ -999,7 +999,7 @@ public ListRequest(Google.Apis.Services.IClientService service, string parent) : /// /// Required. The name of the project that contains the keys that will be listed, in the format - /// "projects/{project}". + /// `projects/{project}`. /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -1062,7 +1062,7 @@ protected override void InitParameters() /// /// The body of the request. /// - /// Required. The name of the key to be migrated, in the format "projects/{project}/keys/{key}". + /// Required. The name of the key to be migrated, in the format `projects/{project}/keys/{key}`. /// public virtual MigrateRequest Migrate(Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1MigrateKeyRequest body, string name) { @@ -1086,7 +1086,7 @@ public MigrateRequest(Google.Apis.Services.IClientService service, Google.Apis.R } /// - /// Required. The name of the key to be migrated, in the format "projects/{project}/keys/{key}". + /// Required. The name of the key to be migrated, in the format `projects/{project}/keys/{key}`. /// [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -1123,7 +1123,7 @@ protected override void InitParameters() /// Updates the specified key. /// The body of the request. - /// The resource name for the Key in the format "projects/{project}/keys/{key}". + /// The resource name for the Key in the format `projects/{project}/keys/{key}`. public virtual PatchRequest Patch(Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1Key body, string name) { return new PatchRequest(service, body, name); @@ -1140,7 +1140,7 @@ public PatchRequest(Google.Apis.Services.IClientService service, Google.Apis.Rec InitParameters(); } - /// The resource name for the Key in the format "projects/{project}/keys/{key}". + /// The resource name for the Key in the format `projects/{project}/keys/{key}`. [Google.Apis.Util.RequestParameterAttribute("name", Google.Apis.Util.RequestParameterType.Path)] public virtual string Name { get; private set; } @@ -1195,7 +1195,7 @@ protected override void InitParameters() /// /// /// Required. The public key name linked to the requested secret key in the format - /// "projects/{project}/keys/{key}". + /// `projects/{project}/keys/{key}`. /// public virtual RetrieveLegacySecretKeyRequest RetrieveLegacySecretKey(string key) { @@ -1217,7 +1217,7 @@ public RetrieveLegacySecretKeyRequest(Google.Apis.Services.IClientService servic /// /// Required. The public key name linked to the requested secret key in the format - /// "projects/{project}/keys/{key}". + /// `projects/{project}/keys/{key}`. /// [Google.Apis.Util.RequestParameterAttribute("key", Google.Apis.Util.RequestParameterType.Path)] public virtual string Key { get; private set; } @@ -1268,7 +1268,7 @@ public RelatedaccountgroupmembershipsResource(Google.Apis.Services.IClientServic /// The body of the request. /// /// Required. The name of the project to search related account group memberships from. Specify the project - /// name in the following format: "projects/{project}". + /// name in the following format: `projects/{project}`. /// public virtual SearchRequest Search(Google.Apis.RecaptchaEnterprise.v1.Data.GoogleCloudRecaptchaenterpriseV1SearchRelatedAccountGroupMembershipsRequest body, string project) { @@ -1288,7 +1288,7 @@ public SearchRequest(Google.Apis.Services.IClientService service, Google.Apis.Re /// /// Required. The name of the project to search related account group memberships from. Specify the - /// project name in the following format: "projects/{project}". + /// project name in the following format: `projects/{project}`. /// [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] public virtual string Project { get; private set; } @@ -1446,7 +1446,7 @@ protected override void InitParameters() /// List groups of related accounts. /// /// Required. The name of the project to list related account groups from, in the format - /// "projects/{project}". + /// `projects/{project}`. /// public virtual ListRequest List(string parent) { @@ -1465,7 +1465,7 @@ public ListRequest(Google.Apis.Services.IClientService service, string parent) : /// /// Required. The name of the project to list related account groups from, in the format - /// "projects/{project}". + /// `projects/{project}`. /// [Google.Apis.Util.RequestParameterAttribute("parent", Google.Apis.Util.RequestParameterType.Path)] public virtual string Parent { get; private set; } @@ -1533,7 +1533,7 @@ namespace Google.Apis.RecaptchaEnterprise.v1.Data /// Account defender risk assessment. public class GoogleCloudRecaptchaenterpriseV1AccountDefenderAssessment : Google.Apis.Requests.IDirectResponseSchema { - /// Labels for this request. + /// Output only. Labels for this request. [Newtonsoft.Json.JsonPropertyAttribute("labels")] public virtual System.Collections.Generic.IList Labels { get; set; } @@ -1544,12 +1544,12 @@ public class GoogleCloudRecaptchaenterpriseV1AccountDefenderAssessment : Google. /// Information about account verification, used for identity verification. public class GoogleCloudRecaptchaenterpriseV1AccountVerificationInfo : Google.Apis.Requests.IDirectResponseSchema { - /// Endpoints that can be used for identity verification. + /// Optional. Endpoints that can be used for identity verification. [Newtonsoft.Json.JsonPropertyAttribute("endpoints")] public virtual System.Collections.Generic.IList Endpoints { get; set; } /// - /// Language code preference for the verification message, set as a IETF BCP 47 language code. + /// Optional. Language code preference for the verification message, set as a IETF BCP 47 language code. /// [Newtonsoft.Json.JsonPropertyAttribute("languageCode")] public virtual string LanguageCode { get; set; } @@ -1572,17 +1572,19 @@ public class GoogleCloudRecaptchaenterpriseV1AccountVerificationInfo : Google.Ap /// Settings specific to keys that can be used by Android apps. public class GoogleCloudRecaptchaenterpriseV1AndroidKeySettings : Google.Apis.Requests.IDirectResponseSchema { - /// If set to true, allowed_package_names are not enforced. + /// Optional. If set to true, allowed_package_names are not enforced. [Newtonsoft.Json.JsonPropertyAttribute("allowAllPackageNames")] public virtual System.Nullable AllowAllPackageNames { get; set; } - /// Android package names of apps allowed to use the key. Example: 'com.companyname.appname' + /// + /// Optional. Android package names of apps allowed to use the key. Example: 'com.companyname.appname' + /// [Newtonsoft.Json.JsonPropertyAttribute("allowedPackageNames")] public virtual System.Collections.Generic.IList AllowedPackageNames { get; set; } /// - /// Set to true for keys that are used in an Android application that is available for download in app stores in - /// addition to the Google Play Store. + /// Optional. Set to true for keys that are used in an Android application that is available for download in app + /// stores in addition to the Google Play Store. /// [Newtonsoft.Json.JsonPropertyAttribute("supportNonGoogleAppStoreDistribution")] public virtual System.Nullable SupportNonGoogleAppStoreDistribution { get; set; } @@ -1659,29 +1661,31 @@ public class GoogleCloudRecaptchaenterpriseV1AppleDeveloperId : Google.Apis.Requ /// A reCAPTCHA Enterprise assessment resource. public class GoogleCloudRecaptchaenterpriseV1Assessment : Google.Apis.Requests.IDirectResponseSchema { - /// Assessment returned by account defender when a hashed_account_id is provided. + /// + /// Output only. Assessment returned by account defender when a hashed_account_id is provided. + /// [Newtonsoft.Json.JsonPropertyAttribute("accountDefenderAssessment")] public virtual GoogleCloudRecaptchaenterpriseV1AccountDefenderAssessment AccountDefenderAssessment { get; set; } /// - /// Account verification information for identity verification. The assessment event must include a token and - /// site key to use this feature. + /// Optional. Account verification information for identity verification. The assessment event must include a + /// token and site key to use this feature. /// [Newtonsoft.Json.JsonPropertyAttribute("accountVerification")] public virtual GoogleCloudRecaptchaenterpriseV1AccountVerificationInfo AccountVerification { get; set; } - /// The event being assessed. + /// Optional. The event being assessed. [Newtonsoft.Json.JsonPropertyAttribute("event")] public virtual GoogleCloudRecaptchaenterpriseV1Event Event__ { get; set; } /// - /// Assessment returned when firewall policies belonging to the project are evaluated using the field - /// firewall_policy_evaluation. + /// Output only. Assessment returned when firewall policies belonging to the project are evaluated using the + /// field firewall_policy_evaluation. /// [Newtonsoft.Json.JsonPropertyAttribute("firewallPolicyAssessment")] public virtual GoogleCloudRecaptchaenterpriseV1FirewallPolicyAssessment FirewallPolicyAssessment { get; set; } - /// Assessment returned by Fraud Prevention when TransactionData is provided. + /// Output only. Assessment returned by Fraud Prevention when TransactionData is provided. [Newtonsoft.Json.JsonPropertyAttribute("fraudPreventionAssessment")] public virtual GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessment FraudPreventionAssessment { get; set; } @@ -1691,14 +1695,14 @@ public class GoogleCloudRecaptchaenterpriseV1Assessment : Google.Apis.Requests.I /// /// Output only. The resource name for the Assessment in the format - /// "projects/{project}/assessments/{assessment}". + /// `projects/{project}/assessments/{assessment}`. /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } /// - /// The private password leak verification field contains the parameters that are used to to check for leaks - /// privately without sharing user credentials. + /// Optional. The private password leak verification field contains the parameters that are used to to check for + /// leaks privately without sharing user credentials. /// [Newtonsoft.Json.JsonPropertyAttribute("privatePasswordLeakVerification")] public virtual GoogleCloudRecaptchaenterpriseV1PrivatePasswordLeakVerification PrivatePasswordLeakVerification { get; set; } @@ -1845,7 +1849,7 @@ public class GoogleCloudRecaptchaenterpriseV1Event : Google.Apis.Requests.IDirec [Newtonsoft.Json.JsonPropertyAttribute("headers")] public virtual System.Collections.Generic.IList Headers { get; set; } - /// Optional. Optional JA3 fingerprint for SSL clients. + /// Optional. JA3 fingerprint for SSL clients. [Newtonsoft.Json.JsonPropertyAttribute("ja3")] public virtual string Ja3 { get; set; } @@ -1954,11 +1958,11 @@ public class GoogleCloudRecaptchaenterpriseV1FirewallActionRedirectAction : Goog /// public class GoogleCloudRecaptchaenterpriseV1FirewallActionSetHeaderAction : Google.Apis.Requests.IDirectResponseSchema { - /// The header key to set in the request to the backend server. + /// Optional. The header key to set in the request to the backend server. [Newtonsoft.Json.JsonPropertyAttribute("key")] public virtual string Key { get; set; } - /// The header value to set in the request to the backend server. + /// Optional. The header value to set in the request to the backend server. [Newtonsoft.Json.JsonPropertyAttribute("value")] public virtual string Value { get; set; } @@ -1970,7 +1974,8 @@ public class GoogleCloudRecaptchaenterpriseV1FirewallActionSetHeaderAction : Goo public class GoogleCloudRecaptchaenterpriseV1FirewallActionSubstituteAction : Google.Apis.Requests.IDirectResponseSchema { /// - /// The address to redirect to. The target is a relative path in the current host. Example: "/blog/404.html". + /// Optional. The address to redirect to. The target is a relative path in the current host. Example: + /// "/blog/404.html". /// [Newtonsoft.Json.JsonPropertyAttribute("path")] public virtual string Path { get; set; } @@ -1983,42 +1988,43 @@ public class GoogleCloudRecaptchaenterpriseV1FirewallActionSubstituteAction : Go public class GoogleCloudRecaptchaenterpriseV1FirewallPolicy : Google.Apis.Requests.IDirectResponseSchema { /// - /// The actions that the caller should take regarding user access. There should be at most one terminal action. - /// A terminal action is any action that forces a response, such as AllowAction, BlockAction or - /// SubstituteAction. Zero or more non-terminal actions such as SetHeader might be specified. A single policy - /// can contain up to 16 actions. + /// Optional. The actions that the caller should take regarding user access. There should be at most one + /// terminal action. A terminal action is any action that forces a response, such as `AllowAction`, + /// `BlockAction` or `SubstituteAction`. Zero or more non-terminal actions such as `SetHeader` might be + /// specified. A single policy can contain up to 16 actions. /// [Newtonsoft.Json.JsonPropertyAttribute("actions")] public virtual System.Collections.Generic.IList Actions { get; set; } /// - /// A CEL (Common Expression Language) conditional expression that specifies if this policy applies to an - /// incoming user request. If this condition evaluates to true and the requested path matched the path pattern, - /// the associated actions should be executed by the caller. The condition string is checked for CEL syntax - /// correctness on creation. For more information, see the [CEL spec](https://github.com/google/cel-spec) and - /// its [language definition](https://github.com/google/cel-spec/blob/master/doc/langdef.md). A condition has a - /// max length of 500 characters. + /// Optional. A CEL (Common Expression Language) conditional expression that specifies if this policy applies to + /// an incoming user request. If this condition evaluates to true and the requested path matched the path + /// pattern, the associated actions should be executed by the caller. The condition string is checked for CEL + /// syntax correctness on creation. For more information, see the [CEL spec](https://github.com/google/cel-spec) + /// and its [language definition](https://github.com/google/cel-spec/blob/master/doc/langdef.md). A condition + /// has a max length of 500 characters. /// [Newtonsoft.Json.JsonPropertyAttribute("condition")] public virtual string Condition { get; set; } /// - /// A description of what this policy aims to achieve, for convenience purposes. The description can at most - /// include 256 UTF-8 characters. + /// Optional. A description of what this policy aims to achieve, for convenience purposes. The description can + /// at most include 256 UTF-8 characters. /// [Newtonsoft.Json.JsonPropertyAttribute("description")] public virtual string Description { get; set; } /// /// The resource name for the FirewallPolicy in the format - /// "projects/{project}/firewallpolicies/{firewallpolicy}". + /// `projects/{project}/firewallpolicies/{firewallpolicy}`. /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } /// - /// The path for which this policy applies, specified as a glob pattern. For more information on glob, see the - /// [manual page](https://man7.org/linux/man-pages/man7/glob.7.html). A path has a max length of 200 characters. + /// Optional. The path for which this policy applies, specified as a glob pattern. For more information on glob, + /// see the [manual page](https://man7.org/linux/man-pages/man7/glob.7.html). A path has a max length of 200 + /// characters. /// [Newtonsoft.Json.JsonPropertyAttribute("path")] public virtual string Path { get; set; } @@ -2031,8 +2037,8 @@ public class GoogleCloudRecaptchaenterpriseV1FirewallPolicy : Google.Apis.Reques public class GoogleCloudRecaptchaenterpriseV1FirewallPolicyAssessment : Google.Apis.Requests.IDirectResponseSchema { /// - /// If the processing of a policy config fails, an error will be populated and the firewall_policy will be left - /// empty. + /// Output only. If the processing of a policy config fails, an error will be populated and the firewall_policy + /// will be left empty. /// [Newtonsoft.Json.JsonPropertyAttribute("error")] public virtual GoogleRpcStatus Error { get; set; } @@ -2051,21 +2057,23 @@ public class GoogleCloudRecaptchaenterpriseV1FirewallPolicyAssessment : Google.A /// Assessment for Fraud Prevention. public class GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessment : Google.Apis.Requests.IDirectResponseSchema { - /// Assessment of this transaction for behavioral trust. + /// Output only. Assessment of this transaction for behavioral trust. [Newtonsoft.Json.JsonPropertyAttribute("behavioralTrustVerdict")] public virtual GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessmentBehavioralTrustVerdict BehavioralTrustVerdict { get; set; } - /// Assessment of this transaction for risk of being part of a card testing attack. + /// + /// Output only. Assessment of this transaction for risk of being part of a card testing attack. + /// [Newtonsoft.Json.JsonPropertyAttribute("cardTestingVerdict")] public virtual GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessmentCardTestingVerdict CardTestingVerdict { get; set; } - /// Assessment of this transaction for risk of a stolen instrument. + /// Output only. Assessment of this transaction for risk of a stolen instrument. [Newtonsoft.Json.JsonPropertyAttribute("stolenInstrumentVerdict")] public virtual GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessmentStolenInstrumentVerdict StolenInstrumentVerdict { get; set; } /// - /// Probability of this transaction being fraudulent. Summarizes the combined risk of attack vectors below. - /// Values are from 0.0 (lowest) to 1.0 (highest). + /// Output only. Probability of this transaction being fraudulent. Summarizes the combined risk of attack + /// vectors below. Values are from 0.0 (lowest) to 1.0 (highest). /// [Newtonsoft.Json.JsonPropertyAttribute("transactionRisk")] public virtual System.Nullable TransactionRisk { get; set; } @@ -2078,8 +2086,8 @@ public class GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessment : Google. public class GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessmentBehavioralTrustVerdict : Google.Apis.Requests.IDirectResponseSchema { /// - /// Probability of this transaction attempt being executed in a behaviorally trustworthy way. Values are from - /// 0.0 (lowest) to 1.0 (highest). + /// Output only. Probability of this transaction attempt being executed in a behaviorally trustworthy way. + /// Values are from 0.0 (lowest) to 1.0 (highest). /// [Newtonsoft.Json.JsonPropertyAttribute("trust")] public virtual System.Nullable Trust { get; set; } @@ -2095,8 +2103,8 @@ public class GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessmentBehavioral public class GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessmentCardTestingVerdict : Google.Apis.Requests.IDirectResponseSchema { /// - /// Probability of this transaction attempt being part of a card testing attack. Values are from 0.0 (lowest) to - /// 1.0 (highest). + /// Output only. Probability of this transaction attempt being part of a card testing attack. Values are from + /// 0.0 (lowest) to 1.0 (highest). /// [Newtonsoft.Json.JsonPropertyAttribute("risk")] public virtual System.Nullable Risk { get; set; } @@ -2112,8 +2120,8 @@ public class GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessmentCardTestin public class GoogleCloudRecaptchaenterpriseV1FraudPreventionAssessmentStolenInstrumentVerdict : Google.Apis.Requests.IDirectResponseSchema { /// - /// Probability of this transaction being executed with a stolen instrument. Values are from 0.0 (lowest) to 1.0 - /// (highest). + /// Output only. Probability of this transaction being executed with a stolen instrument. Values are from 0.0 + /// (lowest) to 1.0 (highest). /// [Newtonsoft.Json.JsonPropertyAttribute("risk")] public virtual System.Nullable Risk { get; set; } @@ -2172,21 +2180,21 @@ public class GoogleCloudRecaptchaenterpriseV1FraudSignalsUserSignals : Google.Ap /// Settings specific to keys that can be used by iOS apps. public class GoogleCloudRecaptchaenterpriseV1IOSKeySettings : Google.Apis.Requests.IDirectResponseSchema { - /// If set to true, allowed_bundle_ids are not enforced. + /// Optional. If set to true, allowed_bundle_ids are not enforced. [Newtonsoft.Json.JsonPropertyAttribute("allowAllBundleIds")] public virtual System.Nullable AllowAllBundleIds { get; set; } /// - /// iOS bundle ids of apps allowed to use the key. Example: 'com.companyname.productname.appname' + /// Optional. iOS bundle ids of apps allowed to use the key. Example: 'com.companyname.productname.appname' /// [Newtonsoft.Json.JsonPropertyAttribute("allowedBundleIds")] public virtual System.Collections.Generic.IList AllowedBundleIds { get; set; } /// - /// Apple Developer account details for the app that is protected by the reCAPTCHA Key. reCAPTCHA Enterprise - /// leverages platform-specific checks like Apple App Attest and Apple DeviceCheck to protect your app from - /// abuse. Providing these fields allows reCAPTCHA Enterprise to get a better assessment of the integrity of - /// your app. + /// Optional. Apple Developer account details for the app that is protected by the reCAPTCHA Key. reCAPTCHA + /// Enterprise leverages platform-specific checks like Apple App Attest and Apple DeviceCheck to protect your + /// app from abuse. Providing these fields allows reCAPTCHA Enterprise to get a better assessment of the + /// integrity of your app. /// [Newtonsoft.Json.JsonPropertyAttribute("appleDeveloperId")] public virtual GoogleCloudRecaptchaenterpriseV1AppleDeveloperId AppleDeveloperId { get; set; } @@ -2241,7 +2249,7 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset set => CreateTimeRaw = Google.Apis.Util.Utilities.GetStringFromDateTimeOffset(value); } - /// Human-readable display name of this key. Modifiable by user. + /// Required. Human-readable display name of this key. Modifiable by user. [Newtonsoft.Json.JsonPropertyAttribute("displayName")] public virtual string DisplayName { get; set; } @@ -2249,19 +2257,21 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("iosSettings")] public virtual GoogleCloudRecaptchaenterpriseV1IOSKeySettings IosSettings { get; set; } - /// See Creating and managing labels. + /// + /// Optional. See [Creating and managing labels] (https://cloud.google.com/recaptcha-enterprise/docs/labels). + /// [Newtonsoft.Json.JsonPropertyAttribute("labels")] public virtual System.Collections.Generic.IDictionary Labels { get; set; } - /// The resource name for the Key in the format "projects/{project}/keys/{key}". + /// The resource name for the Key in the format `projects/{project}/keys/{key}`. [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } - /// Options for user acceptance testing. + /// Optional. Options for user acceptance testing. [Newtonsoft.Json.JsonPropertyAttribute("testingOptions")] public virtual GoogleCloudRecaptchaenterpriseV1TestingOptions TestingOptions { get; set; } - /// Settings for WAF + /// Optional. Settings for WAF [Newtonsoft.Json.JsonPropertyAttribute("wafSettings")] public virtual GoogleCloudRecaptchaenterpriseV1WafSettings WafSettings { get; set; } @@ -2354,7 +2364,7 @@ public class GoogleCloudRecaptchaenterpriseV1Metrics : Google.Apis.Requests.IDir public virtual System.Collections.Generic.IList ChallengeMetrics { get; set; } /// - /// Output only. The name of the metrics, in the format "projects/{project}/keys/{key}/metrics". + /// Output only. The name of the metrics, in the format `projects/{project}/keys/{key}/metrics`. /// [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } @@ -2443,7 +2453,7 @@ public class GoogleCloudRecaptchaenterpriseV1PrivatePasswordLeakVerification : G public virtual string EncryptedUserCredentialsHash { get; set; } /// - /// Optional. Exactly 26-bit prefix of the SHA-256 hash of the canonicalized username. It is used to look up + /// Required. Exactly 26-bit prefix of the SHA-256 hash of the canonicalized username. It is used to look up /// password leaks associated with that hash prefix. /// [Newtonsoft.Json.JsonPropertyAttribute("lookupHashPrefix")] @@ -2516,19 +2526,19 @@ public class GoogleCloudRecaptchaenterpriseV1RetrieveLegacySecretKeyResponse : G public class GoogleCloudRecaptchaenterpriseV1RiskAnalysis : Google.Apis.Requests.IDirectResponseSchema { /// - /// Extended verdict reasons to be used for experimentation only. The set of possible reasons is subject to - /// change. + /// Output only. Extended verdict reasons to be used for experimentation only. The set of possible reasons is + /// subject to change. /// [Newtonsoft.Json.JsonPropertyAttribute("extendedVerdictReasons")] public virtual System.Collections.Generic.IList ExtendedVerdictReasons { get; set; } - /// Reasons contributing to the risk analysis verdict. + /// Output only. Reasons contributing to the risk analysis verdict. [Newtonsoft.Json.JsonPropertyAttribute("reasons")] public virtual System.Collections.Generic.IList Reasons { get; set; } /// - /// Legitimate event score from 0.0 to 1.0. (1.0 means very likely legitimate traffic while 0.0 means very - /// likely non-legitimate traffic). + /// Output only. Legitimate event score from 0.0 to 1.0. (1.0 means very likely legitimate traffic while 0.0 + /// means very likely non-legitimate traffic). /// [Newtonsoft.Json.JsonPropertyAttribute("score")] public virtual System.Nullable Score { get; set; } @@ -2621,15 +2631,15 @@ public class GoogleCloudRecaptchaenterpriseV1SearchRelatedAccountGroupMembership public class GoogleCloudRecaptchaenterpriseV1TestingOptions : Google.Apis.Requests.IDirectResponseSchema { /// - /// For challenge-based keys only (CHECKBOX, INVISIBLE), all challenge requests for this site will return - /// nocaptcha if NOCAPTCHA, or an unsolvable challenge if CHALLENGE. + /// Optional. For challenge-based keys only (CHECKBOX, INVISIBLE), all challenge requests for this site will + /// return nocaptcha if NOCAPTCHA, or an unsolvable challenge if CHALLENGE. /// [Newtonsoft.Json.JsonPropertyAttribute("testingChallenge")] public virtual string TestingChallenge { get; set; } /// - /// All assessments for this Key will return this score. Must be between 0 (likely not legitimate) and 1 (likely - /// legitimate) inclusive. + /// Optional. All assessments for this Key will return this score. Must be between 0 (likely not legitimate) and + /// 1 (likely legitimate) inclusive. /// [Newtonsoft.Json.JsonPropertyAttribute("testingScore")] public virtual System.Nullable TestingScore { get; set; } @@ -2641,11 +2651,13 @@ public class GoogleCloudRecaptchaenterpriseV1TestingOptions : Google.Apis.Reques /// Properties of the provided event token. public class GoogleCloudRecaptchaenterpriseV1TokenProperties : Google.Apis.Requests.IDirectResponseSchema { - /// Action name provided at token generation. + /// Output only. Action name provided at token generation. [Newtonsoft.Json.JsonPropertyAttribute("action")] public virtual string Action { get; set; } - /// The name of the Android package with which the token was generated (Android keys only). + /// + /// Output only. The name of the Android package with which the token was generated (Android keys only). + /// [Newtonsoft.Json.JsonPropertyAttribute("androidPackageName")] public virtual string AndroidPackageName { get; set; } @@ -2653,7 +2665,7 @@ public class GoogleCloudRecaptchaenterpriseV1TokenProperties : Google.Apis.Reque private object _createTime; - /// The timestamp corresponding to the generation of the token. + /// Output only. The timestamp corresponding to the generation of the token. [Newtonsoft.Json.JsonPropertyAttribute("createTime")] public virtual string CreateTimeRaw { @@ -2686,22 +2698,23 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset set => CreateTimeRaw = Google.Apis.Util.Utilities.GetStringFromDateTimeOffset(value); } - /// The hostname of the page on which the token was generated (Web keys only). + /// Output only. The hostname of the page on which the token was generated (Web keys only). [Newtonsoft.Json.JsonPropertyAttribute("hostname")] public virtual string Hostname { get; set; } - /// Reason associated with the response when valid = false. + /// Output only. Reason associated with the response when valid = false. [Newtonsoft.Json.JsonPropertyAttribute("invalidReason")] public virtual string InvalidReason { get; set; } - /// The ID of the iOS bundle with which the token was generated (iOS keys only). + /// Output only. The ID of the iOS bundle with which the token was generated (iOS keys only). [Newtonsoft.Json.JsonPropertyAttribute("iosBundleId")] public virtual string IosBundleId { get; set; } /// - /// Whether the provided user response token is valid. When valid = false, the reason could be specified in - /// invalid_reason or it could also be due to a user failing to solve a challenge or a sitekey mismatch (i.e the - /// sitekey used to generate the token was different than the one specified in the assessment). + /// Output only. Whether the provided user response token is valid. When valid = false, the reason could be + /// specified in invalid_reason or it could also be due to a user failing to solve a challenge or a sitekey + /// mismatch (i.e the sitekey used to generate the token was different than the one specified in the + /// assessment). /// [Newtonsoft.Json.JsonPropertyAttribute("valid")] public virtual System.Nullable Valid { get; set; } @@ -2710,52 +2723,50 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset public virtual string ETag { get; set; } } - /// - /// Transaction data associated with a payment protected by reCAPTCHA Enterprise. All fields are optional. - /// + /// Transaction data associated with a payment protected by reCAPTCHA Enterprise. public class GoogleCloudRecaptchaenterpriseV1TransactionData : Google.Apis.Requests.IDirectResponseSchema { - /// Address associated with the payment method when applicable. + /// Optional. Address associated with the payment method when applicable. [Newtonsoft.Json.JsonPropertyAttribute("billingAddress")] public virtual GoogleCloudRecaptchaenterpriseV1TransactionDataAddress BillingAddress { get; set; } - /// The Bank Identification Number - generally the first 6 or 8 digits of the card. + /// Optional. The Bank Identification Number - generally the first 6 or 8 digits of the card. [Newtonsoft.Json.JsonPropertyAttribute("cardBin")] public virtual string CardBin { get; set; } - /// The last four digits of the card. + /// Optional. The last four digits of the card. [Newtonsoft.Json.JsonPropertyAttribute("cardLastFour")] public virtual string CardLastFour { get; set; } - /// The currency code in ISO-4217 format. + /// Optional. The currency code in ISO-4217 format. [Newtonsoft.Json.JsonPropertyAttribute("currencyCode")] public virtual string CurrencyCode { get; set; } - /// Information about the payment gateway's response to the transaction. + /// Optional. Information about the payment gateway's response to the transaction. [Newtonsoft.Json.JsonPropertyAttribute("gatewayInfo")] public virtual GoogleCloudRecaptchaenterpriseV1TransactionDataGatewayInfo GatewayInfo { get; set; } - /// Items purchased in this transaction. + /// Optional. Items purchased in this transaction. [Newtonsoft.Json.JsonPropertyAttribute("items")] public virtual System.Collections.Generic.IList Items { get; set; } - /// Information about the user or users fulfilling the transaction. + /// Optional. Information about the user or users fulfilling the transaction. [Newtonsoft.Json.JsonPropertyAttribute("merchants")] public virtual System.Collections.Generic.IList Merchants { get; set; } /// - /// The payment method for the transaction. The allowed values are: * credit-card * debit-card * gift-card * - /// processor-{name} (If a third-party is used, for example, processor-paypal) * custom-{name} (If an - /// alternative method is used, for example, custom-crypto) + /// Optional. The payment method for the transaction. The allowed values are: * credit-card * debit-card * + /// gift-card * processor-{name} (If a third-party is used, for example, processor-paypal) * custom-{name} (If + /// an alternative method is used, for example, custom-crypto) /// [Newtonsoft.Json.JsonPropertyAttribute("paymentMethod")] public virtual string PaymentMethod { get; set; } - /// Destination address if this transaction involves shipping a physical item. + /// Optional. Destination address if this transaction involves shipping a physical item. [Newtonsoft.Json.JsonPropertyAttribute("shippingAddress")] public virtual GoogleCloudRecaptchaenterpriseV1TransactionDataAddress ShippingAddress { get; set; } - /// The value of shipping in the specified currency. 0 for free or no shipping. + /// Optional. The value of shipping in the specified currency. 0 for free or no shipping. [Newtonsoft.Json.JsonPropertyAttribute("shippingValue")] public virtual System.Nullable ShippingValue { get; set; } @@ -2767,11 +2778,11 @@ public class GoogleCloudRecaptchaenterpriseV1TransactionData : Google.Apis.Reque [Newtonsoft.Json.JsonPropertyAttribute("transactionId")] public virtual string TransactionId { get; set; } - /// Information about the user paying/initiating the transaction. + /// Optional. Information about the user paying/initiating the transaction. [Newtonsoft.Json.JsonPropertyAttribute("user")] public virtual GoogleCloudRecaptchaenterpriseV1TransactionDataUser User { get; set; } - /// The decimal value of the transaction in the specified currency. + /// Optional. The decimal value of the transaction in the specified currency. [Newtonsoft.Json.JsonPropertyAttribute("value")] public virtual System.Nullable Value { get; set; } @@ -2783,29 +2794,29 @@ public class GoogleCloudRecaptchaenterpriseV1TransactionData : Google.Apis.Reque public class GoogleCloudRecaptchaenterpriseV1TransactionDataAddress : Google.Apis.Requests.IDirectResponseSchema { /// - /// The first lines of the address. The first line generally contains the street name and number, and further - /// lines may include information such as an apartment number. + /// Optional. The first lines of the address. The first line generally contains the street name and number, and + /// further lines may include information such as an apartment number. /// [Newtonsoft.Json.JsonPropertyAttribute("address")] public virtual System.Collections.Generic.IList Address { get; set; } - /// The state, province, or otherwise administrative area of the address. + /// Optional. The state, province, or otherwise administrative area of the address. [Newtonsoft.Json.JsonPropertyAttribute("administrativeArea")] public virtual string AdministrativeArea { get; set; } - /// The town/city of the address. + /// Optional. The town/city of the address. [Newtonsoft.Json.JsonPropertyAttribute("locality")] public virtual string Locality { get; set; } - /// The postal or ZIP code of the address. + /// Optional. The postal or ZIP code of the address. [Newtonsoft.Json.JsonPropertyAttribute("postalCode")] public virtual string PostalCode { get; set; } - /// The recipient name, potentially including information such as "care of". + /// Optional. The recipient name, potentially including information such as "care of". [Newtonsoft.Json.JsonPropertyAttribute("recipient")] public virtual string Recipient { get; set; } - /// The CLDR country/region of the address. + /// Optional. The CLDR country/region of the address. [Newtonsoft.Json.JsonPropertyAttribute("regionCode")] public virtual string RegionCode { get; set; } @@ -2817,22 +2828,24 @@ public class GoogleCloudRecaptchaenterpriseV1TransactionDataAddress : Google.Api public class GoogleCloudRecaptchaenterpriseV1TransactionDataGatewayInfo : Google.Apis.Requests.IDirectResponseSchema { /// - /// AVS response code from the gateway (available only when reCAPTCHA Enterprise is called after authorization). + /// Optional. AVS response code from the gateway (available only when reCAPTCHA Enterprise is called after + /// authorization). /// [Newtonsoft.Json.JsonPropertyAttribute("avsResponseCode")] public virtual string AvsResponseCode { get; set; } /// - /// CVV response code from the gateway (available only when reCAPTCHA Enterprise is called after authorization). + /// Optional. CVV response code from the gateway (available only when reCAPTCHA Enterprise is called after + /// authorization). /// [Newtonsoft.Json.JsonPropertyAttribute("cvvResponseCode")] public virtual string CvvResponseCode { get; set; } - /// Gateway response code describing the state of the transaction. + /// Optional. Gateway response code describing the state of the transaction. [Newtonsoft.Json.JsonPropertyAttribute("gatewayResponseCode")] public virtual string GatewayResponseCode { get; set; } - /// Name of the gateway service (for example, stripe, square, paypal). + /// Optional. Name of the gateway service (for example, stripe, square, paypal). [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } @@ -2844,21 +2857,23 @@ public class GoogleCloudRecaptchaenterpriseV1TransactionDataGatewayInfo : Google public class GoogleCloudRecaptchaenterpriseV1TransactionDataItem : Google.Apis.Requests.IDirectResponseSchema { /// - /// When a merchant is specified, its corresponding account_id. Necessary to populate marketplace-style - /// transactions. + /// Optional. When a merchant is specified, its corresponding account_id. Necessary to populate + /// marketplace-style transactions. /// [Newtonsoft.Json.JsonPropertyAttribute("merchantAccountId")] public virtual string MerchantAccountId { get; set; } - /// The full name of the item. + /// Optional. The full name of the item. [Newtonsoft.Json.JsonPropertyAttribute("name")] public virtual string Name { get; set; } - /// The quantity of this item that is being purchased. + /// Optional. The quantity of this item that is being purchased. [Newtonsoft.Json.JsonPropertyAttribute("quantity")] public virtual System.Nullable Quantity { get; set; } - /// The value per item that the user is paying, in the transaction currency, after discounts. + /// + /// Optional. The value per item that the user is paying, in the transaction currency, after discounts. + /// [Newtonsoft.Json.JsonPropertyAttribute("value")] public virtual System.Nullable Value { get; set; } @@ -2870,29 +2885,33 @@ public class GoogleCloudRecaptchaenterpriseV1TransactionDataItem : Google.Apis.R public class GoogleCloudRecaptchaenterpriseV1TransactionDataUser : Google.Apis.Requests.IDirectResponseSchema { /// - /// Unique account identifier for this user. If using account defender, this should match the hashed_account_id - /// field. Otherwise, a unique and persistent identifier for this account. + /// Optional. Unique account identifier for this user. If using account defender, this should match the + /// hashed_account_id field. Otherwise, a unique and persistent identifier for this account. /// [Newtonsoft.Json.JsonPropertyAttribute("accountId")] public virtual string AccountId { get; set; } - /// The epoch milliseconds of the user's account creation. + /// Optional. The epoch milliseconds of the user's account creation. [Newtonsoft.Json.JsonPropertyAttribute("creationMs")] public virtual System.Nullable CreationMs { get; set; } - /// The email address of the user. + /// Optional. The email address of the user. [Newtonsoft.Json.JsonPropertyAttribute("email")] public virtual string Email { get; set; } - /// Whether the email has been verified to be accessible by the user (OTP or similar). + /// + /// Optional. Whether the email has been verified to be accessible by the user (OTP or similar). + /// [Newtonsoft.Json.JsonPropertyAttribute("emailVerified")] public virtual System.Nullable EmailVerified { get; set; } - /// The phone number of the user, with country code. + /// Optional. The phone number of the user, with country code. [Newtonsoft.Json.JsonPropertyAttribute("phoneNumber")] public virtual string PhoneNumber { get; set; } - /// Whether the phone number has been verified to be accessible by the user (OTP or similar). + /// + /// Optional. Whether the phone number has been verified to be accessible by the user (OTP or similar). + /// [Newtonsoft.Json.JsonPropertyAttribute("phoneVerified")] public virtual System.Nullable PhoneVerified { get; set; } @@ -2982,19 +3001,19 @@ public class GoogleCloudRecaptchaenterpriseV1WafSettings : Google.Apis.Requests. /// Settings specific to keys that can be used by websites. public class GoogleCloudRecaptchaenterpriseV1WebKeySettings : Google.Apis.Requests.IDirectResponseSchema { - /// If set to true, it means allowed_domains will not be enforced. + /// Optional. If set to true, it means allowed_domains will not be enforced. [Newtonsoft.Json.JsonPropertyAttribute("allowAllDomains")] public virtual System.Nullable AllowAllDomains { get; set; } /// - /// If set to true, the key can be used on AMP (Accelerated Mobile Pages) websites. This is supported only for - /// the SCORE integration type. + /// Optional. If set to true, the key can be used on AMP (Accelerated Mobile Pages) websites. This is supported + /// only for the SCORE integration type. /// [Newtonsoft.Json.JsonPropertyAttribute("allowAmpTraffic")] public virtual System.Nullable AllowAmpTraffic { get; set; } /// - /// Domains or subdomains of websites allowed to use the key. All subdomains of an allowed domain are + /// Optional. Domains or subdomains of websites allowed to use the key. All subdomains of an allowed domain are /// automatically allowed. A valid domain requires a host and must not include any path, port, query or /// fragment. Examples: 'example.com' or 'subdomain.example.com' /// @@ -3002,8 +3021,8 @@ public class GoogleCloudRecaptchaenterpriseV1WebKeySettings : Google.Apis.Reques public virtual System.Collections.Generic.IList AllowedDomains { get; set; } /// - /// Settings for the frequency and difficulty at which this key triggers captcha challenges. This should only be - /// specified for IntegrationTypes CHECKBOX and INVISIBLE. + /// Optional. Settings for the frequency and difficulty at which this key triggers captcha challenges. This + /// should only be specified for IntegrationTypes CHECKBOX and INVISIBLE. /// [Newtonsoft.Json.JsonPropertyAttribute("challengeSecurityPreference")] public virtual string ChallengeSecurityPreference { get; set; } diff --git a/Src/Generated/Google.Apis.RecaptchaEnterprise.v1/Google.Apis.RecaptchaEnterprise.v1.csproj b/Src/Generated/Google.Apis.RecaptchaEnterprise.v1/Google.Apis.RecaptchaEnterprise.v1.csproj index fb84887404c..1dbbb25a043 100644 --- a/Src/Generated/Google.Apis.RecaptchaEnterprise.v1/Google.Apis.RecaptchaEnterprise.v1.csproj +++ b/Src/Generated/Google.Apis.RecaptchaEnterprise.v1/Google.Apis.RecaptchaEnterprise.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.RecaptchaEnterprise.v1 Client Library - 1.62.0.3181 + 1.62.1.3202 Google LLC Copyright 2023 Google LLC Google @@ -57,8 +57,8 @@ - - + + diff --git a/Src/Generated/Google.Apis.Recommender.v1beta1/Google.Apis.Recommender.v1beta1.cs b/Src/Generated/Google.Apis.Recommender.v1beta1/Google.Apis.Recommender.v1beta1.cs index 471902f7e52..ef0c90ebb22 100644 --- a/Src/Generated/Google.Apis.Recommender.v1beta1/Google.Apis.Recommender.v1beta1.cs +++ b/Src/Generated/Google.Apis.Recommender.v1beta1/Google.Apis.Recommender.v1beta1.cs @@ -4466,6 +4466,10 @@ public class GoogleCloudRecommenderV1beta1CostProjection : Google.Apis.Requests. [Newtonsoft.Json.JsonPropertyAttribute("cost")] public virtual GoogleTypeMoney Cost { get; set; } + /// The approximate cost savings in the billing account's local currency. + [Newtonsoft.Json.JsonPropertyAttribute("costInLocalCurrency")] + public virtual GoogleTypeMoney CostInLocalCurrency { get; set; } + /// Duration for which this cost applies. [Newtonsoft.Json.JsonPropertyAttribute("duration")] public virtual object Duration { get; set; } @@ -5086,6 +5090,10 @@ public virtual System.DateTimeOffset? LastRefreshTimeDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("stateInfo")] public virtual GoogleCloudRecommenderV1beta1RecommendationStateInfo StateInfo { get; set; } + /// Fully qualified resource names that this recommendation is targeting. + [Newtonsoft.Json.JsonPropertyAttribute("targetResources")] + public virtual System.Collections.Generic.IList TargetResources { get; set; } + /// /// Corresponds to a mutually exclusive group ID within a recommender. A non-empty ID indicates that the /// recommendation belongs to a mutually exclusive group. This means that only one recommendation within the diff --git a/Src/Generated/Google.Apis.Recommender.v1beta1/Google.Apis.Recommender.v1beta1.csproj b/Src/Generated/Google.Apis.Recommender.v1beta1/Google.Apis.Recommender.v1beta1.csproj index cb22092ded2..f95634ee18b 100644 --- a/Src/Generated/Google.Apis.Recommender.v1beta1/Google.Apis.Recommender.v1beta1.csproj +++ b/Src/Generated/Google.Apis.Recommender.v1beta1/Google.Apis.Recommender.v1beta1.csproj @@ -3,7 +3,7 @@ Google.Apis.Recommender.v1beta1 Client Library - 1.62.0.3174 + 1.62.1.3202 Google LLC Copyright 2023 Google LLC Google @@ -57,8 +57,8 @@ - - + + diff --git a/Src/Generated/Google.Apis.SQLAdmin.v1/Google.Apis.SQLAdmin.v1.cs b/Src/Generated/Google.Apis.SQLAdmin.v1/Google.Apis.SQLAdmin.v1.cs index 26cf69a9616..0ebf42f887a 100644 --- a/Src/Generated/Google.Apis.SQLAdmin.v1/Google.Apis.SQLAdmin.v1.cs +++ b/Src/Generated/Google.Apis.SQLAdmin.v1/Google.Apis.SQLAdmin.v1.cs @@ -2200,6 +2200,14 @@ public PromoteReplicaRequest(Google.Apis.Services.IClientService service, string [Google.Apis.Util.RequestParameterAttribute("instance", Google.Apis.Util.RequestParameterType.Path)] public virtual string Instance { get; private set; } + /// + /// Set to true if the promote operation should attempt to re-add the original primary as a replica when it + /// comes back online. Otherwise, if this value is false or not set, the original primary will be a + /// standalone instance. + /// + [Google.Apis.Util.RequestParameterAttribute("failover", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable Failover { get; set; } + /// Gets the method name. public override string MethodName => "promoteReplica"; @@ -2229,6 +2237,14 @@ protected override void InitParameters() DefaultValue = null, Pattern = null, }); + RequestParameters.Add("failover", new Google.Apis.Discovery.Parameter + { + Name = "failover", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); } } @@ -2683,6 +2699,80 @@ protected override void InitParameters() } } + /// Switches over from the primary instance to the replica instance. + /// ID of the project that contains the replica. + /// Cloud SQL read replica instance name. + public virtual SwitchoverRequest Switchover(string project, string instance) + { + return new SwitchoverRequest(service, project, instance); + } + + /// Switches over from the primary instance to the replica instance. + public class SwitchoverRequest : SQLAdminBaseServiceRequest + { + /// Constructs a new Switchover request. + public SwitchoverRequest(Google.Apis.Services.IClientService service, string project, string instance) : base(service) + { + Project = project; + Instance = instance; + InitParameters(); + } + + /// ID of the project that contains the replica. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// Cloud SQL read replica instance name. + [Google.Apis.Util.RequestParameterAttribute("instance", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Instance { get; private set; } + + /// + /// Optional. (MySQL only) Cloud SQL instance operations timeout, which is a sum of all database operations. + /// Default value is 10 minutes and can be modified to a maximum value of 24 hours. + /// + [Google.Apis.Util.RequestParameterAttribute("dbTimeout", Google.Apis.Util.RequestParameterType.Query)] + public virtual object DbTimeout { get; set; } + + /// Gets the method name. + public override string MethodName => "switchover"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "v1/projects/{project}/instances/{instance}/switchover"; + + /// Initializes Switchover parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("instance", new Google.Apis.Discovery.Parameter + { + Name = "instance", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("dbTimeout", new Google.Apis.Discovery.Parameter + { + Name = "dbTimeout", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + /// Truncate MySQL general and slow query log tables MySQL only. /// The body of the request. /// Project ID of the Cloud SQL project. @@ -5211,7 +5301,7 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("outOfDiskReport")] public virtual SqlOutOfDiskReport OutOfDiskReport { get; set; } - /// Output only. The dns name of the primary instance in a replication group. + /// Output only. DEPRECATED: please use write_endpoint instead. [Newtonsoft.Json.JsonPropertyAttribute("primaryDnsName")] public virtual string PrimaryDnsName { get; set; } @@ -5289,6 +5379,10 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("suspensionReason")] public virtual System.Collections.Generic.IList SuspensionReason { get; set; } + /// Output only. The dns name of the primary instance in a replication group. + [Newtonsoft.Json.JsonPropertyAttribute("writeEndpoint")] + public virtual string WriteEndpoint { get; set; } + /// The name and status of the failover replica. public class FailoverReplicaData { @@ -6216,15 +6310,37 @@ public class IpConfiguration : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("pscConfig")] public virtual PscConfig PscConfig { get; set; } - /// Whether SSL connections over IP are enforced or not. + /// + /// LINT.IfChange(require_ssl_deprecate) Whether SSL/TLS connections over IP are enforced or not. If set to + /// false, allow both non-SSL/non-TLS and SSL/TLS connections. For SSL/TLS connections, the client certificate + /// will not be verified. If set to true, only allow connections encrypted with SSL/TLS and with valid client + /// certificates. If you want to enforce SSL/TLS without enforcing the requirement for valid client + /// certificates, use the `ssl_mode` flag instead of the legacy `require_ssl` flag. + /// LINT.ThenChange(//depot/google3/java/com/google/storage/speckle/boss/admin/actions/InstanceUpdateAction.java:update_api_temp_fix) + /// [Newtonsoft.Json.JsonPropertyAttribute("requireSsl")] public virtual System.Nullable RequireSsl { get; set; } + /// + /// Specify how SSL/TLS will be enforced in database connections. This flag is only supported for PostgreSQL. + /// Use the legacy `require_ssl` flag for enforcing SSL/TLS in MySQL and SQL Server. But, for PostgreSQL, it is + /// recommended to use the `ssl_mode` flag instead of the legacy `require_ssl` flag. To avoid the conflict + /// between those flags in PostgreSQL, only the following value pairs are valid: + /// ssl_mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED, require_ssl=false; ssl_mode=ENCRYPTED_ONLY, require_ssl=false; + /// ssl_mode=TRUSTED_CLIENT_CERTIFICATE_REQUIRED, require_ssl=true; Note that the value of `ssl_mode` gets + /// priority over the value of the legacy `require_ssl`. For example, for the pair `ssl_mode=ENCRYPTED_ONLY, + /// require_ssl=false`, the `ssl_mode=ENCRYPTED_ONLY` means "only accepts SSL connection", while the + /// `require_ssl=false` means "both non-SSL and SSL connections are allowed". The database will respect + /// `ssl_mode` in this case and only accept SSL connections. + /// + [Newtonsoft.Json.JsonPropertyAttribute("sslMode")] + public virtual string SslMode { get; set; } + /// The ETag of the item. public virtual string ETag { get; set; } } - /// Database instance IP Mapping. + /// Database instance IP mapping public class IpMapping : Google.Apis.Requests.IDirectResponseSchema { /// The IP address assigned. @@ -6872,6 +6988,10 @@ public class PasswordValidationPolicy : Google.Apis.Requests.IDirectResponseSche [Newtonsoft.Json.JsonPropertyAttribute("complexity")] public virtual string Complexity { get; set; } + /// Disallow credentials that have been previously compromised by a public data breach. + [Newtonsoft.Json.JsonPropertyAttribute("disallowCompromisedCredentials")] + public virtual System.Nullable DisallowCompromisedCredentials { get; set; } + /// Disallow username as a part of the password. [Newtonsoft.Json.JsonPropertyAttribute("disallowUsernameSubstring")] public virtual System.Nullable DisallowUsernameSubstring { get; set; } @@ -6913,9 +7033,9 @@ public class PerformDiskShrinkContext : Google.Apis.Requests.IDirectResponseSche public class PscConfig : Google.Apis.Requests.IDirectResponseSchema { /// - /// List of consumer projects that are allow-listed for PSC connections to this instance. This instance can be - /// connected to with PSC from any network in these projects. Each consumer project in this list may be - /// represented by a project number (numeric) or by a project id (alphanumeric). + /// Optional. The list of consumer projects that are allow-listed for PSC connections to this instance. This + /// instance can be connected to with PSC from any network in these projects. Each consumer project in this list + /// may be represented by a project number (numeric) or by a project id (alphanumeric). /// [Newtonsoft.Json.JsonPropertyAttribute("allowedConsumerProjects")] public virtual System.Collections.Generic.IList AllowedConsumerProjects { get; set; } @@ -6931,6 +7051,13 @@ public class PscConfig : Google.Apis.Requests.IDirectResponseSchema /// Read-replica configuration for connecting to the primary instance. public class ReplicaConfiguration : Google.Apis.Requests.IDirectResponseSchema { + /// + /// Optional. Specifies if a SQL Server replica is a cascadable replica. A cascadable replica is a SQL Server + /// cross region replica that supports replica(s) under it. + /// + [Newtonsoft.Json.JsonPropertyAttribute("cascadableReplica")] + public virtual System.Nullable CascadableReplica { get; set; } + /// /// Specifies if the replica is the failover target. If the field is set to `true`, the replica will be /// designated as a failover replica. In case the primary instance fails, the replica instance will be promoted diff --git a/Src/Generated/Google.Apis.SQLAdmin.v1/Google.Apis.SQLAdmin.v1.csproj b/Src/Generated/Google.Apis.SQLAdmin.v1/Google.Apis.SQLAdmin.v1.csproj index eee763fbf8c..9cb45819acc 100644 --- a/Src/Generated/Google.Apis.SQLAdmin.v1/Google.Apis.SQLAdmin.v1.csproj +++ b/Src/Generated/Google.Apis.SQLAdmin.v1/Google.Apis.SQLAdmin.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.SQLAdmin.v1 Client Library - 1.62.0.3177 + 1.62.1.3205 Google LLC Copyright 2023 Google LLC Google @@ -57,8 +57,8 @@ - - + + diff --git a/Src/Generated/Google.Apis.SQLAdmin.v1beta4/Google.Apis.SQLAdmin.v1beta4.cs b/Src/Generated/Google.Apis.SQLAdmin.v1beta4/Google.Apis.SQLAdmin.v1beta4.cs index c6091385f05..3e1eca16795 100644 --- a/Src/Generated/Google.Apis.SQLAdmin.v1beta4/Google.Apis.SQLAdmin.v1beta4.cs +++ b/Src/Generated/Google.Apis.SQLAdmin.v1beta4/Google.Apis.SQLAdmin.v1beta4.cs @@ -1607,7 +1607,7 @@ protected override void InitParameters() /// /// The body of the request. /// Project ID of the project that contains the instance to be exported. - /// Cloud SQL instance ID. This does not include the project ID. + /// The Cloud SQL instance ID. This doesn't include the project ID. public virtual ExportRequest Export(Google.Apis.SQLAdmin.v1beta4.Data.InstancesExportRequest body, string project, string instance) { return new ExportRequest(service, body, project, instance); @@ -1631,7 +1631,7 @@ public ExportRequest(Google.Apis.Services.IClientService service, Google.Apis.SQ [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] public virtual string Project { get; private set; } - /// Cloud SQL instance ID. This does not include the project ID. + /// The Cloud SQL instance ID. This doesn't include the project ID. [Google.Apis.Util.RequestParameterAttribute("instance", Google.Apis.Util.RequestParameterType.Path)] public virtual string Instance { get; private set; } @@ -2200,6 +2200,14 @@ public PromoteReplicaRequest(Google.Apis.Services.IClientService service, string [Google.Apis.Util.RequestParameterAttribute("instance", Google.Apis.Util.RequestParameterType.Path)] public virtual string Instance { get; private set; } + /// + /// Set to true if the promote operation should attempt to re-add the original primary as a replica when it + /// comes back online. Otherwise, if this value is false or not set, the original primary will be a + /// standalone instance. + /// + [Google.Apis.Util.RequestParameterAttribute("failover", Google.Apis.Util.RequestParameterType.Query)] + public virtual System.Nullable Failover { get; set; } + /// Gets the method name. public override string MethodName => "promoteReplica"; @@ -2229,6 +2237,14 @@ protected override void InitParameters() DefaultValue = null, Pattern = null, }); + RequestParameters.Add("failover", new Google.Apis.Discovery.Parameter + { + Name = "failover", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); } } @@ -2683,6 +2699,80 @@ protected override void InitParameters() } } + /// Switches over from the primary instance to a replica instance. + /// ID of the project that contains the replica. + /// Cloud SQL read replica instance name. + public virtual SwitchoverRequest Switchover(string project, string instance) + { + return new SwitchoverRequest(service, project, instance); + } + + /// Switches over from the primary instance to a replica instance. + public class SwitchoverRequest : SQLAdminBaseServiceRequest + { + /// Constructs a new Switchover request. + public SwitchoverRequest(Google.Apis.Services.IClientService service, string project, string instance) : base(service) + { + Project = project; + Instance = instance; + InitParameters(); + } + + /// ID of the project that contains the replica. + [Google.Apis.Util.RequestParameterAttribute("project", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Project { get; private set; } + + /// Cloud SQL read replica instance name. + [Google.Apis.Util.RequestParameterAttribute("instance", Google.Apis.Util.RequestParameterType.Path)] + public virtual string Instance { get; private set; } + + /// + /// Optional. (MySQL only) Cloud SQL instance operations timeout, which is a sum of all database operations. + /// Default value is 10 minutes and can be modified to a maximum value of 24 hours. + /// + [Google.Apis.Util.RequestParameterAttribute("dbTimeout", Google.Apis.Util.RequestParameterType.Query)] + public virtual object DbTimeout { get; set; } + + /// Gets the method name. + public override string MethodName => "switchover"; + + /// Gets the HTTP method. + public override string HttpMethod => "POST"; + + /// Gets the REST path. + public override string RestPath => "sql/v1beta4/projects/{project}/instances/{instance}/switchover"; + + /// Initializes Switchover parameter list. + protected override void InitParameters() + { + base.InitParameters(); + RequestParameters.Add("project", new Google.Apis.Discovery.Parameter + { + Name = "project", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("instance", new Google.Apis.Discovery.Parameter + { + Name = "instance", + IsRequired = true, + ParameterType = "path", + DefaultValue = null, + Pattern = null, + }); + RequestParameters.Add("dbTimeout", new Google.Apis.Discovery.Parameter + { + Name = "dbTimeout", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); + } + } + /// Truncate MySQL general and slow query log tables MySQL only. /// The body of the request. /// Project ID of the Cloud SQL project. @@ -5211,7 +5301,7 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("outOfDiskReport")] public virtual SqlOutOfDiskReport OutOfDiskReport { get; set; } - /// Output only. The dns name of the primary instance in a replication group. + /// Output only. DEPRECATED: please use write_endpoint instead. [Newtonsoft.Json.JsonPropertyAttribute("primaryDnsName")] public virtual string PrimaryDnsName { get; set; } @@ -5289,6 +5379,10 @@ public virtual System.DateTimeOffset? CreateTimeDateTimeOffset [Newtonsoft.Json.JsonPropertyAttribute("suspensionReason")] public virtual System.Collections.Generic.IList SuspensionReason { get; set; } + /// Output only. The dns name of the primary instance in a replication group. + [Newtonsoft.Json.JsonPropertyAttribute("writeEndpoint")] + public virtual string WriteEndpoint { get; set; } + /// The name and status of the failover replica. public class FailoverReplicaData { @@ -6216,15 +6310,37 @@ public class IpConfiguration : Google.Apis.Requests.IDirectResponseSchema [Newtonsoft.Json.JsonPropertyAttribute("pscConfig")] public virtual PscConfig PscConfig { get; set; } - /// Whether SSL connections over IP are enforced or not. + /// + /// LINT.IfChange(require_ssl_deprecate) Whether SSL/TLS connections over IP are enforced or not. If set to + /// false, allow both non-SSL/non-TLS and SSL/TLS connections. For SSL/TLS connections, the client certificate + /// will not be verified. If set to true, only allow connections encrypted with SSL/TLS and with valid client + /// certificates. If you want to enforce SSL/TLS without enforcing the requirement for valid client + /// certificates, use the `ssl_mode` flag instead of the legacy `require_ssl` flag. + /// LINT.ThenChange(//depot/google3/java/com/google/storage/speckle/boss/admin/actions/InstanceUpdateAction.java:update_api_temp_fix) + /// [Newtonsoft.Json.JsonPropertyAttribute("requireSsl")] public virtual System.Nullable RequireSsl { get; set; } + /// + /// Specify how SSL/TLS will be enforced in database connections. This flag is only supported for PostgreSQL. + /// Use the legacy `require_ssl` flag for enforcing SSL/TLS in MySQL and SQL Server. But, for PostgreSQL, it is + /// recommended to use the `ssl_mode` flag instead of the legacy `require_ssl` flag. To avoid the conflict + /// between those flags in PostgreSQL, only the following value pairs are valid: + /// ssl_mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED, require_ssl=false; ssl_mode=ENCRYPTED_ONLY, require_ssl=false; + /// ssl_mode=TRUSTED_CLIENT_CERTIFICATE_REQUIRED, require_ssl=true; Note that the value of `ssl_mode` gets + /// priority over the value of the legacy `require_ssl`. For example, for the pair `ssl_mode=ENCRYPTED_ONLY, + /// require_ssl=false`, the `ssl_mode=ENCRYPTED_ONLY` means "only accepts SSL connection", while the + /// `require_ssl=false` means "both non-SSL and SSL connections are allowed". The database will respect + /// `ssl_mode` in this case and only accept SSL connections. + /// + [Newtonsoft.Json.JsonPropertyAttribute("sslMode")] + public virtual string SslMode { get; set; } + /// The ETag of the item. public virtual string ETag { get; set; } } - /// Database instance IP Mapping. + /// Database instance IP mapping public class IpMapping : Google.Apis.Requests.IDirectResponseSchema { /// The IP address assigned. @@ -6872,6 +6988,10 @@ public class PasswordValidationPolicy : Google.Apis.Requests.IDirectResponseSche [Newtonsoft.Json.JsonPropertyAttribute("complexity")] public virtual string Complexity { get; set; } + /// Disallow credentials that have been previously compromised by a public data breach. + [Newtonsoft.Json.JsonPropertyAttribute("disallowCompromisedCredentials")] + public virtual System.Nullable DisallowCompromisedCredentials { get; set; } + /// Disallow username as a part of the password. [Newtonsoft.Json.JsonPropertyAttribute("disallowUsernameSubstring")] public virtual System.Nullable DisallowUsernameSubstring { get; set; } @@ -6913,9 +7033,9 @@ public class PerformDiskShrinkContext : Google.Apis.Requests.IDirectResponseSche public class PscConfig : Google.Apis.Requests.IDirectResponseSchema { /// - /// List of consumer projects that are allow-listed for PSC connections to this instance. This instance can be - /// connected to with PSC from any network in these projects. Each consumer project in this list may be - /// represented by a project number (numeric) or by a project id (alphanumeric). + /// Optional. The list of consumer projects that are allow-listed for PSC connections to this instance. This + /// instance can be connected to with PSC from any network in these projects. Each consumer project in this list + /// may be represented by a project number (numeric) or by a project id (alphanumeric). /// [Newtonsoft.Json.JsonPropertyAttribute("allowedConsumerProjects")] public virtual System.Collections.Generic.IList AllowedConsumerProjects { get; set; } @@ -6931,6 +7051,13 @@ public class PscConfig : Google.Apis.Requests.IDirectResponseSchema /// Read-replica configuration for connecting to the primary instance. public class ReplicaConfiguration : Google.Apis.Requests.IDirectResponseSchema { + /// + /// Optional. Specifies if a SQL Server replica is a cascadable replica. A cascadable replica is a SQL Server + /// cross region replica that supports replica(s) under it. + /// + [Newtonsoft.Json.JsonPropertyAttribute("cascadableReplica")] + public virtual System.Nullable CascadableReplica { get; set; } + /// /// Specifies if the replica is the failover target. If the field is set to `true` the replica will be /// designated as a failover replica. In case the primary instance fails, the replica instance will be promoted diff --git a/Src/Generated/Google.Apis.SQLAdmin.v1beta4/Google.Apis.SQLAdmin.v1beta4.csproj b/Src/Generated/Google.Apis.SQLAdmin.v1beta4/Google.Apis.SQLAdmin.v1beta4.csproj index 5ebada3c9c7..a666d7db13f 100644 --- a/Src/Generated/Google.Apis.SQLAdmin.v1beta4/Google.Apis.SQLAdmin.v1beta4.csproj +++ b/Src/Generated/Google.Apis.SQLAdmin.v1beta4/Google.Apis.SQLAdmin.v1beta4.csproj @@ -3,7 +3,7 @@ Google.Apis.SQLAdmin.v1beta4 Client Library - 1.62.0.3177 + 1.62.1.3205 Google LLC Copyright 2023 Google LLC Google @@ -57,8 +57,8 @@ - - + + diff --git a/Src/Generated/Google.Apis.SecurityCommandCenter.v1/Google.Apis.SecurityCommandCenter.v1.cs b/Src/Generated/Google.Apis.SecurityCommandCenter.v1/Google.Apis.SecurityCommandCenter.v1.cs index 707650cdd67..059f210afe7 100644 --- a/Src/Generated/Google.Apis.SecurityCommandCenter.v1/Google.Apis.SecurityCommandCenter.v1.cs +++ b/Src/Generated/Google.Apis.SecurityCommandCenter.v1/Google.Apis.SecurityCommandCenter.v1.cs @@ -13966,8 +13966,8 @@ public class GoogleCloudSecuritycenterV1ResourceSelector : Google.Apis.Requests. } /// - /// A resource value config is a mapping configuration of user's tag values to resource values. Used by the attack - /// path simulation. + /// A resource value config (RVC) is a mapping configuration of user's resources to resource values. Used in Attack + /// path simulations. /// public class GoogleCloudSecuritycenterV1ResourceValueConfig : Google.Apis.Requests.IDirectResponseSchema { diff --git a/Src/Generated/Google.Apis.SecurityCommandCenter.v1/Google.Apis.SecurityCommandCenter.v1.csproj b/Src/Generated/Google.Apis.SecurityCommandCenter.v1/Google.Apis.SecurityCommandCenter.v1.csproj index 560f1eec755..fdbe5efd102 100644 --- a/Src/Generated/Google.Apis.SecurityCommandCenter.v1/Google.Apis.SecurityCommandCenter.v1.csproj +++ b/Src/Generated/Google.Apis.SecurityCommandCenter.v1/Google.Apis.SecurityCommandCenter.v1.csproj @@ -3,7 +3,7 @@ Google.Apis.SecurityCommandCenter.v1 Client Library - 1.62.1.3195 + 1.62.1.3199 Google LLC Copyright 2023 Google LLC Google diff --git a/Src/Generated/Google.Apis.SecurityCommandCenter.v1beta1/Google.Apis.SecurityCommandCenter.v1beta1.cs b/Src/Generated/Google.Apis.SecurityCommandCenter.v1beta1/Google.Apis.SecurityCommandCenter.v1beta1.cs index 824cbc477a8..b3083dbe3f1 100644 --- a/Src/Generated/Google.Apis.SecurityCommandCenter.v1beta1/Google.Apis.SecurityCommandCenter.v1beta1.cs +++ b/Src/Generated/Google.Apis.SecurityCommandCenter.v1beta1/Google.Apis.SecurityCommandCenter.v1beta1.cs @@ -4030,8 +4030,8 @@ public class GoogleCloudSecuritycenterV1ResourceSelector : Google.Apis.Requests. } /// - /// A resource value config is a mapping configuration of user's tag values to resource values. Used by the attack - /// path simulation. + /// A resource value config (RVC) is a mapping configuration of user's resources to resource values. Used in Attack + /// path simulations. /// public class GoogleCloudSecuritycenterV1ResourceValueConfig : Google.Apis.Requests.IDirectResponseSchema { diff --git a/Src/Generated/Google.Apis.SecurityCommandCenter.v1beta1/Google.Apis.SecurityCommandCenter.v1beta1.csproj b/Src/Generated/Google.Apis.SecurityCommandCenter.v1beta1/Google.Apis.SecurityCommandCenter.v1beta1.csproj index 13ceddbd6fd..b63af5d7803 100644 --- a/Src/Generated/Google.Apis.SecurityCommandCenter.v1beta1/Google.Apis.SecurityCommandCenter.v1beta1.csproj +++ b/Src/Generated/Google.Apis.SecurityCommandCenter.v1beta1/Google.Apis.SecurityCommandCenter.v1beta1.csproj @@ -3,7 +3,7 @@ Google.Apis.SecurityCommandCenter.v1beta1 Client Library - 1.62.1.3195 + 1.62.1.3199 Google LLC Copyright 2023 Google LLC Google diff --git a/Src/Generated/Google.Apis.SecurityCommandCenter.v1beta2/Google.Apis.SecurityCommandCenter.v1beta2.cs b/Src/Generated/Google.Apis.SecurityCommandCenter.v1beta2/Google.Apis.SecurityCommandCenter.v1beta2.cs index db498ab8623..bc93d350c7f 100644 --- a/Src/Generated/Google.Apis.SecurityCommandCenter.v1beta2/Google.Apis.SecurityCommandCenter.v1beta2.cs +++ b/Src/Generated/Google.Apis.SecurityCommandCenter.v1beta2/Google.Apis.SecurityCommandCenter.v1beta2.cs @@ -6736,8 +6736,8 @@ public class GoogleCloudSecuritycenterV1ResourceSelector : Google.Apis.Requests. } /// - /// A resource value config is a mapping configuration of user's tag values to resource values. Used by the attack - /// path simulation. + /// A resource value config (RVC) is a mapping configuration of user's resources to resource values. Used in Attack + /// path simulations. /// public class GoogleCloudSecuritycenterV1ResourceValueConfig : Google.Apis.Requests.IDirectResponseSchema { diff --git a/Src/Generated/Google.Apis.SecurityCommandCenter.v1beta2/Google.Apis.SecurityCommandCenter.v1beta2.csproj b/Src/Generated/Google.Apis.SecurityCommandCenter.v1beta2/Google.Apis.SecurityCommandCenter.v1beta2.csproj index 6d6f54fa910..dc9861fb45b 100644 --- a/Src/Generated/Google.Apis.SecurityCommandCenter.v1beta2/Google.Apis.SecurityCommandCenter.v1beta2.csproj +++ b/Src/Generated/Google.Apis.SecurityCommandCenter.v1beta2/Google.Apis.SecurityCommandCenter.v1beta2.csproj @@ -3,7 +3,7 @@ Google.Apis.SecurityCommandCenter.v1beta2 Client Library - 1.62.1.3195 + 1.62.1.3199 Google LLC Copyright 2023 Google LLC Google diff --git a/Src/Generated/Google.Apis.YouTube.v3/Google.Apis.YouTube.v3.cs b/Src/Generated/Google.Apis.YouTube.v3/Google.Apis.YouTube.v3.cs index 02a3350d383..6953c12cc66 100644 --- a/Src/Generated/Google.Apis.YouTube.v3/Google.Apis.YouTube.v3.cs +++ b/Src/Generated/Google.Apis.YouTube.v3/Google.Apis.YouTube.v3.cs @@ -2309,6 +2309,10 @@ public ListRequest(Google.Apis.Services.IClientService service, Google.Apis.Util [Google.Apis.Util.RequestParameterAttribute("categoryId", Google.Apis.Util.RequestParameterType.Query)] public virtual string CategoryId { get; set; } + /// Return the channel associated with a YouTube handle. UNIMPLEMENTED. + [Google.Apis.Util.RequestParameterAttribute("forHandle", Google.Apis.Util.RequestParameterType.Query)] + public virtual string ForHandle { get; set; } + /// Return the channel associated with a YouTube username. [Google.Apis.Util.RequestParameterAttribute("forUsername", Google.Apis.Util.RequestParameterType.Query)] public virtual string ForUsername { get; set; } @@ -2394,6 +2398,14 @@ protected override void InitParameters() DefaultValue = null, Pattern = null, }); + RequestParameters.Add("forHandle", new Google.Apis.Discovery.Parameter + { + Name = "forHandle", + IsRequired = false, + ParameterType = "query", + DefaultValue = null, + Pattern = null, + }); RequestParameters.Add("forUsername", new Google.Apis.Discovery.Parameter { Name = "forUsername", diff --git a/Src/Generated/Google.Apis.YouTube.v3/Google.Apis.YouTube.v3.csproj b/Src/Generated/Google.Apis.YouTube.v3/Google.Apis.YouTube.v3.csproj index 5b0ba8f267d..6b44a03896e 100644 --- a/Src/Generated/Google.Apis.YouTube.v3/Google.Apis.YouTube.v3.csproj +++ b/Src/Generated/Google.Apis.YouTube.v3/Google.Apis.YouTube.v3.csproj @@ -3,7 +3,7 @@ Google.Apis.YouTube.v3 Client Library - 1.62.0.3169 + 1.62.1.3203 Google LLC Copyright 2023 Google LLC Google @@ -57,8 +57,8 @@ - - + +