mirror of https://github.com/databricks/cli.git
Compare commits
4 Commits
4d858dd247
...
87867c25b5
Author | SHA1 | Date |
---|---|---|
|
87867c25b5 | |
|
caad1aa271 | |
|
92ab8ade85 | |
|
574ba14d1d |
|
@ -1 +1 @@
|
||||||
25b2478e5a18c888f0d423249abde5499dc58424
|
d25296d2f4aa7bd6195c816fdf82e0f960f775da
|
|
@ -148,6 +148,7 @@ func new{{.PascalName}}() *cobra.Command {
|
||||||
{{else if .Entity.MapValue }}// TODO: map via StringToStringVar: {{.Name}}
|
{{else if .Entity.MapValue }}// TODO: map via StringToStringVar: {{.Name}}
|
||||||
{{else if .Entity.IsEmpty }}// TODO: output-only field
|
{{else if .Entity.IsEmpty }}// TODO: output-only field
|
||||||
{{else if .Entity.IsComputed -}}
|
{{else if .Entity.IsComputed -}}
|
||||||
|
{{else if .IsOutputOnly -}}
|
||||||
{{else if .Entity.Enum }}cmd.Flags().Var(&{{- template "request-body-obj" (dict "Method" $method "Field" .)}}, "{{.KebabName}}", `{{.Summary | without "`" | trimSuffix "."}}. Supported values: {{template "printArray" .Entity.Enum}}`)
|
{{else if .Entity.Enum }}cmd.Flags().Var(&{{- template "request-body-obj" (dict "Method" $method "Field" .)}}, "{{.KebabName}}", `{{.Summary | without "`" | trimSuffix "."}}. Supported values: {{template "printArray" .Entity.Enum}}`)
|
||||||
{{else}}cmd.Flags().{{template "arg-type" .Entity}}(&{{- template "request-body-obj" (dict "Method" $method "Field" .)}}, "{{.KebabName}}", {{- template "request-body-obj" (dict "Method" $method "Field" .)}}, `{{.Summary | without "`"}}`)
|
{{else}}cmd.Flags().{{template "arg-type" .Entity}}(&{{- template "request-body-obj" (dict "Method" $method "Field" .)}}, "{{.KebabName}}", {{- template "request-body-obj" (dict "Method" $method "Field" .)}}, `{{.Summary | without "`"}}`)
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
|
@ -38,7 +38,6 @@ cmd/workspace/apps/apps.go linguist-generated=true
|
||||||
cmd/workspace/artifact-allowlists/artifact-allowlists.go linguist-generated=true
|
cmd/workspace/artifact-allowlists/artifact-allowlists.go linguist-generated=true
|
||||||
cmd/workspace/automatic-cluster-update/automatic-cluster-update.go linguist-generated=true
|
cmd/workspace/automatic-cluster-update/automatic-cluster-update.go linguist-generated=true
|
||||||
cmd/workspace/catalogs/catalogs.go linguist-generated=true
|
cmd/workspace/catalogs/catalogs.go linguist-generated=true
|
||||||
cmd/workspace/clean-rooms/clean-rooms.go linguist-generated=true
|
|
||||||
cmd/workspace/cluster-policies/cluster-policies.go linguist-generated=true
|
cmd/workspace/cluster-policies/cluster-policies.go linguist-generated=true
|
||||||
cmd/workspace/clusters/clusters.go linguist-generated=true
|
cmd/workspace/clusters/clusters.go linguist-generated=true
|
||||||
cmd/workspace/cmd.go linguist-generated=true
|
cmd/workspace/cmd.go linguist-generated=true
|
||||||
|
@ -50,6 +49,7 @@ cmd/workspace/consumer-listings/consumer-listings.go linguist-generated=true
|
||||||
cmd/workspace/consumer-personalization-requests/consumer-personalization-requests.go linguist-generated=true
|
cmd/workspace/consumer-personalization-requests/consumer-personalization-requests.go linguist-generated=true
|
||||||
cmd/workspace/consumer-providers/consumer-providers.go linguist-generated=true
|
cmd/workspace/consumer-providers/consumer-providers.go linguist-generated=true
|
||||||
cmd/workspace/credentials-manager/credentials-manager.go linguist-generated=true
|
cmd/workspace/credentials-manager/credentials-manager.go linguist-generated=true
|
||||||
|
cmd/workspace/credentials/credentials.go linguist-generated=true
|
||||||
cmd/workspace/current-user/current-user.go linguist-generated=true
|
cmd/workspace/current-user/current-user.go linguist-generated=true
|
||||||
cmd/workspace/dashboard-widgets/dashboard-widgets.go linguist-generated=true
|
cmd/workspace/dashboard-widgets/dashboard-widgets.go linguist-generated=true
|
||||||
cmd/workspace/dashboards/dashboards.go linguist-generated=true
|
cmd/workspace/dashboards/dashboards.go linguist-generated=true
|
||||||
|
|
|
@ -59,9 +59,14 @@ func TestJsonSchema(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Assert enum values are loaded
|
// Assert enum values are loaded
|
||||||
schedule := walk(s.Definitions, "github.com", "databricks", "databricks-sdk-go", "service", "catalog.MonitorCronSchedule")
|
schedule := walk(s.Definitions, "github.com", "databricks", "databricks-sdk-go", "service", "pipelines.RestartWindow")
|
||||||
assert.Contains(t, schedule.AnyOf[0].Properties["pause_status"].Enum, "PAUSED")
|
assert.Contains(t, schedule.AnyOf[0].Properties["days_of_week"].Enum, "MONDAY")
|
||||||
assert.Contains(t, schedule.AnyOf[0].Properties["pause_status"].Enum, "UNPAUSED")
|
assert.Contains(t, schedule.AnyOf[0].Properties["days_of_week"].Enum, "TUESDAY")
|
||||||
|
assert.Contains(t, schedule.AnyOf[0].Properties["days_of_week"].Enum, "WEDNESDAY")
|
||||||
|
assert.Contains(t, schedule.AnyOf[0].Properties["days_of_week"].Enum, "THURSDAY")
|
||||||
|
assert.Contains(t, schedule.AnyOf[0].Properties["days_of_week"].Enum, "FRIDAY")
|
||||||
|
assert.Contains(t, schedule.AnyOf[0].Properties["days_of_week"].Enum, "SATURDAY")
|
||||||
|
assert.Contains(t, schedule.AnyOf[0].Properties["days_of_week"].Enum, "SUNDAY")
|
||||||
|
|
||||||
providers := walk(s.Definitions, "github.com", "databricks", "databricks-sdk-go", "service", "jobs.GitProvider")
|
providers := walk(s.Definitions, "github.com", "databricks", "databricks-sdk-go", "service", "jobs.GitProvider")
|
||||||
assert.Contains(t, providers.Enum, "gitHub")
|
assert.Contains(t, providers.Enum, "gitHub")
|
||||||
|
|
|
@ -572,7 +572,7 @@
|
||||||
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.Filters"
|
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.Filters"
|
||||||
},
|
},
|
||||||
"gateway_definition": {
|
"gateway_definition": {
|
||||||
"description": "The definition of a gateway pipeline to support CDC.",
|
"description": "The definition of a gateway pipeline to support change data capture.",
|
||||||
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.IngestionGatewayPipelineDefinition"
|
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.IngestionGatewayPipelineDefinition"
|
||||||
},
|
},
|
||||||
"id": {
|
"id": {
|
||||||
|
@ -602,6 +602,10 @@
|
||||||
"description": "Whether Photon is enabled for this pipeline.",
|
"description": "Whether Photon is enabled for this pipeline.",
|
||||||
"$ref": "#/$defs/bool"
|
"$ref": "#/$defs/bool"
|
||||||
},
|
},
|
||||||
|
"restart_window": {
|
||||||
|
"description": "Restart window of this pipeline.",
|
||||||
|
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.RestartWindow"
|
||||||
|
},
|
||||||
"schema": {
|
"schema": {
|
||||||
"description": "The default schema (database) where tables are read from or published to. The presence of this field implies that the pipeline is in direct publishing mode.",
|
"description": "The default schema (database) where tables are read from or published to. The presence of this field implies that the pipeline is in direct publishing mode.",
|
||||||
"$ref": "#/$defs/string"
|
"$ref": "#/$defs/string"
|
||||||
|
@ -1310,11 +1314,7 @@
|
||||||
"properties": {
|
"properties": {
|
||||||
"pause_status": {
|
"pause_status": {
|
||||||
"description": "Read only field that indicates whether a schedule is paused or not.",
|
"description": "Read only field that indicates whether a schedule is paused or not.",
|
||||||
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/catalog.MonitorCronSchedulePauseStatus",
|
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/catalog.MonitorCronSchedulePauseStatus"
|
||||||
"enum": [
|
|
||||||
"UNPAUSED",
|
|
||||||
"PAUSED"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"quartz_cron_expression": {
|
"quartz_cron_expression": {
|
||||||
"description": "The expression that determines when to run the monitor. See [examples](https://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html).\n",
|
"description": "The expression that determines when to run the monitor. See [examples](https://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html).\n",
|
||||||
|
@ -1338,7 +1338,12 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"catalog.MonitorCronSchedulePauseStatus": {
|
"catalog.MonitorCronSchedulePauseStatus": {
|
||||||
"type": "string"
|
"type": "string",
|
||||||
|
"description": "Read only field that indicates whether a schedule is paused or not.",
|
||||||
|
"enum": [
|
||||||
|
"UNPAUSED",
|
||||||
|
"PAUSED"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"catalog.MonitorDataClassificationConfig": {
|
"catalog.MonitorDataClassificationConfig": {
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
|
@ -1403,11 +1408,7 @@
|
||||||
},
|
},
|
||||||
"problem_type": {
|
"problem_type": {
|
||||||
"description": "Problem type the model aims to solve. Determines the type of model-quality metrics that will be computed.",
|
"description": "Problem type the model aims to solve. Determines the type of model-quality metrics that will be computed.",
|
||||||
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/catalog.MonitorInferenceLogProblemType",
|
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/catalog.MonitorInferenceLogProblemType"
|
||||||
"enum": [
|
|
||||||
"PROBLEM_TYPE_CLASSIFICATION",
|
|
||||||
"PROBLEM_TYPE_REGRESSION"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"timestamp_col": {
|
"timestamp_col": {
|
||||||
"description": "Column that contains the timestamps of requests. The column must be one of the following:\n- A ``TimestampType`` column\n- A column whose values can be converted to timestamps through the pyspark\n ``to_timestamp`` [function](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.to_timestamp.html).\n",
|
"description": "Column that contains the timestamps of requests. The column must be one of the following:\n- A ``TimestampType`` column\n- A column whose values can be converted to timestamps through the pyspark\n ``to_timestamp`` [function](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.to_timestamp.html).\n",
|
||||||
|
@ -1430,7 +1431,12 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"catalog.MonitorInferenceLogProblemType": {
|
"catalog.MonitorInferenceLogProblemType": {
|
||||||
"type": "string"
|
"type": "string",
|
||||||
|
"description": "Problem type the model aims to solve. Determines the type of model-quality metrics that will be computed.",
|
||||||
|
"enum": [
|
||||||
|
"PROBLEM_TYPE_CLASSIFICATION",
|
||||||
|
"PROBLEM_TYPE_REGRESSION"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"catalog.MonitorMetric": {
|
"catalog.MonitorMetric": {
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
|
@ -1455,12 +1461,7 @@
|
||||||
},
|
},
|
||||||
"type": {
|
"type": {
|
||||||
"description": "Can only be one of ``\"CUSTOM_METRIC_TYPE_AGGREGATE\"``, ``\"CUSTOM_METRIC_TYPE_DERIVED\"``, or ``\"CUSTOM_METRIC_TYPE_DRIFT\"``.\nThe ``\"CUSTOM_METRIC_TYPE_AGGREGATE\"`` and ``\"CUSTOM_METRIC_TYPE_DERIVED\"`` metrics\nare computed on a single table, whereas the ``\"CUSTOM_METRIC_TYPE_DRIFT\"`` compare metrics across\nbaseline and input table, or across the two consecutive time windows.\n- CUSTOM_METRIC_TYPE_AGGREGATE: only depend on the existing columns in your table\n- CUSTOM_METRIC_TYPE_DERIVED: depend on previously computed aggregate metrics\n- CUSTOM_METRIC_TYPE_DRIFT: depend on previously computed aggregate or derived metrics\n",
|
"description": "Can only be one of ``\"CUSTOM_METRIC_TYPE_AGGREGATE\"``, ``\"CUSTOM_METRIC_TYPE_DERIVED\"``, or ``\"CUSTOM_METRIC_TYPE_DRIFT\"``.\nThe ``\"CUSTOM_METRIC_TYPE_AGGREGATE\"`` and ``\"CUSTOM_METRIC_TYPE_DERIVED\"`` metrics\nare computed on a single table, whereas the ``\"CUSTOM_METRIC_TYPE_DRIFT\"`` compare metrics across\nbaseline and input table, or across the two consecutive time windows.\n- CUSTOM_METRIC_TYPE_AGGREGATE: only depend on the existing columns in your table\n- CUSTOM_METRIC_TYPE_DERIVED: depend on previously computed aggregate metrics\n- CUSTOM_METRIC_TYPE_DRIFT: depend on previously computed aggregate or derived metrics\n",
|
||||||
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/catalog.MonitorMetricType",
|
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/catalog.MonitorMetricType"
|
||||||
"enum": [
|
|
||||||
"CUSTOM_METRIC_TYPE_AGGREGATE",
|
|
||||||
"CUSTOM_METRIC_TYPE_DERIVED",
|
|
||||||
"CUSTOM_METRIC_TYPE_DRIFT"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
|
@ -1479,7 +1480,13 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"catalog.MonitorMetricType": {
|
"catalog.MonitorMetricType": {
|
||||||
"type": "string"
|
"type": "string",
|
||||||
|
"description": "Can only be one of ``\"CUSTOM_METRIC_TYPE_AGGREGATE\"``, ``\"CUSTOM_METRIC_TYPE_DERIVED\"``, or ``\"CUSTOM_METRIC_TYPE_DRIFT\"``.\nThe ``\"CUSTOM_METRIC_TYPE_AGGREGATE\"`` and ``\"CUSTOM_METRIC_TYPE_DERIVED\"`` metrics\nare computed on a single table, whereas the ``\"CUSTOM_METRIC_TYPE_DRIFT\"`` compare metrics across\nbaseline and input table, or across the two consecutive time windows.\n- CUSTOM_METRIC_TYPE_AGGREGATE: only depend on the existing columns in your table\n- CUSTOM_METRIC_TYPE_DERIVED: depend on previously computed aggregate metrics\n- CUSTOM_METRIC_TYPE_DRIFT: depend on previously computed aggregate or derived metrics\n",
|
||||||
|
"enum": [
|
||||||
|
"CUSTOM_METRIC_TYPE_AGGREGATE",
|
||||||
|
"CUSTOM_METRIC_TYPE_DERIVED",
|
||||||
|
"CUSTOM_METRIC_TYPE_DRIFT"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"catalog.MonitorNotifications": {
|
"catalog.MonitorNotifications": {
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
|
@ -3980,15 +3987,15 @@
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"report": {
|
"report": {
|
||||||
"description": "Select tables from a specific source report.",
|
"description": "Select a specific source report.",
|
||||||
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.ReportSpec"
|
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.ReportSpec"
|
||||||
},
|
},
|
||||||
"schema": {
|
"schema": {
|
||||||
"description": "Select tables from a specific source schema.",
|
"description": "Select all tables from a specific source schema.",
|
||||||
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.SchemaSpec"
|
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.SchemaSpec"
|
||||||
},
|
},
|
||||||
"table": {
|
"table": {
|
||||||
"description": "Select tables from a specific source table.",
|
"description": "Select a specific source table.",
|
||||||
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.TableSpec"
|
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.TableSpec"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -4006,7 +4013,11 @@
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"connection_id": {
|
"connection_id": {
|
||||||
"description": "Immutable. The Unity Catalog connection this gateway pipeline uses to communicate with the source.",
|
"description": "[Deprecated, use connection_name instead] Immutable. The Unity Catalog connection that this gateway pipeline uses to communicate with the source.",
|
||||||
|
"$ref": "#/$defs/string"
|
||||||
|
},
|
||||||
|
"connection_name": {
|
||||||
|
"description": "Immutable. The Unity Catalog connection that this gateway pipeline uses to communicate with the source.",
|
||||||
"$ref": "#/$defs/string"
|
"$ref": "#/$defs/string"
|
||||||
},
|
},
|
||||||
"gateway_storage_catalog": {
|
"gateway_storage_catalog": {
|
||||||
|
@ -4036,11 +4047,11 @@
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"connection_name": {
|
"connection_name": {
|
||||||
"description": "Immutable. The Unity Catalog connection this ingestion pipeline uses to communicate with the source. Specify either ingestion_gateway_id or connection_name.",
|
"description": "Immutable. The Unity Catalog connection that this ingestion pipeline uses to communicate with the source. This is used with connectors for applications like Salesforce, Workday, and so on.",
|
||||||
"$ref": "#/$defs/string"
|
"$ref": "#/$defs/string"
|
||||||
},
|
},
|
||||||
"ingestion_gateway_id": {
|
"ingestion_gateway_id": {
|
||||||
"description": "Immutable. Identifier for the ingestion gateway used by this ingestion pipeline to communicate with the source. Specify either ingestion_gateway_id or connection_name.",
|
"description": "Immutable. Identifier for the gateway that is used by this ingestion pipeline to communicate with the source database. This is used with connectors to databases like SQL Server.",
|
||||||
"$ref": "#/$defs/string"
|
"$ref": "#/$defs/string"
|
||||||
},
|
},
|
||||||
"objects": {
|
"objects": {
|
||||||
|
@ -4350,6 +4361,47 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"pipelines.RestartWindow": {
|
||||||
|
"anyOf": [
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"days_of_week": {
|
||||||
|
"description": "Days of week in which the restart is allowed to happen (within a five-hour window starting at start_hour).\nIf not specified all days of the week will be used.",
|
||||||
|
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/pipelines.RestartWindowDaysOfWeek",
|
||||||
|
"enum": [
|
||||||
|
"MONDAY",
|
||||||
|
"TUESDAY",
|
||||||
|
"WEDNESDAY",
|
||||||
|
"THURSDAY",
|
||||||
|
"FRIDAY",
|
||||||
|
"SATURDAY",
|
||||||
|
"SUNDAY"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"start_hour": {
|
||||||
|
"description": "An integer between 0 and 23 denoting the start hour for the restart window in the 24-hour day.\nContinuous pipeline restart is triggered only within a five-hour window starting at this hour.",
|
||||||
|
"$ref": "#/$defs/int"
|
||||||
|
},
|
||||||
|
"time_zone_id": {
|
||||||
|
"description": "Time zone id of restart window. See https://docs.databricks.com/sql/language-manual/sql-ref-syntax-aux-conf-mgmt-set-timezone.html for details.\nIf not specified, UTC will be used.",
|
||||||
|
"$ref": "#/$defs/string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"additionalProperties": false,
|
||||||
|
"required": [
|
||||||
|
"start_hour"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "string",
|
||||||
|
"pattern": "\\$\\{(var(\\.[a-zA-Z]+([-_]?[a-zA-Z0-9]+)*(\\[[0-9]+\\])*)+)\\}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"pipelines.RestartWindowDaysOfWeek": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
"pipelines.SchemaSpec": {
|
"pipelines.SchemaSpec": {
|
||||||
"anyOf": [
|
"anyOf": [
|
||||||
{
|
{
|
||||||
|
|
|
@ -421,6 +421,7 @@ func newUpdate() *cobra.Command {
|
||||||
cmd.Flags().StringVar(&updateReq.ManagedServicesCustomerManagedKeyId, "managed-services-customer-managed-key-id", updateReq.ManagedServicesCustomerManagedKeyId, `The ID of the workspace's managed services encryption key configuration object.`)
|
cmd.Flags().StringVar(&updateReq.ManagedServicesCustomerManagedKeyId, "managed-services-customer-managed-key-id", updateReq.ManagedServicesCustomerManagedKeyId, `The ID of the workspace's managed services encryption key configuration object.`)
|
||||||
cmd.Flags().StringVar(&updateReq.NetworkConnectivityConfigId, "network-connectivity-config-id", updateReq.NetworkConnectivityConfigId, ``)
|
cmd.Flags().StringVar(&updateReq.NetworkConnectivityConfigId, "network-connectivity-config-id", updateReq.NetworkConnectivityConfigId, ``)
|
||||||
cmd.Flags().StringVar(&updateReq.NetworkId, "network-id", updateReq.NetworkId, `The ID of the workspace's network configuration object.`)
|
cmd.Flags().StringVar(&updateReq.NetworkId, "network-id", updateReq.NetworkId, `The ID of the workspace's network configuration object.`)
|
||||||
|
cmd.Flags().StringVar(&updateReq.PrivateAccessSettingsId, "private-access-settings-id", updateReq.PrivateAccessSettingsId, `The ID of the workspace's private access settings configuration object.`)
|
||||||
cmd.Flags().StringVar(&updateReq.StorageConfigurationId, "storage-configuration-id", updateReq.StorageConfigurationId, `The ID of the workspace's storage configuration object.`)
|
cmd.Flags().StringVar(&updateReq.StorageConfigurationId, "storage-configuration-id", updateReq.StorageConfigurationId, `The ID of the workspace's storage configuration object.`)
|
||||||
cmd.Flags().StringVar(&updateReq.StorageCustomerManagedKeyId, "storage-customer-managed-key-id", updateReq.StorageCustomerManagedKeyId, `The ID of the key configuration object for workspace storage.`)
|
cmd.Flags().StringVar(&updateReq.StorageCustomerManagedKeyId, "storage-customer-managed-key-id", updateReq.StorageCustomerManagedKeyId, `The ID of the key configuration object for workspace storage.`)
|
||||||
|
|
||||||
|
|
|
@ -81,7 +81,6 @@ func newCreate() *cobra.Command {
|
||||||
// TODO: complex arg: active_deployment
|
// TODO: complex arg: active_deployment
|
||||||
// TODO: complex arg: app_status
|
// TODO: complex arg: app_status
|
||||||
// TODO: complex arg: compute_status
|
// TODO: complex arg: compute_status
|
||||||
cmd.Flags().StringVar(&createReq.App.DefaultSourceCodePath, "default-source-code-path", createReq.App.DefaultSourceCodePath, `The default workspace file system path of the source code from which app deployment are created.`)
|
|
||||||
cmd.Flags().StringVar(&createReq.App.Description, "description", createReq.App.Description, `The description of the app.`)
|
cmd.Flags().StringVar(&createReq.App.Description, "description", createReq.App.Description, `The description of the app.`)
|
||||||
// TODO: complex arg: pending_deployment
|
// TODO: complex arg: pending_deployment
|
||||||
// TODO: array: resources
|
// TODO: array: resources
|
||||||
|
@ -701,8 +700,9 @@ func newSetPermissions() *cobra.Command {
|
||||||
cmd.Short = `Set app permissions.`
|
cmd.Short = `Set app permissions.`
|
||||||
cmd.Long = `Set app permissions.
|
cmd.Long = `Set app permissions.
|
||||||
|
|
||||||
Sets permissions on an app. Apps can inherit permissions from their root
|
Sets permissions on an object, replacing existing permissions if they exist.
|
||||||
object.
|
Deletes all direct permissions if none are specified. Objects can inherit
|
||||||
|
permissions from their root object.
|
||||||
|
|
||||||
Arguments:
|
Arguments:
|
||||||
APP_NAME: The app for which to get or manage permissions.`
|
APP_NAME: The app for which to get or manage permissions.`
|
||||||
|
@ -938,7 +938,6 @@ func newUpdate() *cobra.Command {
|
||||||
// TODO: complex arg: active_deployment
|
// TODO: complex arg: active_deployment
|
||||||
// TODO: complex arg: app_status
|
// TODO: complex arg: app_status
|
||||||
// TODO: complex arg: compute_status
|
// TODO: complex arg: compute_status
|
||||||
cmd.Flags().StringVar(&updateReq.App.DefaultSourceCodePath, "default-source-code-path", updateReq.App.DefaultSourceCodePath, `The default workspace file system path of the source code from which app deployment are created.`)
|
|
||||||
cmd.Flags().StringVar(&updateReq.App.Description, "description", updateReq.App.Description, `The description of the app.`)
|
cmd.Flags().StringVar(&updateReq.App.Description, "description", updateReq.App.Description, `The description of the app.`)
|
||||||
// TODO: complex arg: pending_deployment
|
// TODO: complex arg: pending_deployment
|
||||||
// TODO: array: resources
|
// TODO: array: resources
|
||||||
|
|
|
@ -0,0 +1,67 @@
|
||||||
|
package apps
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"github.com/databricks/cli/cmd/root"
|
||||||
|
"github.com/databricks/cli/libs/cmdio"
|
||||||
|
"github.com/databricks/cli/libs/flags"
|
||||||
|
"github.com/databricks/databricks-sdk-go/service/apps"
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
// We override apps.Update command beccause currently genkit does not support
|
||||||
|
// a way to identify that path field (such as name) matches the field in the request body.
|
||||||
|
// As a result, genkit generates a command with 2 required same fields, update NAME NAME.
|
||||||
|
// This override should be removed when genkit supports this.
|
||||||
|
func updateOverride(cmd *cobra.Command, req *apps.UpdateAppRequest) {
|
||||||
|
cmd.Use = "update NAME"
|
||||||
|
cmd.Long = `Update an app.
|
||||||
|
|
||||||
|
Updates the app with the supplied name.
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
NAME: The name of the app. The name must contain only lowercase alphanumeric
|
||||||
|
characters and hyphens. It must be unique within the workspace.`
|
||||||
|
|
||||||
|
cmd.Args = func(cmd *cobra.Command, args []string) error {
|
||||||
|
if cmd.Flags().Changed("json") {
|
||||||
|
err := root.ExactArgs(0)(cmd, args)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("when --json flag is specified, no positional arguments are required. Provide 'name' in your JSON input")
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
check := root.ExactArgs(1)
|
||||||
|
return check(cmd, args)
|
||||||
|
}
|
||||||
|
|
||||||
|
updateJson := cmd.Flag("json").Value.(*flags.JsonFlag)
|
||||||
|
cmd.RunE = func(cmd *cobra.Command, args []string) (err error) {
|
||||||
|
ctx := cmd.Context()
|
||||||
|
w := root.WorkspaceClient(ctx)
|
||||||
|
|
||||||
|
if cmd.Flags().Changed("json") {
|
||||||
|
diags := updateJson.Unmarshal(&req.App)
|
||||||
|
if diags.HasError() {
|
||||||
|
return diags.Error()
|
||||||
|
}
|
||||||
|
if len(diags) > 0 {
|
||||||
|
err := cmdio.RenderDiagnosticsToErrorOut(ctx, diags)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
req.Name = args[0]
|
||||||
|
response, err := w.Apps.Update(ctx, *req)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return cmdio.Render(ctx, response)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
updateOverrides = append(updateOverrides, updateOverride)
|
||||||
|
}
|
|
@ -1,385 +0,0 @@
|
||||||
// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
|
|
||||||
|
|
||||||
package clean_rooms
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
|
|
||||||
"github.com/databricks/cli/cmd/root"
|
|
||||||
"github.com/databricks/cli/libs/cmdio"
|
|
||||||
"github.com/databricks/cli/libs/flags"
|
|
||||||
"github.com/databricks/databricks-sdk-go/service/sharing"
|
|
||||||
"github.com/spf13/cobra"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Slice with functions to override default command behavior.
|
|
||||||
// Functions can be added from the `init()` function in manually curated files in this directory.
|
|
||||||
var cmdOverrides []func(*cobra.Command)
|
|
||||||
|
|
||||||
func New() *cobra.Command {
|
|
||||||
cmd := &cobra.Command{
|
|
||||||
Use: "clean-rooms",
|
|
||||||
Short: `A clean room is a secure, privacy-protecting environment where two or more parties can share sensitive enterprise data, including customer data, for measurements, insights, activation and other use cases.`,
|
|
||||||
Long: `A clean room is a secure, privacy-protecting environment where two or more
|
|
||||||
parties can share sensitive enterprise data, including customer data, for
|
|
||||||
measurements, insights, activation and other use cases.
|
|
||||||
|
|
||||||
To create clean rooms, you must be a metastore admin or a user with the
|
|
||||||
**CREATE_CLEAN_ROOM** privilege.`,
|
|
||||||
GroupID: "sharing",
|
|
||||||
Annotations: map[string]string{
|
|
||||||
"package": "sharing",
|
|
||||||
},
|
|
||||||
|
|
||||||
// This service is being previewed; hide from help output.
|
|
||||||
Hidden: true,
|
|
||||||
}
|
|
||||||
|
|
||||||
// Add methods
|
|
||||||
cmd.AddCommand(newCreate())
|
|
||||||
cmd.AddCommand(newDelete())
|
|
||||||
cmd.AddCommand(newGet())
|
|
||||||
cmd.AddCommand(newList())
|
|
||||||
cmd.AddCommand(newUpdate())
|
|
||||||
|
|
||||||
// Apply optional overrides to this command.
|
|
||||||
for _, fn := range cmdOverrides {
|
|
||||||
fn(cmd)
|
|
||||||
}
|
|
||||||
|
|
||||||
return cmd
|
|
||||||
}
|
|
||||||
|
|
||||||
// start create command
|
|
||||||
|
|
||||||
// Slice with functions to override default command behavior.
|
|
||||||
// Functions can be added from the `init()` function in manually curated files in this directory.
|
|
||||||
var createOverrides []func(
|
|
||||||
*cobra.Command,
|
|
||||||
*sharing.CreateCleanRoom,
|
|
||||||
)
|
|
||||||
|
|
||||||
func newCreate() *cobra.Command {
|
|
||||||
cmd := &cobra.Command{}
|
|
||||||
|
|
||||||
var createReq sharing.CreateCleanRoom
|
|
||||||
var createJson flags.JsonFlag
|
|
||||||
|
|
||||||
// TODO: short flags
|
|
||||||
cmd.Flags().Var(&createJson, "json", `either inline JSON string or @path/to/file.json with request body`)
|
|
||||||
|
|
||||||
cmd.Flags().StringVar(&createReq.Comment, "comment", createReq.Comment, `User-provided free-form text description.`)
|
|
||||||
|
|
||||||
cmd.Use = "create"
|
|
||||||
cmd.Short = `Create a clean room.`
|
|
||||||
cmd.Long = `Create a clean room.
|
|
||||||
|
|
||||||
Creates a new clean room with specified colaborators. The caller must be a
|
|
||||||
metastore admin or have the **CREATE_CLEAN_ROOM** privilege on the metastore.`
|
|
||||||
|
|
||||||
cmd.Annotations = make(map[string]string)
|
|
||||||
|
|
||||||
cmd.PreRunE = root.MustWorkspaceClient
|
|
||||||
cmd.RunE = func(cmd *cobra.Command, args []string) (err error) {
|
|
||||||
ctx := cmd.Context()
|
|
||||||
w := root.WorkspaceClient(ctx)
|
|
||||||
|
|
||||||
if cmd.Flags().Changed("json") {
|
|
||||||
diags := createJson.Unmarshal(&createReq)
|
|
||||||
if diags.HasError() {
|
|
||||||
return diags.Error()
|
|
||||||
}
|
|
||||||
if len(diags) > 0 {
|
|
||||||
err := cmdio.RenderDiagnosticsToErrorOut(ctx, diags)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
return fmt.Errorf("please provide command input in JSON format by specifying the --json flag")
|
|
||||||
}
|
|
||||||
|
|
||||||
response, err := w.CleanRooms.Create(ctx, createReq)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return cmdio.Render(ctx, response)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Disable completions since they are not applicable.
|
|
||||||
// Can be overridden by manual implementation in `override.go`.
|
|
||||||
cmd.ValidArgsFunction = cobra.NoFileCompletions
|
|
||||||
|
|
||||||
// Apply optional overrides to this command.
|
|
||||||
for _, fn := range createOverrides {
|
|
||||||
fn(cmd, &createReq)
|
|
||||||
}
|
|
||||||
|
|
||||||
return cmd
|
|
||||||
}
|
|
||||||
|
|
||||||
// start delete command
|
|
||||||
|
|
||||||
// Slice with functions to override default command behavior.
|
|
||||||
// Functions can be added from the `init()` function in manually curated files in this directory.
|
|
||||||
var deleteOverrides []func(
|
|
||||||
*cobra.Command,
|
|
||||||
*sharing.DeleteCleanRoomRequest,
|
|
||||||
)
|
|
||||||
|
|
||||||
func newDelete() *cobra.Command {
|
|
||||||
cmd := &cobra.Command{}
|
|
||||||
|
|
||||||
var deleteReq sharing.DeleteCleanRoomRequest
|
|
||||||
|
|
||||||
// TODO: short flags
|
|
||||||
|
|
||||||
cmd.Use = "delete NAME"
|
|
||||||
cmd.Short = `Delete a clean room.`
|
|
||||||
cmd.Long = `Delete a clean room.
|
|
||||||
|
|
||||||
Deletes a data object clean room from the metastore. The caller must be an
|
|
||||||
owner of the clean room.
|
|
||||||
|
|
||||||
Arguments:
|
|
||||||
NAME: The name of the clean room.`
|
|
||||||
|
|
||||||
cmd.Annotations = make(map[string]string)
|
|
||||||
|
|
||||||
cmd.Args = func(cmd *cobra.Command, args []string) error {
|
|
||||||
check := root.ExactArgs(1)
|
|
||||||
return check(cmd, args)
|
|
||||||
}
|
|
||||||
|
|
||||||
cmd.PreRunE = root.MustWorkspaceClient
|
|
||||||
cmd.RunE = func(cmd *cobra.Command, args []string) (err error) {
|
|
||||||
ctx := cmd.Context()
|
|
||||||
w := root.WorkspaceClient(ctx)
|
|
||||||
|
|
||||||
deleteReq.Name = args[0]
|
|
||||||
|
|
||||||
err = w.CleanRooms.Delete(ctx, deleteReq)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Disable completions since they are not applicable.
|
|
||||||
// Can be overridden by manual implementation in `override.go`.
|
|
||||||
cmd.ValidArgsFunction = cobra.NoFileCompletions
|
|
||||||
|
|
||||||
// Apply optional overrides to this command.
|
|
||||||
for _, fn := range deleteOverrides {
|
|
||||||
fn(cmd, &deleteReq)
|
|
||||||
}
|
|
||||||
|
|
||||||
return cmd
|
|
||||||
}
|
|
||||||
|
|
||||||
// start get command
|
|
||||||
|
|
||||||
// Slice with functions to override default command behavior.
|
|
||||||
// Functions can be added from the `init()` function in manually curated files in this directory.
|
|
||||||
var getOverrides []func(
|
|
||||||
*cobra.Command,
|
|
||||||
*sharing.GetCleanRoomRequest,
|
|
||||||
)
|
|
||||||
|
|
||||||
func newGet() *cobra.Command {
|
|
||||||
cmd := &cobra.Command{}
|
|
||||||
|
|
||||||
var getReq sharing.GetCleanRoomRequest
|
|
||||||
|
|
||||||
// TODO: short flags
|
|
||||||
|
|
||||||
cmd.Flags().BoolVar(&getReq.IncludeRemoteDetails, "include-remote-details", getReq.IncludeRemoteDetails, `Whether to include remote details (central) on the clean room.`)
|
|
||||||
|
|
||||||
cmd.Use = "get NAME"
|
|
||||||
cmd.Short = `Get a clean room.`
|
|
||||||
cmd.Long = `Get a clean room.
|
|
||||||
|
|
||||||
Gets a data object clean room from the metastore. The caller must be a
|
|
||||||
metastore admin or the owner of the clean room.
|
|
||||||
|
|
||||||
Arguments:
|
|
||||||
NAME: The name of the clean room.`
|
|
||||||
|
|
||||||
cmd.Annotations = make(map[string]string)
|
|
||||||
|
|
||||||
cmd.Args = func(cmd *cobra.Command, args []string) error {
|
|
||||||
check := root.ExactArgs(1)
|
|
||||||
return check(cmd, args)
|
|
||||||
}
|
|
||||||
|
|
||||||
cmd.PreRunE = root.MustWorkspaceClient
|
|
||||||
cmd.RunE = func(cmd *cobra.Command, args []string) (err error) {
|
|
||||||
ctx := cmd.Context()
|
|
||||||
w := root.WorkspaceClient(ctx)
|
|
||||||
|
|
||||||
getReq.Name = args[0]
|
|
||||||
|
|
||||||
response, err := w.CleanRooms.Get(ctx, getReq)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return cmdio.Render(ctx, response)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Disable completions since they are not applicable.
|
|
||||||
// Can be overridden by manual implementation in `override.go`.
|
|
||||||
cmd.ValidArgsFunction = cobra.NoFileCompletions
|
|
||||||
|
|
||||||
// Apply optional overrides to this command.
|
|
||||||
for _, fn := range getOverrides {
|
|
||||||
fn(cmd, &getReq)
|
|
||||||
}
|
|
||||||
|
|
||||||
return cmd
|
|
||||||
}
|
|
||||||
|
|
||||||
// start list command
|
|
||||||
|
|
||||||
// Slice with functions to override default command behavior.
|
|
||||||
// Functions can be added from the `init()` function in manually curated files in this directory.
|
|
||||||
var listOverrides []func(
|
|
||||||
*cobra.Command,
|
|
||||||
*sharing.ListCleanRoomsRequest,
|
|
||||||
)
|
|
||||||
|
|
||||||
func newList() *cobra.Command {
|
|
||||||
cmd := &cobra.Command{}
|
|
||||||
|
|
||||||
var listReq sharing.ListCleanRoomsRequest
|
|
||||||
|
|
||||||
// TODO: short flags
|
|
||||||
|
|
||||||
cmd.Flags().IntVar(&listReq.MaxResults, "max-results", listReq.MaxResults, `Maximum number of clean rooms to return.`)
|
|
||||||
cmd.Flags().StringVar(&listReq.PageToken, "page-token", listReq.PageToken, `Opaque pagination token to go to next page based on previous query.`)
|
|
||||||
|
|
||||||
cmd.Use = "list"
|
|
||||||
cmd.Short = `List clean rooms.`
|
|
||||||
cmd.Long = `List clean rooms.
|
|
||||||
|
|
||||||
Gets an array of data object clean rooms from the metastore. The caller must
|
|
||||||
be a metastore admin or the owner of the clean room. There is no guarantee of
|
|
||||||
a specific ordering of the elements in the array.`
|
|
||||||
|
|
||||||
cmd.Annotations = make(map[string]string)
|
|
||||||
|
|
||||||
cmd.Args = func(cmd *cobra.Command, args []string) error {
|
|
||||||
check := root.ExactArgs(0)
|
|
||||||
return check(cmd, args)
|
|
||||||
}
|
|
||||||
|
|
||||||
cmd.PreRunE = root.MustWorkspaceClient
|
|
||||||
cmd.RunE = func(cmd *cobra.Command, args []string) (err error) {
|
|
||||||
ctx := cmd.Context()
|
|
||||||
w := root.WorkspaceClient(ctx)
|
|
||||||
|
|
||||||
response := w.CleanRooms.List(ctx, listReq)
|
|
||||||
return cmdio.RenderIterator(ctx, response)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Disable completions since they are not applicable.
|
|
||||||
// Can be overridden by manual implementation in `override.go`.
|
|
||||||
cmd.ValidArgsFunction = cobra.NoFileCompletions
|
|
||||||
|
|
||||||
// Apply optional overrides to this command.
|
|
||||||
for _, fn := range listOverrides {
|
|
||||||
fn(cmd, &listReq)
|
|
||||||
}
|
|
||||||
|
|
||||||
return cmd
|
|
||||||
}
|
|
||||||
|
|
||||||
// start update command
|
|
||||||
|
|
||||||
// Slice with functions to override default command behavior.
|
|
||||||
// Functions can be added from the `init()` function in manually curated files in this directory.
|
|
||||||
var updateOverrides []func(
|
|
||||||
*cobra.Command,
|
|
||||||
*sharing.UpdateCleanRoom,
|
|
||||||
)
|
|
||||||
|
|
||||||
func newUpdate() *cobra.Command {
|
|
||||||
cmd := &cobra.Command{}
|
|
||||||
|
|
||||||
var updateReq sharing.UpdateCleanRoom
|
|
||||||
var updateJson flags.JsonFlag
|
|
||||||
|
|
||||||
// TODO: short flags
|
|
||||||
cmd.Flags().Var(&updateJson, "json", `either inline JSON string or @path/to/file.json with request body`)
|
|
||||||
|
|
||||||
// TODO: array: catalog_updates
|
|
||||||
cmd.Flags().StringVar(&updateReq.Comment, "comment", updateReq.Comment, `User-provided free-form text description.`)
|
|
||||||
cmd.Flags().StringVar(&updateReq.Owner, "owner", updateReq.Owner, `Username of current owner of clean room.`)
|
|
||||||
|
|
||||||
cmd.Use = "update NAME"
|
|
||||||
cmd.Short = `Update a clean room.`
|
|
||||||
cmd.Long = `Update a clean room.
|
|
||||||
|
|
||||||
Updates the clean room with the changes and data objects in the request. The
|
|
||||||
caller must be the owner of the clean room or a metastore admin.
|
|
||||||
|
|
||||||
When the caller is a metastore admin, only the __owner__ field can be updated.
|
|
||||||
|
|
||||||
In the case that the clean room name is changed **updateCleanRoom** requires
|
|
||||||
that the caller is both the clean room owner and a metastore admin.
|
|
||||||
|
|
||||||
For each table that is added through this method, the clean room owner must
|
|
||||||
also have **SELECT** privilege on the table. The privilege must be maintained
|
|
||||||
indefinitely for recipients to be able to access the table. Typically, you
|
|
||||||
should use a group as the clean room owner.
|
|
||||||
|
|
||||||
Table removals through **update** do not require additional privileges.
|
|
||||||
|
|
||||||
Arguments:
|
|
||||||
NAME: The name of the clean room.`
|
|
||||||
|
|
||||||
cmd.Annotations = make(map[string]string)
|
|
||||||
|
|
||||||
cmd.Args = func(cmd *cobra.Command, args []string) error {
|
|
||||||
check := root.ExactArgs(1)
|
|
||||||
return check(cmd, args)
|
|
||||||
}
|
|
||||||
|
|
||||||
cmd.PreRunE = root.MustWorkspaceClient
|
|
||||||
cmd.RunE = func(cmd *cobra.Command, args []string) (err error) {
|
|
||||||
ctx := cmd.Context()
|
|
||||||
w := root.WorkspaceClient(ctx)
|
|
||||||
|
|
||||||
if cmd.Flags().Changed("json") {
|
|
||||||
diags := updateJson.Unmarshal(&updateReq)
|
|
||||||
if diags.HasError() {
|
|
||||||
return diags.Error()
|
|
||||||
}
|
|
||||||
if len(diags) > 0 {
|
|
||||||
err := cmdio.RenderDiagnosticsToErrorOut(ctx, diags)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
updateReq.Name = args[0]
|
|
||||||
|
|
||||||
response, err := w.CleanRooms.Update(ctx, updateReq)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return cmdio.Render(ctx, response)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Disable completions since they are not applicable.
|
|
||||||
// Can be overridden by manual implementation in `override.go`.
|
|
||||||
cmd.ValidArgsFunction = cobra.NoFileCompletions
|
|
||||||
|
|
||||||
// Apply optional overrides to this command.
|
|
||||||
for _, fn := range updateOverrides {
|
|
||||||
fn(cmd, &updateReq)
|
|
||||||
}
|
|
||||||
|
|
||||||
return cmd
|
|
||||||
}
|
|
||||||
|
|
||||||
// end service CleanRooms
|
|
|
@ -634,8 +634,9 @@ func newSetPermissions() *cobra.Command {
|
||||||
cmd.Short = `Set cluster policy permissions.`
|
cmd.Short = `Set cluster policy permissions.`
|
||||||
cmd.Long = `Set cluster policy permissions.
|
cmd.Long = `Set cluster policy permissions.
|
||||||
|
|
||||||
Sets permissions on a cluster policy. Cluster policies can inherit permissions
|
Sets permissions on an object, replacing existing permissions if they exist.
|
||||||
from their root object.
|
Deletes all direct permissions if none are specified. Objects can inherit
|
||||||
|
permissions from their root object.
|
||||||
|
|
||||||
Arguments:
|
Arguments:
|
||||||
CLUSTER_POLICY_ID: The cluster policy for which to get or manage permissions.`
|
CLUSTER_POLICY_ID: The cluster policy for which to get or manage permissions.`
|
||||||
|
|
|
@ -512,7 +512,7 @@ func newEdit() *cobra.Command {
|
||||||
Clusters created by the Databricks Jobs service cannot be edited.
|
Clusters created by the Databricks Jobs service cannot be edited.
|
||||||
|
|
||||||
Arguments:
|
Arguments:
|
||||||
CLUSTER_ID: ID of the cluser
|
CLUSTER_ID: ID of the cluster
|
||||||
SPARK_VERSION: The Spark version of the cluster, e.g. 3.3.x-scala2.11. A list of
|
SPARK_VERSION: The Spark version of the cluster, e.g. 3.3.x-scala2.11. A list of
|
||||||
available Spark versions can be retrieved by using the
|
available Spark versions can be retrieved by using the
|
||||||
:method:clusters/sparkVersions API call.`
|
:method:clusters/sparkVersions API call.`
|
||||||
|
@ -1504,8 +1504,9 @@ func newSetPermissions() *cobra.Command {
|
||||||
cmd.Short = `Set cluster permissions.`
|
cmd.Short = `Set cluster permissions.`
|
||||||
cmd.Long = `Set cluster permissions.
|
cmd.Long = `Set cluster permissions.
|
||||||
|
|
||||||
Sets permissions on a cluster. Clusters can inherit permissions from their
|
Sets permissions on an object, replacing existing permissions if they exist.
|
||||||
root object.
|
Deletes all direct permissions if none are specified. Objects can inherit
|
||||||
|
permissions from their root object.
|
||||||
|
|
||||||
Arguments:
|
Arguments:
|
||||||
CLUSTER_ID: The cluster for which to get or manage permissions.`
|
CLUSTER_ID: The cluster for which to get or manage permissions.`
|
||||||
|
|
|
@ -8,7 +8,6 @@ import (
|
||||||
apps "github.com/databricks/cli/cmd/workspace/apps"
|
apps "github.com/databricks/cli/cmd/workspace/apps"
|
||||||
artifact_allowlists "github.com/databricks/cli/cmd/workspace/artifact-allowlists"
|
artifact_allowlists "github.com/databricks/cli/cmd/workspace/artifact-allowlists"
|
||||||
catalogs "github.com/databricks/cli/cmd/workspace/catalogs"
|
catalogs "github.com/databricks/cli/cmd/workspace/catalogs"
|
||||||
clean_rooms "github.com/databricks/cli/cmd/workspace/clean-rooms"
|
|
||||||
cluster_policies "github.com/databricks/cli/cmd/workspace/cluster-policies"
|
cluster_policies "github.com/databricks/cli/cmd/workspace/cluster-policies"
|
||||||
clusters "github.com/databricks/cli/cmd/workspace/clusters"
|
clusters "github.com/databricks/cli/cmd/workspace/clusters"
|
||||||
connections "github.com/databricks/cli/cmd/workspace/connections"
|
connections "github.com/databricks/cli/cmd/workspace/connections"
|
||||||
|
@ -17,6 +16,7 @@ import (
|
||||||
consumer_listings "github.com/databricks/cli/cmd/workspace/consumer-listings"
|
consumer_listings "github.com/databricks/cli/cmd/workspace/consumer-listings"
|
||||||
consumer_personalization_requests "github.com/databricks/cli/cmd/workspace/consumer-personalization-requests"
|
consumer_personalization_requests "github.com/databricks/cli/cmd/workspace/consumer-personalization-requests"
|
||||||
consumer_providers "github.com/databricks/cli/cmd/workspace/consumer-providers"
|
consumer_providers "github.com/databricks/cli/cmd/workspace/consumer-providers"
|
||||||
|
credentials "github.com/databricks/cli/cmd/workspace/credentials"
|
||||||
credentials_manager "github.com/databricks/cli/cmd/workspace/credentials-manager"
|
credentials_manager "github.com/databricks/cli/cmd/workspace/credentials-manager"
|
||||||
current_user "github.com/databricks/cli/cmd/workspace/current-user"
|
current_user "github.com/databricks/cli/cmd/workspace/current-user"
|
||||||
dashboard_widgets "github.com/databricks/cli/cmd/workspace/dashboard-widgets"
|
dashboard_widgets "github.com/databricks/cli/cmd/workspace/dashboard-widgets"
|
||||||
|
@ -98,7 +98,6 @@ func All() []*cobra.Command {
|
||||||
out = append(out, apps.New())
|
out = append(out, apps.New())
|
||||||
out = append(out, artifact_allowlists.New())
|
out = append(out, artifact_allowlists.New())
|
||||||
out = append(out, catalogs.New())
|
out = append(out, catalogs.New())
|
||||||
out = append(out, clean_rooms.New())
|
|
||||||
out = append(out, cluster_policies.New())
|
out = append(out, cluster_policies.New())
|
||||||
out = append(out, clusters.New())
|
out = append(out, clusters.New())
|
||||||
out = append(out, connections.New())
|
out = append(out, connections.New())
|
||||||
|
@ -107,6 +106,7 @@ func All() []*cobra.Command {
|
||||||
out = append(out, consumer_listings.New())
|
out = append(out, consumer_listings.New())
|
||||||
out = append(out, consumer_personalization_requests.New())
|
out = append(out, consumer_personalization_requests.New())
|
||||||
out = append(out, consumer_providers.New())
|
out = append(out, consumer_providers.New())
|
||||||
|
out = append(out, credentials.New())
|
||||||
out = append(out, credentials_manager.New())
|
out = append(out, credentials_manager.New())
|
||||||
out = append(out, current_user.New())
|
out = append(out, current_user.New())
|
||||||
out = append(out, dashboard_widgets.New())
|
out = append(out, dashboard_widgets.New())
|
||||||
|
|
|
@ -0,0 +1,545 @@
|
||||||
|
// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
|
||||||
|
|
||||||
|
package credentials
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/databricks/cli/cmd/root"
|
||||||
|
"github.com/databricks/cli/libs/cmdio"
|
||||||
|
"github.com/databricks/cli/libs/flags"
|
||||||
|
"github.com/databricks/databricks-sdk-go/service/catalog"
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Slice with functions to override default command behavior.
|
||||||
|
// Functions can be added from the `init()` function in manually curated files in this directory.
|
||||||
|
var cmdOverrides []func(*cobra.Command)
|
||||||
|
|
||||||
|
func New() *cobra.Command {
|
||||||
|
cmd := &cobra.Command{
|
||||||
|
Use: "credentials",
|
||||||
|
Short: `A credential represents an authentication and authorization mechanism for accessing services on your cloud tenant.`,
|
||||||
|
Long: `A credential represents an authentication and authorization mechanism for
|
||||||
|
accessing services on your cloud tenant. Each credential is subject to Unity
|
||||||
|
Catalog access-control policies that control which users and groups can access
|
||||||
|
the credential.
|
||||||
|
|
||||||
|
To create credentials, you must be a Databricks account admin or have the
|
||||||
|
CREATE SERVICE CREDENTIAL privilege. The user who creates the credential can
|
||||||
|
delegate ownership to another user or group to manage permissions on it`,
|
||||||
|
GroupID: "catalog",
|
||||||
|
Annotations: map[string]string{
|
||||||
|
"package": "catalog",
|
||||||
|
},
|
||||||
|
|
||||||
|
// This service is being previewed; hide from help output.
|
||||||
|
Hidden: true,
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add methods
|
||||||
|
cmd.AddCommand(newCreateCredential())
|
||||||
|
cmd.AddCommand(newDeleteCredential())
|
||||||
|
cmd.AddCommand(newGenerateTemporaryServiceCredential())
|
||||||
|
cmd.AddCommand(newGetCredential())
|
||||||
|
cmd.AddCommand(newListCredentials())
|
||||||
|
cmd.AddCommand(newUpdateCredential())
|
||||||
|
cmd.AddCommand(newValidateCredential())
|
||||||
|
|
||||||
|
// Apply optional overrides to this command.
|
||||||
|
for _, fn := range cmdOverrides {
|
||||||
|
fn(cmd)
|
||||||
|
}
|
||||||
|
|
||||||
|
return cmd
|
||||||
|
}
|
||||||
|
|
||||||
|
// start create-credential command
|
||||||
|
|
||||||
|
// Slice with functions to override default command behavior.
|
||||||
|
// Functions can be added from the `init()` function in manually curated files in this directory.
|
||||||
|
var createCredentialOverrides []func(
|
||||||
|
*cobra.Command,
|
||||||
|
*catalog.CreateCredentialRequest,
|
||||||
|
)
|
||||||
|
|
||||||
|
func newCreateCredential() *cobra.Command {
|
||||||
|
cmd := &cobra.Command{}
|
||||||
|
|
||||||
|
var createCredentialReq catalog.CreateCredentialRequest
|
||||||
|
var createCredentialJson flags.JsonFlag
|
||||||
|
|
||||||
|
// TODO: short flags
|
||||||
|
cmd.Flags().Var(&createCredentialJson, "json", `either inline JSON string or @path/to/file.json with request body`)
|
||||||
|
|
||||||
|
// TODO: complex arg: aws_iam_role
|
||||||
|
// TODO: complex arg: azure_managed_identity
|
||||||
|
cmd.Flags().StringVar(&createCredentialReq.Comment, "comment", createCredentialReq.Comment, `Comment associated with the credential.`)
|
||||||
|
cmd.Flags().StringVar(&createCredentialReq.Name, "name", createCredentialReq.Name, `The credential name.`)
|
||||||
|
cmd.Flags().Var(&createCredentialReq.Purpose, "purpose", `Indicates the purpose of the credential. Supported values: [SERVICE]`)
|
||||||
|
cmd.Flags().BoolVar(&createCredentialReq.SkipValidation, "skip-validation", createCredentialReq.SkipValidation, `Optional.`)
|
||||||
|
|
||||||
|
cmd.Use = "create-credential"
|
||||||
|
cmd.Short = `Create a credential.`
|
||||||
|
cmd.Long = `Create a credential.
|
||||||
|
|
||||||
|
Creates a new credential.`
|
||||||
|
|
||||||
|
cmd.Annotations = make(map[string]string)
|
||||||
|
|
||||||
|
cmd.Args = func(cmd *cobra.Command, args []string) error {
|
||||||
|
check := root.ExactArgs(0)
|
||||||
|
return check(cmd, args)
|
||||||
|
}
|
||||||
|
|
||||||
|
cmd.PreRunE = root.MustWorkspaceClient
|
||||||
|
cmd.RunE = func(cmd *cobra.Command, args []string) (err error) {
|
||||||
|
ctx := cmd.Context()
|
||||||
|
w := root.WorkspaceClient(ctx)
|
||||||
|
|
||||||
|
if cmd.Flags().Changed("json") {
|
||||||
|
diags := createCredentialJson.Unmarshal(&createCredentialReq)
|
||||||
|
if diags.HasError() {
|
||||||
|
return diags.Error()
|
||||||
|
}
|
||||||
|
if len(diags) > 0 {
|
||||||
|
err := cmdio.RenderDiagnosticsToErrorOut(ctx, diags)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
response, err := w.Credentials.CreateCredential(ctx, createCredentialReq)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return cmdio.Render(ctx, response)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Disable completions since they are not applicable.
|
||||||
|
// Can be overridden by manual implementation in `override.go`.
|
||||||
|
cmd.ValidArgsFunction = cobra.NoFileCompletions
|
||||||
|
|
||||||
|
// Apply optional overrides to this command.
|
||||||
|
for _, fn := range createCredentialOverrides {
|
||||||
|
fn(cmd, &createCredentialReq)
|
||||||
|
}
|
||||||
|
|
||||||
|
return cmd
|
||||||
|
}
|
||||||
|
|
||||||
|
// start delete-credential command
|
||||||
|
|
||||||
|
// Slice with functions to override default command behavior.
|
||||||
|
// Functions can be added from the `init()` function in manually curated files in this directory.
|
||||||
|
var deleteCredentialOverrides []func(
|
||||||
|
*cobra.Command,
|
||||||
|
*catalog.DeleteCredentialRequest,
|
||||||
|
)
|
||||||
|
|
||||||
|
func newDeleteCredential() *cobra.Command {
|
||||||
|
cmd := &cobra.Command{}
|
||||||
|
|
||||||
|
var deleteCredentialReq catalog.DeleteCredentialRequest
|
||||||
|
|
||||||
|
// TODO: short flags
|
||||||
|
|
||||||
|
cmd.Flags().BoolVar(&deleteCredentialReq.Force, "force", deleteCredentialReq.Force, `Force deletion even if there are dependent services.`)
|
||||||
|
|
||||||
|
cmd.Use = "delete-credential NAME_ARG"
|
||||||
|
cmd.Short = `Delete a credential.`
|
||||||
|
cmd.Long = `Delete a credential.
|
||||||
|
|
||||||
|
Deletes a credential from the metastore. The caller must be an owner of the
|
||||||
|
credential.
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
NAME_ARG: Name of the credential.`
|
||||||
|
|
||||||
|
cmd.Annotations = make(map[string]string)
|
||||||
|
|
||||||
|
cmd.Args = func(cmd *cobra.Command, args []string) error {
|
||||||
|
check := root.ExactArgs(1)
|
||||||
|
return check(cmd, args)
|
||||||
|
}
|
||||||
|
|
||||||
|
cmd.PreRunE = root.MustWorkspaceClient
|
||||||
|
cmd.RunE = func(cmd *cobra.Command, args []string) (err error) {
|
||||||
|
ctx := cmd.Context()
|
||||||
|
w := root.WorkspaceClient(ctx)
|
||||||
|
|
||||||
|
deleteCredentialReq.NameArg = args[0]
|
||||||
|
|
||||||
|
err = w.Credentials.DeleteCredential(ctx, deleteCredentialReq)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Disable completions since they are not applicable.
|
||||||
|
// Can be overridden by manual implementation in `override.go`.
|
||||||
|
cmd.ValidArgsFunction = cobra.NoFileCompletions
|
||||||
|
|
||||||
|
// Apply optional overrides to this command.
|
||||||
|
for _, fn := range deleteCredentialOverrides {
|
||||||
|
fn(cmd, &deleteCredentialReq)
|
||||||
|
}
|
||||||
|
|
||||||
|
return cmd
|
||||||
|
}
|
||||||
|
|
||||||
|
// start generate-temporary-service-credential command
|
||||||
|
|
||||||
|
// Slice with functions to override default command behavior.
|
||||||
|
// Functions can be added from the `init()` function in manually curated files in this directory.
|
||||||
|
var generateTemporaryServiceCredentialOverrides []func(
|
||||||
|
*cobra.Command,
|
||||||
|
*catalog.GenerateTemporaryServiceCredentialRequest,
|
||||||
|
)
|
||||||
|
|
||||||
|
func newGenerateTemporaryServiceCredential() *cobra.Command {
|
||||||
|
cmd := &cobra.Command{}
|
||||||
|
|
||||||
|
var generateTemporaryServiceCredentialReq catalog.GenerateTemporaryServiceCredentialRequest
|
||||||
|
var generateTemporaryServiceCredentialJson flags.JsonFlag
|
||||||
|
|
||||||
|
// TODO: short flags
|
||||||
|
cmd.Flags().Var(&generateTemporaryServiceCredentialJson, "json", `either inline JSON string or @path/to/file.json with request body`)
|
||||||
|
|
||||||
|
// TODO: complex arg: azure_options
|
||||||
|
cmd.Flags().StringVar(&generateTemporaryServiceCredentialReq.CredentialName, "credential-name", generateTemporaryServiceCredentialReq.CredentialName, `The name of the service credential used to generate a temporary credential.`)
|
||||||
|
|
||||||
|
cmd.Use = "generate-temporary-service-credential"
|
||||||
|
cmd.Short = `Generate a temporary service credential.`
|
||||||
|
cmd.Long = `Generate a temporary service credential.
|
||||||
|
|
||||||
|
Returns a set of temporary credentials generated using the specified service
|
||||||
|
credential. The caller must be a metastore admin or have the metastore
|
||||||
|
privilege **ACCESS** on the service credential.`
|
||||||
|
|
||||||
|
cmd.Annotations = make(map[string]string)
|
||||||
|
|
||||||
|
cmd.Args = func(cmd *cobra.Command, args []string) error {
|
||||||
|
check := root.ExactArgs(0)
|
||||||
|
return check(cmd, args)
|
||||||
|
}
|
||||||
|
|
||||||
|
cmd.PreRunE = root.MustWorkspaceClient
|
||||||
|
cmd.RunE = func(cmd *cobra.Command, args []string) (err error) {
|
||||||
|
ctx := cmd.Context()
|
||||||
|
w := root.WorkspaceClient(ctx)
|
||||||
|
|
||||||
|
if cmd.Flags().Changed("json") {
|
||||||
|
diags := generateTemporaryServiceCredentialJson.Unmarshal(&generateTemporaryServiceCredentialReq)
|
||||||
|
if diags.HasError() {
|
||||||
|
return diags.Error()
|
||||||
|
}
|
||||||
|
if len(diags) > 0 {
|
||||||
|
err := cmdio.RenderDiagnosticsToErrorOut(ctx, diags)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
response, err := w.Credentials.GenerateTemporaryServiceCredential(ctx, generateTemporaryServiceCredentialReq)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return cmdio.Render(ctx, response)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Disable completions since they are not applicable.
|
||||||
|
// Can be overridden by manual implementation in `override.go`.
|
||||||
|
cmd.ValidArgsFunction = cobra.NoFileCompletions
|
||||||
|
|
||||||
|
// Apply optional overrides to this command.
|
||||||
|
for _, fn := range generateTemporaryServiceCredentialOverrides {
|
||||||
|
fn(cmd, &generateTemporaryServiceCredentialReq)
|
||||||
|
}
|
||||||
|
|
||||||
|
return cmd
|
||||||
|
}
|
||||||
|
|
||||||
|
// start get-credential command
|
||||||
|
|
||||||
|
// Slice with functions to override default command behavior.
|
||||||
|
// Functions can be added from the `init()` function in manually curated files in this directory.
|
||||||
|
var getCredentialOverrides []func(
|
||||||
|
*cobra.Command,
|
||||||
|
*catalog.GetCredentialRequest,
|
||||||
|
)
|
||||||
|
|
||||||
|
func newGetCredential() *cobra.Command {
|
||||||
|
cmd := &cobra.Command{}
|
||||||
|
|
||||||
|
var getCredentialReq catalog.GetCredentialRequest
|
||||||
|
|
||||||
|
// TODO: short flags
|
||||||
|
|
||||||
|
cmd.Use = "get-credential NAME_ARG"
|
||||||
|
cmd.Short = `Get a credential.`
|
||||||
|
cmd.Long = `Get a credential.
|
||||||
|
|
||||||
|
Gets a credential from the metastore. The caller must be a metastore admin,
|
||||||
|
the owner of the credential, or have any permission on the credential.
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
NAME_ARG: Name of the credential.`
|
||||||
|
|
||||||
|
cmd.Annotations = make(map[string]string)
|
||||||
|
|
||||||
|
cmd.Args = func(cmd *cobra.Command, args []string) error {
|
||||||
|
check := root.ExactArgs(1)
|
||||||
|
return check(cmd, args)
|
||||||
|
}
|
||||||
|
|
||||||
|
cmd.PreRunE = root.MustWorkspaceClient
|
||||||
|
cmd.RunE = func(cmd *cobra.Command, args []string) (err error) {
|
||||||
|
ctx := cmd.Context()
|
||||||
|
w := root.WorkspaceClient(ctx)
|
||||||
|
|
||||||
|
getCredentialReq.NameArg = args[0]
|
||||||
|
|
||||||
|
response, err := w.Credentials.GetCredential(ctx, getCredentialReq)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return cmdio.Render(ctx, response)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Disable completions since they are not applicable.
|
||||||
|
// Can be overridden by manual implementation in `override.go`.
|
||||||
|
cmd.ValidArgsFunction = cobra.NoFileCompletions
|
||||||
|
|
||||||
|
// Apply optional overrides to this command.
|
||||||
|
for _, fn := range getCredentialOverrides {
|
||||||
|
fn(cmd, &getCredentialReq)
|
||||||
|
}
|
||||||
|
|
||||||
|
return cmd
|
||||||
|
}
|
||||||
|
|
||||||
|
// start list-credentials command
|
||||||
|
|
||||||
|
// Slice with functions to override default command behavior.
|
||||||
|
// Functions can be added from the `init()` function in manually curated files in this directory.
|
||||||
|
var listCredentialsOverrides []func(
|
||||||
|
*cobra.Command,
|
||||||
|
*catalog.ListCredentialsRequest,
|
||||||
|
)
|
||||||
|
|
||||||
|
func newListCredentials() *cobra.Command {
|
||||||
|
cmd := &cobra.Command{}
|
||||||
|
|
||||||
|
var listCredentialsReq catalog.ListCredentialsRequest
|
||||||
|
|
||||||
|
// TODO: short flags
|
||||||
|
|
||||||
|
cmd.Flags().IntVar(&listCredentialsReq.MaxResults, "max-results", listCredentialsReq.MaxResults, `Maximum number of credentials to return.`)
|
||||||
|
cmd.Flags().StringVar(&listCredentialsReq.PageToken, "page-token", listCredentialsReq.PageToken, `Opaque token to retrieve the next page of results.`)
|
||||||
|
cmd.Flags().Var(&listCredentialsReq.Purpose, "purpose", `Return only credentials for the specified purpose. Supported values: [SERVICE]`)
|
||||||
|
|
||||||
|
cmd.Use = "list-credentials"
|
||||||
|
cmd.Short = `List credentials.`
|
||||||
|
cmd.Long = `List credentials.
|
||||||
|
|
||||||
|
Gets an array of credentials (as __CredentialInfo__ objects).
|
||||||
|
|
||||||
|
The array is limited to only the credentials that the caller has permission to
|
||||||
|
access. If the caller is a metastore admin, retrieval of credentials is
|
||||||
|
unrestricted. There is no guarantee of a specific ordering of the elements in
|
||||||
|
the array.`
|
||||||
|
|
||||||
|
cmd.Annotations = make(map[string]string)
|
||||||
|
|
||||||
|
cmd.Args = func(cmd *cobra.Command, args []string) error {
|
||||||
|
check := root.ExactArgs(0)
|
||||||
|
return check(cmd, args)
|
||||||
|
}
|
||||||
|
|
||||||
|
cmd.PreRunE = root.MustWorkspaceClient
|
||||||
|
cmd.RunE = func(cmd *cobra.Command, args []string) (err error) {
|
||||||
|
ctx := cmd.Context()
|
||||||
|
w := root.WorkspaceClient(ctx)
|
||||||
|
|
||||||
|
response := w.Credentials.ListCredentials(ctx, listCredentialsReq)
|
||||||
|
return cmdio.RenderIterator(ctx, response)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Disable completions since they are not applicable.
|
||||||
|
// Can be overridden by manual implementation in `override.go`.
|
||||||
|
cmd.ValidArgsFunction = cobra.NoFileCompletions
|
||||||
|
|
||||||
|
// Apply optional overrides to this command.
|
||||||
|
for _, fn := range listCredentialsOverrides {
|
||||||
|
fn(cmd, &listCredentialsReq)
|
||||||
|
}
|
||||||
|
|
||||||
|
return cmd
|
||||||
|
}
|
||||||
|
|
||||||
|
// start update-credential command
|
||||||
|
|
||||||
|
// Slice with functions to override default command behavior.
|
||||||
|
// Functions can be added from the `init()` function in manually curated files in this directory.
|
||||||
|
var updateCredentialOverrides []func(
|
||||||
|
*cobra.Command,
|
||||||
|
*catalog.UpdateCredentialRequest,
|
||||||
|
)
|
||||||
|
|
||||||
|
func newUpdateCredential() *cobra.Command {
|
||||||
|
cmd := &cobra.Command{}
|
||||||
|
|
||||||
|
var updateCredentialReq catalog.UpdateCredentialRequest
|
||||||
|
var updateCredentialJson flags.JsonFlag
|
||||||
|
|
||||||
|
// TODO: short flags
|
||||||
|
cmd.Flags().Var(&updateCredentialJson, "json", `either inline JSON string or @path/to/file.json with request body`)
|
||||||
|
|
||||||
|
// TODO: complex arg: aws_iam_role
|
||||||
|
// TODO: complex arg: azure_managed_identity
|
||||||
|
cmd.Flags().StringVar(&updateCredentialReq.Comment, "comment", updateCredentialReq.Comment, `Comment associated with the credential.`)
|
||||||
|
cmd.Flags().BoolVar(&updateCredentialReq.Force, "force", updateCredentialReq.Force, `Force update even if there are dependent services.`)
|
||||||
|
cmd.Flags().Var(&updateCredentialReq.IsolationMode, "isolation-mode", `Whether the current securable is accessible from all workspaces or a specific set of workspaces. Supported values: [ISOLATION_MODE_ISOLATED, ISOLATION_MODE_OPEN]`)
|
||||||
|
cmd.Flags().StringVar(&updateCredentialReq.NewName, "new-name", updateCredentialReq.NewName, `New name of credential.`)
|
||||||
|
cmd.Flags().StringVar(&updateCredentialReq.Owner, "owner", updateCredentialReq.Owner, `Username of current owner of credential.`)
|
||||||
|
cmd.Flags().BoolVar(&updateCredentialReq.SkipValidation, "skip-validation", updateCredentialReq.SkipValidation, `Supply true to this argument to skip validation of the updated credential.`)
|
||||||
|
|
||||||
|
cmd.Use = "update-credential NAME_ARG"
|
||||||
|
cmd.Short = `Update a credential.`
|
||||||
|
cmd.Long = `Update a credential.
|
||||||
|
|
||||||
|
Updates a credential on the metastore.
|
||||||
|
|
||||||
|
The caller must be the owner of the credential or a metastore admin or have
|
||||||
|
the MANAGE permission. If the caller is a metastore admin, only the
|
||||||
|
__owner__ field can be changed.
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
NAME_ARG: Name of the credential.`
|
||||||
|
|
||||||
|
cmd.Annotations = make(map[string]string)
|
||||||
|
|
||||||
|
cmd.Args = func(cmd *cobra.Command, args []string) error {
|
||||||
|
check := root.ExactArgs(1)
|
||||||
|
return check(cmd, args)
|
||||||
|
}
|
||||||
|
|
||||||
|
cmd.PreRunE = root.MustWorkspaceClient
|
||||||
|
cmd.RunE = func(cmd *cobra.Command, args []string) (err error) {
|
||||||
|
ctx := cmd.Context()
|
||||||
|
w := root.WorkspaceClient(ctx)
|
||||||
|
|
||||||
|
if cmd.Flags().Changed("json") {
|
||||||
|
diags := updateCredentialJson.Unmarshal(&updateCredentialReq)
|
||||||
|
if diags.HasError() {
|
||||||
|
return diags.Error()
|
||||||
|
}
|
||||||
|
if len(diags) > 0 {
|
||||||
|
err := cmdio.RenderDiagnosticsToErrorOut(ctx, diags)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
updateCredentialReq.NameArg = args[0]
|
||||||
|
|
||||||
|
response, err := w.Credentials.UpdateCredential(ctx, updateCredentialReq)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return cmdio.Render(ctx, response)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Disable completions since they are not applicable.
|
||||||
|
// Can be overridden by manual implementation in `override.go`.
|
||||||
|
cmd.ValidArgsFunction = cobra.NoFileCompletions
|
||||||
|
|
||||||
|
// Apply optional overrides to this command.
|
||||||
|
for _, fn := range updateCredentialOverrides {
|
||||||
|
fn(cmd, &updateCredentialReq)
|
||||||
|
}
|
||||||
|
|
||||||
|
return cmd
|
||||||
|
}
|
||||||
|
|
||||||
|
// start validate-credential command
|
||||||
|
|
||||||
|
// Slice with functions to override default command behavior.
|
||||||
|
// Functions can be added from the `init()` function in manually curated files in this directory.
|
||||||
|
var validateCredentialOverrides []func(
|
||||||
|
*cobra.Command,
|
||||||
|
*catalog.ValidateCredentialRequest,
|
||||||
|
)
|
||||||
|
|
||||||
|
func newValidateCredential() *cobra.Command {
|
||||||
|
cmd := &cobra.Command{}
|
||||||
|
|
||||||
|
var validateCredentialReq catalog.ValidateCredentialRequest
|
||||||
|
var validateCredentialJson flags.JsonFlag
|
||||||
|
|
||||||
|
// TODO: short flags
|
||||||
|
cmd.Flags().Var(&validateCredentialJson, "json", `either inline JSON string or @path/to/file.json with request body`)
|
||||||
|
|
||||||
|
// TODO: complex arg: aws_iam_role
|
||||||
|
// TODO: complex arg: azure_managed_identity
|
||||||
|
cmd.Flags().StringVar(&validateCredentialReq.CredentialName, "credential-name", validateCredentialReq.CredentialName, `Required.`)
|
||||||
|
cmd.Flags().Var(&validateCredentialReq.Purpose, "purpose", `The purpose of the credential. Supported values: [SERVICE]`)
|
||||||
|
|
||||||
|
cmd.Use = "validate-credential"
|
||||||
|
cmd.Short = `Validate a credential.`
|
||||||
|
cmd.Long = `Validate a credential.
|
||||||
|
|
||||||
|
Validates a credential.
|
||||||
|
|
||||||
|
Either the __credential_name__ or the cloud-specific credential must be
|
||||||
|
provided.
|
||||||
|
|
||||||
|
The caller must be a metastore admin or the credential owner.`
|
||||||
|
|
||||||
|
cmd.Annotations = make(map[string]string)
|
||||||
|
|
||||||
|
cmd.Args = func(cmd *cobra.Command, args []string) error {
|
||||||
|
check := root.ExactArgs(0)
|
||||||
|
return check(cmd, args)
|
||||||
|
}
|
||||||
|
|
||||||
|
cmd.PreRunE = root.MustWorkspaceClient
|
||||||
|
cmd.RunE = func(cmd *cobra.Command, args []string) (err error) {
|
||||||
|
ctx := cmd.Context()
|
||||||
|
w := root.WorkspaceClient(ctx)
|
||||||
|
|
||||||
|
if cmd.Flags().Changed("json") {
|
||||||
|
diags := validateCredentialJson.Unmarshal(&validateCredentialReq)
|
||||||
|
if diags.HasError() {
|
||||||
|
return diags.Error()
|
||||||
|
}
|
||||||
|
if len(diags) > 0 {
|
||||||
|
err := cmdio.RenderDiagnosticsToErrorOut(ctx, diags)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
response, err := w.Credentials.ValidateCredential(ctx, validateCredentialReq)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return cmdio.Render(ctx, response)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Disable completions since they are not applicable.
|
||||||
|
// Can be overridden by manual implementation in `override.go`.
|
||||||
|
cmd.ValidArgsFunction = cobra.NoFileCompletions
|
||||||
|
|
||||||
|
// Apply optional overrides to this command.
|
||||||
|
for _, fn := range validateCredentialOverrides {
|
||||||
|
fn(cmd, &validateCredentialReq)
|
||||||
|
}
|
||||||
|
|
||||||
|
return cmd
|
||||||
|
}
|
||||||
|
|
||||||
|
// end service Credentials
|
|
@ -2034,8 +2034,9 @@ func newSetPermissions() *cobra.Command {
|
||||||
cmd.Short = `Set experiment permissions.`
|
cmd.Short = `Set experiment permissions.`
|
||||||
cmd.Long = `Set experiment permissions.
|
cmd.Long = `Set experiment permissions.
|
||||||
|
|
||||||
Sets permissions on an experiment. Experiments can inherit permissions from
|
Sets permissions on an object, replacing existing permissions if they exist.
|
||||||
their root object.
|
Deletes all direct permissions if none are specified. Objects can inherit
|
||||||
|
permissions from their root object.
|
||||||
|
|
||||||
Arguments:
|
Arguments:
|
||||||
EXPERIMENT_ID: The experiment for which to get or manage permissions.`
|
EXPERIMENT_ID: The experiment for which to get or manage permissions.`
|
||||||
|
|
|
@ -356,7 +356,7 @@ func newUpdate() *cobra.Command {
|
||||||
// TODO: complex arg: encryption_details
|
// TODO: complex arg: encryption_details
|
||||||
cmd.Flags().BoolVar(&updateReq.Fallback, "fallback", updateReq.Fallback, `Indicates whether fallback mode is enabled for this external location.`)
|
cmd.Flags().BoolVar(&updateReq.Fallback, "fallback", updateReq.Fallback, `Indicates whether fallback mode is enabled for this external location.`)
|
||||||
cmd.Flags().BoolVar(&updateReq.Force, "force", updateReq.Force, `Force update even if changing url invalidates dependent external tables or mounts.`)
|
cmd.Flags().BoolVar(&updateReq.Force, "force", updateReq.Force, `Force update even if changing url invalidates dependent external tables or mounts.`)
|
||||||
cmd.Flags().Var(&updateReq.IsolationMode, "isolation-mode", `Whether the current securable is accessible from all workspaces or a specific set of workspaces. Supported values: [ISOLATION_MODE_ISOLATED, ISOLATION_MODE_OPEN]`)
|
cmd.Flags().Var(&updateReq.IsolationMode, "isolation-mode", `. Supported values: [ISOLATION_MODE_ISOLATED, ISOLATION_MODE_OPEN]`)
|
||||||
cmd.Flags().StringVar(&updateReq.NewName, "new-name", updateReq.NewName, `New name for the external location.`)
|
cmd.Flags().StringVar(&updateReq.NewName, "new-name", updateReq.NewName, `New name for the external location.`)
|
||||||
cmd.Flags().StringVar(&updateReq.Owner, "owner", updateReq.Owner, `The owner of the external location.`)
|
cmd.Flags().StringVar(&updateReq.Owner, "owner", updateReq.Owner, `The owner of the external location.`)
|
||||||
cmd.Flags().BoolVar(&updateReq.ReadOnly, "read-only", updateReq.ReadOnly, `Indicates whether the external location is read-only.`)
|
cmd.Flags().BoolVar(&updateReq.ReadOnly, "read-only", updateReq.ReadOnly, `Indicates whether the external location is read-only.`)
|
||||||
|
|
|
@ -635,8 +635,9 @@ func newSetPermissions() *cobra.Command {
|
||||||
cmd.Short = `Set instance pool permissions.`
|
cmd.Short = `Set instance pool permissions.`
|
||||||
cmd.Long = `Set instance pool permissions.
|
cmd.Long = `Set instance pool permissions.
|
||||||
|
|
||||||
Sets permissions on an instance pool. Instance pools can inherit permissions
|
Sets permissions on an object, replacing existing permissions if they exist.
|
||||||
from their root object.
|
Deletes all direct permissions if none are specified. Objects can inherit
|
||||||
|
permissions from their root object.
|
||||||
|
|
||||||
Arguments:
|
Arguments:
|
||||||
INSTANCE_POOL_ID: The instance pool for which to get or manage permissions.`
|
INSTANCE_POOL_ID: The instance pool for which to get or manage permissions.`
|
||||||
|
|
|
@ -1339,6 +1339,7 @@ func newRunNow() *cobra.Command {
|
||||||
// TODO: array: jar_params
|
// TODO: array: jar_params
|
||||||
// TODO: map via StringToStringVar: job_parameters
|
// TODO: map via StringToStringVar: job_parameters
|
||||||
// TODO: map via StringToStringVar: notebook_params
|
// TODO: map via StringToStringVar: notebook_params
|
||||||
|
// TODO: array: only
|
||||||
// TODO: complex arg: pipeline_params
|
// TODO: complex arg: pipeline_params
|
||||||
// TODO: map via StringToStringVar: python_named_params
|
// TODO: map via StringToStringVar: python_named_params
|
||||||
// TODO: array: python_params
|
// TODO: array: python_params
|
||||||
|
@ -1470,8 +1471,9 @@ func newSetPermissions() *cobra.Command {
|
||||||
cmd.Short = `Set job permissions.`
|
cmd.Short = `Set job permissions.`
|
||||||
cmd.Long = `Set job permissions.
|
cmd.Long = `Set job permissions.
|
||||||
|
|
||||||
Sets permissions on a job. Jobs can inherit permissions from their root
|
Sets permissions on an object, replacing existing permissions if they exist.
|
||||||
object.
|
Deletes all direct permissions if none are specified. Objects can inherit
|
||||||
|
permissions from their root object.
|
||||||
|
|
||||||
Arguments:
|
Arguments:
|
||||||
JOB_ID: The job for which to get or manage permissions.`
|
JOB_ID: The job for which to get or manage permissions.`
|
||||||
|
|
|
@ -77,7 +77,6 @@ func newCreate() *cobra.Command {
|
||||||
cmd.Flags().Var(&createJson, "json", `either inline JSON string or @path/to/file.json with request body`)
|
cmd.Flags().Var(&createJson, "json", `either inline JSON string or @path/to/file.json with request body`)
|
||||||
|
|
||||||
cmd.Flags().StringVar(&createReq.Dashboard.DisplayName, "display-name", createReq.Dashboard.DisplayName, `The display name of the dashboard.`)
|
cmd.Flags().StringVar(&createReq.Dashboard.DisplayName, "display-name", createReq.Dashboard.DisplayName, `The display name of the dashboard.`)
|
||||||
cmd.Flags().Var(&createReq.Dashboard.LifecycleState, "lifecycle-state", `The state of the dashboard resource. Supported values: [ACTIVE, TRASHED]`)
|
|
||||||
cmd.Flags().StringVar(&createReq.Dashboard.SerializedDashboard, "serialized-dashboard", createReq.Dashboard.SerializedDashboard, `The contents of the dashboard in serialized string form.`)
|
cmd.Flags().StringVar(&createReq.Dashboard.SerializedDashboard, "serialized-dashboard", createReq.Dashboard.SerializedDashboard, `The contents of the dashboard in serialized string form.`)
|
||||||
cmd.Flags().StringVar(&createReq.Dashboard.WarehouseId, "warehouse-id", createReq.Dashboard.WarehouseId, `The warehouse ID used to run the dashboard.`)
|
cmd.Flags().StringVar(&createReq.Dashboard.WarehouseId, "warehouse-id", createReq.Dashboard.WarehouseId, `The warehouse ID used to run the dashboard.`)
|
||||||
|
|
||||||
|
@ -152,6 +151,7 @@ func newCreateSchedule() *cobra.Command {
|
||||||
|
|
||||||
cmd.Flags().StringVar(&createScheduleReq.Schedule.DisplayName, "display-name", createScheduleReq.Schedule.DisplayName, `The display name for schedule.`)
|
cmd.Flags().StringVar(&createScheduleReq.Schedule.DisplayName, "display-name", createScheduleReq.Schedule.DisplayName, `The display name for schedule.`)
|
||||||
cmd.Flags().Var(&createScheduleReq.Schedule.PauseStatus, "pause-status", `The status indicates whether this schedule is paused or not. Supported values: [PAUSED, UNPAUSED]`)
|
cmd.Flags().Var(&createScheduleReq.Schedule.PauseStatus, "pause-status", `The status indicates whether this schedule is paused or not. Supported values: [PAUSED, UNPAUSED]`)
|
||||||
|
cmd.Flags().StringVar(&createScheduleReq.Schedule.WarehouseId, "warehouse-id", createScheduleReq.Schedule.WarehouseId, `The warehouse id to run the dashboard with for the schedule.`)
|
||||||
|
|
||||||
cmd.Use = "create-schedule DASHBOARD_ID"
|
cmd.Use = "create-schedule DASHBOARD_ID"
|
||||||
cmd.Short = `Create dashboard schedule.`
|
cmd.Short = `Create dashboard schedule.`
|
||||||
|
@ -1127,7 +1127,6 @@ func newUpdate() *cobra.Command {
|
||||||
cmd.Flags().Var(&updateJson, "json", `either inline JSON string or @path/to/file.json with request body`)
|
cmd.Flags().Var(&updateJson, "json", `either inline JSON string or @path/to/file.json with request body`)
|
||||||
|
|
||||||
cmd.Flags().StringVar(&updateReq.Dashboard.DisplayName, "display-name", updateReq.Dashboard.DisplayName, `The display name of the dashboard.`)
|
cmd.Flags().StringVar(&updateReq.Dashboard.DisplayName, "display-name", updateReq.Dashboard.DisplayName, `The display name of the dashboard.`)
|
||||||
cmd.Flags().Var(&updateReq.Dashboard.LifecycleState, "lifecycle-state", `The state of the dashboard resource. Supported values: [ACTIVE, TRASHED]`)
|
|
||||||
cmd.Flags().StringVar(&updateReq.Dashboard.SerializedDashboard, "serialized-dashboard", updateReq.Dashboard.SerializedDashboard, `The contents of the dashboard in serialized string form.`)
|
cmd.Flags().StringVar(&updateReq.Dashboard.SerializedDashboard, "serialized-dashboard", updateReq.Dashboard.SerializedDashboard, `The contents of the dashboard in serialized string form.`)
|
||||||
cmd.Flags().StringVar(&updateReq.Dashboard.WarehouseId, "warehouse-id", updateReq.Dashboard.WarehouseId, `The warehouse ID used to run the dashboard.`)
|
cmd.Flags().StringVar(&updateReq.Dashboard.WarehouseId, "warehouse-id", updateReq.Dashboard.WarehouseId, `The warehouse ID used to run the dashboard.`)
|
||||||
|
|
||||||
|
@ -1206,6 +1205,7 @@ func newUpdateSchedule() *cobra.Command {
|
||||||
|
|
||||||
cmd.Flags().StringVar(&updateScheduleReq.Schedule.DisplayName, "display-name", updateScheduleReq.Schedule.DisplayName, `The display name for schedule.`)
|
cmd.Flags().StringVar(&updateScheduleReq.Schedule.DisplayName, "display-name", updateScheduleReq.Schedule.DisplayName, `The display name for schedule.`)
|
||||||
cmd.Flags().Var(&updateScheduleReq.Schedule.PauseStatus, "pause-status", `The status indicates whether this schedule is paused or not. Supported values: [PAUSED, UNPAUSED]`)
|
cmd.Flags().Var(&updateScheduleReq.Schedule.PauseStatus, "pause-status", `The status indicates whether this schedule is paused or not. Supported values: [PAUSED, UNPAUSED]`)
|
||||||
|
cmd.Flags().StringVar(&updateScheduleReq.Schedule.WarehouseId, "warehouse-id", updateScheduleReq.Schedule.WarehouseId, `The warehouse id to run the dashboard with for the schedule.`)
|
||||||
|
|
||||||
cmd.Use = "update-schedule DASHBOARD_ID SCHEDULE_ID"
|
cmd.Use = "update-schedule DASHBOARD_ID SCHEDULE_ID"
|
||||||
cmd.Short = `Update dashboard schedule.`
|
cmd.Short = `Update dashboard schedule.`
|
||||||
|
|
|
@ -2123,7 +2123,8 @@ func newSetPermissions() *cobra.Command {
|
||||||
cmd.Short = `Set registered model permissions.`
|
cmd.Short = `Set registered model permissions.`
|
||||||
cmd.Long = `Set registered model permissions.
|
cmd.Long = `Set registered model permissions.
|
||||||
|
|
||||||
Sets permissions on a registered model. Registered models can inherit
|
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.
|
permissions from their root object.
|
||||||
|
|
||||||
Arguments:
|
Arguments:
|
||||||
|
|
|
@ -69,7 +69,6 @@ func newCreate() *cobra.Command {
|
||||||
cmd.Flags().StringVar(&createReq.Table.Name, "name", createReq.Table.Name, `Full three-part (catalog, schema, table) name of the table.`)
|
cmd.Flags().StringVar(&createReq.Table.Name, "name", createReq.Table.Name, `Full three-part (catalog, schema, table) name of the table.`)
|
||||||
// TODO: complex arg: spec
|
// TODO: complex arg: spec
|
||||||
// TODO: complex arg: status
|
// TODO: complex arg: status
|
||||||
cmd.Flags().Var(&createReq.Table.UnityCatalogProvisioningState, "unity-catalog-provisioning-state", `The provisioning state of the online table entity in Unity Catalog. Supported values: [ACTIVE, DELETING, FAILED, PROVISIONING, UPDATING]`)
|
|
||||||
|
|
||||||
cmd.Use = "create"
|
cmd.Use = "create"
|
||||||
cmd.Short = `Create an Online Table.`
|
cmd.Short = `Create an Online Table.`
|
||||||
|
|
|
@ -241,8 +241,9 @@ func newSet() *cobra.Command {
|
||||||
cmd.Short = `Set object permissions.`
|
cmd.Short = `Set object permissions.`
|
||||||
cmd.Long = `Set object permissions.
|
cmd.Long = `Set object permissions.
|
||||||
|
|
||||||
Sets permissions on an object. Objects can inherit permissions from their
|
Sets permissions on an object, replacing existing permissions if they exist.
|
||||||
parent objects or root object.
|
Deletes all direct permissions if none are specified. Objects can inherit
|
||||||
|
permissions from their parent objects or root object.
|
||||||
|
|
||||||
Arguments:
|
Arguments:
|
||||||
REQUEST_OBJECT_TYPE: The type of the request object. Can be one of the following: alerts,
|
REQUEST_OBJECT_TYPE: The type of the request object. Can be one of the following: alerts,
|
||||||
|
|
|
@ -691,8 +691,9 @@ func newSetPermissions() *cobra.Command {
|
||||||
cmd.Short = `Set pipeline permissions.`
|
cmd.Short = `Set pipeline permissions.`
|
||||||
cmd.Long = `Set pipeline permissions.
|
cmd.Long = `Set pipeline permissions.
|
||||||
|
|
||||||
Sets permissions on a pipeline. Pipelines can inherit permissions from their
|
Sets permissions on an object, replacing existing permissions if they exist.
|
||||||
root object.
|
Deletes all direct permissions if none are specified. Objects can inherit
|
||||||
|
permissions from their root object.
|
||||||
|
|
||||||
Arguments:
|
Arguments:
|
||||||
PIPELINE_ID: The pipeline for which to get or manage permissions.`
|
PIPELINE_ID: The pipeline for which to get or manage permissions.`
|
||||||
|
@ -972,6 +973,7 @@ func newUpdate() *cobra.Command {
|
||||||
// TODO: array: notifications
|
// TODO: array: notifications
|
||||||
cmd.Flags().BoolVar(&updateReq.Photon, "photon", updateReq.Photon, `Whether Photon is enabled for this pipeline.`)
|
cmd.Flags().BoolVar(&updateReq.Photon, "photon", updateReq.Photon, `Whether Photon is enabled for this pipeline.`)
|
||||||
cmd.Flags().StringVar(&updateReq.PipelineId, "pipeline-id", updateReq.PipelineId, `Unique identifier for this pipeline.`)
|
cmd.Flags().StringVar(&updateReq.PipelineId, "pipeline-id", updateReq.PipelineId, `Unique identifier for this pipeline.`)
|
||||||
|
// TODO: complex arg: restart_window
|
||||||
cmd.Flags().StringVar(&updateReq.Schema, "schema", updateReq.Schema, `The default schema (database) where tables are read from or published to.`)
|
cmd.Flags().StringVar(&updateReq.Schema, "schema", updateReq.Schema, `The default schema (database) where tables are read from or published to.`)
|
||||||
cmd.Flags().BoolVar(&updateReq.Serverless, "serverless", updateReq.Serverless, `Whether serverless compute is enabled for this pipeline.`)
|
cmd.Flags().BoolVar(&updateReq.Serverless, "serverless", updateReq.Serverless, `Whether serverless compute is enabled for this pipeline.`)
|
||||||
cmd.Flags().StringVar(&updateReq.Storage, "storage", updateReq.Storage, `DBFS root directory for storing checkpoints and tables.`)
|
cmd.Flags().StringVar(&updateReq.Storage, "storage", updateReq.Storage, `DBFS root directory for storing checkpoints and tables.`)
|
||||||
|
|
|
@ -513,8 +513,9 @@ func newSetPermissions() *cobra.Command {
|
||||||
cmd.Short = `Set repo permissions.`
|
cmd.Short = `Set repo permissions.`
|
||||||
cmd.Long = `Set repo permissions.
|
cmd.Long = `Set repo permissions.
|
||||||
|
|
||||||
Sets permissions on a repo. Repos can inherit permissions from their root
|
Sets permissions on an object, replacing existing permissions if they exist.
|
||||||
object.
|
Deletes all direct permissions if none are specified. Objects can inherit
|
||||||
|
permissions from their root object.
|
||||||
|
|
||||||
Arguments:
|
Arguments:
|
||||||
REPO_ID: The repo for which to get or manage permissions.`
|
REPO_ID: The repo for which to get or manage permissions.`
|
||||||
|
|
|
@ -1008,7 +1008,8 @@ func newSetPermissions() *cobra.Command {
|
||||||
cmd.Short = `Set serving endpoint permissions.`
|
cmd.Short = `Set serving endpoint permissions.`
|
||||||
cmd.Long = `Set serving endpoint permissions.
|
cmd.Long = `Set serving endpoint permissions.
|
||||||
|
|
||||||
Sets permissions on a serving endpoint. Serving endpoints can inherit
|
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.
|
permissions from their root object.
|
||||||
|
|
||||||
Arguments:
|
Arguments:
|
||||||
|
|
|
@ -360,7 +360,7 @@ func newUpdate() *cobra.Command {
|
||||||
cmd.Flags().StringVar(&updateReq.Comment, "comment", updateReq.Comment, `Comment associated with the credential.`)
|
cmd.Flags().StringVar(&updateReq.Comment, "comment", updateReq.Comment, `Comment associated with the credential.`)
|
||||||
// TODO: complex arg: databricks_gcp_service_account
|
// TODO: complex arg: databricks_gcp_service_account
|
||||||
cmd.Flags().BoolVar(&updateReq.Force, "force", updateReq.Force, `Force update even if there are dependent external locations or external tables.`)
|
cmd.Flags().BoolVar(&updateReq.Force, "force", updateReq.Force, `Force update even if there are dependent external locations or external tables.`)
|
||||||
cmd.Flags().Var(&updateReq.IsolationMode, "isolation-mode", `Whether the current securable is accessible from all workspaces or a specific set of workspaces. Supported values: [ISOLATION_MODE_ISOLATED, ISOLATION_MODE_OPEN]`)
|
cmd.Flags().Var(&updateReq.IsolationMode, "isolation-mode", `. Supported values: [ISOLATION_MODE_ISOLATED, ISOLATION_MODE_OPEN]`)
|
||||||
cmd.Flags().StringVar(&updateReq.NewName, "new-name", updateReq.NewName, `New name for the storage credential.`)
|
cmd.Flags().StringVar(&updateReq.NewName, "new-name", updateReq.NewName, `New name for the storage credential.`)
|
||||||
cmd.Flags().StringVar(&updateReq.Owner, "owner", updateReq.Owner, `Username of current owner of credential.`)
|
cmd.Flags().StringVar(&updateReq.Owner, "owner", updateReq.Owner, `Username of current owner of credential.`)
|
||||||
cmd.Flags().BoolVar(&updateReq.ReadOnly, "read-only", updateReq.ReadOnly, `Whether the storage credential is only usable for read operations.`)
|
cmd.Flags().BoolVar(&updateReq.ReadOnly, "read-only", updateReq.ReadOnly, `Whether the storage credential is only usable for read operations.`)
|
||||||
|
|
|
@ -304,6 +304,7 @@ func newList() *cobra.Command {
|
||||||
cmd.Flags().IntVar(&listReq.MaxResults, "max-results", listReq.MaxResults, `Maximum number of tables to return.`)
|
cmd.Flags().IntVar(&listReq.MaxResults, "max-results", listReq.MaxResults, `Maximum number of tables to return.`)
|
||||||
cmd.Flags().BoolVar(&listReq.OmitColumns, "omit-columns", listReq.OmitColumns, `Whether to omit the columns of the table from the response or not.`)
|
cmd.Flags().BoolVar(&listReq.OmitColumns, "omit-columns", listReq.OmitColumns, `Whether to omit the columns of the table from the response or not.`)
|
||||||
cmd.Flags().BoolVar(&listReq.OmitProperties, "omit-properties", listReq.OmitProperties, `Whether to omit the properties of the table from the response or not.`)
|
cmd.Flags().BoolVar(&listReq.OmitProperties, "omit-properties", listReq.OmitProperties, `Whether to omit the properties of the table from the response or not.`)
|
||||||
|
cmd.Flags().BoolVar(&listReq.OmitUsername, "omit-username", listReq.OmitUsername, `Whether to omit the username of the table (e.g.`)
|
||||||
cmd.Flags().StringVar(&listReq.PageToken, "page-token", listReq.PageToken, `Opaque token to send for the next page of results (pagination).`)
|
cmd.Flags().StringVar(&listReq.PageToken, "page-token", listReq.PageToken, `Opaque token to send for the next page of results (pagination).`)
|
||||||
|
|
||||||
cmd.Use = "list CATALOG_NAME SCHEMA_NAME"
|
cmd.Use = "list CATALOG_NAME SCHEMA_NAME"
|
||||||
|
|
|
@ -448,8 +448,9 @@ func newSetPermissions() *cobra.Command {
|
||||||
cmd.Short = `Set token permissions.`
|
cmd.Short = `Set token permissions.`
|
||||||
cmd.Long = `Set token permissions.
|
cmd.Long = `Set token permissions.
|
||||||
|
|
||||||
Sets permissions on all tokens. Tokens can inherit permissions from their root
|
Sets permissions on an object, replacing existing permissions if they exist.
|
||||||
object.`
|
Deletes all direct permissions if none are specified. Objects can inherit
|
||||||
|
permissions from their root object.`
|
||||||
|
|
||||||
cmd.Annotations = make(map[string]string)
|
cmd.Annotations = make(map[string]string)
|
||||||
|
|
||||||
|
|
|
@ -542,8 +542,9 @@ func newSetPermissions() *cobra.Command {
|
||||||
cmd.Short = `Set password permissions.`
|
cmd.Short = `Set password permissions.`
|
||||||
cmd.Long = `Set password permissions.
|
cmd.Long = `Set password permissions.
|
||||||
|
|
||||||
Sets permissions on all passwords. Passwords can inherit permissions from
|
Sets permissions on an object, replacing existing permissions if they exist.
|
||||||
their root object.`
|
Deletes all direct permissions if none are specified. Objects can inherit
|
||||||
|
permissions from their root object.`
|
||||||
|
|
||||||
cmd.Annotations = make(map[string]string)
|
cmd.Annotations = make(map[string]string)
|
||||||
|
|
||||||
|
|
|
@ -686,8 +686,9 @@ func newSetPermissions() *cobra.Command {
|
||||||
cmd.Short = `Set SQL warehouse permissions.`
|
cmd.Short = `Set SQL warehouse permissions.`
|
||||||
cmd.Long = `Set SQL warehouse permissions.
|
cmd.Long = `Set SQL warehouse permissions.
|
||||||
|
|
||||||
Sets permissions on a SQL warehouse. SQL warehouses can inherit permissions
|
Sets permissions on an object, replacing existing permissions if they exist.
|
||||||
from their root object.
|
Deletes all direct permissions if none are specified. Objects can inherit
|
||||||
|
permissions from their root object.
|
||||||
|
|
||||||
Arguments:
|
Arguments:
|
||||||
WAREHOUSE_ID: The SQL warehouse for which to get or manage permissions.`
|
WAREHOUSE_ID: The SQL warehouse for which to get or manage permissions.`
|
||||||
|
|
|
@ -447,6 +447,7 @@ func newImport() *cobra.Command {
|
||||||
DBC,
|
DBC,
|
||||||
HTML,
|
HTML,
|
||||||
JUPYTER,
|
JUPYTER,
|
||||||
|
RAW,
|
||||||
R_MARKDOWN,
|
R_MARKDOWN,
|
||||||
SOURCE,
|
SOURCE,
|
||||||
]`)
|
]`)
|
||||||
|
@ -708,7 +709,8 @@ func newSetPermissions() *cobra.Command {
|
||||||
cmd.Short = `Set workspace object permissions.`
|
cmd.Short = `Set workspace object permissions.`
|
||||||
cmd.Long = `Set workspace object permissions.
|
cmd.Long = `Set workspace object permissions.
|
||||||
|
|
||||||
Sets permissions on a workspace object. Workspace objects can inherit
|
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 parent objects or root object.
|
permissions from their parent objects or root object.
|
||||||
|
|
||||||
Arguments:
|
Arguments:
|
||||||
|
|
2
go.mod
2
go.mod
|
@ -7,7 +7,7 @@ toolchain go1.23.2
|
||||||
require (
|
require (
|
||||||
github.com/Masterminds/semver/v3 v3.3.0 // MIT
|
github.com/Masterminds/semver/v3 v3.3.0 // MIT
|
||||||
github.com/briandowns/spinner v1.23.1 // Apache 2.0
|
github.com/briandowns/spinner v1.23.1 // Apache 2.0
|
||||||
github.com/databricks/databricks-sdk-go v0.50.0 // Apache 2.0
|
github.com/databricks/databricks-sdk-go v0.51.0 // Apache 2.0
|
||||||
github.com/fatih/color v1.18.0 // MIT
|
github.com/fatih/color v1.18.0 // MIT
|
||||||
github.com/ghodss/yaml v1.0.0 // MIT + NOTICE
|
github.com/ghodss/yaml v1.0.0 // MIT + NOTICE
|
||||||
github.com/google/uuid v1.6.0 // BSD-3-Clause
|
github.com/google/uuid v1.6.0 // BSD-3-Clause
|
||||||
|
|
|
@ -32,8 +32,8 @@ github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGX
|
||||||
github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
|
github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
|
||||||
github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg=
|
github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg=
|
||||||
github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4=
|
github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4=
|
||||||
github.com/databricks/databricks-sdk-go v0.50.0 h1:Zl4uBhYMT5z6aDojCQJPT2zCYjjfqxBQSQn8uLTphpo=
|
github.com/databricks/databricks-sdk-go v0.51.0 h1:tcvB9TID3oUl0O8npccB5c+33tarBiYMBFbq4U4AB6M=
|
||||||
github.com/databricks/databricks-sdk-go v0.50.0/go.mod h1:ds+zbv5mlQG7nFEU5ojLtgN/u0/9YzZmKQES/CfedzU=
|
github.com/databricks/databricks-sdk-go v0.51.0/go.mod h1:ds+zbv5mlQG7nFEU5ojLtgN/u0/9YzZmKQES/CfedzU=
|
||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
|
|
Loading…
Reference in New Issue