diff --git a/.codegen/_openapi_sha b/.codegen/_openapi_sha index 1a48101bf..9570efc0d 100755 --- a/.codegen/_openapi_sha +++ b/.codegen/_openapi_sha @@ -1 +1 @@ -b2acebf0af39a39d83fdac76ae48d761001e7052 \ No newline at end of file +c69895250f08e4a16f4dfc7228c9773a715e0a62 \ No newline at end of file diff --git a/.gitattributes b/.gitattributes index 0222a7691..f97083c3c 100755 --- a/.gitattributes +++ b/.gitattributes @@ -2278,6 +2278,7 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/ListUpdat 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/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/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 @@ -3413,25 +3414,42 @@ databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/Widget.java lin databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/WidgetOptions.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/sql/WidgetPosition.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/App.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/CreateExampleRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/CreateSupervisorAgentRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/CreateToolRequest.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/DeleteExampleRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/DeleteSupervisorAgentRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/DeleteToolRequest.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/Example.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/GenieSpace.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/GetExampleRequest.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/GetSupervisorAgentPermissionLevelsRequest.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/GetSupervisorAgentPermissionLevelsResponse.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/GetSupervisorAgentPermissionsRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/GetSupervisorAgentRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/GetToolRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/KnowledgeAssistant.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/ListExamplesRequest.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/ListExamplesResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/ListSupervisorAgentsRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/ListSupervisorAgentsResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/ListToolsRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/ListToolsResponse.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgent.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentAccessControlRequest.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentAccessControlResponse.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentPermission.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentPermissionLevel.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentPermissions.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentPermissionsDescription.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentPermissionsRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentsAPI.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentsImpl.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentsService.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/Tool.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/UcConnection.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/UcFunction.java linguist-generated=true +databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/UpdateExampleRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/UpdateSupervisorAgentRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/UpdateToolRequest.java linguist-generated=true databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/Volume.java linguist-generated=true diff --git a/NEXT_CHANGELOG.md b/NEXT_CHANGELOG.md old mode 100644 new mode 100755 index 5c389f387..a7541c8d7 --- a/NEXT_CHANGELOG.md +++ b/NEXT_CHANGELOG.md @@ -15,3 +15,11 @@ ### Internal Changes ### API Changes +* Add `createExample()`, `deleteExample()`, `getExample()`, `getPermissionLevels()`, `getPermissions()`, `listExamples()`, `setPermissions()`, `updateExample()` and `updatePermissions()` methods for `workspaceClient.supervisorAgents()` service. +* Add `metaAdsOptions` field for `com.databricks.sdk.service.pipelines.ConnectorOptions`. +* Add `META_MARKETING` enum value for `com.databricks.sdk.service.catalog.ConnectionType`. +* Add `META_MARKETING` enum value for `com.databricks.sdk.service.pipelines.IngestionSourceType`. +* Change `guidelines` field for `com.databricks.sdk.service.knowledgeassistants.Example` to no longer be required. +* [Breaking] Change `guidelines` field for `com.databricks.sdk.service.knowledgeassistants.Example` to no longer be required. +* Change `description` field for `com.databricks.sdk.service.supervisoragents.Tool` to no longer be required. +* [Breaking] Change `description` field for `com.databricks.sdk.service.supervisoragents.Tool` to no longer be required. \ No newline at end of file diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ConnectionType.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ConnectionType.java index 26403c513..4349885a9 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ConnectionType.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/ConnectionType.java @@ -14,6 +14,7 @@ public enum ConnectionType { GLUE, HIVE_METASTORE, HTTP, + META_MARKETING, MYSQL, ORACLE, POSTGRESQL, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/SecurableKind.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/SecurableKind.java index bc50209ce..f45cd51d6 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/SecurableKind.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/catalog/SecurableKind.java @@ -4,7 +4,7 @@ import com.databricks.sdk.support.Generated; -/** Latest kind: CONNECTION_SLACK_ACCESS_AND_INTEGRATION_LOGS_OAUTH_U2M = 319; Next id: 320 */ +/** Latest kind: CONNECTION_RABBITMQ = 326; Next id: 327 */ @Generated public enum SecurableKind { TABLE_DB_STORAGE, diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dataclassification/AutoTaggingConfig.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dataclassification/AutoTaggingConfig.java index f6f795f4d..f504b188a 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dataclassification/AutoTaggingConfig.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/dataclassification/AutoTaggingConfig.java @@ -17,7 +17,10 @@ public class AutoTaggingConfig { @JsonProperty("auto_tagging_mode") private AutoTaggingConfigAutoTaggingMode autoTaggingMode; - /** The Classification Tag (e.g., "class.name", "class.location") */ + /** + * The Classification Tag. For built-in classes this is a system tag (e.g., "class.name", + * "class.location"); for custom classes it is a user-defined governance tag key. + */ @JsonProperty("classification_tag") private String classificationTag; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/GetPermissionLevelsRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/GetPermissionLevelsRequest.java index 4980b2e1f..a58d213e4 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/GetPermissionLevelsRequest.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/GetPermissionLevelsRequest.java @@ -16,7 +16,8 @@ public class GetPermissionLevelsRequest { * The type of the request object. Can be one of the following: alerts, alertsv2, authorization, * clusters, cluster-policies, dashboards, database-projects, dbsql-dashboards, directories, * experiments, files, genie, instance-pools, jobs, knowledge-assistants, notebooks, pipelines, - * queries, registered-models, repos, serving-endpoints, or warehouses. + * queries, registered-models, repos, serving-endpoints, supervisor-agents, + * vector-search-endpoints, or warehouses. */ @JsonIgnore private String requestObjectType; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/GetPermissionRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/GetPermissionRequest.java index 85383b5bc..efdb44f52 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/GetPermissionRequest.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/GetPermissionRequest.java @@ -16,7 +16,8 @@ public class GetPermissionRequest { * The type of the request object. Can be one of the following: alerts, alertsv2, authorization, * clusters, cluster-policies, dashboards, database-projects, dbsql-dashboards, directories, * experiments, files, genie, instance-pools, jobs, knowledge-assistants, notebooks, pipelines, - * queries, registered-models, repos, serving-endpoints, or warehouses. + * queries, registered-models, repos, serving-endpoints, supervisor-agents, + * vector-search-endpoints, or warehouses. */ @JsonIgnore private String requestObjectType; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/SetObjectPermissions.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/SetObjectPermissions.java index a7bb4584b..c5e2c687b 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/SetObjectPermissions.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/SetObjectPermissions.java @@ -22,7 +22,8 @@ public class SetObjectPermissions { * The type of the request object. Can be one of the following: alerts, alertsv2, authorization, * clusters, cluster-policies, dashboards, database-projects, dbsql-dashboards, directories, * experiments, files, genie, instance-pools, jobs, knowledge-assistants, notebooks, pipelines, - * queries, registered-models, repos, serving-endpoints, or warehouses. + * queries, registered-models, repos, serving-endpoints, supervisor-agents, + * vector-search-endpoints, or warehouses. */ @JsonIgnore private String requestObjectType; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/UpdateObjectPermissions.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/UpdateObjectPermissions.java index 69897eafc..913884bf7 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/UpdateObjectPermissions.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/iam/UpdateObjectPermissions.java @@ -22,7 +22,8 @@ public class UpdateObjectPermissions { * The type of the request object. Can be one of the following: alerts, alertsv2, authorization, * clusters, cluster-policies, dashboards, database-projects, dbsql-dashboards, directories, * experiments, files, genie, instance-pools, jobs, knowledge-assistants, notebooks, pipelines, - * queries, registered-models, repos, serving-endpoints, or warehouses. + * queries, registered-models, repos, serving-endpoints, supervisor-agents, + * vector-search-endpoints, or warehouses. */ @JsonIgnore private String requestObjectType; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/PipelineParams.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/PipelineParams.java index 9ec53d7e6..ab2683f51 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/PipelineParams.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/PipelineParams.java @@ -9,7 +9,7 @@ @Generated public class PipelineParams { - /** If true, triggers a full refresh on the delta live table. */ + /** If true, triggers a full refresh on the spark declarative pipeline. */ @JsonProperty("full_refresh") private Boolean fullRefresh; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/PipelineTask.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/PipelineTask.java index d7b279dd6..1e8d3a370 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/PipelineTask.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/jobs/PipelineTask.java @@ -9,7 +9,7 @@ @Generated public class PipelineTask { - /** If true, triggers a full refresh on the delta live table. */ + /** If true, triggers a full refresh on the spark declarative pipeline. */ @JsonProperty("full_refresh") private Boolean fullRefresh; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/knowledgeassistants/Example.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/knowledgeassistants/Example.java index 0986220dc..0ef16ebdb 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/knowledgeassistants/Example.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/knowledgeassistants/Example.java @@ -23,7 +23,10 @@ public class Example { @JsonProperty("example_id") private String exampleId; - /** Guidelines for answering the question. */ + /** + * Guidelines for answering the question. Optional — examples may be created with just a question; + * the front-end form does not require guidelines. + */ @JsonProperty("guidelines") private Collection guidelines; 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 821257e62..e2d777fc7 100755 --- 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 @@ -26,6 +26,10 @@ public class ConnectorOptions { @JsonProperty("jira_options") private JiraConnectorOptions jiraOptions; + /** */ + @JsonProperty("meta_ads_options") + private MetaMarketingOptions metaAdsOptions; + /** */ @JsonProperty("outlook_options") private OutlookOptions outlookOptions; @@ -78,6 +82,15 @@ public JiraConnectorOptions getJiraOptions() { return jiraOptions; } + public ConnectorOptions setMetaAdsOptions(MetaMarketingOptions metaAdsOptions) { + this.metaAdsOptions = metaAdsOptions; + return this; + } + + public MetaMarketingOptions getMetaAdsOptions() { + return metaAdsOptions; + } + public ConnectorOptions setOutlookOptions(OutlookOptions outlookOptions) { this.outlookOptions = outlookOptions; return this; @@ -123,6 +136,7 @@ public boolean equals(Object o) { && Objects.equals(gdriveOptions, that.gdriveOptions) && Objects.equals(googleAdsOptions, that.googleAdsOptions) && Objects.equals(jiraOptions, that.jiraOptions) + && Objects.equals(metaAdsOptions, that.metaAdsOptions) && Objects.equals(outlookOptions, that.outlookOptions) && Objects.equals(sharepointOptions, that.sharepointOptions) && Objects.equals(smartsheetOptions, that.smartsheetOptions) @@ -136,6 +150,7 @@ public int hashCode() { gdriveOptions, googleAdsOptions, jiraOptions, + metaAdsOptions, outlookOptions, sharepointOptions, smartsheetOptions, @@ -149,6 +164,7 @@ public String toString() { .add("gdriveOptions", gdriveOptions) .add("googleAdsOptions", googleAdsOptions) .add("jiraOptions", jiraOptions) + .add("metaAdsOptions", metaAdsOptions) .add("outlookOptions", outlookOptions) .add("sharepointOptions", sharepointOptions) .add("smartsheetOptions", smartsheetOptions) diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/IngestionSourceType.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/IngestionSourceType.java index 5a615f8e2..7ece8556f 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/IngestionSourceType.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/IngestionSourceType.java @@ -13,6 +13,7 @@ public enum IngestionSourceType { GA4_RAW_DATA, GOOGLE_DRIVE, MANAGED_POSTGRESQL, + META_MARKETING, MYSQL, NETSUITE, ORACLE, 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 new file mode 100755 index 000000000..8bc1591fd --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/pipelines/MetaMarketingOptions.java @@ -0,0 +1,171 @@ +// 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; + +/** Meta Marketing (Meta Ads) specific options for ingestion */ +@Generated +public class MetaMarketingOptions { + /** (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) Window in days to revisit data during sync to capture updated conversion data from + * the API. + */ + @JsonProperty("custom_insights_lookback_window") + private Long customInsightsLookbackWindow; + + /** (Optional) Granularity of data to pull (account, ad, adset, campaign) */ + @JsonProperty("level") + private String level; + + /** + * (Optional) Start date in yyyy-MM-dd format (e.g. 2025-01-15). Data added after this date will + * be ingested + */ + @JsonProperty("start_date") + private String startDate; + + /** + * (Optional) Value in string by which to aggregate statistics (can take all_days, monthly or + * number of days) + */ + @JsonProperty("time_increment") + private String timeIncrement; + + public MetaMarketingOptions setActionAttributionWindows( + Collection actionAttributionWindows) { + this.actionAttributionWindows = actionAttributionWindows; + return this; + } + + public Collection getActionAttributionWindows() { + return actionAttributionWindows; + } + + public MetaMarketingOptions setActionBreakdowns(Collection actionBreakdowns) { + this.actionBreakdowns = actionBreakdowns; + return this; + } + + public Collection getActionBreakdowns() { + return actionBreakdowns; + } + + public MetaMarketingOptions setActionReportTime(String actionReportTime) { + this.actionReportTime = actionReportTime; + return this; + } + + public String getActionReportTime() { + return actionReportTime; + } + + public MetaMarketingOptions setBreakdowns(Collection breakdowns) { + this.breakdowns = breakdowns; + return this; + } + + public Collection getBreakdowns() { + return breakdowns; + } + + public MetaMarketingOptions setCustomInsightsLookbackWindow(Long customInsightsLookbackWindow) { + this.customInsightsLookbackWindow = customInsightsLookbackWindow; + return this; + } + + public Long getCustomInsightsLookbackWindow() { + return customInsightsLookbackWindow; + } + + public MetaMarketingOptions setLevel(String level) { + this.level = level; + return this; + } + + public String getLevel() { + return level; + } + + public MetaMarketingOptions setStartDate(String startDate) { + this.startDate = startDate; + return this; + } + + public String getStartDate() { + return startDate; + } + + public MetaMarketingOptions 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; + MetaMarketingOptions that = (MetaMarketingOptions) o; + return Objects.equals(actionAttributionWindows, that.actionAttributionWindows) + && Objects.equals(actionBreakdowns, that.actionBreakdowns) + && Objects.equals(actionReportTime, that.actionReportTime) + && Objects.equals(breakdowns, that.breakdowns) + && Objects.equals(customInsightsLookbackWindow, that.customInsightsLookbackWindow) + && Objects.equals(level, that.level) + && Objects.equals(startDate, that.startDate) + && Objects.equals(timeIncrement, that.timeIncrement); + } + + @Override + public int hashCode() { + return Objects.hash( + actionAttributionWindows, + actionBreakdowns, + actionReportTime, + breakdowns, + customInsightsLookbackWindow, + level, + startDate, + timeIncrement); + } + + @Override + public String toString() { + return new ToStringer(MetaMarketingOptions.class) + .add("actionAttributionWindows", actionAttributionWindows) + .add("actionBreakdowns", actionBreakdowns) + .add("actionReportTime", actionReportTime) + .add("breakdowns", breakdowns) + .add("customInsightsLookbackWindow", customInsightsLookbackWindow) + .add("level", level) + .add("startDate", startDate) + .add("timeIncrement", timeIncrement) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CredentialsManagerAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CredentialsManagerAPI.java index 1a501cd99..99b052f93 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CredentialsManagerAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CredentialsManagerAPI.java @@ -29,6 +29,15 @@ public CredentialsManagerAPI(CredentialsManagerService mock) { /** * Exchange tokens with an Identity Provider to get a new access token. It allows specifying * scopes to determine token permissions. + * + *

