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)