2023-10-03 11:46:16 +00:00
// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
package settings
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/settings"
"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 {
2023-11-29 13:29:31 +00:00
Use : "settings" ,
Short : ` The default namespace setting API allows users to configure the default namespace for a Databricks workspace. ` ,
Long : ` The default namespace setting API allows users to configure the default
namespace for a Databricks workspace .
Through this API , users can retrieve , set , or modify the default namespace
used when queries do not reference a fully qualified three - level name . For
example , if you use the API to set ' retail_prod ' as the default catalog , then
a query ' SELECT * FROM myTable ' would reference the object
' retail_prod . default . myTable ' ( the schema ' default ' is always assumed ) .
This setting requires a restart of clusters and SQL warehouses to take effect .
Additionally , the default namespace only applies when using Unity
Catalog - enabled compute . ` ,
2023-10-03 11:46:16 +00:00
GroupID : "settings" ,
Annotations : map [ string ] string {
"package" : "settings" ,
} ,
}
// Apply optional overrides to this command.
for _ , fn := range cmdOverrides {
fn ( cmd )
}
return cmd
}
// start delete-default-workspace-namespace 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 deleteDefaultWorkspaceNamespaceOverrides [ ] func (
* cobra . Command ,
* settings . DeleteDefaultWorkspaceNamespaceRequest ,
)
func newDeleteDefaultWorkspaceNamespace ( ) * cobra . Command {
cmd := & cobra . Command { }
var deleteDefaultWorkspaceNamespaceReq settings . DeleteDefaultWorkspaceNamespaceRequest
// TODO: short flags
cmd . Use = "delete-default-workspace-namespace ETAG"
2023-11-29 13:29:31 +00:00
cmd . Short = ` Delete the default namespace setting. `
cmd . Long = ` Delete the default namespace setting .
2023-10-03 11:46:16 +00:00
2023-11-29 13:29:31 +00:00
Deletes the default namespace setting for the workspace . A fresh etag needs to
be provided in DELETE requests ( as a query parameter ) . The etag can be
retrieved by making a GET request before the DELETE request . If the setting is
updated / deleted concurrently , DELETE will fail with 409 and the request will
2023-11-30 16:22:23 +00:00
need to be retried by using the fresh etag in the 409 response .
Arguments :
ETAG : etag used for versioning . The response is at least as fresh as the eTag
provided . This is used for optimistic concurrency control as a way to help
prevent simultaneous writes of a setting overwriting each other . It is
strongly suggested that systems make use of the etag in the read - > delete
pattern to perform setting deletions in order to avoid race conditions .
That is , get an etag from a GET request , and pass it with the DELETE
request to identify the rule set version you are deleting . `
2023-10-03 11:46:16 +00:00
cmd . Annotations = make ( map [ string ] string )
cmd . Args = func ( cmd * cobra . Command , args [ ] string ) error {
check := cobra . 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 )
deleteDefaultWorkspaceNamespaceReq . Etag = args [ 0 ]
response , err := w . Settings . DeleteDefaultWorkspaceNamespace ( ctx , deleteDefaultWorkspaceNamespaceReq )
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 deleteDefaultWorkspaceNamespaceOverrides {
fn ( cmd , & deleteDefaultWorkspaceNamespaceReq )
}
return cmd
}
func init ( ) {
cmdOverrides = append ( cmdOverrides , func ( cmd * cobra . Command ) {
cmd . AddCommand ( newDeleteDefaultWorkspaceNamespace ( ) )
} )
}
// start read-default-workspace-namespace 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 readDefaultWorkspaceNamespaceOverrides [ ] func (
* cobra . Command ,
* settings . ReadDefaultWorkspaceNamespaceRequest ,
)
func newReadDefaultWorkspaceNamespace ( ) * cobra . Command {
cmd := & cobra . Command { }
var readDefaultWorkspaceNamespaceReq settings . ReadDefaultWorkspaceNamespaceRequest
// TODO: short flags
cmd . Use = "read-default-workspace-namespace ETAG"
2023-11-29 13:29:31 +00:00
cmd . Short = ` Get the default namespace setting. `
cmd . Long = ` Get the default namespace setting .
2023-10-03 11:46:16 +00:00
2023-11-30 16:22:23 +00:00
Gets the default namespace setting .
Arguments :
ETAG : etag used for versioning . The response is at least as fresh as the eTag
provided . This is used for optimistic concurrency control as a way to help
prevent simultaneous writes of a setting overwriting each other . It is
strongly suggested that systems make use of the etag in the read - > delete
pattern to perform setting deletions in order to avoid race conditions .
That is , get an etag from a GET request , and pass it with the DELETE
request to identify the rule set version you are deleting . `
2023-10-03 11:46:16 +00:00
cmd . Annotations = make ( map [ string ] string )
cmd . Args = func ( cmd * cobra . Command , args [ ] string ) error {
check := cobra . 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 )
readDefaultWorkspaceNamespaceReq . Etag = args [ 0 ]
response , err := w . Settings . ReadDefaultWorkspaceNamespace ( ctx , readDefaultWorkspaceNamespaceReq )
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 readDefaultWorkspaceNamespaceOverrides {
fn ( cmd , & readDefaultWorkspaceNamespaceReq )
}
return cmd
}
func init ( ) {
cmdOverrides = append ( cmdOverrides , func ( cmd * cobra . Command ) {
cmd . AddCommand ( newReadDefaultWorkspaceNamespace ( ) )
} )
}
// start update-default-workspace-namespace 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 updateDefaultWorkspaceNamespaceOverrides [ ] func (
* cobra . Command ,
* settings . UpdateDefaultWorkspaceNamespaceRequest ,
)
func newUpdateDefaultWorkspaceNamespace ( ) * cobra . Command {
cmd := & cobra . Command { }
var updateDefaultWorkspaceNamespaceReq settings . UpdateDefaultWorkspaceNamespaceRequest
var updateDefaultWorkspaceNamespaceJson flags . JsonFlag
// TODO: short flags
cmd . Flags ( ) . Var ( & updateDefaultWorkspaceNamespaceJson , "json" , ` either inline JSON string or @path/to/file.json with request body ` )
2023-11-29 13:29:31 +00:00
cmd . Flags ( ) . BoolVar ( & updateDefaultWorkspaceNamespaceReq . AllowMissing , "allow-missing" , updateDefaultWorkspaceNamespaceReq . AllowMissing , ` This should always be set to true for Settings API. ` )
cmd . Flags ( ) . StringVar ( & updateDefaultWorkspaceNamespaceReq . FieldMask , "field-mask" , updateDefaultWorkspaceNamespaceReq . FieldMask , ` Field mask is required to be passed into the PATCH request. ` )
2023-10-03 11:46:16 +00:00
// TODO: complex arg: setting
cmd . Use = "update-default-workspace-namespace"
2023-11-29 13:29:31 +00:00
cmd . Short = ` Update the default namespace setting. `
cmd . Long = ` Update the default namespace setting .
2023-10-03 11:46:16 +00:00
Updates the default namespace setting for the workspace . A fresh etag needs to
2023-11-29 13:29:31 +00:00
be provided in PATCH requests ( as part of the setting field ) . The etag can be
2023-10-03 11:46:16 +00:00
retrieved by making a GET request before the PATCH request . Note that if the
setting does not exist , GET will return a NOT_FOUND error and the etag will be
2023-11-29 13:29:31 +00:00
present in the error response , which should be set in the PATCH request . If
the setting is updated concurrently , PATCH will fail with 409 and the request
will need to be retried by using the fresh etag in the 409 response . `
2023-10-03 11:46:16 +00:00
cmd . Annotations = make ( map [ string ] string )
cmd . Args = func ( cmd * cobra . Command , args [ ] string ) error {
check := cobra . 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" ) {
err = updateDefaultWorkspaceNamespaceJson . Unmarshal ( & updateDefaultWorkspaceNamespaceReq )
if err != nil {
return err
}
}
response , err := w . Settings . UpdateDefaultWorkspaceNamespace ( ctx , updateDefaultWorkspaceNamespaceReq )
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 updateDefaultWorkspaceNamespaceOverrides {
fn ( cmd , & updateDefaultWorkspaceNamespaceReq )
}
return cmd
}
func init ( ) {
cmdOverrides = append ( cmdOverrides , func ( cmd * cobra . Command ) {
cmd . AddCommand ( newUpdateDefaultWorkspaceNamespace ( ) )
} )
}
// end service Settings