mirror of https://github.com/databricks/cli.git
regenerated
This commit is contained in:
parent
a8ceda57f7
commit
cf4772ab18
|
@ -1 +1 @@
|
|||
d25296d2f4aa7bd6195c816fdf82e0f960f775da
|
||||
f2385add116e3716c8a90a0b68e204deb40f996c
|
|
@ -817,6 +817,9 @@
|
|||
"metastore": {
|
||||
"$ref": "#/$defs/string"
|
||||
},
|
||||
"notification_destination": {
|
||||
"$ref": "#/$defs/string"
|
||||
},
|
||||
"pipeline": {
|
||||
"$ref": "#/$defs/string"
|
||||
},
|
||||
|
@ -1079,6 +1082,9 @@
|
|||
"pipelines_development": {
|
||||
"$ref": "#/$defs/bool"
|
||||
},
|
||||
"source_linked_deployment": {
|
||||
"$ref": "#/$defs/bool"
|
||||
},
|
||||
"tags": {
|
||||
"$ref": "#/$defs/map/string"
|
||||
},
|
||||
|
@ -2824,7 +2830,7 @@
|
|||
"anyOf": [
|
||||
{
|
||||
"type": "object",
|
||||
"description": "Write-only setting. Specifies the user, service principal or group that the job/pipeline runs as. If not specified, the job/pipeline runs as the user who created the job/pipeline.\n\nExactly one of `user_name`, `service_principal_name`, `group_name` should be specified. If not, an error is thrown.",
|
||||
"description": "Write-only setting. Specifies the user, service principal or group that the job/pipeline runs as. If not specified, the job/pipeline runs as the user who created the job/pipeline.\n\nEither `user_name` or `service_principal_name` should be specified. If not, an error is thrown.",
|
||||
"properties": {
|
||||
"service_principal_name": {
|
||||
"description": "Application ID of an active service principal. Setting this field requires the `servicePrincipal/user` role.",
|
||||
|
|
|
@ -194,7 +194,7 @@ func newGet() *cobra.Command {
|
|||
configuration are specified by ID.
|
||||
|
||||
Arguments:
|
||||
BUDGET_ID: The Databricks budget configuration ID.`
|
||||
BUDGET_ID: The budget configuration ID`
|
||||
|
||||
cmd.Annotations = make(map[string]string)
|
||||
|
||||
|
|
|
@ -195,7 +195,10 @@ func newGet() *cobra.Command {
|
|||
cmd.Short = `Get OAuth Custom App Integration.`
|
||||
cmd.Long = `Get OAuth Custom App Integration.
|
||||
|
||||
Gets the Custom OAuth App Integration for the given integration id.`
|
||||
Gets the Custom OAuth App Integration for the given integration id.
|
||||
|
||||
Arguments:
|
||||
INTEGRATION_ID: The OAuth app integration ID.`
|
||||
|
||||
cmd.Annotations = make(map[string]string)
|
||||
|
||||
|
|
|
@ -257,7 +257,7 @@ func newUpdate() *cobra.Command {
|
|||
workspace for the specified principal.
|
||||
|
||||
Arguments:
|
||||
WORKSPACE_ID: The workspace ID for the account.
|
||||
WORKSPACE_ID: The workspace ID.
|
||||
PRINCIPAL_ID: The ID of the user, service principal, or group.`
|
||||
|
||||
cmd.Annotations = make(map[string]string)
|
||||
|
|
|
@ -942,14 +942,13 @@ func newUpdate() *cobra.Command {
|
|||
// TODO: complex arg: pending_deployment
|
||||
// TODO: array: resources
|
||||
|
||||
cmd.Use = "update NAME NAME"
|
||||
cmd.Use = "update NAME"
|
||||
cmd.Short = `Update an app.`
|
||||
cmd.Long = `Update an app.
|
||||
|
||||
Updates the app with the supplied name.
|
||||
|
||||
Arguments:
|
||||
NAME: The name of the app.
|
||||
NAME: The name of the app. The name must contain only lowercase alphanumeric
|
||||
characters and hyphens. It must be unique within the workspace.`
|
||||
|
||||
|
@ -963,7 +962,7 @@ func newUpdate() *cobra.Command {
|
|||
}
|
||||
return nil
|
||||
}
|
||||
check := root.ExactArgs(2)
|
||||
check := root.ExactArgs(1)
|
||||
return check(cmd, args)
|
||||
}
|
||||
|
||||
|
@ -985,9 +984,6 @@ func newUpdate() *cobra.Command {
|
|||
}
|
||||
}
|
||||
updateReq.Name = args[0]
|
||||
if !cmd.Flags().Changed("json") {
|
||||
updateReq.App.Name = args[1]
|
||||
}
|
||||
|
||||
response, err := w.Apps.Update(ctx, updateReq)
|
||||
if err != nil {
|
||||
|
|
|
@ -1,59 +0,0 @@
|
|||
package apps
|
||||
|
||||
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/apps"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
// We override apps.Update command beccause currently genkit does not support
|
||||
// a way to identify that path field (such as name) matches the field in the request body.
|
||||
// As a result, genkit generates a command with 2 required same fields, update NAME NAME.
|
||||
// This override should be removed when genkit supports this.
|
||||
func updateOverride(cmd *cobra.Command, req *apps.UpdateAppRequest) {
|
||||
cmd.Use = "update NAME"
|
||||
cmd.Long = `Update an app.
|
||||
|
||||
Updates the app with the supplied name.
|
||||
|
||||
Arguments:
|
||||
NAME: The name of the app. The name must contain only lowercase alphanumeric
|
||||
characters and hyphens. It must be unique within the workspace.`
|
||||
|
||||
cmd.Args = func(cmd *cobra.Command, args []string) error {
|
||||
check := root.ExactArgs(1)
|
||||
return check(cmd, args)
|
||||
}
|
||||
|
||||
updateJson := cmd.Flag("json").Value.(*flags.JsonFlag)
|
||||
cmd.RunE = func(cmd *cobra.Command, args []string) (err error) {
|
||||
ctx := cmd.Context()
|
||||
w := root.WorkspaceClient(ctx)
|
||||
|
||||
if cmd.Flags().Changed("json") {
|
||||
diags := updateJson.Unmarshal(&req.App)
|
||||
if diags.HasError() {
|
||||
return diags.Error()
|
||||
}
|
||||
if len(diags) > 0 {
|
||||
err := cmdio.RenderDiagnosticsToErrorOut(ctx, diags)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
req.Name = args[0]
|
||||
response, err := w.Apps.Update(ctx, *req)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return cmdio.Render(ctx, response)
|
||||
}
|
||||
}
|
||||
|
||||
func init() {
|
||||
updateOverrides = append(updateOverrides, updateOverride)
|
||||
}
|
|
@ -3,6 +3,8 @@
|
|||
package credentials
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/databricks/cli/cmd/root"
|
||||
"github.com/databricks/cli/libs/cmdio"
|
||||
"github.com/databricks/cli/libs/flags"
|
||||
|
@ -30,9 +32,6 @@ func New() *cobra.Command {
|
|||
Annotations: map[string]string{
|
||||
"package": "catalog",
|
||||
},
|
||||
|
||||
// This service is being previewed; hide from help output.
|
||||
Hidden: true,
|
||||
}
|
||||
|
||||
// Add methods
|
||||
|
@ -72,21 +71,39 @@ func newCreateCredential() *cobra.Command {
|
|||
|
||||
// TODO: complex arg: aws_iam_role
|
||||
// TODO: complex arg: azure_managed_identity
|
||||
// TODO: complex arg: azure_service_principal
|
||||
cmd.Flags().StringVar(&createCredentialReq.Comment, "comment", createCredentialReq.Comment, `Comment associated with the credential.`)
|
||||
cmd.Flags().StringVar(&createCredentialReq.Name, "name", createCredentialReq.Name, `The credential name.`)
|
||||
cmd.Flags().Var(&createCredentialReq.Purpose, "purpose", `Indicates the purpose of the credential. Supported values: [SERVICE]`)
|
||||
// TODO: complex arg: gcp_service_account_key
|
||||
cmd.Flags().Var(&createCredentialReq.Purpose, "purpose", `Indicates the purpose of the credential. Supported values: [SERVICE, STORAGE]`)
|
||||
cmd.Flags().BoolVar(&createCredentialReq.ReadOnly, "read-only", createCredentialReq.ReadOnly, `Whether the credential is usable only for read operations.`)
|
||||
cmd.Flags().BoolVar(&createCredentialReq.SkipValidation, "skip-validation", createCredentialReq.SkipValidation, `Optional.`)
|
||||
|
||||
cmd.Use = "create-credential"
|
||||
cmd.Use = "create-credential NAME"
|
||||
cmd.Short = `Create a credential.`
|
||||
cmd.Long = `Create a credential.
|
||||
|
||||
Creates a new credential.`
|
||||
Creates a new credential. The type of credential to be created is determined
|
||||
by the **purpose** field, which should be either **SERVICE** or **STORAGE**.
|
||||
|
||||
The caller must be a metastore admin or have the metastore privilege
|
||||
**CREATE_STORAGE_CREDENTIAL** for storage credentials, or
|
||||
**CREATE_SERVICE_CREDENTIAL** for service credentials.
|
||||
|
||||
Arguments:
|
||||
NAME: The credential name. The name must be unique among storage and service
|
||||
credentials within the metastore.`
|
||||
|
||||
cmd.Annotations = make(map[string]string)
|
||||
|
||||
cmd.Args = func(cmd *cobra.Command, args []string) error {
|
||||
check := root.ExactArgs(0)
|
||||
if cmd.Flags().Changed("json") {
|
||||
err := root.ExactArgs(0)(cmd, args)
|
||||
if err != nil {
|
||||
return fmt.Errorf("when --json flag is specified, no positional arguments are required. Provide 'name' in your JSON input")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
check := root.ExactArgs(1)
|
||||
return check(cmd, args)
|
||||
}
|
||||
|
||||
|
@ -107,6 +124,9 @@ func newCreateCredential() *cobra.Command {
|
|||
}
|
||||
}
|
||||
}
|
||||
if !cmd.Flags().Changed("json") {
|
||||
createCredentialReq.Name = args[0]
|
||||
}
|
||||
|
||||
response, err := w.Credentials.CreateCredential(ctx, createCredentialReq)
|
||||
if err != nil {
|
||||
|
@ -143,14 +163,14 @@ func newDeleteCredential() *cobra.Command {
|
|||
|
||||
// TODO: short flags
|
||||
|
||||
cmd.Flags().BoolVar(&deleteCredentialReq.Force, "force", deleteCredentialReq.Force, `Force deletion even if there are dependent services.`)
|
||||
cmd.Flags().BoolVar(&deleteCredentialReq.Force, "force", deleteCredentialReq.Force, `Force an update even if there are dependent services (when purpose is **SERVICE**) or dependent external locations and external tables (when purpose is **STORAGE**).`)
|
||||
|
||||
cmd.Use = "delete-credential NAME_ARG"
|
||||
cmd.Short = `Delete a credential.`
|
||||
cmd.Long = `Delete a credential.
|
||||
|
||||
Deletes a credential from the metastore. The caller must be an owner of the
|
||||
credential.
|
||||
Deletes a service or storage credential from the metastore. The caller must be
|
||||
an owner of the credential.
|
||||
|
||||
Arguments:
|
||||
NAME_ARG: Name of the credential.`
|
||||
|
@ -207,20 +227,29 @@ func newGenerateTemporaryServiceCredential() *cobra.Command {
|
|||
cmd.Flags().Var(&generateTemporaryServiceCredentialJson, "json", `either inline JSON string or @path/to/file.json with request body`)
|
||||
|
||||
// TODO: complex arg: azure_options
|
||||
cmd.Flags().StringVar(&generateTemporaryServiceCredentialReq.CredentialName, "credential-name", generateTemporaryServiceCredentialReq.CredentialName, `The name of the service credential used to generate a temporary credential.`)
|
||||
|
||||
cmd.Use = "generate-temporary-service-credential"
|
||||
cmd.Use = "generate-temporary-service-credential CREDENTIAL_NAME"
|
||||
cmd.Short = `Generate a temporary service credential.`
|
||||
cmd.Long = `Generate a temporary service credential.
|
||||
|
||||
Returns a set of temporary credentials generated using the specified service
|
||||
credential. The caller must be a metastore admin or have the metastore
|
||||
privilege **ACCESS** on the service credential.`
|
||||
privilege **ACCESS** on the service credential.
|
||||
|
||||
Arguments:
|
||||
CREDENTIAL_NAME: The name of the service credential used to generate a temporary credential`
|
||||
|
||||
cmd.Annotations = make(map[string]string)
|
||||
|
||||
cmd.Args = func(cmd *cobra.Command, args []string) error {
|
||||
check := root.ExactArgs(0)
|
||||
if cmd.Flags().Changed("json") {
|
||||
err := root.ExactArgs(0)(cmd, args)
|
||||
if err != nil {
|
||||
return fmt.Errorf("when --json flag is specified, no positional arguments are required. Provide 'credential_name' in your JSON input")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
check := root.ExactArgs(1)
|
||||
return check(cmd, args)
|
||||
}
|
||||
|
||||
|
@ -241,6 +270,9 @@ func newGenerateTemporaryServiceCredential() *cobra.Command {
|
|||
}
|
||||
}
|
||||
}
|
||||
if !cmd.Flags().Changed("json") {
|
||||
generateTemporaryServiceCredentialReq.CredentialName = args[0]
|
||||
}
|
||||
|
||||
response, err := w.Credentials.GenerateTemporaryServiceCredential(ctx, generateTemporaryServiceCredentialReq)
|
||||
if err != nil {
|
||||
|
@ -281,8 +313,9 @@ func newGetCredential() *cobra.Command {
|
|||
cmd.Short = `Get a credential.`
|
||||
cmd.Long = `Get a credential.
|
||||
|
||||
Gets a credential from the metastore. The caller must be a metastore admin,
|
||||
the owner of the credential, or have any permission on the credential.
|
||||
Gets a service or storage credential from the metastore. The caller must be a
|
||||
metastore admin, the owner of the credential, or have any permission on the
|
||||
credential.
|
||||
|
||||
Arguments:
|
||||
NAME_ARG: Name of the credential.`
|
||||
|
@ -338,7 +371,7 @@ func newListCredentials() *cobra.Command {
|
|||
|
||||
cmd.Flags().IntVar(&listCredentialsReq.MaxResults, "max-results", listCredentialsReq.MaxResults, `Maximum number of credentials to return.`)
|
||||
cmd.Flags().StringVar(&listCredentialsReq.PageToken, "page-token", listCredentialsReq.PageToken, `Opaque token to retrieve the next page of results.`)
|
||||
cmd.Flags().Var(&listCredentialsReq.Purpose, "purpose", `Return only credentials for the specified purpose. Supported values: [SERVICE]`)
|
||||
cmd.Flags().Var(&listCredentialsReq.Purpose, "purpose", `Return only credentials for the specified purpose. Supported values: [SERVICE, STORAGE]`)
|
||||
|
||||
cmd.Use = "list-credentials"
|
||||
cmd.Short = `List credentials.`
|
||||
|
@ -399,18 +432,20 @@ func newUpdateCredential() *cobra.Command {
|
|||
|
||||
// TODO: complex arg: aws_iam_role
|
||||
// TODO: complex arg: azure_managed_identity
|
||||
// TODO: complex arg: azure_service_principal
|
||||
cmd.Flags().StringVar(&updateCredentialReq.Comment, "comment", updateCredentialReq.Comment, `Comment associated with the credential.`)
|
||||
cmd.Flags().BoolVar(&updateCredentialReq.Force, "force", updateCredentialReq.Force, `Force update even if there are dependent services.`)
|
||||
cmd.Flags().BoolVar(&updateCredentialReq.Force, "force", updateCredentialReq.Force, `Force an update even if there are dependent services (when purpose is **SERVICE**) or dependent external locations and external tables (when purpose is **STORAGE**).`)
|
||||
cmd.Flags().Var(&updateCredentialReq.IsolationMode, "isolation-mode", `Whether the current securable is accessible from all workspaces or a specific set of workspaces. Supported values: [ISOLATION_MODE_ISOLATED, ISOLATION_MODE_OPEN]`)
|
||||
cmd.Flags().StringVar(&updateCredentialReq.NewName, "new-name", updateCredentialReq.NewName, `New name of credential.`)
|
||||
cmd.Flags().StringVar(&updateCredentialReq.Owner, "owner", updateCredentialReq.Owner, `Username of current owner of credential.`)
|
||||
cmd.Flags().BoolVar(&updateCredentialReq.ReadOnly, "read-only", updateCredentialReq.ReadOnly, `Whether the credential is usable only for read operations.`)
|
||||
cmd.Flags().BoolVar(&updateCredentialReq.SkipValidation, "skip-validation", updateCredentialReq.SkipValidation, `Supply true to this argument to skip validation of the updated credential.`)
|
||||
|
||||
cmd.Use = "update-credential NAME_ARG"
|
||||
cmd.Short = `Update a credential.`
|
||||
cmd.Long = `Update a credential.
|
||||
|
||||
Updates a credential on the metastore.
|
||||
Updates a service or storage credential on the metastore.
|
||||
|
||||
The caller must be the owner of the credential or a metastore admin or have
|
||||
the MANAGE permission. If the caller is a metastore admin, only the
|
||||
|
@ -485,7 +520,10 @@ func newValidateCredential() *cobra.Command {
|
|||
// TODO: complex arg: aws_iam_role
|
||||
// TODO: complex arg: azure_managed_identity
|
||||
cmd.Flags().StringVar(&validateCredentialReq.CredentialName, "credential-name", validateCredentialReq.CredentialName, `Required.`)
|
||||
cmd.Flags().Var(&validateCredentialReq.Purpose, "purpose", `The purpose of the credential. Supported values: [SERVICE]`)
|
||||
cmd.Flags().StringVar(&validateCredentialReq.ExternalLocationName, "external-location-name", validateCredentialReq.ExternalLocationName, `The name of an existing external location to validate.`)
|
||||
cmd.Flags().Var(&validateCredentialReq.Purpose, "purpose", `The purpose of the credential. Supported values: [SERVICE, STORAGE]`)
|
||||
cmd.Flags().BoolVar(&validateCredentialReq.ReadOnly, "read-only", validateCredentialReq.ReadOnly, `Whether the credential is only usable for read operations.`)
|
||||
cmd.Flags().StringVar(&validateCredentialReq.Url, "url", validateCredentialReq.Url, `The external location url to validate.`)
|
||||
|
||||
cmd.Use = "validate-credential"
|
||||
cmd.Short = `Validate a credential.`
|
||||
|
@ -493,10 +531,19 @@ func newValidateCredential() *cobra.Command {
|
|||
|
||||
Validates a credential.
|
||||
|
||||
Either the __credential_name__ or the cloud-specific credential must be
|
||||
provided.
|
||||
For service credentials (purpose is **SERVICE**), either the
|
||||
__credential_name__ or the cloud-specific credential must be provided.
|
||||
|
||||
The caller must be a metastore admin or the credential owner.`
|
||||
For storage credentials (purpose is **STORAGE**), at least one of
|
||||
__external_location_name__ and __url__ need to be provided. If only one of
|
||||
them is provided, it will be used for validation. And if both are provided,
|
||||
the __url__ will be used for validation, and __external_location_name__ will
|
||||
be ignored when checking overlapping urls. Either the __credential_name__ or
|
||||
the cloud-specific credential must be provided.
|
||||
|
||||
The caller must be a metastore admin or the credential owner or have the
|
||||
required permission on the metastore and the credential (e.g.,
|
||||
**CREATE_EXTERNAL_LOCATION** when purpose is **STORAGE**).`
|
||||
|
||||
cmd.Annotations = make(map[string]string)
|
||||
|
||||
|
|
|
@ -503,7 +503,7 @@ func newGetPublished() *cobra.Command {
|
|||
Get the current published dashboard.
|
||||
|
||||
Arguments:
|
||||
DASHBOARD_ID: UUID identifying the dashboard to be published.`
|
||||
DASHBOARD_ID: UUID identifying the published dashboard.`
|
||||
|
||||
cmd.Annotations = make(map[string]string)
|
||||
|
||||
|
@ -737,7 +737,7 @@ func newListSchedules() *cobra.Command {
|
|||
cmd.Long = `List dashboard schedules.
|
||||
|
||||
Arguments:
|
||||
DASHBOARD_ID: UUID identifying the dashboard to which the schedule belongs.`
|
||||
DASHBOARD_ID: UUID identifying the dashboard to which the schedules belongs.`
|
||||
|
||||
// This command is being previewed; hide from help output.
|
||||
cmd.Hidden = true
|
||||
|
@ -795,8 +795,8 @@ func newListSubscriptions() *cobra.Command {
|
|||
cmd.Long = `List schedule subscriptions.
|
||||
|
||||
Arguments:
|
||||
DASHBOARD_ID: UUID identifying the dashboard to which the subscription belongs.
|
||||
SCHEDULE_ID: UUID identifying the schedule to which the subscription belongs.`
|
||||
DASHBOARD_ID: UUID identifying the dashboard which the subscriptions belongs.
|
||||
SCHEDULE_ID: UUID identifying the schedule which the subscriptions belongs.`
|
||||
|
||||
// This command is being previewed; hide from help output.
|
||||
cmd.Hidden = true
|
||||
|
@ -1072,7 +1072,7 @@ func newUnpublish() *cobra.Command {
|
|||
Unpublish the dashboard.
|
||||
|
||||
Arguments:
|
||||
DASHBOARD_ID: UUID identifying the dashboard to be published.`
|
||||
DASHBOARD_ID: UUID identifying the published dashboard.`
|
||||
|
||||
cmd.Annotations = make(map[string]string)
|
||||
|
||||
|
|
|
@ -304,7 +304,10 @@ func newUpdate() *cobra.Command {
|
|||
cmd.Long = `Update a notification destination.
|
||||
|
||||
Updates a notification destination. Requires workspace admin permissions. At
|
||||
least one field is required in the request body.`
|
||||
least one field is required in the request body.
|
||||
|
||||
Arguments:
|
||||
ID: UUID identifying notification destination.`
|
||||
|
||||
cmd.Annotations = make(map[string]string)
|
||||
|
||||
|
|
|
@ -171,7 +171,7 @@ func newDelete() *cobra.Command {
|
|||
Deletes the specified repo.
|
||||
|
||||
Arguments:
|
||||
REPO_ID: ID of the Git folder (repo) object in the workspace.`
|
||||
REPO_ID: The ID for the corresponding repo to delete.`
|
||||
|
||||
cmd.Annotations = make(map[string]string)
|
||||
|
||||
|
@ -188,14 +188,14 @@ func newDelete() *cobra.Command {
|
|||
if err != nil {
|
||||
return fmt.Errorf("failed to load names for Repos drop-down. Please manually specify required arguments. Original error: %w", err)
|
||||
}
|
||||
id, err := cmdio.Select(ctx, names, "ID of the Git folder (repo) object in the workspace")
|
||||
id, err := cmdio.Select(ctx, names, "The ID for the corresponding repo to delete")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
args = append(args, id)
|
||||
}
|
||||
if len(args) != 1 {
|
||||
return fmt.Errorf("expected to have id of the git folder (repo) object in the workspace")
|
||||
return fmt.Errorf("expected to have the id for the corresponding repo to delete")
|
||||
}
|
||||
_, err = fmt.Sscan(args[0], &deleteReq.RepoId)
|
||||
if err != nil {
|
||||
|
|
|
@ -169,7 +169,7 @@ func newDelete() *cobra.Command {
|
|||
Deletes a token, specified by its ID.
|
||||
|
||||
Arguments:
|
||||
TOKEN_ID: The ID of the token to get.`
|
||||
TOKEN_ID: The ID of the token to revoke.`
|
||||
|
||||
cmd.Annotations = make(map[string]string)
|
||||
|
||||
|
@ -186,14 +186,14 @@ func newDelete() *cobra.Command {
|
|||
if err != nil {
|
||||
return fmt.Errorf("failed to load names for Token Management drop-down. Please manually specify required arguments. Original error: %w", err)
|
||||
}
|
||||
id, err := cmdio.Select(ctx, names, "The ID of the token to get")
|
||||
id, err := cmdio.Select(ctx, names, "The ID of the token to revoke")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
args = append(args, id)
|
||||
}
|
||||
if len(args) != 1 {
|
||||
return fmt.Errorf("expected to have the id of the token to get")
|
||||
return fmt.Errorf("expected to have the id of the token to revoke")
|
||||
}
|
||||
deleteReq.TokenId = args[0]
|
||||
|
||||
|
|
Loading…
Reference in New Issue