mirror of https://github.com/databricks/cli.git
Update to Go SDK v0.9.0 (#396)
## Changes See https://github.com/databricks/databricks-sdk-go/releases/tag/v0.9.0. ## Tests Ran integration tests manually.
This commit is contained in:
parent
d86a1f0847
commit
46df551816
|
@ -13,6 +13,7 @@ cmd/account/networks/networks.go linguist-generated=true
|
||||||
cmd/account/o-auth-enrollment/o-auth-enrollment.go linguist-generated=true
|
cmd/account/o-auth-enrollment/o-auth-enrollment.go linguist-generated=true
|
||||||
cmd/account/private-access/private-access.go linguist-generated=true
|
cmd/account/private-access/private-access.go linguist-generated=true
|
||||||
cmd/account/published-app-integration/published-app-integration.go linguist-generated=true
|
cmd/account/published-app-integration/published-app-integration.go linguist-generated=true
|
||||||
|
cmd/account/service-principal-secrets/service-principal-secrets.go linguist-generated=true
|
||||||
cmd/account/service-principals/service-principals.go linguist-generated=true
|
cmd/account/service-principals/service-principals.go linguist-generated=true
|
||||||
cmd/account/storage-credentials/storage-credentials.go linguist-generated=true
|
cmd/account/storage-credentials/storage-credentials.go linguist-generated=true
|
||||||
cmd/account/storage/storage.go linguist-generated=true
|
cmd/account/storage/storage.go linguist-generated=true
|
||||||
|
@ -64,5 +65,6 @@ cmd/workspace/tokens/tokens.go linguist-generated=true
|
||||||
cmd/workspace/users/users.go linguist-generated=true
|
cmd/workspace/users/users.go linguist-generated=true
|
||||||
cmd/workspace/volumes/volumes.go linguist-generated=true
|
cmd/workspace/volumes/volumes.go linguist-generated=true
|
||||||
cmd/workspace/warehouses/warehouses.go linguist-generated=true
|
cmd/workspace/warehouses/warehouses.go linguist-generated=true
|
||||||
|
cmd/workspace/workspace-bindings/workspace-bindings.go linguist-generated=true
|
||||||
cmd/workspace/workspace-conf/workspace-conf.go linguist-generated=true
|
cmd/workspace/workspace-conf/workspace-conf.go linguist-generated=true
|
||||||
cmd/workspace/workspace/workspace.go linguist-generated=true
|
cmd/workspace/workspace/workspace.go linguist-generated=true
|
||||||
|
|
|
@ -20,6 +20,7 @@ import (
|
||||||
o_auth_enrollment "github.com/databricks/cli/cmd/account/o-auth-enrollment"
|
o_auth_enrollment "github.com/databricks/cli/cmd/account/o-auth-enrollment"
|
||||||
private_access "github.com/databricks/cli/cmd/account/private-access"
|
private_access "github.com/databricks/cli/cmd/account/private-access"
|
||||||
published_app_integration "github.com/databricks/cli/cmd/account/published-app-integration"
|
published_app_integration "github.com/databricks/cli/cmd/account/published-app-integration"
|
||||||
|
service_principal_secrets "github.com/databricks/cli/cmd/account/service-principal-secrets"
|
||||||
account_service_principals "github.com/databricks/cli/cmd/account/service-principals"
|
account_service_principals "github.com/databricks/cli/cmd/account/service-principals"
|
||||||
storage "github.com/databricks/cli/cmd/account/storage"
|
storage "github.com/databricks/cli/cmd/account/storage"
|
||||||
account_storage_credentials "github.com/databricks/cli/cmd/account/storage-credentials"
|
account_storage_credentials "github.com/databricks/cli/cmd/account/storage-credentials"
|
||||||
|
@ -51,6 +52,7 @@ func init() {
|
||||||
accountCmd.AddCommand(o_auth_enrollment.Cmd)
|
accountCmd.AddCommand(o_auth_enrollment.Cmd)
|
||||||
accountCmd.AddCommand(private_access.Cmd)
|
accountCmd.AddCommand(private_access.Cmd)
|
||||||
accountCmd.AddCommand(published_app_integration.Cmd)
|
accountCmd.AddCommand(published_app_integration.Cmd)
|
||||||
|
accountCmd.AddCommand(service_principal_secrets.Cmd)
|
||||||
accountCmd.AddCommand(account_service_principals.Cmd)
|
accountCmd.AddCommand(account_service_principals.Cmd)
|
||||||
accountCmd.AddCommand(storage.Cmd)
|
accountCmd.AddCommand(storage.Cmd)
|
||||||
accountCmd.AddCommand(account_storage_credentials.Cmd)
|
accountCmd.AddCommand(account_storage_credentials.Cmd)
|
||||||
|
|
|
@ -46,7 +46,8 @@ var createCmd = &cobra.Command{
|
||||||
|
|
||||||
Create Custom OAuth App Integration.
|
Create Custom OAuth App Integration.
|
||||||
|
|
||||||
You can retrieve the custom oauth app integration via :method:get.`,
|
You can retrieve the custom oauth app integration via
|
||||||
|
:method:CustomAppIntegration/get.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
PreRunE: root.MustAccountClient,
|
PreRunE: root.MustAccountClient,
|
||||||
|
@ -87,7 +88,7 @@ var deleteCmd = &cobra.Command{
|
||||||
Long: `Delete Custom OAuth App Integration.
|
Long: `Delete Custom OAuth App Integration.
|
||||||
|
|
||||||
Delete an existing Custom OAuth App Integration. You can retrieve the custom
|
Delete an existing Custom OAuth App Integration. You can retrieve the custom
|
||||||
oauth app integration via :method:get.`,
|
oauth app integration via :method:CustomAppIntegration/get.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
Args: cobra.ExactArgs(1),
|
Args: cobra.ExactArgs(1),
|
||||||
|
@ -151,7 +152,7 @@ var listCmd = &cobra.Command{
|
||||||
Long: `Get custom oauth app integrations.
|
Long: `Get custom oauth app integrations.
|
||||||
|
|
||||||
Get the list of custom oauth app integrations for the specified Databricks
|
Get the list of custom oauth app integrations for the specified Databricks
|
||||||
Account`,
|
account`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
PreRunE: root.MustAccountClient,
|
PreRunE: root.MustAccountClient,
|
||||||
|
@ -187,7 +188,7 @@ var updateCmd = &cobra.Command{
|
||||||
Long: `Updates Custom OAuth App Integration.
|
Long: `Updates Custom OAuth App Integration.
|
||||||
|
|
||||||
Updates an existing custom OAuth App Integration. You can retrieve the custom
|
Updates an existing custom OAuth App Integration. You can retrieve the custom
|
||||||
oauth app integration via :method:get.`,
|
oauth app integration via :method:CustomAppIntegration/get.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
PreRunE: root.MustAccountClient,
|
PreRunE: root.MustAccountClient,
|
||||||
|
|
|
@ -43,6 +43,9 @@ func init() {
|
||||||
// TODO: short flags
|
// TODO: short flags
|
||||||
createCmd.Flags().Var(&createJson, "json", `either inline JSON string or @path/to/file.json with request body`)
|
createCmd.Flags().Var(&createJson, "json", `either inline JSON string or @path/to/file.json with request body`)
|
||||||
|
|
||||||
|
// TODO: complex arg: aws_key_info
|
||||||
|
// TODO: complex arg: gcp_key_info
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var createCmd = &cobra.Command{
|
var createCmd = &cobra.Command{
|
||||||
|
@ -61,7 +64,8 @@ var createCmd = &cobra.Command{
|
||||||
EBS volume data.
|
EBS volume data.
|
||||||
|
|
||||||
**Important**: Customer-managed keys are supported only for some deployment
|
**Important**: Customer-managed keys are supported only for some deployment
|
||||||
types, subscription types, and AWS regions.
|
types, subscription types, and AWS regions that currently support creation of
|
||||||
|
Databricks workspaces.
|
||||||
|
|
||||||
This operation is available only if your account is on the E2 version of the
|
This operation is available only if your account is on the E2 version of the
|
||||||
platform or on a select custom plan that allows multiple workspaces per
|
platform or on a select custom plan that allows multiple workspaces per
|
||||||
|
@ -76,13 +80,9 @@ var createCmd = &cobra.Command{
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
_, err = fmt.Sscan(args[0], &createReq.AwsKeyInfo)
|
_, err = fmt.Sscan(args[0], &createReq.UseCases)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("invalid AWS_KEY_INFO: %s", args[0])
|
return fmt.Errorf("invalid USE_CASES: %s", args[0])
|
||||||
}
|
|
||||||
_, err = fmt.Sscan(args[1], &createReq.UseCases)
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("invalid USE_CASES: %s", args[1])
|
|
||||||
}
|
}
|
||||||
|
|
||||||
response, err := a.EncryptionKeys.Create(ctx, createReq)
|
response, err := a.EncryptionKeys.Create(ctx, createReq)
|
||||||
|
@ -112,24 +112,11 @@ var deleteCmd = &cobra.Command{
|
||||||
delete a configuration that is associated with a running workspace.`,
|
delete a configuration that is associated with a running workspace.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
|
Args: cobra.ExactArgs(1),
|
||||||
PreRunE: root.MustAccountClient,
|
PreRunE: root.MustAccountClient,
|
||||||
RunE: func(cmd *cobra.Command, args []string) (err error) {
|
RunE: func(cmd *cobra.Command, args []string) (err error) {
|
||||||
ctx := cmd.Context()
|
ctx := cmd.Context()
|
||||||
a := root.AccountClient(ctx)
|
a := root.AccountClient(ctx)
|
||||||
if len(args) == 0 {
|
|
||||||
names, err := a.EncryptionKeys.CustomerManagedKeyAwsKeyInfoKeyArnToCustomerManagedKeyIdMap(ctx)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
id, err := cmdio.Select(ctx, names, "Databricks encryption key configuration ID")
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
args = append(args, id)
|
|
||||||
}
|
|
||||||
if len(args) != 1 {
|
|
||||||
return fmt.Errorf("expected to have databricks encryption key configuration id")
|
|
||||||
}
|
|
||||||
deleteReq.CustomerManagedKeyId = args[0]
|
deleteReq.CustomerManagedKeyId = args[0]
|
||||||
|
|
||||||
err = a.EncryptionKeys.Delete(ctx, deleteReq)
|
err = a.EncryptionKeys.Delete(ctx, deleteReq)
|
||||||
|
@ -169,27 +156,14 @@ var getCmd = &cobra.Command{
|
||||||
types, subscription types, and AWS regions.
|
types, subscription types, and AWS regions.
|
||||||
|
|
||||||
This operation is available only if your account is on the E2 version of the
|
This operation is available only if your account is on the E2 version of the
|
||||||
platform.`,
|
platform.",`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
|
Args: cobra.ExactArgs(1),
|
||||||
PreRunE: root.MustAccountClient,
|
PreRunE: root.MustAccountClient,
|
||||||
RunE: func(cmd *cobra.Command, args []string) (err error) {
|
RunE: func(cmd *cobra.Command, args []string) (err error) {
|
||||||
ctx := cmd.Context()
|
ctx := cmd.Context()
|
||||||
a := root.AccountClient(ctx)
|
a := root.AccountClient(ctx)
|
||||||
if len(args) == 0 {
|
|
||||||
names, err := a.EncryptionKeys.CustomerManagedKeyAwsKeyInfoKeyArnToCustomerManagedKeyIdMap(ctx)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
id, err := cmdio.Select(ctx, names, "Databricks encryption key configuration ID")
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
args = append(args, id)
|
|
||||||
}
|
|
||||||
if len(args) != 1 {
|
|
||||||
return fmt.Errorf("expected to have databricks encryption key configuration id")
|
|
||||||
}
|
|
||||||
getReq.CustomerManagedKeyId = args[0]
|
getReq.CustomerManagedKeyId = args[0]
|
||||||
|
|
||||||
response, err := a.EncryptionKeys.Get(ctx, getReq)
|
response, err := a.EncryptionKeys.Get(ctx, getReq)
|
||||||
|
|
|
@ -14,13 +14,13 @@ import (
|
||||||
|
|
||||||
var Cmd = &cobra.Command{
|
var Cmd = &cobra.Command{
|
||||||
Use: "groups",
|
Use: "groups",
|
||||||
Short: `Groups simplify identity management, making it easier to assign access to Databricks Account, data, and other securable objects.`,
|
Short: `Groups simplify identity management, making it easier to assign access to Databricks account, data, and other securable objects.`,
|
||||||
Long: `Groups simplify identity management, making it easier to assign access to
|
Long: `Groups simplify identity management, making it easier to assign access to
|
||||||
Databricks Account, data, and other securable objects.
|
Databricks account, data, and other securable objects.
|
||||||
|
|
||||||
It is best practice to assign access to workspaces and access-control policies
|
It is best practice to assign access to workspaces and access-control policies
|
||||||
in Unity Catalog to groups, instead of to users individually. All Databricks
|
in Unity Catalog to groups, instead of to users individually. All Databricks
|
||||||
Account identities can be assigned as members of groups, and members inherit
|
account identities can be assigned as members of groups, and members inherit
|
||||||
permissions that are assigned to their group.`,
|
permissions that are assigned to their group.`,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ var createCmd = &cobra.Command{
|
||||||
Short: `Create a new group.`,
|
Short: `Create a new group.`,
|
||||||
Long: `Create a new group.
|
Long: `Create a new group.
|
||||||
|
|
||||||
Creates a group in the Databricks Account with a unique name, using the
|
Creates a group in the Databricks account with a unique name, using the
|
||||||
supplied group details.`,
|
supplied group details.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
|
@ -86,7 +86,7 @@ var deleteCmd = &cobra.Command{
|
||||||
Short: `Delete a group.`,
|
Short: `Delete a group.`,
|
||||||
Long: `Delete a group.
|
Long: `Delete a group.
|
||||||
|
|
||||||
Deletes a group from the Databricks Account.`,
|
Deletes a group from the Databricks account.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
PreRunE: root.MustAccountClient,
|
PreRunE: root.MustAccountClient,
|
||||||
|
@ -98,7 +98,7 @@ var deleteCmd = &cobra.Command{
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
id, err := cmdio.Select(ctx, names, "Unique ID for a group in the Databricks Account")
|
id, err := cmdio.Select(ctx, names, "Unique ID for a group in the Databricks account")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -132,7 +132,7 @@ var getCmd = &cobra.Command{
|
||||||
Short: `Get group details.`,
|
Short: `Get group details.`,
|
||||||
Long: `Get group details.
|
Long: `Get group details.
|
||||||
|
|
||||||
Gets the information for a specific group in the Databricks Account.`,
|
Gets the information for a specific group in the Databricks account.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
PreRunE: root.MustAccountClient,
|
PreRunE: root.MustAccountClient,
|
||||||
|
@ -144,7 +144,7 @@ var getCmd = &cobra.Command{
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
id, err := cmdio.Select(ctx, names, "Unique ID for a group in the Databricks Account")
|
id, err := cmdio.Select(ctx, names, "Unique ID for a group in the Databricks account")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -186,7 +186,7 @@ var listCmd = &cobra.Command{
|
||||||
Short: `List group details.`,
|
Short: `List group details.`,
|
||||||
Long: `List group details.
|
Long: `List group details.
|
||||||
|
|
||||||
Gets all details of the groups associated with the Databricks Account.`,
|
Gets all details of the groups associated with the Databricks account.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
Args: cobra.ExactArgs(0),
|
Args: cobra.ExactArgs(0),
|
||||||
|
|
|
@ -67,8 +67,7 @@ var deleteCmd = &cobra.Command{
|
||||||
Short: `Delete a metastore.`,
|
Short: `Delete a metastore.`,
|
||||||
Long: `Delete a metastore.
|
Long: `Delete a metastore.
|
||||||
|
|
||||||
Deletes a Databricks Unity Catalog metastore for an account, both specified by
|
Deletes a Unity Catalog metastore for an account, both specified by ID.`,
|
||||||
ID.`,
|
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
Args: cobra.ExactArgs(1),
|
Args: cobra.ExactArgs(1),
|
||||||
|
@ -101,8 +100,7 @@ var getCmd = &cobra.Command{
|
||||||
Short: `Get a metastore.`,
|
Short: `Get a metastore.`,
|
||||||
Long: `Get a metastore.
|
Long: `Get a metastore.
|
||||||
|
|
||||||
Gets a Databricks Unity Catalog metastore from an account, both specified by
|
Gets a Unity Catalog metastore from an account, both specified by ID.`,
|
||||||
ID.`,
|
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
Args: cobra.ExactArgs(1),
|
Args: cobra.ExactArgs(1),
|
||||||
|
|
|
@ -44,7 +44,7 @@ var createCmd = &cobra.Command{
|
||||||
|
|
||||||
The enrollment is executed asynchronously, so the API will return 204
|
The enrollment is executed asynchronously, so the API will return 204
|
||||||
immediately. The actual enrollment take a few minutes, you can check the
|
immediately. The actual enrollment take a few minutes, you can check the
|
||||||
status via API :method:get.`,
|
status via API :method:OAuthEnrollment/get.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
Args: cobra.ExactArgs(0),
|
Args: cobra.ExactArgs(0),
|
||||||
|
|
|
@ -44,7 +44,8 @@ var createCmd = &cobra.Command{
|
||||||
|
|
||||||
Create Published OAuth App Integration.
|
Create Published OAuth App Integration.
|
||||||
|
|
||||||
You can retrieve the published oauth app integration via :method:get.`,
|
You can retrieve the published oauth app integration via
|
||||||
|
:method:PublishedAppIntegration/get.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
PreRunE: root.MustAccountClient,
|
PreRunE: root.MustAccountClient,
|
||||||
|
@ -80,7 +81,7 @@ var deleteCmd = &cobra.Command{
|
||||||
Long: `Delete Published OAuth App Integration.
|
Long: `Delete Published OAuth App Integration.
|
||||||
|
|
||||||
Delete an existing Published OAuth App Integration. You can retrieve the
|
Delete an existing Published OAuth App Integration. You can retrieve the
|
||||||
published oauth app integration via :method:get.`,
|
published oauth app integration via :method:PublishedAppIntegration/get.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
Args: cobra.ExactArgs(1),
|
Args: cobra.ExactArgs(1),
|
||||||
|
@ -144,7 +145,7 @@ var listCmd = &cobra.Command{
|
||||||
Long: `Get published oauth app integrations.
|
Long: `Get published oauth app integrations.
|
||||||
|
|
||||||
Get the list of published oauth app integrations for the specified Databricks
|
Get the list of published oauth app integrations for the specified Databricks
|
||||||
Account`,
|
account`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
PreRunE: root.MustAccountClient,
|
PreRunE: root.MustAccountClient,
|
||||||
|
@ -179,7 +180,7 @@ var updateCmd = &cobra.Command{
|
||||||
Long: `Updates Published OAuth App Integration.
|
Long: `Updates Published OAuth App Integration.
|
||||||
|
|
||||||
Updates an existing published OAuth App Integration. You can retrieve the
|
Updates an existing published OAuth App Integration. You can retrieve the
|
||||||
published oauth app integration via :method:get.`,
|
published oauth app integration via :method:PublishedAppIntegration/get.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
PreRunE: root.MustAccountClient,
|
PreRunE: root.MustAccountClient,
|
||||||
|
|
|
@ -0,0 +1,143 @@
|
||||||
|
// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
|
||||||
|
|
||||||
|
package service_principal_secrets
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"github.com/databricks/cli/cmd/root"
|
||||||
|
"github.com/databricks/cli/libs/cmdio"
|
||||||
|
"github.com/databricks/databricks-sdk-go/service/oauth2"
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
var Cmd = &cobra.Command{
|
||||||
|
Use: "service-principal-secrets",
|
||||||
|
Short: `These APIs enable administrators to manage service principal secrets.`,
|
||||||
|
Long: `These APIs enable administrators to manage service principal secrets.
|
||||||
|
|
||||||
|
You can use the generated secrets to obtain OAuth access tokens for a service
|
||||||
|
principal, which can then be used to access Databricks Accounts and Workspace
|
||||||
|
APIs. For more information, see [Authentication using OAuth tokens for service
|
||||||
|
principals],
|
||||||
|
|
||||||
|
In addition, the generated secrets can be used to configure the Databricks
|
||||||
|
Terraform Provider to authenticate with the service principal. For more
|
||||||
|
information, see [Databricks Terraform Provider].
|
||||||
|
|
||||||
|
[Authentication using OAuth tokens for service principals]: https://docs.databricks.com/dev-tools/authentication-oauth.html
|
||||||
|
[Databricks Terraform Provider]: https://github.com/databricks/terraform-provider-databricks/blob/master/docs/index.md#authenticating-with-service-principal`,
|
||||||
|
}
|
||||||
|
|
||||||
|
// start create command
|
||||||
|
|
||||||
|
var createReq oauth2.CreateServicePrincipalSecretRequest
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
Cmd.AddCommand(createCmd)
|
||||||
|
// TODO: short flags
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
var createCmd = &cobra.Command{
|
||||||
|
Use: "create SERVICE_PRINCIPAL_ID",
|
||||||
|
Short: `Create service principal secret.`,
|
||||||
|
Long: `Create service principal secret.
|
||||||
|
|
||||||
|
Create a secret for the given service principal.`,
|
||||||
|
|
||||||
|
Annotations: map[string]string{},
|
||||||
|
Args: cobra.ExactArgs(1),
|
||||||
|
PreRunE: root.MustAccountClient,
|
||||||
|
RunE: func(cmd *cobra.Command, args []string) (err error) {
|
||||||
|
ctx := cmd.Context()
|
||||||
|
a := root.AccountClient(ctx)
|
||||||
|
_, err = fmt.Sscan(args[0], &createReq.ServicePrincipalId)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("invalid SERVICE_PRINCIPAL_ID: %s", args[0])
|
||||||
|
}
|
||||||
|
|
||||||
|
response, err := a.ServicePrincipalSecrets.Create(ctx, createReq)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return cmdio.Render(ctx, response)
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
// start delete command
|
||||||
|
|
||||||
|
var deleteReq oauth2.DeleteServicePrincipalSecretRequest
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
Cmd.AddCommand(deleteCmd)
|
||||||
|
// TODO: short flags
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
var deleteCmd = &cobra.Command{
|
||||||
|
Use: "delete SERVICE_PRINCIPAL_ID SECRET_ID",
|
||||||
|
Short: `Delete service principal secret.`,
|
||||||
|
Long: `Delete service principal secret.
|
||||||
|
|
||||||
|
Delete a secret from the given service principal.`,
|
||||||
|
|
||||||
|
Annotations: map[string]string{},
|
||||||
|
Args: cobra.ExactArgs(2),
|
||||||
|
PreRunE: root.MustAccountClient,
|
||||||
|
RunE: func(cmd *cobra.Command, args []string) (err error) {
|
||||||
|
ctx := cmd.Context()
|
||||||
|
a := root.AccountClient(ctx)
|
||||||
|
_, err = fmt.Sscan(args[0], &deleteReq.ServicePrincipalId)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("invalid SERVICE_PRINCIPAL_ID: %s", args[0])
|
||||||
|
}
|
||||||
|
deleteReq.SecretId = args[1]
|
||||||
|
|
||||||
|
err = a.ServicePrincipalSecrets.Delete(ctx, deleteReq)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
// start list command
|
||||||
|
|
||||||
|
var listReq oauth2.ListServicePrincipalSecretsRequest
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
Cmd.AddCommand(listCmd)
|
||||||
|
// TODO: short flags
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
var listCmd = &cobra.Command{
|
||||||
|
Use: "list SERVICE_PRINCIPAL_ID",
|
||||||
|
Short: `List service principal secrets.`,
|
||||||
|
Long: `List service principal secrets.
|
||||||
|
|
||||||
|
List all secrets associated with the given service principal. This operation
|
||||||
|
only returns information about the secrets themselves and does not include the
|
||||||
|
secret values.`,
|
||||||
|
|
||||||
|
Annotations: map[string]string{},
|
||||||
|
Args: cobra.ExactArgs(1),
|
||||||
|
PreRunE: root.MustAccountClient,
|
||||||
|
RunE: func(cmd *cobra.Command, args []string) (err error) {
|
||||||
|
ctx := cmd.Context()
|
||||||
|
a := root.AccountClient(ctx)
|
||||||
|
_, err = fmt.Sscan(args[0], &listReq.ServicePrincipalId)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("invalid SERVICE_PRINCIPAL_ID: %s", args[0])
|
||||||
|
}
|
||||||
|
|
||||||
|
response, err := a.ServicePrincipalSecrets.ListAll(ctx, listReq)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return cmdio.Render(ctx, response)
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
// end service ServicePrincipalSecrets
|
|
@ -49,7 +49,7 @@ var createCmd = &cobra.Command{
|
||||||
Short: `Create a service principal.`,
|
Short: `Create a service principal.`,
|
||||||
Long: `Create a service principal.
|
Long: `Create a service principal.
|
||||||
|
|
||||||
Creates a new service principal in the Databricks Account.`,
|
Creates a new service principal in the Databricks account.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
PreRunE: root.MustAccountClient,
|
PreRunE: root.MustAccountClient,
|
||||||
|
@ -85,7 +85,7 @@ var deleteCmd = &cobra.Command{
|
||||||
Short: `Delete a service principal.`,
|
Short: `Delete a service principal.`,
|
||||||
Long: `Delete a service principal.
|
Long: `Delete a service principal.
|
||||||
|
|
||||||
Delete a single service principal in the Databricks Account.`,
|
Delete a single service principal in the Databricks account.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
PreRunE: root.MustAccountClient,
|
PreRunE: root.MustAccountClient,
|
||||||
|
@ -97,7 +97,7 @@ var deleteCmd = &cobra.Command{
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
id, err := cmdio.Select(ctx, names, "Unique ID for a service principal in the Databricks Account")
|
id, err := cmdio.Select(ctx, names, "Unique ID for a service principal in the Databricks account")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -132,7 +132,7 @@ var getCmd = &cobra.Command{
|
||||||
Long: `Get service principal details.
|
Long: `Get service principal details.
|
||||||
|
|
||||||
Gets the details for a single service principal define in the Databricks
|
Gets the details for a single service principal define in the Databricks
|
||||||
Account.`,
|
account.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
PreRunE: root.MustAccountClient,
|
PreRunE: root.MustAccountClient,
|
||||||
|
@ -144,7 +144,7 @@ var getCmd = &cobra.Command{
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
id, err := cmdio.Select(ctx, names, "Unique ID for a service principal in the Databricks Account")
|
id, err := cmdio.Select(ctx, names, "Unique ID for a service principal in the Databricks account")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -186,7 +186,7 @@ var listCmd = &cobra.Command{
|
||||||
Short: `List service principals.`,
|
Short: `List service principals.`,
|
||||||
Long: `List service principals.
|
Long: `List service principals.
|
||||||
|
|
||||||
Gets the set of service principals associated with a Databricks Account.`,
|
Gets the set of service principals associated with a Databricks account.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
Args: cobra.ExactArgs(0),
|
Args: cobra.ExactArgs(0),
|
||||||
|
@ -223,7 +223,7 @@ var patchCmd = &cobra.Command{
|
||||||
Long: `Update service principal details.
|
Long: `Update service principal details.
|
||||||
|
|
||||||
Partially updates the details of a single service principal in the Databricks
|
Partially updates the details of a single service principal in the Databricks
|
||||||
Account.`,
|
account.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
PreRunE: root.MustAccountClient,
|
PreRunE: root.MustAccountClient,
|
||||||
|
|
|
@ -68,6 +68,41 @@ var createCmd = &cobra.Command{
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// start delete command
|
||||||
|
|
||||||
|
var deleteReq catalog.DeleteAccountStorageCredentialRequest
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
Cmd.AddCommand(deleteCmd)
|
||||||
|
// TODO: short flags
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
var deleteCmd = &cobra.Command{
|
||||||
|
Use: "delete METASTORE_ID NAME",
|
||||||
|
Short: `Delete a storage credential.`,
|
||||||
|
Long: `Delete a storage credential.
|
||||||
|
|
||||||
|
Deletes a storage credential from the metastore. The caller must be an owner
|
||||||
|
of the storage credential.`,
|
||||||
|
|
||||||
|
Annotations: map[string]string{},
|
||||||
|
Args: cobra.ExactArgs(2),
|
||||||
|
PreRunE: root.MustAccountClient,
|
||||||
|
RunE: func(cmd *cobra.Command, args []string) (err error) {
|
||||||
|
ctx := cmd.Context()
|
||||||
|
a := root.AccountClient(ctx)
|
||||||
|
deleteReq.MetastoreId = args[0]
|
||||||
|
deleteReq.Name = args[1]
|
||||||
|
|
||||||
|
err = a.StorageCredentials.Delete(ctx, deleteReq)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
// start get command
|
// start get command
|
||||||
|
|
||||||
var getReq catalog.GetAccountStorageCredentialRequest
|
var getReq catalog.GetAccountStorageCredentialRequest
|
||||||
|
@ -138,4 +173,55 @@ var listCmd = &cobra.Command{
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// start update command
|
||||||
|
|
||||||
|
var updateReq catalog.UpdateStorageCredential
|
||||||
|
var updateJson flags.JsonFlag
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
Cmd.AddCommand(updateCmd)
|
||||||
|
// TODO: short flags
|
||||||
|
updateCmd.Flags().Var(&updateJson, "json", `either inline JSON string or @path/to/file.json with request body`)
|
||||||
|
|
||||||
|
// TODO: complex arg: aws_iam_role
|
||||||
|
// TODO: complex arg: azure_service_principal
|
||||||
|
updateCmd.Flags().StringVar(&updateReq.Comment, "comment", updateReq.Comment, `Comment associated with the credential.`)
|
||||||
|
updateCmd.Flags().BoolVar(&updateReq.Force, "force", updateReq.Force, `Force update even if there are dependent external locations or external tables.`)
|
||||||
|
// TODO: complex arg: gcp_service_account_key
|
||||||
|
updateCmd.Flags().StringVar(&updateReq.Name, "name", updateReq.Name, `The credential name.`)
|
||||||
|
updateCmd.Flags().StringVar(&updateReq.Owner, "owner", updateReq.Owner, `Username of current owner of credential.`)
|
||||||
|
updateCmd.Flags().BoolVar(&updateReq.ReadOnly, "read-only", updateReq.ReadOnly, `Whether the storage credential is only usable for read operations.`)
|
||||||
|
updateCmd.Flags().BoolVar(&updateReq.SkipValidation, "skip-validation", updateReq.SkipValidation, `Supplying true to this argument skips validation of the updated credential.`)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
var updateCmd = &cobra.Command{
|
||||||
|
Use: "update",
|
||||||
|
Short: `Updates a storage credential.`,
|
||||||
|
Long: `Updates a storage credential.
|
||||||
|
|
||||||
|
Updates a storage credential on the metastore. The caller must be the owner of
|
||||||
|
the storage credential. If the caller is a metastore admin, only the __owner__
|
||||||
|
credential can be changed.`,
|
||||||
|
|
||||||
|
Annotations: map[string]string{},
|
||||||
|
PreRunE: root.MustAccountClient,
|
||||||
|
RunE: func(cmd *cobra.Command, args []string) (err error) {
|
||||||
|
ctx := cmd.Context()
|
||||||
|
a := root.AccountClient(ctx)
|
||||||
|
err = updateJson.Unmarshal(&updateReq)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
updateReq.MetastoreId = args[0]
|
||||||
|
updateReq.Name = args[1]
|
||||||
|
|
||||||
|
response, err := a.StorageCredentials.Update(ctx, updateReq)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return cmdio.Render(ctx, response)
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
// end service AccountStorageCredentials
|
// end service AccountStorageCredentials
|
||||||
|
|
|
@ -18,13 +18,13 @@ var Cmd = &cobra.Command{
|
||||||
Long: `User identities recognized by Databricks and represented by email addresses.
|
Long: `User identities recognized by Databricks and represented by email addresses.
|
||||||
|
|
||||||
Databricks recommends using SCIM provisioning to sync users and groups
|
Databricks recommends using SCIM provisioning to sync users and groups
|
||||||
automatically from your identity provider to your Databricks Account. SCIM
|
automatically from your identity provider to your Databricks account. SCIM
|
||||||
streamlines onboarding a new employee or team by using your identity provider
|
streamlines onboarding a new employee or team by using your identity provider
|
||||||
to create users and groups in Databricks Account and give them the proper
|
to create users and groups in Databricks account and give them the proper
|
||||||
level of access. When a user leaves your organization or no longer needs
|
level of access. When a user leaves your organization or no longer needs
|
||||||
access to Databricks Account, admins can terminate the user in your identity
|
access to Databricks account, admins can terminate the user in your identity
|
||||||
provider and that user’s account will also be removed from Databricks
|
provider and that user’s account will also be removed from Databricks
|
||||||
Account. This ensures a consistent offboarding process and prevents
|
account. This ensures a consistent offboarding process and prevents
|
||||||
unauthorized users from accessing sensitive data.`,
|
unauthorized users from accessing sensitive data.`,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -56,7 +56,7 @@ var createCmd = &cobra.Command{
|
||||||
Short: `Create a new user.`,
|
Short: `Create a new user.`,
|
||||||
Long: `Create a new user.
|
Long: `Create a new user.
|
||||||
|
|
||||||
Creates a new user in the Databricks Account. This new user will also be added
|
Creates a new user in the Databricks account. This new user will also be added
|
||||||
to the Databricks account.`,
|
to the Databricks account.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
|
@ -93,7 +93,7 @@ var deleteCmd = &cobra.Command{
|
||||||
Short: `Delete a user.`,
|
Short: `Delete a user.`,
|
||||||
Long: `Delete a user.
|
Long: `Delete a user.
|
||||||
|
|
||||||
Deletes a user. Deleting a user from a Databricks Account also removes objects
|
Deletes a user. Deleting a user from a Databricks account also removes objects
|
||||||
associated with the user.`,
|
associated with the user.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
|
@ -106,7 +106,7 @@ var deleteCmd = &cobra.Command{
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
id, err := cmdio.Select(ctx, names, "Unique ID for a user in the Databricks Account")
|
id, err := cmdio.Select(ctx, names, "Unique ID for a user in the Databricks account")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -140,7 +140,7 @@ var getCmd = &cobra.Command{
|
||||||
Short: `Get user details.`,
|
Short: `Get user details.`,
|
||||||
Long: `Get user details.
|
Long: `Get user details.
|
||||||
|
|
||||||
Gets information for a specific user in Databricks Account.`,
|
Gets information for a specific user in Databricks account.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
PreRunE: root.MustAccountClient,
|
PreRunE: root.MustAccountClient,
|
||||||
|
@ -152,7 +152,7 @@ var getCmd = &cobra.Command{
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
id, err := cmdio.Select(ctx, names, "Unique ID for a user in the Databricks Account")
|
id, err := cmdio.Select(ctx, names, "Unique ID for a user in the Databricks account")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -194,7 +194,7 @@ var listCmd = &cobra.Command{
|
||||||
Short: `List users.`,
|
Short: `List users.`,
|
||||||
Long: `List users.
|
Long: `List users.
|
||||||
|
|
||||||
Gets details for all the users associated with a Databricks Account.`,
|
Gets details for all the users associated with a Databricks account.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
Args: cobra.ExactArgs(0),
|
Args: cobra.ExactArgs(0),
|
||||||
|
|
|
@ -111,8 +111,8 @@ var listCmd = &cobra.Command{
|
||||||
Short: `Get permission assignments.`,
|
Short: `Get permission assignments.`,
|
||||||
Long: `Get permission assignments.
|
Long: `Get permission assignments.
|
||||||
|
|
||||||
Get the permission assignments for the specified Databricks Account and
|
Get the permission assignments for the specified Databricks account and
|
||||||
Databricks Workspace.`,
|
Databricks workspace.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
Args: cobra.ExactArgs(1),
|
Args: cobra.ExactArgs(1),
|
||||||
|
|
|
@ -18,7 +18,8 @@ var Cmd = &cobra.Command{
|
||||||
Long: `The alerts API can be used to perform CRUD operations on alerts. An alert is a
|
Long: `The alerts API can be used to perform CRUD operations on alerts. An alert is a
|
||||||
Databricks SQL object that periodically runs a query, evaluates a condition of
|
Databricks SQL object that periodically runs a query, evaluates a condition of
|
||||||
its result, and notifies one or more users and/or notification destinations if
|
its result, and notifies one or more users and/or notification destinations if
|
||||||
the condition was met.`,
|
the condition was met. Alerts can be scheduled using the sql_task type of
|
||||||
|
the Jobs API, e.g. :method:jobs/create.`,
|
||||||
}
|
}
|
||||||
|
|
||||||
// start create command
|
// start create command
|
||||||
|
|
|
@ -181,6 +181,7 @@ func init() {
|
||||||
updateCmd.Flags().Var(&updateJson, "json", `either inline JSON string or @path/to/file.json with request body`)
|
updateCmd.Flags().Var(&updateJson, "json", `either inline JSON string or @path/to/file.json with request body`)
|
||||||
|
|
||||||
updateCmd.Flags().StringVar(&updateReq.Comment, "comment", updateReq.Comment, `User-provided free-form text description.`)
|
updateCmd.Flags().StringVar(&updateReq.Comment, "comment", updateReq.Comment, `User-provided free-form text description.`)
|
||||||
|
updateCmd.Flags().Var(&updateReq.IsolationMode, "isolation-mode", `Whether the current securable is accessible from all workspaces or a specific set of workspaces.`)
|
||||||
updateCmd.Flags().StringVar(&updateReq.Name, "name", updateReq.Name, `Name of catalog.`)
|
updateCmd.Flags().StringVar(&updateReq.Name, "name", updateReq.Name, `Name of catalog.`)
|
||||||
updateCmd.Flags().StringVar(&updateReq.Owner, "owner", updateReq.Owner, `Username of current owner of catalog.`)
|
updateCmd.Flags().StringVar(&updateReq.Owner, "owner", updateReq.Owner, `Username of current owner of catalog.`)
|
||||||
// TODO: map via StringToStringVar: properties
|
// TODO: map via StringToStringVar: properties
|
||||||
|
|
|
@ -110,6 +110,7 @@ func init() {
|
||||||
createCmd.Flags().BoolVar(&createReq.EnableElasticDisk, "enable-elastic-disk", createReq.EnableElasticDisk, `Autoscaling Local Storage: when enabled, this cluster will dynamically acquire additional disk space when its Spark workers are running low on disk space.`)
|
createCmd.Flags().BoolVar(&createReq.EnableElasticDisk, "enable-elastic-disk", createReq.EnableElasticDisk, `Autoscaling Local Storage: when enabled, this cluster will dynamically acquire additional disk space when its Spark workers are running low on disk space.`)
|
||||||
createCmd.Flags().BoolVar(&createReq.EnableLocalDiskEncryption, "enable-local-disk-encryption", createReq.EnableLocalDiskEncryption, `Whether to enable LUKS on cluster VMs' local disks.`)
|
createCmd.Flags().BoolVar(&createReq.EnableLocalDiskEncryption, "enable-local-disk-encryption", createReq.EnableLocalDiskEncryption, `Whether to enable LUKS on cluster VMs' local disks.`)
|
||||||
// TODO: complex arg: gcp_attributes
|
// TODO: complex arg: gcp_attributes
|
||||||
|
// TODO: array: init_scripts
|
||||||
createCmd.Flags().StringVar(&createReq.InstancePoolId, "instance-pool-id", createReq.InstancePoolId, `The optional ID of the instance pool to which the cluster belongs.`)
|
createCmd.Flags().StringVar(&createReq.InstancePoolId, "instance-pool-id", createReq.InstancePoolId, `The optional ID of the instance pool to which the cluster belongs.`)
|
||||||
createCmd.Flags().StringVar(&createReq.NodeTypeId, "node-type-id", createReq.NodeTypeId, `This field encodes, through a single value, the resources available to each of the Spark nodes in this cluster.`)
|
createCmd.Flags().StringVar(&createReq.NodeTypeId, "node-type-id", createReq.NodeTypeId, `This field encodes, through a single value, the resources available to each of the Spark nodes in this cluster.`)
|
||||||
createCmd.Flags().IntVar(&createReq.NumWorkers, "num-workers", createReq.NumWorkers, `Number of worker nodes that this cluster should have.`)
|
createCmd.Flags().IntVar(&createReq.NumWorkers, "num-workers", createReq.NumWorkers, `Number of worker nodes that this cluster should have.`)
|
||||||
|
@ -278,6 +279,7 @@ func init() {
|
||||||
editCmd.Flags().BoolVar(&editReq.EnableElasticDisk, "enable-elastic-disk", editReq.EnableElasticDisk, `Autoscaling Local Storage: when enabled, this cluster will dynamically acquire additional disk space when its Spark workers are running low on disk space.`)
|
editCmd.Flags().BoolVar(&editReq.EnableElasticDisk, "enable-elastic-disk", editReq.EnableElasticDisk, `Autoscaling Local Storage: when enabled, this cluster will dynamically acquire additional disk space when its Spark workers are running low on disk space.`)
|
||||||
editCmd.Flags().BoolVar(&editReq.EnableLocalDiskEncryption, "enable-local-disk-encryption", editReq.EnableLocalDiskEncryption, `Whether to enable LUKS on cluster VMs' local disks.`)
|
editCmd.Flags().BoolVar(&editReq.EnableLocalDiskEncryption, "enable-local-disk-encryption", editReq.EnableLocalDiskEncryption, `Whether to enable LUKS on cluster VMs' local disks.`)
|
||||||
// TODO: complex arg: gcp_attributes
|
// TODO: complex arg: gcp_attributes
|
||||||
|
// TODO: array: init_scripts
|
||||||
editCmd.Flags().StringVar(&editReq.InstancePoolId, "instance-pool-id", editReq.InstancePoolId, `The optional ID of the instance pool to which the cluster belongs.`)
|
editCmd.Flags().StringVar(&editReq.InstancePoolId, "instance-pool-id", editReq.InstancePoolId, `The optional ID of the instance pool to which the cluster belongs.`)
|
||||||
editCmd.Flags().StringVar(&editReq.NodeTypeId, "node-type-id", editReq.NodeTypeId, `This field encodes, through a single value, the resources available to each of the Spark nodes in this cluster.`)
|
editCmd.Flags().StringVar(&editReq.NodeTypeId, "node-type-id", editReq.NodeTypeId, `This field encodes, through a single value, the resources available to each of the Spark nodes in this cluster.`)
|
||||||
editCmd.Flags().IntVar(&editReq.NumWorkers, "num-workers", editReq.NumWorkers, `Number of worker nodes that this cluster should have.`)
|
editCmd.Flags().IntVar(&editReq.NumWorkers, "num-workers", editReq.NumWorkers, `Number of worker nodes that this cluster should have.`)
|
||||||
|
@ -413,7 +415,7 @@ var getCmd = &cobra.Command{
|
||||||
Short: `Get cluster info.`,
|
Short: `Get cluster info.`,
|
||||||
Long: `Get cluster info.
|
Long: `Get cluster info.
|
||||||
|
|
||||||
"Retrieves the information for a cluster given its identifier. Clusters can be
|
Retrieves the information for a cluster given its identifier. Clusters can be
|
||||||
described while they are running, or up to 60 days after they are terminated.`,
|
described while they are running, or up to 60 days after they are terminated.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
|
|
|
@ -49,6 +49,7 @@ import (
|
||||||
volumes "github.com/databricks/cli/cmd/workspace/volumes"
|
volumes "github.com/databricks/cli/cmd/workspace/volumes"
|
||||||
warehouses "github.com/databricks/cli/cmd/workspace/warehouses"
|
warehouses "github.com/databricks/cli/cmd/workspace/warehouses"
|
||||||
workspace "github.com/databricks/cli/cmd/workspace/workspace"
|
workspace "github.com/databricks/cli/cmd/workspace/workspace"
|
||||||
|
workspace_bindings "github.com/databricks/cli/cmd/workspace/workspace-bindings"
|
||||||
workspace_conf "github.com/databricks/cli/cmd/workspace/workspace-conf"
|
workspace_conf "github.com/databricks/cli/cmd/workspace/workspace-conf"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -98,5 +99,6 @@ func init() {
|
||||||
root.RootCmd.AddCommand(volumes.Cmd)
|
root.RootCmd.AddCommand(volumes.Cmd)
|
||||||
root.RootCmd.AddCommand(warehouses.Cmd)
|
root.RootCmd.AddCommand(warehouses.Cmd)
|
||||||
root.RootCmd.AddCommand(workspace.Cmd)
|
root.RootCmd.AddCommand(workspace.Cmd)
|
||||||
|
root.RootCmd.AddCommand(workspace_bindings.Cmd)
|
||||||
root.RootCmd.AddCommand(workspace_conf.Cmd)
|
root.RootCmd.AddCommand(workspace_conf.Cmd)
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,7 +19,8 @@ var Cmd = &cobra.Command{
|
||||||
it can be useful to use dashboard objects to look-up a collection of related
|
it can be useful to use dashboard objects to look-up a collection of related
|
||||||
query IDs. The API can also be used to duplicate multiple dashboards at once
|
query IDs. The API can also be used to duplicate multiple dashboards at once
|
||||||
since you can get a dashboard definition with a GET request and then POST it
|
since you can get a dashboard definition with a GET request and then POST it
|
||||||
to create a new one.`,
|
to create a new one. Dashboards can be scheduled using the sql_task type of
|
||||||
|
the Jobs API, e.g. :method:jobs/create.`,
|
||||||
}
|
}
|
||||||
|
|
||||||
// start create command
|
// start create command
|
||||||
|
@ -32,13 +33,10 @@ func init() {
|
||||||
// TODO: short flags
|
// TODO: short flags
|
||||||
createCmd.Flags().Var(&createJson, "json", `either inline JSON string or @path/to/file.json with request body`)
|
createCmd.Flags().Var(&createJson, "json", `either inline JSON string or @path/to/file.json with request body`)
|
||||||
|
|
||||||
createCmd.Flags().BoolVar(&createReq.DashboardFiltersEnabled, "dashboard-filters-enabled", createReq.DashboardFiltersEnabled, `In the web application, query filters that share a name are coupled to a single selection box if this value is true.`)
|
createCmd.Flags().BoolVar(&createReq.IsFavorite, "is-favorite", createReq.IsFavorite, `Indicates whether this query object should appear in the current user's favorites list.`)
|
||||||
createCmd.Flags().BoolVar(&createReq.IsDraft, "is-draft", createReq.IsDraft, `Draft dashboards only appear in list views for their owners.`)
|
|
||||||
createCmd.Flags().BoolVar(&createReq.IsTrashed, "is-trashed", createReq.IsTrashed, `Indicates whether the dashboard is trashed.`)
|
|
||||||
createCmd.Flags().StringVar(&createReq.Name, "name", createReq.Name, `The title of this dashboard that appears in list views and at the top of the dashboard page.`)
|
createCmd.Flags().StringVar(&createReq.Name, "name", createReq.Name, `The title of this dashboard that appears in list views and at the top of the dashboard page.`)
|
||||||
createCmd.Flags().StringVar(&createReq.Parent, "parent", createReq.Parent, `The identifier of the workspace folder containing the dashboard.`)
|
createCmd.Flags().StringVar(&createReq.Parent, "parent", createReq.Parent, `The identifier of the workspace folder containing the dashboard.`)
|
||||||
// TODO: array: tags
|
// TODO: array: tags
|
||||||
// TODO: array: widgets
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -225,7 +225,7 @@ var getByNameCmd = &cobra.Command{
|
||||||
Short: `Get metadata.`,
|
Short: `Get metadata.`,
|
||||||
Long: `Get metadata.
|
Long: `Get metadata.
|
||||||
|
|
||||||
"Gets metadata for an experiment.
|
Gets metadata for an experiment.
|
||||||
|
|
||||||
This endpoint will return deleted experiments, but prefers the active
|
This endpoint will return deleted experiments, but prefers the active
|
||||||
experiment if an active and deleted experiment share the same name. If
|
experiment if an active and deleted experiment share the same name. If
|
||||||
|
@ -233,7 +233,7 @@ var getByNameCmd = &cobra.Command{
|
||||||
them.
|
them.
|
||||||
|
|
||||||
Throws RESOURCE_DOES_NOT_EXIST if no experiment with the specified name
|
Throws RESOURCE_DOES_NOT_EXIST if no experiment with the specified name
|
||||||
exists.S`,
|
exists.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
Args: cobra.ExactArgs(1),
|
Args: cobra.ExactArgs(1),
|
||||||
|
@ -339,7 +339,7 @@ var getRunCmd = &cobra.Command{
|
||||||
Short: `Get a run.`,
|
Short: `Get a run.`,
|
||||||
Long: `Get a run.
|
Long: `Get a run.
|
||||||
|
|
||||||
"Gets the metadata, metrics, params, and tags for a run. In the case where
|
Gets the metadata, metrics, params, and tags for a run. In the case where
|
||||||
multiple metrics with the same key are logged for a run, return only the value
|
multiple metrics with the same key are logged for a run, return only the value
|
||||||
with the latest timestamp.
|
with the latest timestamp.
|
||||||
|
|
||||||
|
@ -514,6 +514,47 @@ var logBatchCmd = &cobra.Command{
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// start log-inputs command
|
||||||
|
|
||||||
|
var logInputsReq ml.LogInputs
|
||||||
|
var logInputsJson flags.JsonFlag
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
Cmd.AddCommand(logInputsCmd)
|
||||||
|
// TODO: short flags
|
||||||
|
logInputsCmd.Flags().Var(&logInputsJson, "json", `either inline JSON string or @path/to/file.json with request body`)
|
||||||
|
|
||||||
|
// TODO: array: datasets
|
||||||
|
logInputsCmd.Flags().StringVar(&logInputsReq.RunId, "run-id", logInputsReq.RunId, `ID of the run to log under.`)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
var logInputsCmd = &cobra.Command{
|
||||||
|
Use: "log-inputs",
|
||||||
|
Short: `Log inputs to a run.`,
|
||||||
|
Long: `Log inputs to a run.
|
||||||
|
|
||||||
|
**NOTE:** Experimental: This API may change or be removed in a future release
|
||||||
|
without warning.`,
|
||||||
|
|
||||||
|
Annotations: map[string]string{},
|
||||||
|
PreRunE: root.MustWorkspaceClient,
|
||||||
|
RunE: func(cmd *cobra.Command, args []string) (err error) {
|
||||||
|
ctx := cmd.Context()
|
||||||
|
w := root.WorkspaceClient(ctx)
|
||||||
|
err = logInputsJson.Unmarshal(&logInputsReq)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
err = w.Experiments.LogInputs(ctx, logInputsReq)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
// start log-metric command
|
// start log-metric command
|
||||||
|
|
||||||
var logMetricReq ml.LogMetric
|
var logMetricReq ml.LogMetric
|
||||||
|
@ -652,12 +693,12 @@ var restoreExperimentCmd = &cobra.Command{
|
||||||
Short: `Restores an experiment.`,
|
Short: `Restores an experiment.`,
|
||||||
Long: `Restores an experiment.
|
Long: `Restores an experiment.
|
||||||
|
|
||||||
"Restore an experiment marked for deletion. This also restores associated
|
Restore an experiment marked for deletion. This also restores associated
|
||||||
metadata, runs, metrics, params, and tags. If experiment uses FileStore,
|
metadata, runs, metrics, params, and tags. If experiment uses FileStore,
|
||||||
underlying artifacts associated with experiment are also restored.
|
underlying artifacts associated with experiment are also restored.
|
||||||
|
|
||||||
Throws RESOURCE_DOES_NOT_EXIST if experiment was never created or was
|
Throws RESOURCE_DOES_NOT_EXIST if experiment was never created or was
|
||||||
permanently deleted.",`,
|
permanently deleted.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
Args: cobra.ExactArgs(1),
|
Args: cobra.ExactArgs(1),
|
||||||
|
|
|
@ -166,7 +166,7 @@ var listCmd = &cobra.Command{
|
||||||
Short: `Get init scripts.`,
|
Short: `Get init scripts.`,
|
||||||
Long: `Get init scripts.
|
Long: `Get init scripts.
|
||||||
|
|
||||||
"Get a list of all global init scripts for this workspace. This returns all
|
Get a list of all global init scripts for this workspace. This returns all
|
||||||
properties for each script but **not** the script contents. To retrieve the
|
properties for each script but **not** the script contents. To retrieve the
|
||||||
contents of a script, use the [get a global init
|
contents of a script, use the [get a global init
|
||||||
script](#operation/get-script) operation.`,
|
script](#operation/get-script) operation.`,
|
||||||
|
|
|
@ -14,13 +14,13 @@ import (
|
||||||
|
|
||||||
var Cmd = &cobra.Command{
|
var Cmd = &cobra.Command{
|
||||||
Use: "groups",
|
Use: "groups",
|
||||||
Short: `Groups simplify identity management, making it easier to assign access to Databricks Workspace, data, and other securable objects.`,
|
Short: `Groups simplify identity management, making it easier to assign access to Databricks workspace, data, and other securable objects.`,
|
||||||
Long: `Groups simplify identity management, making it easier to assign access to
|
Long: `Groups simplify identity management, making it easier to assign access to
|
||||||
Databricks Workspace, data, and other securable objects.
|
Databricks workspace, data, and other securable objects.
|
||||||
|
|
||||||
It is best practice to assign access to workspaces and access-control policies
|
It is best practice to assign access to workspaces and access-control policies
|
||||||
in Unity Catalog to groups, instead of to users individually. All Databricks
|
in Unity Catalog to groups, instead of to users individually. All Databricks
|
||||||
Workspace identities can be assigned as members of groups, and members inherit
|
workspace identities can be assigned as members of groups, and members inherit
|
||||||
permissions that are assigned to their group.`,
|
permissions that are assigned to their group.`,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ var createCmd = &cobra.Command{
|
||||||
Short: `Create a new group.`,
|
Short: `Create a new group.`,
|
||||||
Long: `Create a new group.
|
Long: `Create a new group.
|
||||||
|
|
||||||
Creates a group in the Databricks Workspace with a unique name, using the
|
Creates a group in the Databricks workspace with a unique name, using the
|
||||||
supplied group details.`,
|
supplied group details.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
|
@ -86,7 +86,7 @@ var deleteCmd = &cobra.Command{
|
||||||
Short: `Delete a group.`,
|
Short: `Delete a group.`,
|
||||||
Long: `Delete a group.
|
Long: `Delete a group.
|
||||||
|
|
||||||
Deletes a group from the Databricks Workspace.`,
|
Deletes a group from the Databricks workspace.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
PreRunE: root.MustWorkspaceClient,
|
PreRunE: root.MustWorkspaceClient,
|
||||||
|
@ -98,7 +98,7 @@ var deleteCmd = &cobra.Command{
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
id, err := cmdio.Select(ctx, names, "Unique ID for a group in the Databricks Workspace")
|
id, err := cmdio.Select(ctx, names, "Unique ID for a group in the Databricks workspace")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -132,7 +132,7 @@ var getCmd = &cobra.Command{
|
||||||
Short: `Get group details.`,
|
Short: `Get group details.`,
|
||||||
Long: `Get group details.
|
Long: `Get group details.
|
||||||
|
|
||||||
Gets the information for a specific group in the Databricks Workspace.`,
|
Gets the information for a specific group in the Databricks workspace.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
PreRunE: root.MustWorkspaceClient,
|
PreRunE: root.MustWorkspaceClient,
|
||||||
|
@ -144,7 +144,7 @@ var getCmd = &cobra.Command{
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
id, err := cmdio.Select(ctx, names, "Unique ID for a group in the Databricks Workspace")
|
id, err := cmdio.Select(ctx, names, "Unique ID for a group in the Databricks workspace")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -186,7 +186,7 @@ var listCmd = &cobra.Command{
|
||||||
Short: `List group details.`,
|
Short: `List group details.`,
|
||||||
Long: `List group details.
|
Long: `List group details.
|
||||||
|
|
||||||
Gets all details of the groups associated with the Databricks Workspace.`,
|
Gets all details of the groups associated with the Databricks workspace.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
Args: cobra.ExactArgs(0),
|
Args: cobra.ExactArgs(0),
|
||||||
|
|
|
@ -29,10 +29,11 @@ var Cmd = &cobra.Command{
|
||||||
Spark submit, and Java applications.
|
Spark submit, and Java applications.
|
||||||
|
|
||||||
You should never hard code secrets or store them in plain text. Use the
|
You should never hard code secrets or store them in plain text. Use the
|
||||||
:service:secrets to manage secrets in the [Databricks CLI]. Use the [Secrets
|
[Secrets CLI] to manage secrets in the [Databricks CLI]. Use the [Secrets
|
||||||
utility] to reference secrets in notebooks and jobs.
|
utility] to reference secrets in notebooks and jobs.
|
||||||
|
|
||||||
[Databricks CLI]: https://docs.databricks.com/dev-tools/cli/index.html
|
[Databricks CLI]: https://docs.databricks.com/dev-tools/cli/index.html
|
||||||
|
[Secrets CLI]: https://docs.databricks.com/dev-tools/cli/secrets-cli.html
|
||||||
[Secrets utility]: https://docs.databricks.com/dev-tools/databricks-utils.html#dbutils-secrets`,
|
[Secrets utility]: https://docs.databricks.com/dev-tools/databricks-utils.html#dbutils-secrets`,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -184,6 +185,7 @@ func init() {
|
||||||
// TODO: array: job_clusters
|
// TODO: array: job_clusters
|
||||||
createCmd.Flags().IntVar(&createReq.MaxConcurrentRuns, "max-concurrent-runs", createReq.MaxConcurrentRuns, `An optional maximum allowed number of concurrent runs of the job.`)
|
createCmd.Flags().IntVar(&createReq.MaxConcurrentRuns, "max-concurrent-runs", createReq.MaxConcurrentRuns, `An optional maximum allowed number of concurrent runs of the job.`)
|
||||||
createCmd.Flags().StringVar(&createReq.Name, "name", createReq.Name, `An optional name for the job.`)
|
createCmd.Flags().StringVar(&createReq.Name, "name", createReq.Name, `An optional name for the job.`)
|
||||||
|
// TODO: complex arg: notification_settings
|
||||||
// TODO: complex arg: schedule
|
// TODO: complex arg: schedule
|
||||||
// TODO: map via StringToStringVar: tags
|
// TODO: map via StringToStringVar: tags
|
||||||
// TODO: array: tasks
|
// TODO: array: tasks
|
||||||
|
@ -852,6 +854,7 @@ func init() {
|
||||||
// TODO: array: access_control_list
|
// TODO: array: access_control_list
|
||||||
// TODO: complex arg: git_source
|
// TODO: complex arg: git_source
|
||||||
submitCmd.Flags().StringVar(&submitReq.IdempotencyToken, "idempotency-token", submitReq.IdempotencyToken, `An optional token that can be used to guarantee the idempotency of job run requests.`)
|
submitCmd.Flags().StringVar(&submitReq.IdempotencyToken, "idempotency-token", submitReq.IdempotencyToken, `An optional token that can be used to guarantee the idempotency of job run requests.`)
|
||||||
|
// TODO: complex arg: notification_settings
|
||||||
submitCmd.Flags().StringVar(&submitReq.RunName, "run-name", submitReq.RunName, `An optional name for the run.`)
|
submitCmd.Flags().StringVar(&submitReq.RunName, "run-name", submitReq.RunName, `An optional name for the run.`)
|
||||||
// TODO: array: tasks
|
// TODO: array: tasks
|
||||||
submitCmd.Flags().IntVar(&submitReq.TimeoutSeconds, "timeout-seconds", submitReq.TimeoutSeconds, `An optional timeout applied to each run of this job.`)
|
submitCmd.Flags().IntVar(&submitReq.TimeoutSeconds, "timeout-seconds", submitReq.TimeoutSeconds, `An optional timeout applied to each run of this job.`)
|
||||||
|
@ -928,8 +931,8 @@ func init() {
|
||||||
|
|
||||||
var updateCmd = &cobra.Command{
|
var updateCmd = &cobra.Command{
|
||||||
Use: "update",
|
Use: "update",
|
||||||
Short: `Partially updates a job.`,
|
Short: `Partially update a job.`,
|
||||||
Long: `Partially updates a job.
|
Long: `Partially update a job.
|
||||||
|
|
||||||
Add, update, or remove specific settings of an existing job. Use the ResetJob
|
Add, update, or remove specific settings of an existing job. Use the ResetJob
|
||||||
to overwrite all job settings.`,
|
to overwrite all job settings.`,
|
||||||
|
|
|
@ -470,7 +470,10 @@ var deleteTransitionRequestCmd = &cobra.Command{
|
||||||
w := root.WorkspaceClient(ctx)
|
w := root.WorkspaceClient(ctx)
|
||||||
deleteTransitionRequestReq.Name = args[0]
|
deleteTransitionRequestReq.Name = args[0]
|
||||||
deleteTransitionRequestReq.Version = args[1]
|
deleteTransitionRequestReq.Version = args[1]
|
||||||
deleteTransitionRequestReq.Stage = args[2]
|
_, err = fmt.Sscan(args[2], &deleteTransitionRequestReq.Stage)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("invalid STAGE: %s", args[2])
|
||||||
|
}
|
||||||
deleteTransitionRequestReq.Creator = args[3]
|
deleteTransitionRequestReq.Creator = args[3]
|
||||||
|
|
||||||
err = w.ModelRegistry.DeleteTransitionRequest(ctx, deleteTransitionRequestReq)
|
err = w.ModelRegistry.DeleteTransitionRequest(ctx, deleteTransitionRequestReq)
|
||||||
|
@ -572,8 +575,8 @@ var getModelCmd = &cobra.Command{
|
||||||
Short: `Get model.`,
|
Short: `Get model.`,
|
||||||
Long: `Get model.
|
Long: `Get model.
|
||||||
|
|
||||||
Get the details of a model. This is a Databricks Workspace version of the
|
Get the details of a model. This is a Databricks workspace version of the
|
||||||
[MLflow endpoint] that also returns the model's Databricks Workspace ID and
|
[MLflow endpoint] that also returns the model's Databricks workspace ID and
|
||||||
the permission level of the requesting user on the model.
|
the permission level of the requesting user on the model.
|
||||||
|
|
||||||
[MLflow endpoint]: https://www.mlflow.org/docs/latest/rest-api.html#get-registeredmodel`,
|
[MLflow endpoint]: https://www.mlflow.org/docs/latest/rest-api.html#get-registeredmodel`,
|
||||||
|
@ -1059,7 +1062,7 @@ var transitionStageCmd = &cobra.Command{
|
||||||
Short: `Transition a stage.`,
|
Short: `Transition a stage.`,
|
||||||
Long: `Transition a stage.
|
Long: `Transition a stage.
|
||||||
|
|
||||||
Transition a model version's stage. This is a Databricks Workspace version of
|
Transition a model version's stage. This is a Databricks workspace version of
|
||||||
the [MLflow endpoint] that also accepts a comment associated with the
|
the [MLflow endpoint] that also accepts a comment associated with the
|
||||||
transition to be recorded.",
|
transition to be recorded.",
|
||||||
|
|
||||||
|
|
|
@ -57,6 +57,7 @@ func init() {
|
||||||
// TODO: array: libraries
|
// TODO: array: libraries
|
||||||
createCmd.Flags().StringVar(&createReq.Name, "name", createReq.Name, `Friendly identifier for this pipeline.`)
|
createCmd.Flags().StringVar(&createReq.Name, "name", createReq.Name, `Friendly identifier for this pipeline.`)
|
||||||
createCmd.Flags().BoolVar(&createReq.Photon, "photon", createReq.Photon, `Whether Photon is enabled for this pipeline.`)
|
createCmd.Flags().BoolVar(&createReq.Photon, "photon", createReq.Photon, `Whether Photon is enabled for this pipeline.`)
|
||||||
|
createCmd.Flags().BoolVar(&createReq.Serverless, "serverless", createReq.Serverless, `Whether serverless compute is enabled for this pipeline.`)
|
||||||
createCmd.Flags().StringVar(&createReq.Storage, "storage", createReq.Storage, `DBFS root directory for storing checkpoints and tables.`)
|
createCmd.Flags().StringVar(&createReq.Storage, "storage", createReq.Storage, `DBFS root directory for storing checkpoints and tables.`)
|
||||||
createCmd.Flags().StringVar(&createReq.Target, "target", createReq.Target, `Target schema (database) to add tables in this pipeline to.`)
|
createCmd.Flags().StringVar(&createReq.Target, "target", createReq.Target, `Target schema (database) to add tables in this pipeline to.`)
|
||||||
// TODO: complex arg: trigger
|
// TODO: complex arg: trigger
|
||||||
|
@ -560,6 +561,7 @@ func init() {
|
||||||
updateCmd.Flags().StringVar(&updateReq.Name, "name", updateReq.Name, `Friendly identifier for this pipeline.`)
|
updateCmd.Flags().StringVar(&updateReq.Name, "name", updateReq.Name, `Friendly identifier for this pipeline.`)
|
||||||
updateCmd.Flags().BoolVar(&updateReq.Photon, "photon", updateReq.Photon, `Whether Photon is enabled for this pipeline.`)
|
updateCmd.Flags().BoolVar(&updateReq.Photon, "photon", updateReq.Photon, `Whether Photon is enabled for this pipeline.`)
|
||||||
updateCmd.Flags().StringVar(&updateReq.PipelineId, "pipeline-id", updateReq.PipelineId, `Unique identifier for this pipeline.`)
|
updateCmd.Flags().StringVar(&updateReq.PipelineId, "pipeline-id", updateReq.PipelineId, `Unique identifier for this pipeline.`)
|
||||||
|
updateCmd.Flags().BoolVar(&updateReq.Serverless, "serverless", updateReq.Serverless, `Whether serverless compute is enabled for this pipeline.`)
|
||||||
updateCmd.Flags().StringVar(&updateReq.Storage, "storage", updateReq.Storage, `DBFS root directory for storing checkpoints and tables.`)
|
updateCmd.Flags().StringVar(&updateReq.Storage, "storage", updateReq.Storage, `DBFS root directory for storing checkpoints and tables.`)
|
||||||
updateCmd.Flags().StringVar(&updateReq.Target, "target", updateReq.Target, `Target schema (database) to add tables in this pipeline to.`)
|
updateCmd.Flags().StringVar(&updateReq.Target, "target", updateReq.Target, `Target schema (database) to add tables in this pipeline to.`)
|
||||||
// TODO: complex arg: trigger
|
// TODO: complex arg: trigger
|
||||||
|
|
|
@ -17,7 +17,8 @@ var Cmd = &cobra.Command{
|
||||||
Short: `These endpoints are used for CRUD operations on query definitions.`,
|
Short: `These endpoints are used for CRUD operations on query definitions.`,
|
||||||
Long: `These endpoints are used for CRUD operations on query definitions. Query
|
Long: `These endpoints are used for CRUD operations on query definitions. Query
|
||||||
definitions include the target SQL warehouse, query text, name, description,
|
definitions include the target SQL warehouse, query text, name, description,
|
||||||
tags, parameters, and visualizations.`,
|
tags, parameters, and visualizations. Queries can be scheduled using the
|
||||||
|
sql_task type of the Jobs API, e.g. :method:jobs/create.`,
|
||||||
}
|
}
|
||||||
|
|
||||||
// start create command
|
// start create command
|
||||||
|
|
|
@ -32,7 +32,7 @@ func init() {
|
||||||
// TODO: any: data_recipient_global_metastore_id
|
// TODO: any: data_recipient_global_metastore_id
|
||||||
// TODO: complex arg: ip_access_list
|
// TODO: complex arg: ip_access_list
|
||||||
createCmd.Flags().StringVar(&createReq.Owner, "owner", createReq.Owner, `Username of the recipient owner.`)
|
createCmd.Flags().StringVar(&createReq.Owner, "owner", createReq.Owner, `Username of the recipient owner.`)
|
||||||
// TODO: any: properties_kvpairs
|
// TODO: complex arg: properties_kvpairs
|
||||||
createCmd.Flags().StringVar(&createReq.SharingCode, "sharing-code", createReq.SharingCode, `The one-time sharing code provided by the data recipient.`)
|
createCmd.Flags().StringVar(&createReq.SharingCode, "sharing-code", createReq.SharingCode, `The one-time sharing code provided by the data recipient.`)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -300,7 +300,7 @@ func init() {
|
||||||
// TODO: complex arg: ip_access_list
|
// TODO: complex arg: ip_access_list
|
||||||
updateCmd.Flags().StringVar(&updateReq.Name, "name", updateReq.Name, `Name of Recipient.`)
|
updateCmd.Flags().StringVar(&updateReq.Name, "name", updateReq.Name, `Name of Recipient.`)
|
||||||
updateCmd.Flags().StringVar(&updateReq.Owner, "owner", updateReq.Owner, `Username of the recipient owner.`)
|
updateCmd.Flags().StringVar(&updateReq.Owner, "owner", updateReq.Owner, `Username of the recipient owner.`)
|
||||||
// TODO: any: properties_kvpairs
|
// TODO: complex arg: properties_kvpairs
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -49,7 +49,7 @@ var createCmd = &cobra.Command{
|
||||||
Short: `Create a service principal.`,
|
Short: `Create a service principal.`,
|
||||||
Long: `Create a service principal.
|
Long: `Create a service principal.
|
||||||
|
|
||||||
Creates a new service principal in the Databricks Workspace.`,
|
Creates a new service principal in the Databricks workspace.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
PreRunE: root.MustWorkspaceClient,
|
PreRunE: root.MustWorkspaceClient,
|
||||||
|
@ -85,7 +85,7 @@ var deleteCmd = &cobra.Command{
|
||||||
Short: `Delete a service principal.`,
|
Short: `Delete a service principal.`,
|
||||||
Long: `Delete a service principal.
|
Long: `Delete a service principal.
|
||||||
|
|
||||||
Delete a single service principal in the Databricks Workspace.`,
|
Delete a single service principal in the Databricks workspace.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
PreRunE: root.MustWorkspaceClient,
|
PreRunE: root.MustWorkspaceClient,
|
||||||
|
@ -97,7 +97,7 @@ var deleteCmd = &cobra.Command{
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
id, err := cmdio.Select(ctx, names, "Unique ID for a service principal in the Databricks Workspace")
|
id, err := cmdio.Select(ctx, names, "Unique ID for a service principal in the Databricks workspace")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -132,7 +132,7 @@ var getCmd = &cobra.Command{
|
||||||
Long: `Get service principal details.
|
Long: `Get service principal details.
|
||||||
|
|
||||||
Gets the details for a single service principal define in the Databricks
|
Gets the details for a single service principal define in the Databricks
|
||||||
Workspace.`,
|
workspace.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
PreRunE: root.MustWorkspaceClient,
|
PreRunE: root.MustWorkspaceClient,
|
||||||
|
@ -144,7 +144,7 @@ var getCmd = &cobra.Command{
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
id, err := cmdio.Select(ctx, names, "Unique ID for a service principal in the Databricks Workspace")
|
id, err := cmdio.Select(ctx, names, "Unique ID for a service principal in the Databricks workspace")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -186,7 +186,7 @@ var listCmd = &cobra.Command{
|
||||||
Short: `List service principals.`,
|
Short: `List service principals.`,
|
||||||
Long: `List service principals.
|
Long: `List service principals.
|
||||||
|
|
||||||
Gets the set of service principals associated with a Databricks Workspace.`,
|
Gets the set of service principals associated with a Databricks workspace.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
Args: cobra.ExactArgs(0),
|
Args: cobra.ExactArgs(0),
|
||||||
|
@ -223,7 +223,7 @@ var patchCmd = &cobra.Command{
|
||||||
Long: `Update service principal details.
|
Long: `Update service principal details.
|
||||||
|
|
||||||
Partially updates the details of a single service principal in the Databricks
|
Partially updates the details of a single service principal in the Databricks
|
||||||
Workspace.`,
|
workspace.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
PreRunE: root.MustWorkspaceClient,
|
PreRunE: root.MustWorkspaceClient,
|
||||||
|
|
|
@ -202,7 +202,7 @@ var listCmd = &cobra.Command{
|
||||||
RunE: func(cmd *cobra.Command, args []string) (err error) {
|
RunE: func(cmd *cobra.Command, args []string) (err error) {
|
||||||
ctx := cmd.Context()
|
ctx := cmd.Context()
|
||||||
w := root.WorkspaceClient(ctx)
|
w := root.WorkspaceClient(ctx)
|
||||||
response, err := w.StorageCredentials.List(ctx)
|
response, err := w.StorageCredentials.ListAll(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -250,7 +250,8 @@ var updateCmd = &cobra.Command{
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
updateReq.Name = args[0]
|
updateReq.MetastoreId = args[0]
|
||||||
|
updateReq.Name = args[1]
|
||||||
|
|
||||||
response, err := w.StorageCredentials.Update(ctx, updateReq)
|
response, err := w.StorageCredentials.Update(ctx, updateReq)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
@ -81,7 +81,7 @@ var deleteCmd = &cobra.Command{
|
||||||
ctx := cmd.Context()
|
ctx := cmd.Context()
|
||||||
w := root.WorkspaceClient(ctx)
|
w := root.WorkspaceClient(ctx)
|
||||||
if len(args) == 0 {
|
if len(args) == 0 {
|
||||||
names, err := w.TokenManagement.PublicTokenInfoCommentToTokenIdMap(ctx, settings.ListTokenManagementRequest{})
|
names, err := w.TokenManagement.TokenInfoCommentToTokenIdMap(ctx, settings.ListTokenManagementRequest{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -127,7 +127,7 @@ var getCmd = &cobra.Command{
|
||||||
ctx := cmd.Context()
|
ctx := cmd.Context()
|
||||||
w := root.WorkspaceClient(ctx)
|
w := root.WorkspaceClient(ctx)
|
||||||
if len(args) == 0 {
|
if len(args) == 0 {
|
||||||
names, err := w.TokenManagement.PublicTokenInfoCommentToTokenIdMap(ctx, settings.ListTokenManagementRequest{})
|
names, err := w.TokenManagement.TokenInfoCommentToTokenIdMap(ctx, settings.ListTokenManagementRequest{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
|
@ -82,7 +82,7 @@ var deleteCmd = &cobra.Command{
|
||||||
ctx := cmd.Context()
|
ctx := cmd.Context()
|
||||||
w := root.WorkspaceClient(ctx)
|
w := root.WorkspaceClient(ctx)
|
||||||
if len(args) == 0 {
|
if len(args) == 0 {
|
||||||
names, err := w.Tokens.PublicTokenInfoCommentToTokenIdMap(ctx)
|
names, err := w.Tokens.TokenInfoCommentToTokenIdMap(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,13 +18,13 @@ var Cmd = &cobra.Command{
|
||||||
Long: `User identities recognized by Databricks and represented by email addresses.
|
Long: `User identities recognized by Databricks and represented by email addresses.
|
||||||
|
|
||||||
Databricks recommends using SCIM provisioning to sync users and groups
|
Databricks recommends using SCIM provisioning to sync users and groups
|
||||||
automatically from your identity provider to your Databricks Workspace. SCIM
|
automatically from your identity provider to your Databricks workspace. SCIM
|
||||||
streamlines onboarding a new employee or team by using your identity provider
|
streamlines onboarding a new employee or team by using your identity provider
|
||||||
to create users and groups in Databricks Workspace and give them the proper
|
to create users and groups in Databricks workspace and give them the proper
|
||||||
level of access. When a user leaves your organization or no longer needs
|
level of access. When a user leaves your organization or no longer needs
|
||||||
access to Databricks Workspace, admins can terminate the user in your identity
|
access to Databricks workspace, admins can terminate the user in your identity
|
||||||
provider and that user’s account will also be removed from Databricks
|
provider and that user’s account will also be removed from Databricks
|
||||||
Workspace. This ensures a consistent offboarding process and prevents
|
workspace. This ensures a consistent offboarding process and prevents
|
||||||
unauthorized users from accessing sensitive data.`,
|
unauthorized users from accessing sensitive data.`,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -56,7 +56,7 @@ var createCmd = &cobra.Command{
|
||||||
Short: `Create a new user.`,
|
Short: `Create a new user.`,
|
||||||
Long: `Create a new user.
|
Long: `Create a new user.
|
||||||
|
|
||||||
Creates a new user in the Databricks Workspace. This new user will also be
|
Creates a new user in the Databricks workspace. This new user will also be
|
||||||
added to the Databricks account.`,
|
added to the Databricks account.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
|
@ -93,7 +93,7 @@ var deleteCmd = &cobra.Command{
|
||||||
Short: `Delete a user.`,
|
Short: `Delete a user.`,
|
||||||
Long: `Delete a user.
|
Long: `Delete a user.
|
||||||
|
|
||||||
Deletes a user. Deleting a user from a Databricks Workspace also removes
|
Deletes a user. Deleting a user from a Databricks workspace also removes
|
||||||
objects associated with the user.`,
|
objects associated with the user.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
|
@ -106,7 +106,7 @@ var deleteCmd = &cobra.Command{
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
id, err := cmdio.Select(ctx, names, "Unique ID for a user in the Databricks Workspace")
|
id, err := cmdio.Select(ctx, names, "Unique ID for a user in the Databricks workspace")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -140,7 +140,7 @@ var getCmd = &cobra.Command{
|
||||||
Short: `Get user details.`,
|
Short: `Get user details.`,
|
||||||
Long: `Get user details.
|
Long: `Get user details.
|
||||||
|
|
||||||
Gets information for a specific user in Databricks Workspace.`,
|
Gets information for a specific user in Databricks workspace.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
PreRunE: root.MustWorkspaceClient,
|
PreRunE: root.MustWorkspaceClient,
|
||||||
|
@ -152,7 +152,7 @@ var getCmd = &cobra.Command{
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
id, err := cmdio.Select(ctx, names, "Unique ID for a user in the Databricks Workspace")
|
id, err := cmdio.Select(ctx, names, "Unique ID for a user in the Databricks workspace")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -194,7 +194,7 @@ var listCmd = &cobra.Command{
|
||||||
Short: `List users.`,
|
Short: `List users.`,
|
||||||
Long: `List users.
|
Long: `List users.
|
||||||
|
|
||||||
Gets details for all the users associated with a Databricks Workspace.`,
|
Gets details for all the users associated with a Databricks workspace.`,
|
||||||
|
|
||||||
Annotations: map[string]string{},
|
Annotations: map[string]string{},
|
||||||
Args: cobra.ExactArgs(0),
|
Args: cobra.ExactArgs(0),
|
||||||
|
|
|
@ -391,7 +391,6 @@ func init() {
|
||||||
setWorkspaceWarehouseConfigCmd.Flags().StringVar(&setWorkspaceWarehouseConfigReq.GoogleServiceAccount, "google-service-account", setWorkspaceWarehouseConfigReq.GoogleServiceAccount, `GCP only: Google Service Account used to pass to cluster to access Google Cloud Storage.`)
|
setWorkspaceWarehouseConfigCmd.Flags().StringVar(&setWorkspaceWarehouseConfigReq.GoogleServiceAccount, "google-service-account", setWorkspaceWarehouseConfigReq.GoogleServiceAccount, `GCP only: Google Service Account used to pass to cluster to access Google Cloud Storage.`)
|
||||||
setWorkspaceWarehouseConfigCmd.Flags().StringVar(&setWorkspaceWarehouseConfigReq.InstanceProfileArn, "instance-profile-arn", setWorkspaceWarehouseConfigReq.InstanceProfileArn, `AWS Only: Instance profile used to pass IAM role to the cluster.`)
|
setWorkspaceWarehouseConfigCmd.Flags().StringVar(&setWorkspaceWarehouseConfigReq.InstanceProfileArn, "instance-profile-arn", setWorkspaceWarehouseConfigReq.InstanceProfileArn, `AWS Only: Instance profile used to pass IAM role to the cluster.`)
|
||||||
setWorkspaceWarehouseConfigCmd.Flags().Var(&setWorkspaceWarehouseConfigReq.SecurityPolicy, "security-policy", `Security policy for warehouses.`)
|
setWorkspaceWarehouseConfigCmd.Flags().Var(&setWorkspaceWarehouseConfigReq.SecurityPolicy, "security-policy", `Security policy for warehouses.`)
|
||||||
setWorkspaceWarehouseConfigCmd.Flags().BoolVar(&setWorkspaceWarehouseConfigReq.ServerlessAgreement, "serverless-agreement", setWorkspaceWarehouseConfigReq.ServerlessAgreement, `Internal.`)
|
|
||||||
// TODO: complex arg: sql_configuration_parameters
|
// TODO: complex arg: sql_configuration_parameters
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,100 @@
|
||||||
|
// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.
|
||||||
|
|
||||||
|
package workspace_bindings
|
||||||
|
|
||||||
|
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"
|
||||||
|
)
|
||||||
|
|
||||||
|
var Cmd = &cobra.Command{
|
||||||
|
Use: "workspace-bindings",
|
||||||
|
Short: `A catalog in Databricks can be configured as __OPEN__ or __ISOLATED__.`,
|
||||||
|
Long: `A catalog in Databricks can be configured as __OPEN__ or __ISOLATED__. An
|
||||||
|
__OPEN__ catalog can be accessed from any workspace, while an __ISOLATED__
|
||||||
|
catalog can only be access from a configured list of workspaces.
|
||||||
|
|
||||||
|
A catalog's workspace bindings can be configured by a metastore admin or the
|
||||||
|
owner of the catalog.`,
|
||||||
|
}
|
||||||
|
|
||||||
|
// start get command
|
||||||
|
|
||||||
|
var getReq catalog.GetWorkspaceBindingRequest
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
Cmd.AddCommand(getCmd)
|
||||||
|
// TODO: short flags
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
var getCmd = &cobra.Command{
|
||||||
|
Use: "get NAME",
|
||||||
|
Short: `Get catalog workspace bindings.`,
|
||||||
|
Long: `Get catalog workspace bindings.
|
||||||
|
|
||||||
|
Gets workspace bindings of the catalog. The caller must be a metastore admin
|
||||||
|
or an owner of the catalog.`,
|
||||||
|
|
||||||
|
Annotations: map[string]string{},
|
||||||
|
Args: cobra.ExactArgs(1),
|
||||||
|
PreRunE: root.MustWorkspaceClient,
|
||||||
|
RunE: func(cmd *cobra.Command, args []string) (err error) {
|
||||||
|
ctx := cmd.Context()
|
||||||
|
w := root.WorkspaceClient(ctx)
|
||||||
|
getReq.Name = args[0]
|
||||||
|
|
||||||
|
response, err := w.WorkspaceBindings.Get(ctx, getReq)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return cmdio.Render(ctx, response)
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
// start update command
|
||||||
|
|
||||||
|
var updateReq catalog.UpdateWorkspaceBindings
|
||||||
|
var updateJson flags.JsonFlag
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
Cmd.AddCommand(updateCmd)
|
||||||
|
// TODO: short flags
|
||||||
|
updateCmd.Flags().Var(&updateJson, "json", `either inline JSON string or @path/to/file.json with request body`)
|
||||||
|
|
||||||
|
// TODO: array: assign_workspaces
|
||||||
|
// TODO: array: unassign_workspaces
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
var updateCmd = &cobra.Command{
|
||||||
|
Use: "update",
|
||||||
|
Short: `Update catalog workspace bindings.`,
|
||||||
|
Long: `Update catalog workspace bindings.
|
||||||
|
|
||||||
|
Updates workspace bindings of the catalog. The caller must be a metastore
|
||||||
|
admin or an owner of the catalog.`,
|
||||||
|
|
||||||
|
Annotations: map[string]string{},
|
||||||
|
PreRunE: root.MustWorkspaceClient,
|
||||||
|
RunE: func(cmd *cobra.Command, args []string) (err error) {
|
||||||
|
ctx := cmd.Context()
|
||||||
|
w := root.WorkspaceClient(ctx)
|
||||||
|
err = updateJson.Unmarshal(&updateReq)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
updateReq.Name = args[0]
|
||||||
|
|
||||||
|
response, err := w.WorkspaceBindings.Update(ctx, updateReq)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return cmdio.Render(ctx, response)
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
// end service WorkspaceBindings
|
18
go.mod
18
go.mod
|
@ -4,7 +4,7 @@ go 1.18
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/briandowns/spinner v1.23.0 // Apache 2.0
|
github.com/briandowns/spinner v1.23.0 // Apache 2.0
|
||||||
github.com/databricks/databricks-sdk-go v0.8.0 // Apache 2.0
|
github.com/databricks/databricks-sdk-go v0.9.0 // Apache 2.0
|
||||||
github.com/fatih/color v1.15.0 // MIT
|
github.com/fatih/color v1.15.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.3.0 // BSD-3-Clause
|
github.com/google/uuid v1.3.0 // BSD-3-Clause
|
||||||
|
@ -20,13 +20,13 @@ require (
|
||||||
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // MIT
|
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // MIT
|
||||||
github.com/spf13/cobra v1.7.0 // Apache 2.0
|
github.com/spf13/cobra v1.7.0 // Apache 2.0
|
||||||
github.com/spf13/pflag v1.0.5 // BSD-3-Clause
|
github.com/spf13/pflag v1.0.5 // BSD-3-Clause
|
||||||
github.com/stretchr/testify v1.8.2 // MIT
|
github.com/stretchr/testify v1.8.3 // MIT
|
||||||
github.com/whilp/git-urls v1.0.0 // MIT
|
github.com/whilp/git-urls v1.0.0 // MIT
|
||||||
golang.org/x/exp v0.0.0-20230310171629-522b1b587ee0
|
golang.org/x/exp v0.0.0-20230310171629-522b1b587ee0
|
||||||
golang.org/x/mod v0.10.0
|
golang.org/x/mod v0.10.0
|
||||||
golang.org/x/oauth2 v0.7.0
|
golang.org/x/oauth2 v0.8.0
|
||||||
golang.org/x/sync v0.2.0
|
golang.org/x/sync v0.2.0
|
||||||
golang.org/x/term v0.7.0
|
golang.org/x/term v0.8.0
|
||||||
golang.org/x/text v0.9.0
|
golang.org/x/text v0.9.0
|
||||||
gopkg.in/ini.v1 v1.67.0 // Apache 2.0
|
gopkg.in/ini.v1 v1.67.0 // Apache 2.0
|
||||||
)
|
)
|
||||||
|
@ -40,7 +40,7 @@ require (
|
||||||
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e // indirect
|
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e // indirect
|
||||||
github.com/golang/protobuf v1.5.3 // indirect
|
github.com/golang/protobuf v1.5.3 // indirect
|
||||||
github.com/google/go-querystring v1.1.0 // indirect
|
github.com/google/go-querystring v1.1.0 // indirect
|
||||||
github.com/google/s2a-go v0.1.0 // indirect
|
github.com/google/s2a-go v0.1.3 // indirect
|
||||||
github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect
|
github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect
|
||||||
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
|
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
|
||||||
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
||||||
|
@ -49,12 +49,12 @@ require (
|
||||||
github.com/zclconf/go-cty v1.13.0 // indirect
|
github.com/zclconf/go-cty v1.13.0 // indirect
|
||||||
go.opencensus.io v0.24.0 // indirect
|
go.opencensus.io v0.24.0 // indirect
|
||||||
golang.org/x/crypto v0.7.0 // indirect
|
golang.org/x/crypto v0.7.0 // indirect
|
||||||
golang.org/x/net v0.9.0 // indirect
|
golang.org/x/net v0.10.0 // indirect
|
||||||
golang.org/x/sys v0.7.0 // indirect
|
golang.org/x/sys v0.8.0 // indirect
|
||||||
golang.org/x/time v0.3.0 // indirect
|
golang.org/x/time v0.3.0 // indirect
|
||||||
google.golang.org/api v0.118.0 // indirect
|
google.golang.org/api v0.123.0 // indirect
|
||||||
google.golang.org/appengine v1.6.7 // indirect
|
google.golang.org/appengine v1.6.7 // indirect
|
||||||
google.golang.org/genproto v0.0.0-20230403163135-c38d8f061ccd // indirect
|
google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect
|
||||||
google.golang.org/grpc v1.54.0 // indirect
|
google.golang.org/grpc v1.54.0 // indirect
|
||||||
google.golang.org/protobuf v1.30.0 // indirect
|
google.golang.org/protobuf v1.30.0 // indirect
|
||||||
gopkg.in/yaml.v2 v2.4.0 // indirect
|
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||||
|
|
53
go.sum
53
go.sum
|
@ -30,8 +30,8 @@ github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWH
|
||||||
github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
|
github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
|
||||||
github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
|
github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
|
||||||
github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
|
github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
|
||||||
github.com/databricks/databricks-sdk-go v0.8.0 h1:LNWpcjDDFB9glT3aj6+Ie8Nlk3346TGCHUyUs3D5sU4=
|
github.com/databricks/databricks-sdk-go v0.9.0 h1:wFeb4fk2EJ4I/pYpq/KK/O4TwqsDpNBJYauXcISMbRw=
|
||||||
github.com/databricks/databricks-sdk-go v0.8.0/go.mod h1:aEMLe00mMlf5gvkD8PInqOM+dIAimeuAM6U+9eQN2yE=
|
github.com/databricks/databricks-sdk-go v0.9.0/go.mod h1:C0vVp7XV/Q8wf/LJCO1oADE8KLB0kcdukjwZMlwysA0=
|
||||||
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=
|
||||||
|
@ -81,8 +81,8 @@ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
|
||||||
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
|
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
|
||||||
github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8=
|
github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8=
|
||||||
github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU=
|
github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU=
|
||||||
github.com/google/s2a-go v0.1.0 h1:3Qm0liEiCErViKERO2Su5wp+9PfMRiuS6XB5FvpKnYQ=
|
github.com/google/s2a-go v0.1.3 h1:FAgZmpLl/SXurPEZyCMPBIiiYeTbqfjlbdnCNTAkbGE=
|
||||||
github.com/google/s2a-go v0.1.0/go.mod h1:OJpEgntRZo8ugHpF9hkoLJbS5dSI20XZeXJ9JVywLlM=
|
github.com/google/s2a-go v0.1.3/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A=
|
||||||
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||||
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
|
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
|
||||||
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||||
|
@ -143,11 +143,12 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
|
||||||
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||||
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
|
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
|
||||||
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
|
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
|
||||||
github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8=
|
github.com/stretchr/testify v1.8.3 h1:RP3t2pwF7cMEbC1dqtB6poj3niw/9gnV4Cjg5oW5gtY=
|
||||||
github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
|
github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
|
||||||
github.com/whilp/git-urls v1.0.0 h1:95f6UMWN5FKW71ECsXRUd3FVYiXdrE7aX4NZKcPmIjU=
|
github.com/whilp/git-urls v1.0.0 h1:95f6UMWN5FKW71ECsXRUd3FVYiXdrE7aX4NZKcPmIjU=
|
||||||
github.com/whilp/git-urls v1.0.0/go.mod h1:J16SAmobsqc3Qcy98brfl5f5+e0clUvg1krgwk/qCfE=
|
github.com/whilp/git-urls v1.0.0/go.mod h1:J16SAmobsqc3Qcy98brfl5f5+e0clUvg1krgwk/qCfE=
|
||||||
github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM=
|
github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM=
|
||||||
|
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
|
||||||
github.com/zclconf/go-cty v1.13.0 h1:It5dfKTTZHe9aeppbNOda3mN7Ag7sg6QkBNm6TkyFa0=
|
github.com/zclconf/go-cty v1.13.0 h1:It5dfKTTZHe9aeppbNOda3mN7Ag7sg6QkBNm6TkyFa0=
|
||||||
github.com/zclconf/go-cty v1.13.0/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0=
|
github.com/zclconf/go-cty v1.13.0/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0=
|
||||||
go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
|
go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
|
||||||
|
@ -156,6 +157,7 @@ go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqe
|
||||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||||
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||||
|
golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||||
golang.org/x/crypto v0.7.0 h1:AvwMYaRytfdeVt3u6mLaxYtErKYjxA2OXjJ1HHq6t3A=
|
golang.org/x/crypto v0.7.0 h1:AvwMYaRytfdeVt3u6mLaxYtErKYjxA2OXjJ1HHq6t3A=
|
||||||
golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
|
golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
|
||||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
|
@ -164,6 +166,7 @@ golang.org/x/exp v0.0.0-20230310171629-522b1b587ee0/go.mod h1:CxIveKay+FTh1D0yPZ
|
||||||
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||||
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
|
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
|
||||||
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
|
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
|
||||||
|
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
|
||||||
golang.org/x/mod v0.10.0 h1:lFO9qtOdlre5W1jxS3r/4szv2/6iXxScdzjoBMXNhYk=
|
golang.org/x/mod v0.10.0 h1:lFO9qtOdlre5W1jxS3r/4szv2/6iXxScdzjoBMXNhYk=
|
||||||
golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
|
golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
|
||||||
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
|
@ -173,21 +176,23 @@ golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73r
|
||||||
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||||
golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
|
golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
|
||||||
|
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||||
golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
|
golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
|
||||||
golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
||||||
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
||||||
golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||||
golang.org/x/net v0.9.0 h1:aWJ/m6xSmxWBx+V0XRHTlrYrPG56jKsLdTFmsSsCzOM=
|
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
|
||||||
golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns=
|
golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M=
|
||||||
|
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
|
||||||
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||||
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
||||||
golang.org/x/oauth2 v0.7.0 h1:qe6s0zUXlPX80/dITx3440hWZ7GwMwgDDyrSGTPJG/g=
|
golang.org/x/oauth2 v0.8.0 h1:6dkIjl3j3LtZ/O3sTgZTMsLKSftL/B8Zgq4huOIIUu8=
|
||||||
golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4=
|
golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE=
|
||||||
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.2.0 h1:PUR+T4wwASmuSTYdKjYHI5TD22Wy5ogLU5qZCOLxBrI=
|
golang.org/x/sync v0.2.0 h1:PUR+T4wwASmuSTYdKjYHI5TD22Wy5ogLU5qZCOLxBrI=
|
||||||
golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
|
@ -202,19 +207,22 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w
|
||||||
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.0.0-20210616045830-e2b7044e8c71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20210616045830-e2b7044e8c71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU=
|
golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU=
|
||||||
golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||||
golang.org/x/term v0.7.0 h1:BEvjmm5fURWqcfbSKTdpkDXYBrUS1c0m8agp14W48vQ=
|
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||||
golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY=
|
golang.org/x/term v0.8.0 h1:n5xxQn2i3PC0yLAbjTpNT85q/Kgzcr2gIoX9OrJUols=
|
||||||
|
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
|
||||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
|
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
|
||||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||||
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||||
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
||||||
|
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
|
||||||
golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE=
|
golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE=
|
||||||
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
|
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
|
||||||
golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4=
|
golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4=
|
||||||
|
@ -224,10 +232,13 @@ golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGm
|
||||||
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
|
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
|
||||||
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||||
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
|
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
|
||||||
|
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||||
|
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
|
||||||
|
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
google.golang.org/api v0.118.0 h1:FNfHq9Z2GKULxu7cEhCaB0wWQHg43UpomrrN+24ZRdE=
|
google.golang.org/api v0.123.0 h1:yHVU//vA+qkOhm4reEC9LtzHVUCN/IqqNRl1iQ9xE20=
|
||||||
google.golang.org/api v0.118.0/go.mod h1:76TtD3vkgmZ66zZzp72bUUklpmQmKlhh6sYtIjYK+5E=
|
google.golang.org/api v0.123.0/go.mod h1:gcitW0lvnyWjSp9nKxAbdHKIZ6vF4aajGueeslZOyms=
|
||||||
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
|
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
|
||||||
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||||
google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c=
|
google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c=
|
||||||
|
@ -236,8 +247,8 @@ google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoA
|
||||||
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
|
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
|
||||||
google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
|
google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
|
||||||
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
|
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
|
||||||
google.golang.org/genproto v0.0.0-20230403163135-c38d8f061ccd h1:sLpv7bNL1AsX3fdnWh9WVh7ejIzXdOc1RRHGeAmeStU=
|
google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A=
|
||||||
google.golang.org/genproto v0.0.0-20230403163135-c38d8f061ccd/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak=
|
google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU=
|
||||||
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
|
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
|
||||||
google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
|
google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
|
||||||
google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
|
google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
|
||||||
|
|
Loading…
Reference in New Issue