// 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{ 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.`, 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" cmd.Short = `Delete the default namespace setting.` cmd.Long = `Delete the default namespace setting. 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 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.` 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" cmd.Short = `Get the default namespace setting.` cmd.Long = `Get the default namespace setting. 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.` 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`) 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.`) // TODO: complex arg: setting cmd.Use = "update-default-workspace-namespace" cmd.Short = `Update the default namespace setting.` cmd.Long = `Update the default namespace setting. Updates the default namespace setting for the workspace. A fresh etag needs to be provided in PATCH requests (as part of the setting field). The etag can be 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 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.` 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