diff --git a/.codegen/_openapi_sha b/.codegen/_openapi_sha index 5c8025e2a..eed3c8e0d 100644 --- a/.codegen/_openapi_sha +++ b/.codegen/_openapi_sha @@ -1 +1 @@ -427378555325cdca37d6fcf082a186d70e0dd45f \ No newline at end of file +d82f531319f8217ca03dd34c2bc15f51ba6ada0c \ No newline at end of file diff --git a/.gitattributes b/.gitattributes index 9c1b71ec2..eefcde7dc 100644 --- a/.gitattributes +++ b/.gitattributes @@ -2611,6 +2611,11 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/Ingestion databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/JiraConnectorOptions.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/JsonTransformerOptions.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/KafkaOptions.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/LinkedInAdsOptions.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/LinkedInAdsOptionsLinkedInAdsCustomReportOptions.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsEntityGranularity.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsFinder.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsTimeGranularity.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/ListPipelineEventsRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/ListPipelineEventsResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/ListPipelinesRequest.java linguist-generated=true @@ -2618,6 +2623,7 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/ListPipel databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/ListUpdatesRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/ListUpdatesResponse.java linguist-generated=true 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/MarketoOptions.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 diff --git a/NEXT_CHANGELOG.md b/NEXT_CHANGELOG.md index b6883369f..238c3b221 100644 --- a/NEXT_CHANGELOG.md +++ b/NEXT_CHANGELOG.md @@ -27,4 +27,5 @@ * Add `PG_SPECIFIC_TYPE_HALFVEC` and `PG_SPECIFIC_TYPE_VARCHAR` enum values for `com.databricks.sdk.service.database.SyncedTableSpecPgSpecificType`. * Add `PG_SPECIFIC_TYPE_HALFVEC` and `PG_SPECIFIC_TYPE_VARCHAR` enum values for `com.databricks.sdk.service.postgres.SyncedTableSyncedTableSpecPgSpecificType`. * [Breaking] Add pagination for `accountClient.accountIamV2().listWorkspaceAssignments()` method. -* [Breaking] Add pagination for `workspaceClient.workspaceIamV2().listWorkspaceAssignmentsProxy()` method. \ No newline at end of file +* [Breaking] Add pagination for `workspaceClient.workspaceIamV2().listWorkspaceAssignmentsProxy()` method. +* Add `linkedinAdsOptions` and `marketoOptions` fields for `com.databricks.sdk.service.pipelines.ConnectorOptions`. \ No newline at end of file diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/ConnectorOptions.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/ConnectorOptions.java index d3af5d266..48b4cffde 100644 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/ConnectorOptions.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/ConnectorOptions.java @@ -34,6 +34,14 @@ public class ConnectorOptions { @JsonProperty("kafka_options") private KafkaOptions kafkaOptions; + /** */ + @JsonProperty("linkedin_ads_options") + private LinkedInAdsOptions linkedinAdsOptions; + + /** */ + @JsonProperty("marketo_options") + private MarketoOptions marketoOptions; + /** */ @JsonProperty("meta_ads_options") private MetaMarketingOptions metaAdsOptions; @@ -117,6 +125,24 @@ public KafkaOptions getKafkaOptions() { return kafkaOptions; } + public ConnectorOptions setLinkedinAdsOptions(LinkedInAdsOptions linkedinAdsOptions) { + this.linkedinAdsOptions = linkedinAdsOptions; + return this; + } + + public LinkedInAdsOptions getLinkedinAdsOptions() { + return linkedinAdsOptions; + } + + public ConnectorOptions setMarketoOptions(MarketoOptions marketoOptions) { + this.marketoOptions = marketoOptions; + return this; + } + + public MarketoOptions getMarketoOptions() { + return marketoOptions; + } + public ConnectorOptions setMetaAdsOptions(MetaMarketingOptions metaAdsOptions) { this.metaAdsOptions = metaAdsOptions; return this; @@ -191,6 +217,8 @@ public boolean equals(Object o) { && Objects.equals(googleAdsOptions, that.googleAdsOptions) && Objects.equals(jiraOptions, that.jiraOptions) && Objects.equals(kafkaOptions, that.kafkaOptions) + && Objects.equals(linkedinAdsOptions, that.linkedinAdsOptions) + && Objects.equals(marketoOptions, that.marketoOptions) && Objects.equals(metaAdsOptions, that.metaAdsOptions) && Objects.equals(outlookOptions, that.outlookOptions) && Objects.equals(redditAdsOptions, that.redditAdsOptions) @@ -209,6 +237,8 @@ public int hashCode() { googleAdsOptions, jiraOptions, kafkaOptions, + linkedinAdsOptions, + marketoOptions, metaAdsOptions, outlookOptions, redditAdsOptions, @@ -227,6 +257,8 @@ public String toString() { .add("googleAdsOptions", googleAdsOptions) .add("jiraOptions", jiraOptions) .add("kafkaOptions", kafkaOptions) + .add("linkedinAdsOptions", linkedinAdsOptions) + .add("marketoOptions", marketoOptions) .add("metaAdsOptions", metaAdsOptions) .add("outlookOptions", outlookOptions) .add("redditAdsOptions", redditAdsOptions) diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/LinkedInAdsOptions.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/LinkedInAdsOptions.java new file mode 100644 index 000000000..fd3270a36 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/LinkedInAdsOptions.java @@ -0,0 +1,92 @@ +// 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.Objects; + +/** + * LinkedIn Ads specific options for ingestion. sync_start_date and lookback_window_days apply to + * both the prebuilt analytics tables and custom reports. custom_report_options defines a custom + * (user-defined) adAnalytics report and is only valid on a table object. + */ +@Generated +public class LinkedInAdsOptions { + /** + * (Optional) Custom report definition. Only valid on a table object. When set, the table is + * synthesized from /rest/adAnalytics using the finder, pivots, time granularity and metrics here. + * When unset, the table must match one of the connector's prebuilt sources. + */ + @JsonProperty("custom_report_options") + private LinkedInAdsOptionsLinkedInAdsCustomReportOptions customReportOptions; + + /** + * (Optional) Days to look back during incremental sync for late-arriving data. If not specified, + * defaults to 30 days. + */ + @JsonProperty("lookback_window_days") + private Long lookbackWindowDays; + + /** + * (Optional) Start date for the initial sync of report tables, YYYY-MM-DD. Earliest date from + * which to sync historical data; overrides the default when set. For finder + * attributedRevenueMetrics, this must be between 30 and 366 days before today. If not specified, + * defaults to 1 year of history. + */ + @JsonProperty("sync_start_date") + private String syncStartDate; + + public LinkedInAdsOptions setCustomReportOptions( + LinkedInAdsOptionsLinkedInAdsCustomReportOptions customReportOptions) { + this.customReportOptions = customReportOptions; + return this; + } + + public LinkedInAdsOptionsLinkedInAdsCustomReportOptions getCustomReportOptions() { + return customReportOptions; + } + + public LinkedInAdsOptions setLookbackWindowDays(Long lookbackWindowDays) { + this.lookbackWindowDays = lookbackWindowDays; + return this; + } + + public Long getLookbackWindowDays() { + return lookbackWindowDays; + } + + public LinkedInAdsOptions setSyncStartDate(String syncStartDate) { + this.syncStartDate = syncStartDate; + return this; + } + + public String getSyncStartDate() { + return syncStartDate; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + LinkedInAdsOptions that = (LinkedInAdsOptions) o; + return Objects.equals(customReportOptions, that.customReportOptions) + && Objects.equals(lookbackWindowDays, that.lookbackWindowDays) + && Objects.equals(syncStartDate, that.syncStartDate); + } + + @Override + public int hashCode() { + return Objects.hash(customReportOptions, lookbackWindowDays, syncStartDate); + } + + @Override + public String toString() { + return new ToStringer(LinkedInAdsOptions.class) + .add("customReportOptions", customReportOptions) + .add("lookbackWindowDays", lookbackWindowDays) + .add("syncStartDate", syncStartDate) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/LinkedInAdsOptionsLinkedInAdsCustomReportOptions.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/LinkedInAdsOptionsLinkedInAdsCustomReportOptions.java new file mode 100644 index 000000000..5b390b752 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/LinkedInAdsOptionsLinkedInAdsCustomReportOptions.java @@ -0,0 +1,114 @@ +// 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 LinkedIn Ads connector. The destination table name comes from + * the enclosing TableSpec.destination_table, the start date from the enclosing + * LinkedInAdsOptions.sync_start_date, and the account it runs against from the source schema + * (namespace) -- none are repeated here. + */ +@Generated +public class LinkedInAdsOptionsLinkedInAdsCustomReportOptions { + /** (Required) Entity pivots to group by; count/constraints depend on finder. */ + @JsonProperty("entity_granularity") + private Collection + entityGranularity; + + /** (Required) adAnalytics finder. See LinkedInAdsFinder. */ + @JsonProperty("finder") + private LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsFinder finder; + + /** + * (Optional) LinkedIn metric names for the report. Open vocabulary (not an enum): the valid set + * is large (~100) and evolves with the LinkedIn adAnalytics API, so values are passed through + * verbatim. If empty, a pivot-safe default core set is ingested: impressions, clicks, + * costInLocalCurrency, externalWebsiteConversions (valid for every pivot). Ignored for + * attributedRevenueMetrics (always returns the full RevenueAttributionMetrics struct). + */ + @JsonProperty("metrics") + private Collection metrics; + + /** + * (Optional) Time aggregation. Defaults to DAILY when unspecified. Used by analytics/statistics; + * ignored for attributedRevenueMetrics. + */ + @JsonProperty("time_granularity") + private LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsTimeGranularity + timeGranularity; + + public LinkedInAdsOptionsLinkedInAdsCustomReportOptions setEntityGranularity( + Collection + entityGranularity) { + this.entityGranularity = entityGranularity; + return this; + } + + public Collection + getEntityGranularity() { + return entityGranularity; + } + + public LinkedInAdsOptionsLinkedInAdsCustomReportOptions setFinder( + LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsFinder finder) { + this.finder = finder; + return this; + } + + public LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsFinder getFinder() { + return finder; + } + + public LinkedInAdsOptionsLinkedInAdsCustomReportOptions setMetrics(Collection metrics) { + this.metrics = metrics; + return this; + } + + public Collection getMetrics() { + return metrics; + } + + public LinkedInAdsOptionsLinkedInAdsCustomReportOptions setTimeGranularity( + LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsTimeGranularity timeGranularity) { + this.timeGranularity = timeGranularity; + return this; + } + + public LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsTimeGranularity + getTimeGranularity() { + return timeGranularity; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + LinkedInAdsOptionsLinkedInAdsCustomReportOptions that = + (LinkedInAdsOptionsLinkedInAdsCustomReportOptions) o; + return Objects.equals(entityGranularity, that.entityGranularity) + && Objects.equals(finder, that.finder) + && Objects.equals(metrics, that.metrics) + && Objects.equals(timeGranularity, that.timeGranularity); + } + + @Override + public int hashCode() { + return Objects.hash(entityGranularity, finder, metrics, timeGranularity); + } + + @Override + public String toString() { + return new ToStringer(LinkedInAdsOptionsLinkedInAdsCustomReportOptions.class) + .add("entityGranularity", entityGranularity) + .add("finder", finder) + .add("metrics", metrics) + .add("timeGranularity", timeGranularity) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsEntityGranularity.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsEntityGranularity.java new file mode 100644 index 000000000..c6a4d47e3 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsEntityGranularity.java @@ -0,0 +1,13 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.pipelines; + +import com.databricks.sdk.support.Generated; + +/** Entity pivot to group by. */ +@Generated +public enum LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsEntityGranularity { + CAMPAIGN, + CAMPAIGN_GROUP, + CREATIVE, +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsFinder.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsFinder.java new file mode 100644 index 000000000..e7d2cdf17 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsFinder.java @@ -0,0 +1,13 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.pipelines; + +import com.databricks.sdk.support.Generated; + +/** adAnalytics finder. Determines call shape, valid pivots, and metric requirements. */ +@Generated +public enum LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsFinder { + ANALYTICS, + ATTRIBUTED_REVENUE_METRICS, + STATISTICS, +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsTimeGranularity.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsTimeGranularity.java new file mode 100644 index 000000000..66652af48 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsTimeGranularity.java @@ -0,0 +1,17 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.pipelines; + +import com.databricks.sdk.support.Generated; + +/** + * Time aggregation. Used by analytics/statistics; ignored for attributedRevenueMetrics. Defaults to + * DAILY when unspecified. + */ +@Generated +public enum LinkedInAdsOptionsLinkedInAdsCustomReportOptionsLinkedInAdsTimeGranularity { + ALL, + DAILY, + MONTHLY, + YEARLY, +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/MarketoOptions.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/MarketoOptions.java new file mode 100644 index 000000000..37d948ff9 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/MarketoOptions.java @@ -0,0 +1,46 @@ +// 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.Objects; + +/** Marketo specific options for ingestion */ +@Generated +public class MarketoOptions { + /** + * (Optional) Start date for the initial sync in YYYY-MM-DD format. This determines the earliest + * date from which to sync historical data. If not specified, complete history is ingested. + */ + @JsonProperty("sync_start_date") + private String syncStartDate; + + public MarketoOptions setSyncStartDate(String syncStartDate) { + this.syncStartDate = syncStartDate; + return this; + } + + public String getSyncStartDate() { + return syncStartDate; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + MarketoOptions that = (MarketoOptions) o; + return Objects.equals(syncStartDate, that.syncStartDate); + } + + @Override + public int hashCode() { + return Objects.hash(syncStartDate); + } + + @Override + public String toString() { + return new ToStringer(MarketoOptions.class).add("syncStartDate", syncStartDate).toString(); + } +}