diff --git a/.codegen/_openapi_sha b/.codegen/_openapi_sha
index 96ac1d98b..736224f73 100644
--- a/.codegen/_openapi_sha
+++ b/.codegen/_openapi_sha
@@ -1 +1 @@
-2897397b750c4505b9f749efc91a3e41635586cb
\ No newline at end of file
+732dd0f076d8549a12a398ccbc0fcc8ed4816342
\ No newline at end of file
diff --git a/.gitattributes b/.gitattributes
index 706470a67..a3d4b796b 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -2426,6 +2426,7 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/GetPipeli
databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/GetUpdateRequest.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/GetUpdateResponse.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/GoogleAdsConfig.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/GoogleAdsCustomReportOptions.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/GoogleAdsOptions.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/GoogleDriveOptions.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/GoogleDriveOptionsGoogleDriveEntityType.java linguist-generated=true
@@ -2448,6 +2449,7 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/ListUpdat
databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/ManualTrigger.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/MaturityLevel.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/MetaMarketingOptions.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/MetaMarketingOptionsMetaMarketingCustomReportOptions.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/NotebookLibrary.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/Notifications.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/OperationTimeWindow.java linguist-generated=true
@@ -2504,6 +2506,7 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/TableSpec
databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/TableSpecificConfig.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/TableSpecificConfigScdType.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/TikTokAdsOptions.java linguist-generated=true
+databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/TikTokAdsOptionsTikTokAdsCustomReportOptions.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/TikTokAdsOptionsTikTokDataLevel.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/TikTokAdsOptionsTikTokReportType.java linguist-generated=true
databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/Transformer.java linguist-generated=true
diff --git a/NEXT_CHANGELOG.md b/NEXT_CHANGELOG.md
index bce5a087d..6dfb7b2fb 100644
--- a/NEXT_CHANGELOG.md
+++ b/NEXT_CHANGELOG.md
@@ -15,3 +15,10 @@
### Internal Changes
### API Changes
+* Add `enableSharedOutput` field for `com.databricks.sdk.service.cleanrooms.CleanRoom`.
+* Add `description` and `environmentVersion` fields for `com.databricks.sdk.service.cleanrooms.CleanRoomAssetNotebook`.
+* Add `sharedOutputSchemaExpirationTime` and `sharedOutputSchemaName` fields for `com.databricks.sdk.service.cleanrooms.CleanRoomNotebookTaskRun`.
+* Add `enableSharedOutput` and `packageProviderCollaboratorAlias` fields for `com.databricks.sdk.service.cleanrooms.CleanRoomRemoteDetail`.
+* Add `customReportOptions` field for `com.databricks.sdk.service.pipelines.GoogleAdsOptions`.
+* Add `customReportOptions` field for `com.databricks.sdk.service.pipelines.MetaMarketingOptions`.
+* Add `customReportOptions` field for `com.databricks.sdk.service.pipelines.TikTokAdsOptions`.
\ No newline at end of file
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/RfaAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/RfaAPI.java
index 7773bb76b..17d0d7e7b 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/RfaAPI.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/RfaAPI.java
@@ -66,11 +66,9 @@ public AccessRequestDestinations getAccessRequestDestinations(
/**
* Updates the access request destinations for the given securable. The caller must be a metastore
* admin, the owner of the securable, or a user that has the **MANAGE** privilege on the securable
- * in order to assign destinations. Destinations cannot be updated for securables underneath
- * schemas (tables, volumes, functions, and models). For these securable types, destinations are
- * inherited from the parent securable. A maximum of 5 emails and 5 external notification
- * destinations (Slack, Microsoft Teams, and Generic Webhook destinations) can be assigned to a
- * securable. If a URL destination is assigned, no other destinations can be set.
+ * in order to assign destinations. A maximum of 5 emails and 5 external notification destinations
+ * (Slack, Microsoft Teams, and Generic Webhook destinations) can be assigned to a securable. If a
+ * URL destination is assigned, no other destinations can be set.
*
*
The supported securable types are: "metastore", "catalog", "schema", "table",
* "external_location", "connection", "credential", "function", "registered_model", and "volume".
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/RfaService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/RfaService.java
index cdd8ef843..911269bc8 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/RfaService.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/RfaService.java
@@ -41,11 +41,9 @@ AccessRequestDestinations getAccessRequestDestinations(
/**
* Updates the access request destinations for the given securable. The caller must be a metastore
* admin, the owner of the securable, or a user that has the **MANAGE** privilege on the securable
- * in order to assign destinations. Destinations cannot be updated for securables underneath
- * schemas (tables, volumes, functions, and models). For these securable types, destinations are
- * inherited from the parent securable. A maximum of 5 emails and 5 external notification
- * destinations (Slack, Microsoft Teams, and Generic Webhook destinations) can be assigned to a
- * securable. If a URL destination is assigned, no other destinations can be set.
+ * in order to assign destinations. A maximum of 5 emails and 5 external notification destinations
+ * (Slack, Microsoft Teams, and Generic Webhook destinations) can be assigned to a securable. If a
+ * URL destination is assigned, no other destinations can be set.
*
*
The supported securable types are: "metastore", "catalog", "schema", "table",
* "external_location", "connection", "credential", "function", "registered_model", and "volume".
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoom.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoom.java
index 0372a8bd2..aa54a8aad 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoom.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoom.java
@@ -25,6 +25,14 @@ public class CleanRoom {
@JsonProperty("created_at")
private Long createdAt;
+ /**
+ * Whether allow task to write to shared output schema. When enabled, clean room task runs
+ * triggered by the current collaborator can write to the run-scoped shared output schema which is
+ * accessible by all collaborators.
+ */
+ @JsonProperty("enable_shared_output")
+ private Boolean enableSharedOutput;
+
/** The alias of the collaborator tied to the local clean room. */
@JsonProperty("local_collaborator_alias")
private String localCollaboratorAlias;
@@ -94,6 +102,15 @@ public Long getCreatedAt() {
return createdAt;
}
+ public CleanRoom setEnableSharedOutput(Boolean enableSharedOutput) {
+ this.enableSharedOutput = enableSharedOutput;
+ return this;
+ }
+
+ public Boolean getEnableSharedOutput() {
+ return enableSharedOutput;
+ }
+
public CleanRoom setLocalCollaboratorAlias(String localCollaboratorAlias) {
this.localCollaboratorAlias = localCollaboratorAlias;
return this;
@@ -165,6 +182,7 @@ public boolean equals(Object o) {
return Objects.equals(accessRestricted, that.accessRestricted)
&& Objects.equals(comment, that.comment)
&& Objects.equals(createdAt, that.createdAt)
+ && Objects.equals(enableSharedOutput, that.enableSharedOutput)
&& Objects.equals(localCollaboratorAlias, that.localCollaboratorAlias)
&& Objects.equals(name, that.name)
&& Objects.equals(outputCatalog, that.outputCatalog)
@@ -180,6 +198,7 @@ public int hashCode() {
accessRestricted,
comment,
createdAt,
+ enableSharedOutput,
localCollaboratorAlias,
name,
outputCatalog,
@@ -195,6 +214,7 @@ public String toString() {
.add("accessRestricted", accessRestricted)
.add("comment", comment)
.add("createdAt", createdAt)
+ .add("enableSharedOutput", enableSharedOutput)
.add("localCollaboratorAlias", localCollaboratorAlias)
.add("name", name)
.add("outputCatalog", outputCatalog)
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomAssetNotebook.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomAssetNotebook.java
index d27804512..53c577d31 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomAssetNotebook.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomAssetNotebook.java
@@ -10,6 +10,17 @@
@Generated
public class CleanRoomAssetNotebook {
+ /** Optional description of the notebook shown to all collaborators. */
+ @JsonProperty("description")
+ private String description;
+
+ /**
+ * The serverless environment version used to execute the notebook (e.g. "4"). Defaults to "2" if
+ * not specified.
+ */
+ @JsonProperty("environment_version")
+ private String environmentVersion;
+
/** Server generated etag that represents the notebook version. */
@JsonProperty("etag")
private String etag;
@@ -35,6 +46,24 @@ public class CleanRoomAssetNotebook {
@JsonProperty("runner_collaborator_aliases")
private Collection runnerCollaboratorAliases;
+ public CleanRoomAssetNotebook setDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public CleanRoomAssetNotebook setEnvironmentVersion(String environmentVersion) {
+ this.environmentVersion = environmentVersion;
+ return this;
+ }
+
+ public String getEnvironmentVersion() {
+ return environmentVersion;
+ }
+
public CleanRoomAssetNotebook setEtag(String etag) {
this.etag = etag;
return this;
@@ -87,7 +116,9 @@ public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
CleanRoomAssetNotebook that = (CleanRoomAssetNotebook) o;
- return Objects.equals(etag, that.etag)
+ return Objects.equals(description, that.description)
+ && Objects.equals(environmentVersion, that.environmentVersion)
+ && Objects.equals(etag, that.etag)
&& Objects.equals(notebookContent, that.notebookContent)
&& Objects.equals(reviewState, that.reviewState)
&& Objects.equals(reviews, that.reviews)
@@ -96,12 +127,21 @@ public boolean equals(Object o) {
@Override
public int hashCode() {
- return Objects.hash(etag, notebookContent, reviewState, reviews, runnerCollaboratorAliases);
+ return Objects.hash(
+ description,
+ environmentVersion,
+ etag,
+ notebookContent,
+ reviewState,
+ reviews,
+ runnerCollaboratorAliases);
}
@Override
public String toString() {
return new ToStringer(CleanRoomAssetNotebook.class)
+ .add("description", description)
+ .add("environmentVersion", environmentVersion)
.add("etag", etag)
.add("notebookContent", notebookContent)
.add("reviewState", reviewState)
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomNotebookTaskRun.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomNotebookTaskRun.java
index 93cc03a88..26385aabf 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomNotebookTaskRun.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomNotebookTaskRun.java
@@ -46,6 +46,19 @@ public class CleanRoomNotebookTaskRun {
@JsonProperty("run_duration")
private Long runDuration;
+ /**
+ * Expiration time of the shared output schema of the task run (if any), in epoch milliseconds.
+ */
+ @JsonProperty("shared_output_schema_expiration_time")
+ private Long sharedOutputSchemaExpirationTime;
+
+ /**
+ * Name of the shared output schema associated with the clean rooms notebook task run. This schema
+ * is accessible by all collaborators when enable_shared_output is true.
+ */
+ @JsonProperty("shared_output_schema_name")
+ private String sharedOutputSchemaName;
+
/** When the task run started, in epoch milliseconds. */
@JsonProperty("start_time")
private Long startTime;
@@ -124,6 +137,25 @@ public Long getRunDuration() {
return runDuration;
}
+ public CleanRoomNotebookTaskRun setSharedOutputSchemaExpirationTime(
+ Long sharedOutputSchemaExpirationTime) {
+ this.sharedOutputSchemaExpirationTime = sharedOutputSchemaExpirationTime;
+ return this;
+ }
+
+ public Long getSharedOutputSchemaExpirationTime() {
+ return sharedOutputSchemaExpirationTime;
+ }
+
+ public CleanRoomNotebookTaskRun setSharedOutputSchemaName(String sharedOutputSchemaName) {
+ this.sharedOutputSchemaName = sharedOutputSchemaName;
+ return this;
+ }
+
+ public String getSharedOutputSchemaName() {
+ return sharedOutputSchemaName;
+ }
+
public CleanRoomNotebookTaskRun setStartTime(Long startTime) {
this.startTime = startTime;
return this;
@@ -146,6 +178,8 @@ public boolean equals(Object o) {
&& Objects.equals(outputSchemaExpirationTime, that.outputSchemaExpirationTime)
&& Objects.equals(outputSchemaName, that.outputSchemaName)
&& Objects.equals(runDuration, that.runDuration)
+ && Objects.equals(sharedOutputSchemaExpirationTime, that.sharedOutputSchemaExpirationTime)
+ && Objects.equals(sharedOutputSchemaName, that.sharedOutputSchemaName)
&& Objects.equals(startTime, that.startTime);
}
@@ -160,6 +194,8 @@ public int hashCode() {
outputSchemaExpirationTime,
outputSchemaName,
runDuration,
+ sharedOutputSchemaExpirationTime,
+ sharedOutputSchemaName,
startTime);
}
@@ -174,6 +210,8 @@ public String toString() {
.add("outputSchemaExpirationTime", outputSchemaExpirationTime)
.add("outputSchemaName", outputSchemaName)
.add("runDuration", runDuration)
+ .add("sharedOutputSchemaExpirationTime", sharedOutputSchemaExpirationTime)
+ .add("sharedOutputSchemaName", sharedOutputSchemaName)
.add("startTime", startTime)
.toString();
}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomRemoteDetail.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomRemoteDetail.java
index 46f713c85..3c0985419 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomRemoteDetail.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/cleanrooms/CleanRoomRemoteDetail.java
@@ -42,6 +42,22 @@ public class CleanRoomRemoteDetail {
@JsonProperty("egress_network_policy")
private com.databricks.sdk.service.settings.EgressNetworkPolicy egressNetworkPolicy;
+ /**
+ * Whether to enable shared output for the central clean room. When enabled, clean room task runs
+ * can write to the run-scoped shared output schema which is accessible by all collaborators.
+ */
+ @JsonProperty("enable_shared_output")
+ private Boolean enableSharedOutput;
+
+ /**
+ * Alias of the provider collaborator. If set, packaged clean rooms mode is enabled. The
+ * consumer's experience is restricted: they can view notebook names and READMEs, add their own
+ * data assets, and trigger runs, but cannot view notebook code, provider data assets, or notebook
+ * run output.
+ */
+ @JsonProperty("package_provider_collaborator_alias")
+ private String packageProviderCollaboratorAlias;
+
/** Region of the central clean room. */
@JsonProperty("region")
private String region;
@@ -102,6 +118,25 @@ public com.databricks.sdk.service.settings.EgressNetworkPolicy getEgressNetworkP
return egressNetworkPolicy;
}
+ public CleanRoomRemoteDetail setEnableSharedOutput(Boolean enableSharedOutput) {
+ this.enableSharedOutput = enableSharedOutput;
+ return this;
+ }
+
+ public Boolean getEnableSharedOutput() {
+ return enableSharedOutput;
+ }
+
+ public CleanRoomRemoteDetail setPackageProviderCollaboratorAlias(
+ String packageProviderCollaboratorAlias) {
+ this.packageProviderCollaboratorAlias = packageProviderCollaboratorAlias;
+ return this;
+ }
+
+ public String getPackageProviderCollaboratorAlias() {
+ return packageProviderCollaboratorAlias;
+ }
+
public CleanRoomRemoteDetail setRegion(String region) {
this.region = region;
return this;
@@ -122,6 +157,8 @@ public boolean equals(Object o) {
&& Objects.equals(complianceSecurityProfile, that.complianceSecurityProfile)
&& Objects.equals(creator, that.creator)
&& Objects.equals(egressNetworkPolicy, that.egressNetworkPolicy)
+ && Objects.equals(enableSharedOutput, that.enableSharedOutput)
+ && Objects.equals(packageProviderCollaboratorAlias, that.packageProviderCollaboratorAlias)
&& Objects.equals(region, that.region);
}
@@ -134,6 +171,8 @@ public int hashCode() {
complianceSecurityProfile,
creator,
egressNetworkPolicy,
+ enableSharedOutput,
+ packageProviderCollaboratorAlias,
region);
}
@@ -146,6 +185,8 @@ public String toString() {
.add("complianceSecurityProfile", complianceSecurityProfile)
.add("creator", creator)
.add("egressNetworkPolicy", egressNetworkPolicy)
+ .add("enableSharedOutput", enableSharedOutput)
+ .add("packageProviderCollaboratorAlias", packageProviderCollaboratorAlias)
.add("region", region)
.toString();
}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/GoogleAdsCustomReportOptions.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/GoogleAdsCustomReportOptions.java
new file mode 100644
index 000000000..5060f51c8
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/GoogleAdsCustomReportOptions.java
@@ -0,0 +1,112 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.pipelines;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Collection;
+import java.util.Objects;
+
+/**
+ * User-defined custom report for the Google Ads connector. Mirrors the resource + fields + segments
+ * + metrics model that Google Ads GAQL exposes. The customer account this report runs against is
+ * supplied by the source schema (namespace), not by this message. The whole message is gated by the
+ * parent GoogleAdsOptions.custom_report_options stage; per-field stage annotations are
+ * intentionally omitted. Only supported on table-type objects: a custom report requires a
+ * destination table, so it cannot be specified at the schema/source level.
+ */
+@Generated
+public class GoogleAdsCustomReportOptions {
+ /**
+ * (Optional) Metric fields to select (e.g. "metrics.clicks", "metrics.cost_micros"). Multiple
+ * values are joined into the GAQL SELECT clause.
+ */
+ @JsonProperty("metrics")
+ private Collection metrics;
+
+ /**
+ * (Required) Google Ads resource to query (e.g. "ad_group_ad", "keyword_view",
+ * "search_term_view"). Must be a resource that has metrics. Values are validated against Google
+ * Ads' field-service catalog at pipeline plan time.
+ */
+ @JsonProperty("resource")
+ private String resource;
+
+ /**
+ * (Optional) Resource fields to select, in fully-qualified GAQL form (e.g. "ad_group_ad.ad.id",
+ * "ad_group_ad.status"). Multiple values are joined into the GAQL SELECT clause.
+ */
+ @JsonProperty("resource_fields")
+ private Collection resourceFields;
+
+ /**
+ * (Optional) Segment fields to select (e.g. "segments.date", "segments.device"). Must include at
+ * least one of segments.date, segments.week, or segments.month — that segment is used as the
+ * incremental cursor for the table.
+ */
+ @JsonProperty("segments")
+ private Collection segments;
+
+ public GoogleAdsCustomReportOptions setMetrics(Collection metrics) {
+ this.metrics = metrics;
+ return this;
+ }
+
+ public Collection getMetrics() {
+ return metrics;
+ }
+
+ public GoogleAdsCustomReportOptions setResource(String resource) {
+ this.resource = resource;
+ return this;
+ }
+
+ public String getResource() {
+ return resource;
+ }
+
+ public GoogleAdsCustomReportOptions setResourceFields(Collection resourceFields) {
+ this.resourceFields = resourceFields;
+ return this;
+ }
+
+ public Collection getResourceFields() {
+ return resourceFields;
+ }
+
+ public GoogleAdsCustomReportOptions setSegments(Collection segments) {
+ this.segments = segments;
+ return this;
+ }
+
+ public Collection getSegments() {
+ return segments;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ GoogleAdsCustomReportOptions that = (GoogleAdsCustomReportOptions) o;
+ return Objects.equals(metrics, that.metrics)
+ && Objects.equals(resource, that.resource)
+ && Objects.equals(resourceFields, that.resourceFields)
+ && Objects.equals(segments, that.segments);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(metrics, resource, resourceFields, segments);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(GoogleAdsCustomReportOptions.class)
+ .add("metrics", metrics)
+ .add("resource", resource)
+ .add("resourceFields", resourceFields)
+ .add("segments", segments)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/GoogleAdsOptions.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/GoogleAdsOptions.java
index c7ff54d80..cd95ad1ad 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/GoogleAdsOptions.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/GoogleAdsOptions.java
@@ -13,6 +13,15 @@
*/
@Generated
public class GoogleAdsOptions {
+ /**
+ * (Optional) Custom report definition. When set, the table is treated as a user-defined Google
+ * Ads custom report: the connector synthesizes a GAQL query from the resource, fields, segments,
+ * and metrics specified here. When unset, the table must match one of the connector's prebuilt
+ * sources.
+ */
+ @JsonProperty("custom_report_options")
+ private GoogleAdsCustomReportOptions customReportOptions;
+
/**
* (Optional) Number of days to look back for report tables to capture late-arriving data. If not
* specified, defaults to 30 days.
@@ -36,6 +45,15 @@ public class GoogleAdsOptions {
@JsonProperty("sync_start_date")
private String syncStartDate;
+ public GoogleAdsOptions setCustomReportOptions(GoogleAdsCustomReportOptions customReportOptions) {
+ this.customReportOptions = customReportOptions;
+ return this;
+ }
+
+ public GoogleAdsCustomReportOptions getCustomReportOptions() {
+ return customReportOptions;
+ }
+
public GoogleAdsOptions setLookbackWindowDays(Long lookbackWindowDays) {
this.lookbackWindowDays = lookbackWindowDays;
return this;
@@ -68,19 +86,21 @@ public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
GoogleAdsOptions that = (GoogleAdsOptions) o;
- return Objects.equals(lookbackWindowDays, that.lookbackWindowDays)
+ return Objects.equals(customReportOptions, that.customReportOptions)
+ && Objects.equals(lookbackWindowDays, that.lookbackWindowDays)
&& Objects.equals(managerAccountId, that.managerAccountId)
&& Objects.equals(syncStartDate, that.syncStartDate);
}
@Override
public int hashCode() {
- return Objects.hash(lookbackWindowDays, managerAccountId, syncStartDate);
+ return Objects.hash(customReportOptions, lookbackWindowDays, managerAccountId, syncStartDate);
}
@Override
public String toString() {
return new ToStringer(GoogleAdsOptions.class)
+ .add("customReportOptions", customReportOptions)
.add("lookbackWindowDays", lookbackWindowDays)
.add("managerAccountId", managerAccountId)
.add("syncStartDate", syncStartDate)
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/MetaMarketingOptions.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/MetaMarketingOptions.java
index 769ea3c8a..686c14201 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/MetaMarketingOptions.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/MetaMarketingOptions.java
@@ -40,6 +40,14 @@ public class MetaMarketingOptions {
@JsonProperty("custom_insights_lookback_window")
private Long customInsightsLookbackWindow;
+ /**
+ * (Optional) Per-table custom report definition. When set, defines the shape of the insights call
+ * for this table (level/fields/breakdowns/action_breakdowns/etc.). Supersedes the deprecated flat
+ * report-shape fields above.
+ */
+ @JsonProperty("custom_report_options")
+ private MetaMarketingOptionsMetaMarketingCustomReportOptions customReportOptions;
+
/**
* (Optional, DEPRECATED — use custom_report_options.level) Granularity of data to pull (account,
* ad, adset, campaign)
@@ -107,6 +115,16 @@ public Long getCustomInsightsLookbackWindow() {
return customInsightsLookbackWindow;
}
+ public MetaMarketingOptions setCustomReportOptions(
+ MetaMarketingOptionsMetaMarketingCustomReportOptions customReportOptions) {
+ this.customReportOptions = customReportOptions;
+ return this;
+ }
+
+ public MetaMarketingOptionsMetaMarketingCustomReportOptions getCustomReportOptions() {
+ return customReportOptions;
+ }
+
public MetaMarketingOptions setLevel(String level) {
this.level = level;
return this;
@@ -144,6 +162,7 @@ public boolean equals(Object o) {
&& Objects.equals(actionReportTime, that.actionReportTime)
&& Objects.equals(breakdowns, that.breakdowns)
&& Objects.equals(customInsightsLookbackWindow, that.customInsightsLookbackWindow)
+ && Objects.equals(customReportOptions, that.customReportOptions)
&& Objects.equals(level, that.level)
&& Objects.equals(startDate, that.startDate)
&& Objects.equals(timeIncrement, that.timeIncrement);
@@ -157,6 +176,7 @@ public int hashCode() {
actionReportTime,
breakdowns,
customInsightsLookbackWindow,
+ customReportOptions,
level,
startDate,
timeIncrement);
@@ -170,6 +190,7 @@ public String toString() {
.add("actionReportTime", actionReportTime)
.add("breakdowns", breakdowns)
.add("customInsightsLookbackWindow", customInsightsLookbackWindow)
+ .add("customReportOptions", customReportOptions)
.add("level", level)
.add("startDate", startDate)
.add("timeIncrement", timeIncrement)
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/MetaMarketingOptionsMetaMarketingCustomReportOptions.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/MetaMarketingOptionsMetaMarketingCustomReportOptions.java
new file mode 100644
index 000000000..043aad45b
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/MetaMarketingOptionsMetaMarketingCustomReportOptions.java
@@ -0,0 +1,142 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.pipelines;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Collection;
+import java.util.Objects;
+
+/**
+ * Defines the shape of a single Meta Ads custom report (one /insights call shape). start_date,
+ * custom_insights_lookback_window live on MetaMarketingOptions, not here. Metrics are not
+ * customer-selectable; the connector returns a fixed standard metric set.
+ */
+@Generated
+public class MetaMarketingOptionsMetaMarketingCustomReportOptions {
+ /** (Optional) Action attribution windows for insights reporting (e.g. "28d_click", "1d_view") */
+ @JsonProperty("action_attribution_windows")
+ private Collection actionAttributionWindows;
+
+ /** (Optional) Action breakdowns to configure for data aggregation */
+ @JsonProperty("action_breakdowns")
+ private Collection actionBreakdowns;
+
+ /**
+ * (Optional) Timing used to report action statistics (impression, conversion, mixed, or lifetime)
+ */
+ @JsonProperty("action_report_time")
+ private String actionReportTime;
+
+ /** (Optional) Breakdowns to configure for data aggregation */
+ @JsonProperty("breakdowns")
+ private Collection breakdowns;
+
+ /** (Optional) Granularity of data to pull (account, ad, adset, campaign) */
+ @JsonProperty("level")
+ private String level;
+
+ /**
+ * (Optional) Value in string by which to aggregate statistics (all_days, monthly or number of
+ * days)
+ */
+ @JsonProperty("time_increment")
+ private String timeIncrement;
+
+ public MetaMarketingOptionsMetaMarketingCustomReportOptions setActionAttributionWindows(
+ Collection actionAttributionWindows) {
+ this.actionAttributionWindows = actionAttributionWindows;
+ return this;
+ }
+
+ public Collection getActionAttributionWindows() {
+ return actionAttributionWindows;
+ }
+
+ public MetaMarketingOptionsMetaMarketingCustomReportOptions setActionBreakdowns(
+ Collection actionBreakdowns) {
+ this.actionBreakdowns = actionBreakdowns;
+ return this;
+ }
+
+ public Collection getActionBreakdowns() {
+ return actionBreakdowns;
+ }
+
+ public MetaMarketingOptionsMetaMarketingCustomReportOptions setActionReportTime(
+ String actionReportTime) {
+ this.actionReportTime = actionReportTime;
+ return this;
+ }
+
+ public String getActionReportTime() {
+ return actionReportTime;
+ }
+
+ public MetaMarketingOptionsMetaMarketingCustomReportOptions setBreakdowns(
+ Collection breakdowns) {
+ this.breakdowns = breakdowns;
+ return this;
+ }
+
+ public Collection getBreakdowns() {
+ return breakdowns;
+ }
+
+ public MetaMarketingOptionsMetaMarketingCustomReportOptions setLevel(String level) {
+ this.level = level;
+ return this;
+ }
+
+ public String getLevel() {
+ return level;
+ }
+
+ public MetaMarketingOptionsMetaMarketingCustomReportOptions setTimeIncrement(
+ String timeIncrement) {
+ this.timeIncrement = timeIncrement;
+ return this;
+ }
+
+ public String getTimeIncrement() {
+ return timeIncrement;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ MetaMarketingOptionsMetaMarketingCustomReportOptions that =
+ (MetaMarketingOptionsMetaMarketingCustomReportOptions) o;
+ return Objects.equals(actionAttributionWindows, that.actionAttributionWindows)
+ && Objects.equals(actionBreakdowns, that.actionBreakdowns)
+ && Objects.equals(actionReportTime, that.actionReportTime)
+ && Objects.equals(breakdowns, that.breakdowns)
+ && Objects.equals(level, that.level)
+ && Objects.equals(timeIncrement, that.timeIncrement);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ actionAttributionWindows,
+ actionBreakdowns,
+ actionReportTime,
+ breakdowns,
+ level,
+ timeIncrement);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(MetaMarketingOptionsMetaMarketingCustomReportOptions.class)
+ .add("actionAttributionWindows", actionAttributionWindows)
+ .add("actionBreakdowns", actionBreakdowns)
+ .add("actionReportTime", actionReportTime)
+ .add("breakdowns", breakdowns)
+ .add("level", level)
+ .add("timeIncrement", timeIncrement)
+ .toString();
+ }
+}
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/TikTokAdsOptions.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/TikTokAdsOptions.java
index ba9ca3af3..313a1f7fe 100644
--- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/TikTokAdsOptions.java
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/TikTokAdsOptions.java
@@ -11,6 +11,15 @@
/** TikTok Ads specific options for ingestion */
@Generated
public class TikTokAdsOptions {
+ /**
+ * (Optional) Custom report definition. When set, the table is treated as a user-defined TikTok
+ * Ads custom report: the connector synthesizes a report request from the dimensions, metrics,
+ * report type, and data level specified here. Supersedes the deprecated top-level
+ * dimensions/metrics/report_type/ data_level/query_lifetime fields above.
+ */
+ @JsonProperty("custom_report_options")
+ private TikTokAdsOptionsTikTokAdsCustomReportOptions customReportOptions;
+
/** Deprecated. Use custom_report_options.data_level instead. */
@JsonProperty("data_level")
private TikTokAdsOptionsTikTokDataLevel dataLevel;
@@ -45,6 +54,16 @@ public class TikTokAdsOptions {
@JsonProperty("sync_start_date")
private String syncStartDate;
+ public TikTokAdsOptions setCustomReportOptions(
+ TikTokAdsOptionsTikTokAdsCustomReportOptions customReportOptions) {
+ this.customReportOptions = customReportOptions;
+ return this;
+ }
+
+ public TikTokAdsOptionsTikTokAdsCustomReportOptions getCustomReportOptions() {
+ return customReportOptions;
+ }
+
public TikTokAdsOptions setDataLevel(TikTokAdsOptionsTikTokDataLevel dataLevel) {
this.dataLevel = dataLevel;
return this;
@@ -113,7 +132,8 @@ public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
TikTokAdsOptions that = (TikTokAdsOptions) o;
- return Objects.equals(dataLevel, that.dataLevel)
+ return Objects.equals(customReportOptions, that.customReportOptions)
+ && Objects.equals(dataLevel, that.dataLevel)
&& Objects.equals(dimensions, that.dimensions)
&& Objects.equals(lookbackWindowDays, that.lookbackWindowDays)
&& Objects.equals(metrics, that.metrics)
@@ -125,6 +145,7 @@ public boolean equals(Object o) {
@Override
public int hashCode() {
return Objects.hash(
+ customReportOptions,
dataLevel,
dimensions,
lookbackWindowDays,
@@ -137,6 +158,7 @@ public int hashCode() {
@Override
public String toString() {
return new ToStringer(TikTokAdsOptions.class)
+ .add("customReportOptions", customReportOptions)
.add("dataLevel", dataLevel)
.add("dimensions", dimensions)
.add("lookbackWindowDays", lookbackWindowDays)
diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/TikTokAdsOptionsTikTokAdsCustomReportOptions.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/TikTokAdsOptionsTikTokAdsCustomReportOptions.java
new file mode 100644
index 000000000..ce9d6ae93
--- /dev/null
+++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/TikTokAdsOptionsTikTokAdsCustomReportOptions.java
@@ -0,0 +1,121 @@
+// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
+
+package com.databricks.sdk.service.pipelines;
+
+import com.databricks.sdk.support.Generated;
+import com.databricks.sdk.support.ToStringer;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Collection;
+import java.util.Objects;
+
+/**
+ * User-defined custom report for the TikTok Ads connector. Groups the dimensions + metrics + report
+ * type + data level that define a TikTok Ads custom report request.
+ */
+@Generated
+public class TikTokAdsOptionsTikTokAdsCustomReportOptions {
+ /** (Optional) Data level for the report. If not specified, defaults to AUCTION_CAMPAIGN. */
+ @JsonProperty("data_level")
+ private TikTokAdsOptionsTikTokDataLevel dataLevel;
+
+ /**
+ * (Optional) Dimensions to include in the report (e.g. "campaign_id", "adgroup_id", "ad_id",
+ * "stat_time_day", "stat_time_hour").
+ */
+ @JsonProperty("dimensions")
+ private Collection dimensions;
+
+ /**
+ * (Optional) Metrics to include in the report (e.g. "spend", "impressions", "clicks",
+ * "conversion", "cpc").
+ */
+ @JsonProperty("metrics")
+ private Collection metrics;
+
+ /**
+ * (Optional) Whether to request lifetime metrics (all-time aggregated data). When true, the
+ * report returns all-time data. If not specified, defaults to false.
+ */
+ @JsonProperty("query_lifetime")
+ private Boolean queryLifetime;
+
+ /** (Optional) Report type for the TikTok Ads API. If not specified, defaults to BASIC. */
+ @JsonProperty("report_type")
+ private TikTokAdsOptionsTikTokReportType reportType;
+
+ public TikTokAdsOptionsTikTokAdsCustomReportOptions setDataLevel(
+ TikTokAdsOptionsTikTokDataLevel dataLevel) {
+ this.dataLevel = dataLevel;
+ return this;
+ }
+
+ public TikTokAdsOptionsTikTokDataLevel getDataLevel() {
+ return dataLevel;
+ }
+
+ public TikTokAdsOptionsTikTokAdsCustomReportOptions setDimensions(Collection dimensions) {
+ this.dimensions = dimensions;
+ return this;
+ }
+
+ public Collection getDimensions() {
+ return dimensions;
+ }
+
+ public TikTokAdsOptionsTikTokAdsCustomReportOptions setMetrics(Collection metrics) {
+ this.metrics = metrics;
+ return this;
+ }
+
+ public Collection getMetrics() {
+ return metrics;
+ }
+
+ public TikTokAdsOptionsTikTokAdsCustomReportOptions setQueryLifetime(Boolean queryLifetime) {
+ this.queryLifetime = queryLifetime;
+ return this;
+ }
+
+ public Boolean getQueryLifetime() {
+ return queryLifetime;
+ }
+
+ public TikTokAdsOptionsTikTokAdsCustomReportOptions setReportType(
+ TikTokAdsOptionsTikTokReportType reportType) {
+ this.reportType = reportType;
+ return this;
+ }
+
+ public TikTokAdsOptionsTikTokReportType getReportType() {
+ return reportType;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ TikTokAdsOptionsTikTokAdsCustomReportOptions that =
+ (TikTokAdsOptionsTikTokAdsCustomReportOptions) o;
+ return Objects.equals(dataLevel, that.dataLevel)
+ && Objects.equals(dimensions, that.dimensions)
+ && Objects.equals(metrics, that.metrics)
+ && Objects.equals(queryLifetime, that.queryLifetime)
+ && Objects.equals(reportType, that.reportType);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(dataLevel, dimensions, metrics, queryLifetime, reportType);
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringer(TikTokAdsOptionsTikTokAdsCustomReportOptions.class)
+ .add("dataLevel", dataLevel)
+ .add("dimensions", dimensions)
+ .add("metrics", metrics)
+ .add("queryLifetime", queryLifetime)
+ .add("reportType", reportType)
+ .toString();
+ }
+}
diff --git a/tagging.py b/tagging.py
index 0c8cd5822..1affb11f3 100644
--- a/tagging.py
+++ b/tagging.py
@@ -10,7 +10,7 @@
import subprocess
import time
import json
-from github import Github, Repository, InputGitTreeElement, InputGitAuthor
+from github import Auth, Github, Repository, InputGitTreeElement, InputGitAuthor
from datetime import datetime, timezone
NEXT_CHANGELOG_FILE_NAME = "NEXT_CHANGELOG.md"
@@ -983,7 +983,7 @@ def get_packages_from_args() -> List[str]:
def init_github():
token = os.environ["GITHUB_TOKEN"]
repo_name = os.environ["GITHUB_REPOSITORY"]
- g = Github(token)
+ g = Github(auth=Auth.Token(token))
repo = g.get_repo(repo_name)
global gh
gh = GitHubRepo(repo)