POST /exchange-tokens/token is the documented public form, expressed via `google.api.http` + * below. GET /exchange-tokens/$exchange is a legacy alias used by the Spark driver's OAuth + * refresh path (DBHttpClient#get sends a body via HttpGetWithEntity) and stays on the legacy + * `option (rpc).endpoints` annotation: its path contains a literal `$`, which `google.api.http`'s + * LITERAL grammar does not allow, and `HttpPathParser` does not percent-decode template segments + * (so encoding as `%24exchange` would not match the literal `$exchange` path the Spark driver + * sends). Per-endpoint `visibility: PUBLIC_UNDOCUMENTED` preserves the DECO-7732 intent of + * suppressing the GET alias from the public API spec. */ public ExchangeTokenResponse exchangeToken(ExchangeTokenRequest request) { return impl.exchangeToken(request); diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CredentialsManagerService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CredentialsManagerService.java index 6527ac845..54467b7e9 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CredentialsManagerService.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/settings/CredentialsManagerService.java @@ -16,6 +16,15 @@ public interface CredentialsManagerService { /** * Exchange tokens with an Identity Provider to get a new access token. It allows specifying * scopes to determine token permissions. + * + *

POST /exchange-tokens/token is the documented public form, expressed via `google.api.http` + * below. GET /exchange-tokens/$exchange is a legacy alias used by the Spark driver's OAuth + * refresh path (DBHttpClient#get sends a body via HttpGetWithEntity) and stays on the legacy + * `option (rpc).endpoints` annotation: its path contains a literal `$`, which `google.api.http`'s + * LITERAL grammar does not allow, and `HttpPathParser` does not percent-decode template segments + * (so encoding as `%24exchange` would not match the literal `$exchange` path the Spark driver + * sends). Per-endpoint `visibility: PUBLIC_UNDOCUMENTED` preserves the DECO-7732 intent of + * suppressing the GET alias from the public API spec. */ ExchangeTokenResponse exchangeToken(ExchangeTokenRequest exchangeTokenRequest); } diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/CreateExampleRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/CreateExampleRequest.java new file mode 100755 index 000000000..1ad9714b1 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/CreateExampleRequest.java @@ -0,0 +1,61 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.supervisoragents; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +@Generated +public class CreateExampleRequest { + /** The example to create under the parent Supervisor Agent. */ + @JsonProperty("example") + private Example example; + + /** + * Parent resource where this example will be created. Format: + * supervisor-agents/{supervisor_agent_id} + */ + @JsonIgnore private String parent; + + public CreateExampleRequest setExample(Example example) { + this.example = example; + return this; + } + + public Example getExample() { + return example; + } + + public CreateExampleRequest setParent(String parent) { + this.parent = parent; + return this; + } + + public String getParent() { + return parent; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + CreateExampleRequest that = (CreateExampleRequest) o; + return Objects.equals(example, that.example) && Objects.equals(parent, that.parent); + } + + @Override + public int hashCode() { + return Objects.hash(example, parent); + } + + @Override + public String toString() { + return new ToStringer(CreateExampleRequest.class) + .add("example", example) + .add("parent", parent) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/DeleteExampleRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/DeleteExampleRequest.java new file mode 100755 index 000000000..76b8049aa --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/DeleteExampleRequest.java @@ -0,0 +1,44 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.supervisoragents; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonIgnore; +import java.util.Objects; + +@Generated +public class DeleteExampleRequest { + /** + * The resource name of the example to delete. Format: + * supervisor-agents/{supervisor_agent_id}/examples/{example_id} + */ + @JsonIgnore private String name; + + public DeleteExampleRequest setName(String name) { + this.name = name; + return this; + } + + public String getName() { + return name; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + DeleteExampleRequest that = (DeleteExampleRequest) o; + return Objects.equals(name, that.name); + } + + @Override + public int hashCode() { + return Objects.hash(name); + } + + @Override + public String toString() { + return new ToStringer(DeleteExampleRequest.class).add("name", name).toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/Example.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/Example.java new file mode 100755 index 000000000..a79789df9 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/Example.java @@ -0,0 +1,94 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.supervisoragents; + +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; + +/** + * An example associated with a Supervisor Agent. Contains a question and guidelines for how the + * agent should respond. + */ +@Generated +public class Example { + /** The universally unique identifier (UUID) of the example. */ + @JsonProperty("example_id") + private String exampleId; + + /** Guidelines for answering the question. */ + @JsonProperty("guidelines") + private Collection guidelines; + + /** Full resource name: supervisor-agents/{supervisor_agent_id}/examples/{example_id} */ + @JsonProperty("name") + private String name; + + /** The example question. */ + @JsonProperty("question") + private String question; + + public Example setExampleId(String exampleId) { + this.exampleId = exampleId; + return this; + } + + public String getExampleId() { + return exampleId; + } + + public Example setGuidelines(Collection guidelines) { + this.guidelines = guidelines; + return this; + } + + public Collection getGuidelines() { + return guidelines; + } + + public Example setName(String name) { + this.name = name; + return this; + } + + public String getName() { + return name; + } + + public Example setQuestion(String question) { + this.question = question; + return this; + } + + public String getQuestion() { + return question; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Example that = (Example) o; + return Objects.equals(exampleId, that.exampleId) + && Objects.equals(guidelines, that.guidelines) + && Objects.equals(name, that.name) + && Objects.equals(question, that.question); + } + + @Override + public int hashCode() { + return Objects.hash(exampleId, guidelines, name, question); + } + + @Override + public String toString() { + return new ToStringer(Example.class) + .add("exampleId", exampleId) + .add("guidelines", guidelines) + .add("name", name) + .add("question", question) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/GetExampleRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/GetExampleRequest.java new file mode 100755 index 000000000..d1f99b3ef --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/GetExampleRequest.java @@ -0,0 +1,44 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.supervisoragents; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonIgnore; +import java.util.Objects; + +@Generated +public class GetExampleRequest { + /** + * The resource name of the example. Format: + * supervisor-agents/{supervisor_agent_id}/examples/{example_id} + */ + @JsonIgnore private String name; + + public GetExampleRequest setName(String name) { + this.name = name; + return this; + } + + public String getName() { + return name; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + GetExampleRequest that = (GetExampleRequest) o; + return Objects.equals(name, that.name); + } + + @Override + public int hashCode() { + return Objects.hash(name); + } + + @Override + public String toString() { + return new ToStringer(GetExampleRequest.class).add("name", name).toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/GetSupervisorAgentPermissionLevelsRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/GetSupervisorAgentPermissionLevelsRequest.java new file mode 100755 index 000000000..306a680df --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/GetSupervisorAgentPermissionLevelsRequest.java @@ -0,0 +1,43 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.supervisoragents; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonIgnore; +import java.util.Objects; + +@Generated +public class GetSupervisorAgentPermissionLevelsRequest { + /** The supervisor agent for which to get or manage permissions. */ + @JsonIgnore private String supervisorAgentId; + + public GetSupervisorAgentPermissionLevelsRequest setSupervisorAgentId(String supervisorAgentId) { + this.supervisorAgentId = supervisorAgentId; + return this; + } + + public String getSupervisorAgentId() { + return supervisorAgentId; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + GetSupervisorAgentPermissionLevelsRequest that = (GetSupervisorAgentPermissionLevelsRequest) o; + return Objects.equals(supervisorAgentId, that.supervisorAgentId); + } + + @Override + public int hashCode() { + return Objects.hash(supervisorAgentId); + } + + @Override + public String toString() { + return new ToStringer(GetSupervisorAgentPermissionLevelsRequest.class) + .add("supervisorAgentId", supervisorAgentId) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/GetSupervisorAgentPermissionLevelsResponse.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/GetSupervisorAgentPermissionLevelsResponse.java new file mode 100755 index 000000000..fe683e6c6 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/GetSupervisorAgentPermissionLevelsResponse.java @@ -0,0 +1,47 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.supervisoragents; + +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; + +@Generated +public class GetSupervisorAgentPermissionLevelsResponse { + /** Specific permission levels */ + @JsonProperty("permission_levels") + private Collection permissionLevels; + + public GetSupervisorAgentPermissionLevelsResponse setPermissionLevels( + Collection permissionLevels) { + this.permissionLevels = permissionLevels; + return this; + } + + public Collection getPermissionLevels() { + return permissionLevels; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + GetSupervisorAgentPermissionLevelsResponse that = + (GetSupervisorAgentPermissionLevelsResponse) o; + return Objects.equals(permissionLevels, that.permissionLevels); + } + + @Override + public int hashCode() { + return Objects.hash(permissionLevels); + } + + @Override + public String toString() { + return new ToStringer(GetSupervisorAgentPermissionLevelsResponse.class) + .add("permissionLevels", permissionLevels) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/GetSupervisorAgentPermissionsRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/GetSupervisorAgentPermissionsRequest.java new file mode 100755 index 000000000..a01d0b4fb --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/GetSupervisorAgentPermissionsRequest.java @@ -0,0 +1,43 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.supervisoragents; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonIgnore; +import java.util.Objects; + +@Generated +public class GetSupervisorAgentPermissionsRequest { + /** The supervisor agent for which to get or manage permissions. */ + @JsonIgnore private String supervisorAgentId; + + public GetSupervisorAgentPermissionsRequest setSupervisorAgentId(String supervisorAgentId) { + this.supervisorAgentId = supervisorAgentId; + return this; + } + + public String getSupervisorAgentId() { + return supervisorAgentId; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + GetSupervisorAgentPermissionsRequest that = (GetSupervisorAgentPermissionsRequest) o; + return Objects.equals(supervisorAgentId, that.supervisorAgentId); + } + + @Override + public int hashCode() { + return Objects.hash(supervisorAgentId); + } + + @Override + public String toString() { + return new ToStringer(GetSupervisorAgentPermissionsRequest.class) + .add("supervisorAgentId", supervisorAgentId) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/ListExamplesRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/ListExamplesRequest.java new file mode 100755 index 000000000..a1c4a63ef --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/ListExamplesRequest.java @@ -0,0 +1,82 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.supervisoragents; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.QueryParam; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonIgnore; +import java.util.Objects; + +@Generated +public class ListExamplesRequest { + /** + * The maximum number of examples to return. If unspecified, at most 100 examples will be + * returned. The maximum value is 100; values above 100 will be coerced to 100. + */ + @JsonIgnore + @QueryParam("page_size") + private Long pageSize; + + /** + * A page token, received from a previous `ListExamples` call. Provide this to retrieve the + * subsequent page. If unspecified, the first page will be returned. + */ + @JsonIgnore + @QueryParam("page_token") + private String pageToken; + + /** Parent resource to list from. Format: supervisor-agents/{supervisor_agent_id} */ + @JsonIgnore private String parent; + + public ListExamplesRequest setPageSize(Long pageSize) { + this.pageSize = pageSize; + return this; + } + + public Long getPageSize() { + return pageSize; + } + + public ListExamplesRequest setPageToken(String pageToken) { + this.pageToken = pageToken; + return this; + } + + public String getPageToken() { + return pageToken; + } + + public ListExamplesRequest setParent(String parent) { + this.parent = parent; + return this; + } + + public String getParent() { + return parent; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + ListExamplesRequest that = (ListExamplesRequest) o; + return Objects.equals(pageSize, that.pageSize) + && Objects.equals(pageToken, that.pageToken) + && Objects.equals(parent, that.parent); + } + + @Override + public int hashCode() { + return Objects.hash(pageSize, pageToken, parent); + } + + @Override + public String toString() { + return new ToStringer(ListExamplesRequest.class) + .add("pageSize", pageSize) + .add("pageToken", pageToken) + .add("parent", parent) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/ListExamplesResponse.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/ListExamplesResponse.java new file mode 100755 index 000000000..c6ca27058 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/ListExamplesResponse.java @@ -0,0 +1,61 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.supervisoragents; + +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; + +/** A list of Supervisor Agent examples. */ +@Generated +public class ListExamplesResponse { + /** */ + @JsonProperty("examples") + private Collection examples; + + /** */ + @JsonProperty("next_page_token") + private String nextPageToken; + + public ListExamplesResponse setExamples(Collection examples) { + this.examples = examples; + return this; + } + + public Collection getExamples() { + return examples; + } + + public ListExamplesResponse setNextPageToken(String nextPageToken) { + this.nextPageToken = nextPageToken; + return this; + } + + public String getNextPageToken() { + return nextPageToken; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + ListExamplesResponse that = (ListExamplesResponse) o; + return Objects.equals(examples, that.examples) + && Objects.equals(nextPageToken, that.nextPageToken); + } + + @Override + public int hashCode() { + return Objects.hash(examples, nextPageToken); + } + + @Override + public String toString() { + return new ToStringer(ListExamplesResponse.class) + .add("examples", examples) + .add("nextPageToken", nextPageToken) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentAccessControlRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentAccessControlRequest.java new file mode 100755 index 000000000..e5232061f --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentAccessControlRequest.java @@ -0,0 +1,90 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.supervisoragents; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +@Generated +public class SupervisorAgentAccessControlRequest { + /** name of the group */ + @JsonProperty("group_name") + private String groupName; + + /** */ + @JsonProperty("permission_level") + private SupervisorAgentPermissionLevel permissionLevel; + + /** application ID of a service principal */ + @JsonProperty("service_principal_name") + private String servicePrincipalName; + + /** name of the user */ + @JsonProperty("user_name") + private String userName; + + public SupervisorAgentAccessControlRequest setGroupName(String groupName) { + this.groupName = groupName; + return this; + } + + public String getGroupName() { + return groupName; + } + + public SupervisorAgentAccessControlRequest setPermissionLevel( + SupervisorAgentPermissionLevel permissionLevel) { + this.permissionLevel = permissionLevel; + return this; + } + + public SupervisorAgentPermissionLevel getPermissionLevel() { + return permissionLevel; + } + + public SupervisorAgentAccessControlRequest setServicePrincipalName(String servicePrincipalName) { + this.servicePrincipalName = servicePrincipalName; + return this; + } + + public String getServicePrincipalName() { + return servicePrincipalName; + } + + public SupervisorAgentAccessControlRequest setUserName(String userName) { + this.userName = userName; + return this; + } + + public String getUserName() { + return userName; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + SupervisorAgentAccessControlRequest that = (SupervisorAgentAccessControlRequest) o; + return Objects.equals(groupName, that.groupName) + && Objects.equals(permissionLevel, that.permissionLevel) + && Objects.equals(servicePrincipalName, that.servicePrincipalName) + && Objects.equals(userName, that.userName); + } + + @Override + public int hashCode() { + return Objects.hash(groupName, permissionLevel, servicePrincipalName, userName); + } + + @Override + public String toString() { + return new ToStringer(SupervisorAgentAccessControlRequest.class) + .add("groupName", groupName) + .add("permissionLevel", permissionLevel) + .add("servicePrincipalName", servicePrincipalName) + .add("userName", userName) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentAccessControlResponse.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentAccessControlResponse.java new file mode 100755 index 000000000..8ac942512 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentAccessControlResponse.java @@ -0,0 +1,106 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.supervisoragents; + +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; + +@Generated +public class SupervisorAgentAccessControlResponse { + /** All permissions. */ + @JsonProperty("all_permissions") + private Collection allPermissions; + + /** Display name of the user or service principal. */ + @JsonProperty("display_name") + private String displayName; + + /** name of the group */ + @JsonProperty("group_name") + private String groupName; + + /** Name of the service principal. */ + @JsonProperty("service_principal_name") + private String servicePrincipalName; + + /** name of the user */ + @JsonProperty("user_name") + private String userName; + + public SupervisorAgentAccessControlResponse setAllPermissions( + Collection allPermissions) { + this.allPermissions = allPermissions; + return this; + } + + public Collection getAllPermissions() { + return allPermissions; + } + + public SupervisorAgentAccessControlResponse setDisplayName(String displayName) { + this.displayName = displayName; + return this; + } + + public String getDisplayName() { + return displayName; + } + + public SupervisorAgentAccessControlResponse setGroupName(String groupName) { + this.groupName = groupName; + return this; + } + + public String getGroupName() { + return groupName; + } + + public SupervisorAgentAccessControlResponse setServicePrincipalName(String servicePrincipalName) { + this.servicePrincipalName = servicePrincipalName; + return this; + } + + public String getServicePrincipalName() { + return servicePrincipalName; + } + + public SupervisorAgentAccessControlResponse setUserName(String userName) { + this.userName = userName; + return this; + } + + public String getUserName() { + return userName; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + SupervisorAgentAccessControlResponse that = (SupervisorAgentAccessControlResponse) o; + return Objects.equals(allPermissions, that.allPermissions) + && Objects.equals(displayName, that.displayName) + && Objects.equals(groupName, that.groupName) + && Objects.equals(servicePrincipalName, that.servicePrincipalName) + && Objects.equals(userName, that.userName); + } + + @Override + public int hashCode() { + return Objects.hash(allPermissions, displayName, groupName, servicePrincipalName, userName); + } + + @Override + public String toString() { + return new ToStringer(SupervisorAgentAccessControlResponse.class) + .add("allPermissions", allPermissions) + .add("displayName", displayName) + .add("groupName", groupName) + .add("servicePrincipalName", servicePrincipalName) + .add("userName", userName) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentPermission.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentPermission.java new file mode 100755 index 000000000..3d1ca8a11 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentPermission.java @@ -0,0 +1,76 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.supervisoragents; + +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; + +@Generated +public class SupervisorAgentPermission { + /** */ + @JsonProperty("inherited") + private Boolean inherited; + + /** */ + @JsonProperty("inherited_from_object") + private Collection inheritedFromObject; + + /** */ + @JsonProperty("permission_level") + private SupervisorAgentPermissionLevel permissionLevel; + + public SupervisorAgentPermission setInherited(Boolean inherited) { + this.inherited = inherited; + return this; + } + + public Boolean getInherited() { + return inherited; + } + + public SupervisorAgentPermission setInheritedFromObject(Collection inheritedFromObject) { + this.inheritedFromObject = inheritedFromObject; + return this; + } + + public Collection getInheritedFromObject() { + return inheritedFromObject; + } + + public SupervisorAgentPermission setPermissionLevel( + SupervisorAgentPermissionLevel permissionLevel) { + this.permissionLevel = permissionLevel; + return this; + } + + public SupervisorAgentPermissionLevel getPermissionLevel() { + return permissionLevel; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + SupervisorAgentPermission that = (SupervisorAgentPermission) o; + return Objects.equals(inherited, that.inherited) + && Objects.equals(inheritedFromObject, that.inheritedFromObject) + && Objects.equals(permissionLevel, that.permissionLevel); + } + + @Override + public int hashCode() { + return Objects.hash(inherited, inheritedFromObject, permissionLevel); + } + + @Override + public String toString() { + return new ToStringer(SupervisorAgentPermission.class) + .add("inherited", inherited) + .add("inheritedFromObject", inheritedFromObject) + .add("permissionLevel", permissionLevel) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentPermissionLevel.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentPermissionLevel.java new file mode 100755 index 000000000..7da2f3c34 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentPermissionLevel.java @@ -0,0 +1,12 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.supervisoragents; + +import com.databricks.sdk.support.Generated; + +/** Permission level */ +@Generated +public enum SupervisorAgentPermissionLevel { + CAN_MANAGE, + CAN_QUERY, +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentPermissions.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentPermissions.java new file mode 100755 index 000000000..08ad27362 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentPermissions.java @@ -0,0 +1,76 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.supervisoragents; + +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; + +@Generated +public class SupervisorAgentPermissions { + /** */ + @JsonProperty("access_control_list") + private Collection accessControlList; + + /** */ + @JsonProperty("object_id") + private String objectId; + + /** */ + @JsonProperty("object_type") + private String objectType; + + public SupervisorAgentPermissions setAccessControlList( + Collection accessControlList) { + this.accessControlList = accessControlList; + return this; + } + + public Collection getAccessControlList() { + return accessControlList; + } + + public SupervisorAgentPermissions setObjectId(String objectId) { + this.objectId = objectId; + return this; + } + + public String getObjectId() { + return objectId; + } + + public SupervisorAgentPermissions setObjectType(String objectType) { + this.objectType = objectType; + return this; + } + + public String getObjectType() { + return objectType; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + SupervisorAgentPermissions that = (SupervisorAgentPermissions) o; + return Objects.equals(accessControlList, that.accessControlList) + && Objects.equals(objectId, that.objectId) + && Objects.equals(objectType, that.objectType); + } + + @Override + public int hashCode() { + return Objects.hash(accessControlList, objectId, objectType); + } + + @Override + public String toString() { + return new ToStringer(SupervisorAgentPermissions.class) + .add("accessControlList", accessControlList) + .add("objectId", objectId) + .add("objectType", objectType) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentPermissionsDescription.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentPermissionsDescription.java new file mode 100755 index 000000000..0e1e83673 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentPermissionsDescription.java @@ -0,0 +1,60 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.supervisoragents; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Objects; + +@Generated +public class SupervisorAgentPermissionsDescription { + /** */ + @JsonProperty("description") + private String description; + + /** */ + @JsonProperty("permission_level") + private SupervisorAgentPermissionLevel permissionLevel; + + public SupervisorAgentPermissionsDescription setDescription(String description) { + this.description = description; + return this; + } + + public String getDescription() { + return description; + } + + public SupervisorAgentPermissionsDescription setPermissionLevel( + SupervisorAgentPermissionLevel permissionLevel) { + this.permissionLevel = permissionLevel; + return this; + } + + public SupervisorAgentPermissionLevel getPermissionLevel() { + return permissionLevel; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + SupervisorAgentPermissionsDescription that = (SupervisorAgentPermissionsDescription) o; + return Objects.equals(description, that.description) + && Objects.equals(permissionLevel, that.permissionLevel); + } + + @Override + public int hashCode() { + return Objects.hash(description, permissionLevel); + } + + @Override + public String toString() { + return new ToStringer(SupervisorAgentPermissionsDescription.class) + .add("description", description) + .add("permissionLevel", permissionLevel) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentPermissionsRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentPermissionsRequest.java new file mode 100755 index 000000000..3e80cb4c3 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentPermissionsRequest.java @@ -0,0 +1,61 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.supervisoragents; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Collection; +import java.util.Objects; + +@Generated +public class SupervisorAgentPermissionsRequest { + /** */ + @JsonProperty("access_control_list") + private Collection accessControlList; + + /** The supervisor agent for which to get or manage permissions. */ + @JsonIgnore private String supervisorAgentId; + + public SupervisorAgentPermissionsRequest setAccessControlList( + Collection accessControlList) { + this.accessControlList = accessControlList; + return this; + } + + public Collection getAccessControlList() { + return accessControlList; + } + + public SupervisorAgentPermissionsRequest setSupervisorAgentId(String supervisorAgentId) { + this.supervisorAgentId = supervisorAgentId; + return this; + } + + public String getSupervisorAgentId() { + return supervisorAgentId; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + SupervisorAgentPermissionsRequest that = (SupervisorAgentPermissionsRequest) o; + return Objects.equals(accessControlList, that.accessControlList) + && Objects.equals(supervisorAgentId, that.supervisorAgentId); + } + + @Override + public int hashCode() { + return Objects.hash(accessControlList, supervisorAgentId); + } + + @Override + public String toString() { + return new ToStringer(SupervisorAgentPermissionsRequest.class) + .add("accessControlList", accessControlList) + .add("supervisorAgentId", supervisorAgentId) + .toString(); + } +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentsAPI.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentsAPI.java index 57d673c0c..3975d9a41 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentsAPI.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentsAPI.java @@ -24,6 +24,11 @@ public SupervisorAgentsAPI(SupervisorAgentsService mock) { impl = mock; } + /** Creates an example for a Supervisor Agent. */ + public Example createExample(CreateExampleRequest request) { + return impl.createExample(request); + } + /** Creates a new Supervisor Agent. */ public SupervisorAgent createSupervisorAgent(CreateSupervisorAgentRequest request) { return impl.createSupervisorAgent(request); @@ -32,12 +37,21 @@ public SupervisorAgent createSupervisorAgent(CreateSupervisorAgentRequest reques /** * Creates a Tool under a Supervisor Agent. Specify one of "genie_space", "knowledge_assistant", * "uc_function", "uc_connection", "app", "volume", "lakeview_dashboard", "uc_table", - * "vector_search_index" in the request body. + * "vector_search_index", "catalog", "schema", "supervisor_agent" in the request body. */ public Tool createTool(CreateToolRequest request) { return impl.createTool(request); } + public void deleteExample(String name) { + deleteExample(new DeleteExampleRequest().setName(name)); + } + + /** Deletes an example from a Supervisor Agent. */ + public void deleteExample(DeleteExampleRequest request) { + impl.deleteExample(request); + } + public void deleteSupervisorAgent(String name) { deleteSupervisorAgent(new DeleteSupervisorAgentRequest().setName(name)); } @@ -56,6 +70,39 @@ public void deleteTool(DeleteToolRequest request) { impl.deleteTool(request); } + public Example getExample(String name) { + return getExample(new GetExampleRequest().setName(name)); + } + + /** Gets an example from a Supervisor Agent. */ + public Example getExample(GetExampleRequest request) { + return impl.getExample(request); + } + + public GetSupervisorAgentPermissionLevelsResponse getPermissionLevels(String supervisorAgentId) { + return getPermissionLevels( + new GetSupervisorAgentPermissionLevelsRequest().setSupervisorAgentId(supervisorAgentId)); + } + + /** Gets the permission levels that a user can have on an object. */ + public GetSupervisorAgentPermissionLevelsResponse getPermissionLevels( + GetSupervisorAgentPermissionLevelsRequest request) { + return impl.getPermissionLevels(request); + } + + public SupervisorAgentPermissions getPermissions(String supervisorAgentId) { + return getPermissions( + new GetSupervisorAgentPermissionsRequest().setSupervisorAgentId(supervisorAgentId)); + } + + /** + * Gets the permissions of a supervisor agent. Supervisor agents can inherit permissions from + * their root object. + */ + public SupervisorAgentPermissions getPermissions(GetSupervisorAgentPermissionsRequest request) { + return impl.getPermissions(request); + } + public SupervisorAgent getSupervisorAgent(String name) { return getSupervisorAgent(new GetSupervisorAgentRequest().setName(name)); } @@ -74,6 +121,25 @@ public Tool getTool(GetToolRequest request) { return impl.getTool(request); } + public Iterable listExamples(String parent) { + return listExamples(new ListExamplesRequest().setParent(parent)); + } + + /** Lists examples under a Supervisor Agent. */ + public Iterable listExamples(ListExamplesRequest request) { + return new Paginator<>( + request, + impl::listExamples, + ListExamplesResponse::getExamples, + response -> { + String token = response.getNextPageToken(); + if (token == null || token.isEmpty()) { + return null; + } + return request.setPageToken(token); + }); + } + /** Lists Supervisor Agents. */ public Iterable listSupervisorAgents(ListSupervisorAgentsRequest request) { return new Paginator<>( @@ -108,6 +174,27 @@ public Iterable listTools(ListToolsRequest request) { }); } + /** + * Sets permissions on an object, replacing existing permissions if they exist. Deletes all direct + * permissions if none are specified. Objects can inherit permissions from their root object. + */ + public SupervisorAgentPermissions setPermissions(SupervisorAgentPermissionsRequest request) { + return impl.setPermissions(request); + } + + /** Updates an example in a Supervisor Agent. */ + public Example updateExample(UpdateExampleRequest request) { + return impl.updateExample(request); + } + + /** + * Updates the permissions on a supervisor agent. Supervisor agents can inherit permissions from + * their root object. + */ + public SupervisorAgentPermissions updatePermissions(SupervisorAgentPermissionsRequest request) { + return impl.updatePermissions(request); + } + /** * Updates a Supervisor Agent. The fields that are required depend on the paths specified in * `update_mask`. Only fields included in the mask will be updated. diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentsImpl.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentsImpl.java index d8cb83e00..8aff738e0 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentsImpl.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentsImpl.java @@ -16,6 +16,24 @@ public SupervisorAgentsImpl(ApiClient apiClient) { this.apiClient = apiClient; } + @Override + public Example createExample(CreateExampleRequest request) { + String path = String.format("/api/2.1/%s/examples", request.getParent()); + try { + Request req = new Request("POST", path, apiClient.serialize(request.getExample())); + + ApiClient.setQuery(req, request); + req.withHeader("Accept", "application/json"); + req.withHeader("Content-Type", "application/json"); + if (apiClient.workspaceId() != null) { + req.withHeader("X-Databricks-Org-Id", apiClient.workspaceId()); + } + return apiClient.execute(req, Example.class); + } catch (IOException e) { + throw new DatabricksException("IO error: " + e.getMessage(), e); + } + } + @Override public SupervisorAgent createSupervisorAgent(CreateSupervisorAgentRequest request) { String path = "/api/2.1/supervisor-agents"; @@ -52,6 +70,23 @@ public Tool createTool(CreateToolRequest request) { } } + @Override + public void deleteExample(DeleteExampleRequest request) { + String path = String.format("/api/2.1/%s", request.getName()); + try { + Request req = new Request("DELETE", path); + + ApiClient.setQuery(req, request); + req.withHeader("Accept", "application/json"); + if (apiClient.workspaceId() != null) { + req.withHeader("X-Databricks-Org-Id", apiClient.workspaceId()); + } + apiClient.execute(req, Void.class); + } catch (IOException e) { + throw new DatabricksException("IO error: " + e.getMessage(), e); + } + } + @Override public void deleteSupervisorAgent(DeleteSupervisorAgentRequest request) { String path = String.format("/api/2.1/%s", request.getName()); @@ -86,6 +121,62 @@ public void deleteTool(DeleteToolRequest request) { } } + @Override + public Example getExample(GetExampleRequest request) { + String path = String.format("/api/2.1/%s", request.getName()); + try { + Request req = new Request("GET", path); + + ApiClient.setQuery(req, request); + req.withHeader("Accept", "application/json"); + if (apiClient.workspaceId() != null) { + req.withHeader("X-Databricks-Org-Id", apiClient.workspaceId()); + } + return apiClient.execute(req, Example.class); + } catch (IOException e) { + throw new DatabricksException("IO error: " + e.getMessage(), e); + } + } + + @Override + public GetSupervisorAgentPermissionLevelsResponse getPermissionLevels( + GetSupervisorAgentPermissionLevelsRequest request) { + String path = + String.format( + "/api/2.0/permissions/supervisor-agents/%s/permissionLevels", + request.getSupervisorAgentId()); + try { + Request req = new Request("GET", path); + + ApiClient.setQuery(req, request); + req.withHeader("Accept", "application/json"); + if (apiClient.workspaceId() != null) { + req.withHeader("X-Databricks-Org-Id", apiClient.workspaceId()); + } + return apiClient.execute(req, GetSupervisorAgentPermissionLevelsResponse.class); + } catch (IOException e) { + throw new DatabricksException("IO error: " + e.getMessage(), e); + } + } + + @Override + public SupervisorAgentPermissions getPermissions(GetSupervisorAgentPermissionsRequest request) { + String path = + String.format("/api/2.0/permissions/supervisor-agents/%s", request.getSupervisorAgentId()); + try { + Request req = new Request("GET", path); + + ApiClient.setQuery(req, request); + req.withHeader("Accept", "application/json"); + if (apiClient.workspaceId() != null) { + req.withHeader("X-Databricks-Org-Id", apiClient.workspaceId()); + } + return apiClient.execute(req, SupervisorAgentPermissions.class); + } catch (IOException e) { + throw new DatabricksException("IO error: " + e.getMessage(), e); + } + } + @Override public SupervisorAgent getSupervisorAgent(GetSupervisorAgentRequest request) { String path = String.format("/api/2.1/%s", request.getName()); @@ -120,6 +211,23 @@ public Tool getTool(GetToolRequest request) { } } + @Override + public ListExamplesResponse listExamples(ListExamplesRequest request) { + String path = String.format("/api/2.1/%s/examples", request.getParent()); + try { + Request req = new Request("GET", path); + + ApiClient.setQuery(req, request); + req.withHeader("Accept", "application/json"); + if (apiClient.workspaceId() != null) { + req.withHeader("X-Databricks-Org-Id", apiClient.workspaceId()); + } + return apiClient.execute(req, ListExamplesResponse.class); + } catch (IOException e) { + throw new DatabricksException("IO error: " + e.getMessage(), e); + } + } + @Override public ListSupervisorAgentsResponse listSupervisorAgents(ListSupervisorAgentsRequest request) { String path = "/api/2.1/supervisor-agents"; @@ -154,6 +262,62 @@ public ListToolsResponse listTools(ListToolsRequest request) { } } + @Override + public SupervisorAgentPermissions setPermissions(SupervisorAgentPermissionsRequest request) { + String path = + String.format("/api/2.0/permissions/supervisor-agents/%s", request.getSupervisorAgentId()); + try { + Request req = new Request("PUT", path, apiClient.serialize(request)); + + ApiClient.setQuery(req, request); + req.withHeader("Accept", "application/json"); + req.withHeader("Content-Type", "application/json"); + if (apiClient.workspaceId() != null) { + req.withHeader("X-Databricks-Org-Id", apiClient.workspaceId()); + } + return apiClient.execute(req, SupervisorAgentPermissions.class); + } catch (IOException e) { + throw new DatabricksException("IO error: " + e.getMessage(), e); + } + } + + @Override + public Example updateExample(UpdateExampleRequest request) { + String path = String.format("/api/2.1/%s", request.getName()); + try { + Request req = new Request("PATCH", path, apiClient.serialize(request.getExample())); + + ApiClient.setQuery(req, request); + req.withHeader("Accept", "application/json"); + req.withHeader("Content-Type", "application/json"); + if (apiClient.workspaceId() != null) { + req.withHeader("X-Databricks-Org-Id", apiClient.workspaceId()); + } + return apiClient.execute(req, Example.class); + } catch (IOException e) { + throw new DatabricksException("IO error: " + e.getMessage(), e); + } + } + + @Override + public SupervisorAgentPermissions updatePermissions(SupervisorAgentPermissionsRequest request) { + String path = + String.format("/api/2.0/permissions/supervisor-agents/%s", request.getSupervisorAgentId()); + try { + Request req = new Request("PATCH", path, apiClient.serialize(request)); + + ApiClient.setQuery(req, request); + req.withHeader("Accept", "application/json"); + req.withHeader("Content-Type", "application/json"); + if (apiClient.workspaceId() != null) { + req.withHeader("X-Databricks-Org-Id", apiClient.workspaceId()); + } + return apiClient.execute(req, SupervisorAgentPermissions.class); + } catch (IOException e) { + throw new DatabricksException("IO error: " + e.getMessage(), e); + } + } + @Override public SupervisorAgent updateSupervisorAgent(UpdateSupervisorAgentRequest request) { String path = String.format("/api/2.1/%s", request.getName()); diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentsService.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentsService.java index 0e84ee179..6c0489c61 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentsService.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/SupervisorAgentsService.java @@ -12,28 +12,51 @@ */ @Generated public interface SupervisorAgentsService { + /** Creates an example for a Supervisor Agent. */ + Example createExample(CreateExampleRequest createExampleRequest); + /** Creates a new Supervisor Agent. */ SupervisorAgent createSupervisorAgent(CreateSupervisorAgentRequest createSupervisorAgentRequest); /** * Creates a Tool under a Supervisor Agent. Specify one of "genie_space", "knowledge_assistant", * "uc_function", "uc_connection", "app", "volume", "lakeview_dashboard", "uc_table", - * "vector_search_index" in the request body. + * "vector_search_index", "catalog", "schema", "supervisor_agent" in the request body. */ Tool createTool(CreateToolRequest createToolRequest); + /** Deletes an example from a Supervisor Agent. */ + void deleteExample(DeleteExampleRequest deleteExampleRequest); + /** Deletes a Supervisor Agent. */ void deleteSupervisorAgent(DeleteSupervisorAgentRequest deleteSupervisorAgentRequest); /** Deletes a Tool. */ void deleteTool(DeleteToolRequest deleteToolRequest); + /** Gets an example from a Supervisor Agent. */ + Example getExample(GetExampleRequest getExampleRequest); + + /** Gets the permission levels that a user can have on an object. */ + GetSupervisorAgentPermissionLevelsResponse getPermissionLevels( + GetSupervisorAgentPermissionLevelsRequest getSupervisorAgentPermissionLevelsRequest); + + /** + * Gets the permissions of a supervisor agent. Supervisor agents can inherit permissions from + * their root object. + */ + SupervisorAgentPermissions getPermissions( + GetSupervisorAgentPermissionsRequest getSupervisorAgentPermissionsRequest); + /** Gets a Supervisor Agent. */ SupervisorAgent getSupervisorAgent(GetSupervisorAgentRequest getSupervisorAgentRequest); /** Gets a Tool. */ Tool getTool(GetToolRequest getToolRequest); + /** Lists examples under a Supervisor Agent. */ + ListExamplesResponse listExamples(ListExamplesRequest listExamplesRequest); + /** Lists Supervisor Agents. */ ListSupervisorAgentsResponse listSupervisorAgents( ListSupervisorAgentsRequest listSupervisorAgentsRequest); @@ -41,6 +64,23 @@ ListSupervisorAgentsResponse listSupervisorAgents( /** Lists Tools under a Supervisor Agent. */ ListToolsResponse listTools(ListToolsRequest listToolsRequest); + /** + * Sets permissions on an object, replacing existing permissions if they exist. Deletes all direct + * permissions if none are specified. Objects can inherit permissions from their root object. + */ + SupervisorAgentPermissions setPermissions( + SupervisorAgentPermissionsRequest supervisorAgentPermissionsRequest); + + /** Updates an example in a Supervisor Agent. */ + Example updateExample(UpdateExampleRequest updateExampleRequest); + + /** + * Updates the permissions on a supervisor agent. Supervisor agents can inherit permissions from + * their root object. + */ + SupervisorAgentPermissions updatePermissions( + SupervisorAgentPermissionsRequest supervisorAgentPermissionsRequest); + /** * Updates a Supervisor Agent. The fields that are required depend on the paths specified in * `update_mask`. Only fields included in the mask will be updated. diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/Tool.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/Tool.java index 8c1d00862..80d189f8a 100755 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/Tool.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/Tool.java @@ -40,7 +40,7 @@ public class Tool { /** * Tool type. Must be one of: "genie_space", "knowledge_assistant", "uc_function", * "uc_connection", "app", "volume", "lakeview_dashboard", "serving_endpoint", "uc_table", - * "vector_search_index". + * "vector_search_index", "catalog", "schema", "supervisor_agent". */ @JsonProperty("tool_type") private String toolType; diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/UpdateExampleRequest.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/UpdateExampleRequest.java new file mode 100755 index 000000000..bdd042e13 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/service/supervisoragents/UpdateExampleRequest.java @@ -0,0 +1,83 @@ +// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. + +package com.databricks.sdk.service.supervisoragents; + +import com.databricks.sdk.support.Generated; +import com.databricks.sdk.support.QueryParam; +import com.databricks.sdk.support.ToStringer; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.google.protobuf.FieldMask; +import java.util.Objects; + +@Generated +public class UpdateExampleRequest { + /** */ + @JsonProperty("example") + private Example example; + + /** + * The resource name of the example to update. Format: + * supervisor-agents/{supervisor_agent_id}/examples/{example_id} + */ + @JsonIgnore private String name; + + /** + * Comma-delimited list of fields to update on the example. Allowed values: `question`, + * `guidelines`. Examples: - `question` - `question,guidelines` + */ + @JsonIgnore + @QueryParam("update_mask") + private FieldMask updateMask; + + public UpdateExampleRequest setExample(Example example) { + this.example = example; + return this; + } + + public Example getExample() { + return example; + } + + public UpdateExampleRequest setName(String name) { + this.name = name; + return this; + } + + public String getName() { + return name; + } + + public UpdateExampleRequest setUpdateMask(FieldMask updateMask) { + this.updateMask = updateMask; + return this; + } + + public FieldMask getUpdateMask() { + return updateMask; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + UpdateExampleRequest that = (UpdateExampleRequest) o; + return Objects.equals(example, that.example) + && Objects.equals(name, that.name) + && Objects.equals(updateMask, that.updateMask); + } + + @Override + public int hashCode() { + return Objects.hash(example, name, updateMask); + } + + @Override + public String toString() { + return new ToStringer(UpdateExampleRequest.class) + .add("example", example) + .add("name", name) + .add("updateMask", updateMask) + .toString(); + } +} diff --git a/tagging.py b/tagging.py old mode 100644 new mode 100755 index c19028923..a48039a54 --- a/tagging.py +++ b/tagging.py @@ -6,7 +6,7 @@ import os import re import argparse -from typing import Optional, List, Callable +from typing import Optional, List, Callable, Dict from dataclasses import dataclass, replace import subprocess import time @@ -254,35 +254,103 @@ def get_package_name(package_path: str) -> str: return "" -def update_version_references(tag_info: TagInfo) -> None: +def stage_version_updates(tag_infos: List[TagInfo], packages: List[Package]) -> None: """ - Updates the version of the package in code references. - Code references are defined in .package.json files. + Stages all version-related edits for the release in a single pass over + every package the workspace already opts in via ``.package.json``. """ - # Load version patterns from '.codegen.json' file at the top level of the repository + # Load patterns from '.codegen.json' at the top level of the repository. package_file_path = os.path.join(os.getcwd(), CODEGEN_FILE_NAME) with open(package_file_path, "r") as file: - package_file = json.load(file) + codegen = json.load(file) - version = package_file.get("version") - if not version: - print("`version` not found in .codegen.json. Nothing to update.") - return - - # Update the versions. - for filename, pattern in version.items(): - loc = os.path.join(os.getcwd(), tag_info.package.path, filename) - previous_version = pattern.replace("$VERSION", Version.PATTERN) - new_version = pattern.replace("$VERSION", tag_info.version) + version_patterns = codegen.get("version", {}) + dep_patterns = codegen.get("dependency_pattern", {}) + name_template = codegen.get("dependency_name_template", "") - with open(loc, "r") as file: - content = file.read() - - # Replace the version in the file content - updated_content = re.sub(previous_version, new_version, content) + if not version_patterns and not dep_patterns: + print("Neither `version` nor `dependency_pattern` found in .codegen.json. Nothing to update.") + return - gh.add_file(loc, updated_content) + bumped_by_dir: Dict[str, TagInfo] = {info.package.path: info for info in tag_infos} + new_dep_versions = compute_dependency_rewrites(tag_infos, name_template) + + files = sorted(set(version_patterns.keys()) | set(dep_patterns.keys())) + + for pkg in packages: + for filename in files: + loc = os.path.join(os.getcwd(), pkg.path, filename) + + with open(loc, "r") as file: + content = file.read() + original = content + + # Own version (only when this package is being released and the + # file has a version pattern declared). + info = bumped_by_dir.get(pkg.path) + if info is not None and filename in version_patterns: + pattern = version_patterns[filename] + previous_version = pattern.replace("$VERSION", Version.PATTERN) + new_version = pattern.replace("$VERSION", info.version) + content = re.sub(previous_version, new_version, content) + + # Sibling dependency rewrites (only when the file has a + # dependency pattern and there is at least one bumped sibling). + if filename in dep_patterns and new_dep_versions: + content = rewrite_dependencies(content, dep_patterns[filename], new_dep_versions) + + if content != original: + gh.add_file(loc, content) + + +def compute_dependency_rewrites( + tag_infos: List[TagInfo], + name_template: str, +) -> Dict[str, str]: + """ + Returns a map of dependency-name to the new semver string for each + bumped package. + """ + if not name_template: + return {} + rewrites: Dict[str, str] = {} + for info in tag_infos: + # Skip legacy releases that don't have a per-package name; their + # tag_info has an empty package.name and they can't be referenced + # as a sibling dep anyway. + if not info.package.name: + continue + dep_name = name_template.replace("$PACKAGE", info.package.name) + rewrites[dep_name] = info.version + return rewrites + + +def rewrite_dependencies(content: str, pattern: str, new_versions: Dict[str, str]) -> str: + """ + Apply ``pattern`` (with ``$DEPENDENCY`` and ``$VERSION`` placeholders) to + rewrite every entry in ``content`` whose dependency name appears in + ``new_versions``. + """ + # Sentinel strings used to protect the placeholders through re.escape: + # we substitute them in, escape the whole template, then swap them out + # for the dep-name literal and Version.PATTERN. Control characters so + # they can't collide with anything in real .codegen.json patterns. + dep_sentinel = "\x01DEPENDENCY\x01" + ver_sentinel = "\x01VERSION\x01" + + for dep_name, new_value in new_versions.items(): + regex = pattern.replace("$DEPENDENCY", dep_sentinel).replace("$VERSION", ver_sentinel) + regex = re.escape(regex) + regex = regex.replace(re.escape(dep_sentinel), re.escape(dep_name)) + regex = regex.replace(re.escape(ver_sentinel), Version.PATTERN) + + # Build the literal replacement text by substituting the same + # placeholders directly. A lambda is used instead of a string to + # avoid re.sub interpreting \1, \g<...>, etc. inside the value. + replacement_text = pattern.replace("$DEPENDENCY", dep_name).replace("$VERSION", new_value) + content = re.sub(regex, lambda _m, text=replacement_text: text, content) + return content def clean_next_changelog(package_path: str) -> None: @@ -403,9 +471,8 @@ def write_changelog(tag_info: TagInfo) -> None: def process_package(package: Package) -> TagInfo: """ - Processes a package + Processes a package's changelog scaffolding for the release. """ - # Prepare tag_info from NEXT_CHANGELOG.md print(f"Processing package {package.name}") tag_info = get_next_tag_info(package) @@ -415,7 +482,6 @@ def process_package(package: Package) -> TagInfo: write_changelog(tag_info) clean_next_changelog(package.path) - update_version_references(tag_info) return tag_info @@ -567,8 +633,9 @@ def update_changelogs(packages: List[Package]) -> List[TagInfo]: Updates changelogs and pushes the commits. """ tag_infos = [info for info in (process_package(package) for package in packages) if info is not None] - # If any package was changed, push the changes. + # If any package was changed, stage version updates and push. if tag_infos: + stage_version_updates(tag_infos, packages) push_changes(tag_infos) return tag_infos