This is an automated email from the ASF dual-hosted git repository.
shahar pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new ad287391229 Upgrade version of Campaign Manager API to v5 (#62510)
ad287391229 is described below
commit ad287391229e1b2f343e27e95a9c4a8497d202fa
Author: Nitochkin <[email protected]>
AuthorDate: Thu Mar 5 00:32:54 2026 +0100
Upgrade version of Campaign Manager API to v5 (#62510)
---
.../operators/campaign_manager.py | 38 +++++++++++-----------
.../operators/test_campaign_manager.py | 2 +-
2 files changed, 20 insertions(+), 20 deletions(-)
diff --git
a/providers/google/src/airflow/providers/google/marketing_platform/operators/campaign_manager.py
b/providers/google/src/airflow/providers/google/marketing_platform/operators/campaign_manager.py
index e90a394eb8b..4634d58b26b 100644
---
a/providers/google/src/airflow/providers/google/marketing_platform/operators/campaign_manager.py
+++
b/providers/google/src/airflow/providers/google/marketing_platform/operators/campaign_manager.py
@@ -42,7 +42,7 @@ class GoogleCampaignManagerDeleteReportOperator(BaseOperator):
.. seealso::
Check official API docs:
-
`https://developers.google.com/doubleclick-advertisers/rest/v4/reports/delete`
+
`https://developers.google.com/doubleclick-advertisers/rest/v5/reports/delete`
.. seealso::
For more information on how to use this operator, take a look at the
guide:
@@ -51,7 +51,7 @@ class GoogleCampaignManagerDeleteReportOperator(BaseOperator):
:param profile_id: The DFA user profile ID.
:param report_name: The name of the report to delete.
:param report_id: The ID of the report.
- :param api_version: The version of the api that will be requested, for
example 'v4'.
+ :param api_version: The version of the api that will be requested, for
example 'v5'.
:param gcp_conn_id: The connection ID to use when fetching connection info.
:param impersonation_chain: Optional service account to impersonate using
short-term
credentials, or chained list of accounts required to get the
access_token
@@ -78,7 +78,7 @@ class GoogleCampaignManagerDeleteReportOperator(BaseOperator):
profile_id: str,
report_name: str | None = None,
report_id: str | None = None,
- api_version: str = "v4",
+ api_version: str = "v5",
gcp_conn_id: str = "google_cloud_default",
impersonation_chain: str | Sequence[str] | None = None,
**kwargs,
@@ -122,7 +122,7 @@ class
GoogleCampaignManagerDownloadReportOperator(BaseOperator):
.. seealso::
Check official API docs:
-
`https://developers.google.com/doubleclick-advertisers/rest/v4/reports/get`
+
`https://developers.google.com/doubleclick-advertisers/rest/v5/reports/get`
.. seealso::
For more information on how to use this operator, take a look at the
guide:
@@ -135,7 +135,7 @@ class
GoogleCampaignManagerDownloadReportOperator(BaseOperator):
:param report_name: The report name to set when uploading the local file.
:param gzip: Option to compress local file or file data for upload
:param chunk_size: File will be downloaded in chunks of this many bytes.
- :param api_version: The version of the api that will be requested, for
example 'v4'.
+ :param api_version: The version of the api that will be requested, for
example 'v5'.
:param gcp_conn_id: The connection ID to use when fetching connection info.
:param impersonation_chain: Optional service account to impersonate using
short-term
credentials, or chained list of accounts required to get the
access_token
@@ -169,7 +169,7 @@ class
GoogleCampaignManagerDownloadReportOperator(BaseOperator):
report_name: str | None = None,
gzip: bool = True,
chunk_size: int = 10 * 1024 * 1024,
- api_version: str = "v4",
+ api_version: str = "v5",
gcp_conn_id: str = "google_cloud_default",
impersonation_chain: str | Sequence[str] | None = None,
**kwargs,
@@ -246,7 +246,7 @@ class
GoogleCampaignManagerInsertReportOperator(BaseOperator):
.. seealso::
Check official API docs:
-
`https://developers.google.com/doubleclick-advertisers/rest/v4/reports/insert`
+
`https://developers.google.com/doubleclick-advertisers/rest/v5/reports/insert`
.. seealso::
For more information on how to use this operator, take a look at the
guide:
@@ -254,7 +254,7 @@ class
GoogleCampaignManagerInsertReportOperator(BaseOperator):
:param profile_id: The DFA user profile ID.
:param report: Report to be created.
- :param api_version: The version of the api that will be requested, for
example 'v4'.
+ :param api_version: The version of the api that will be requested, for
example 'v5'.
:param gcp_conn_id: The connection ID to use when fetching connection info.
:param impersonation_chain: Optional service account to impersonate using
short-term
credentials, or chained list of accounts required to get the
access_token
@@ -281,7 +281,7 @@ class
GoogleCampaignManagerInsertReportOperator(BaseOperator):
*,
profile_id: str,
report: dict[str, Any],
- api_version: str = "v4",
+ api_version: str = "v5",
gcp_conn_id: str = "google_cloud_default",
impersonation_chain: str | Sequence[str] | None = None,
**kwargs,
@@ -319,7 +319,7 @@ class GoogleCampaignManagerRunReportOperator(BaseOperator):
.. seealso::
Check official API docs:
-
`https://developers.google.com/doubleclick-advertisers/rest/v4/reports/run`
+
`https://developers.google.com/doubleclick-advertisers/rest/v5/reports/run`
.. seealso::
For more information on how to use this operator, take a look at the
guide:
@@ -328,7 +328,7 @@ class GoogleCampaignManagerRunReportOperator(BaseOperator):
:param profile_id: The DFA profile ID.
:param report_id: The ID of the report.
:param synchronous: If set and true, tries to run the report synchronously.
- :param api_version: The version of the api that will be requested, for
example 'v4'.
+ :param api_version: The version of the api that will be requested, for
example 'v5'.
:param gcp_conn_id: The connection ID to use when fetching connection info.
:param impersonation_chain: Optional service account to impersonate using
short-term
credentials, or chained list of accounts required to get the
access_token
@@ -355,7 +355,7 @@ class GoogleCampaignManagerRunReportOperator(BaseOperator):
profile_id: str,
report_id: str,
synchronous: bool = False,
- api_version: str = "v4",
+ api_version: str = "v5",
gcp_conn_id: str = "google_cloud_default",
impersonation_chain: str | Sequence[str] | None = None,
**kwargs,
@@ -392,7 +392,7 @@ class
GoogleCampaignManagerBatchInsertConversionsOperator(BaseOperator):
.. seealso::
Check official API docs:
-
`https://developers.google.com/doubleclick-advertisers/rest/v4/conversions/batchinsert`
+
`https://developers.google.com/doubleclick-advertisers/rest/v5/conversions/batchinsert`
.. seealso::
For more information on how to use this operator, take a look at the
guide:
@@ -408,7 +408,7 @@ class
GoogleCampaignManagerBatchInsertConversionsOperator(BaseOperator):
:param encryption_source: Describes whether the encrypted cookie was
received from ad serving
(the %m macro) or from Data Transfer.
:param max_failed_inserts: The maximum number of conversions that failed
to be inserted
- :param api_version: The version of the api that will be requested, for
example 'v4'.
+ :param api_version: The version of the api that will be requested, for
example 'v5'.
:param gcp_conn_id: The connection ID to use when fetching connection info.
:param impersonation_chain: Optional service account to impersonate using
short-term
credentials, or chained list of accounts required to get the
access_token
@@ -438,7 +438,7 @@ class
GoogleCampaignManagerBatchInsertConversionsOperator(BaseOperator):
encryption_entity_id: int,
encryption_source: str,
max_failed_inserts: int = 0,
- api_version: str = "v4",
+ api_version: str = "v5",
gcp_conn_id: str = "google_cloud_default",
impersonation_chain: str | Sequence[str] | None = None,
**kwargs,
@@ -477,7 +477,7 @@ class
GoogleCampaignManagerBatchUpdateConversionsOperator(BaseOperator):
.. seealso::
Check official API docs:
-
`https://developers.google.com/doubleclick-advertisers/rest/v4/conversions/batchupdate`
+
`https://developers.google.com/doubleclick-advertisers/rest/v5/conversions/batchupdate`
.. seealso::
For more information on how to use this operator, take a look at the
guide:
@@ -485,7 +485,7 @@ class
GoogleCampaignManagerBatchUpdateConversionsOperator(BaseOperator):
:param profile_id: User profile ID associated with this request.
:param conversions: Conversations to update, should be type of Conversion:
-
https://developers.google.com/doubleclick-advertisers/rest/v4/conversions
+
https://developers.google.com/doubleclick-advertisers/rest/v5/conversions
:param encryption_entity_type: The encryption entity type. This should
match the encryption
configuration for ad serving or Data Transfer.
:param encryption_entity_id: The encryption entity ID. This should match
the encryption
@@ -493,7 +493,7 @@ class
GoogleCampaignManagerBatchUpdateConversionsOperator(BaseOperator):
:param encryption_source: Describes whether the encrypted cookie was
received from ad serving
(the %m macro) or from Data Transfer.
:param max_failed_updates: The maximum number of conversions that failed
to be updated
- :param api_version: The version of the api that will be requested, for
example 'v4'.
+ :param api_version: The version of the api that will be requested, for
example 'v5'.
:param gcp_conn_id: The connection ID to use when fetching connection info.
:param impersonation_chain: Optional service account to impersonate using
short-term
credentials, or chained list of accounts required to get the
access_token
@@ -523,7 +523,7 @@ class
GoogleCampaignManagerBatchUpdateConversionsOperator(BaseOperator):
encryption_entity_id: int,
encryption_source: str,
max_failed_updates: int = 0,
- api_version: str = "v4",
+ api_version: str = "v5",
gcp_conn_id: str = "google_cloud_default",
impersonation_chain: str | Sequence[str] | None = None,
**kwargs,
diff --git
a/providers/google/tests/unit/google/marketing_platform/operators/test_campaign_manager.py
b/providers/google/tests/unit/google/marketing_platform/operators/test_campaign_manager.py
index 363622feeb7..20bfaa940ab 100644
---
a/providers/google/tests/unit/google/marketing_platform/operators/test_campaign_manager.py
+++
b/providers/google/tests/unit/google/marketing_platform/operators/test_campaign_manager.py
@@ -38,7 +38,7 @@ from airflow.utils.session import create_session
from tests_common.test_utils.taskinstance import run_task_instance
-API_VERSION = "v4"
+API_VERSION = "v5"
GCP_CONN_ID = "google_cloud_default"
CONVERSION = {