github.com/wanddynosios/cli/v8@v8.7.9-0.20240221182337-1a92e3a7017f/command/common/command_list_v7.go (about) 1 package common 2 3 import ( 4 "reflect" 5 6 "code.cloudfoundry.org/cli/command/plugin" 7 v7 "code.cloudfoundry.org/cli/command/v7" 8 ) 9 10 var Commands commandList 11 var ShouldFallbackToLegacy = false 12 13 type commandList struct { 14 VerboseOrVersion bool `short:"v" long:"version" description:"verbose and version flag"` 15 16 V3Push v7.PushCommand `command:"v3-push" description:"Push a new app or sync changes to an existing app" hidden:"true"` 17 18 API v7.APICommand `command:"api" description:"Set or view target api url"` 19 AddNetworkPolicy v7.AddNetworkPolicyCommand `command:"add-network-policy" description:"Create policy to allow direct network traffic from one app to another"` 20 AddPluginRepo plugin.AddPluginRepoCommand `command:"add-plugin-repo" description:"Add a new plugin repository"` 21 AllowSpaceSSH v7.AllowSpaceSSHCommand `command:"allow-space-ssh" description:"Allow SSH access for the space"` 22 App v7.AppCommand `command:"app" description:"Display health and status for an app"` 23 ApplyManifest v7.ApplyManifestCommand `command:"apply-manifest" description:"Apply manifest properties to a space"` 24 Apps v7.AppsCommand `command:"apps" alias:"a" description:"List all apps in the target space"` 25 Auth v7.AuthCommand `command:"auth" description:"Authenticate non-interactively"` 26 BindRouteService v7.BindRouteServiceCommand `command:"bind-route-service" alias:"brs" description:"Bind a service instance to an HTTP route"` 27 BindRunningSecurityGroup v7.BindRunningSecurityGroupCommand `command:"bind-running-security-group" description:"Bind a security group to the list of security groups to be used for running applications"` 28 BindSecurityGroup v7.BindSecurityGroupCommand `command:"bind-security-group" description:"Bind a security group to a particular space, or all existing spaces of an org"` 29 BindService v7.BindServiceCommand `command:"bind-service" alias:"bs" description:"Bind a service instance to an app"` 30 BindStagingSecurityGroup v7.BindStagingSecurityGroupCommand `command:"bind-staging-security-group" description:"Bind a security group to the list of security groups to be used for staging applications globally"` 31 Buildpacks v7.BuildpacksCommand `command:"buildpacks" description:"List all buildpacks"` 32 CancelDeployment v7.CancelDeploymentCommand `command:"cancel-deployment" description:"Cancel the most recent deployment for an app. Resets the current droplet to the previous deployment's droplet."` 33 CheckRoute v7.CheckRouteCommand `command:"check-route" description:"Perform a check to determine whether a route currently exists or not"` 34 Config v7.ConfigCommand `command:"config" description:"Write default values to the config"` 35 CopySource v7.CopySourceCommand `command:"copy-source" description:"Copies the source code of an application to another existing application and restages that application"` 36 CreateApp v7.CreateAppCommand `command:"create-app" description:"Create an Application in the target space"` 37 CreateAppManifest v7.CreateAppManifestCommand `command:"create-app-manifest" description:"Create an app manifest for an app that has been pushed successfully"` 38 CreateBuildpack v7.CreateBuildpackCommand `command:"create-buildpack" description:"Create a buildpack"` 39 CreatePackage v7.CreatePackageCommand `command:"create-package" description:"Uploads a Package"` 40 CreateIsolationSegment v7.CreateIsolationSegmentCommand `command:"create-isolation-segment" description:"Create an isolation segment"` 41 CreateOrg v7.CreateOrgCommand `command:"create-org" alias:"co" description:"Create an org"` 42 CreateOrgQuota v7.CreateOrgQuotaCommand `command:"create-org-quota" alias:"create-quota" description:"Define a new quota for an organization"` 43 CreatePrivateDomain v7.CreatePrivateDomainCommand `command:"create-private-domain" alias:"create-domain" description:"Create a private domain for a specific org"` 44 CreateRoute v7.CreateRouteCommand `command:"create-route" description:"Create a route for later use"` 45 CreateSecurityGroup v7.CreateSecurityGroupCommand `command:"create-security-group" description:"Create a security group"` 46 CreateService v7.CreateServiceCommand `command:"create-service" alias:"cs" description:"Create a service instance"` 47 CreateServiceBroker v7.CreateServiceBrokerCommand `command:"create-service-broker" alias:"csb" description:"Create a service broker"` 48 CreateServiceKey v7.CreateServiceKeyCommand `command:"create-service-key" alias:"csk" description:"Create key for a service instance"` 49 CreateSharedDomain v7.CreateSharedDomainCommand `command:"create-shared-domain" description:"Create a domain that can be used by all orgs (admin-only)"` 50 CreateSpace v7.CreateSpaceCommand `command:"create-space" alias:"csp" description:"Create a space"` 51 CreateSpaceQuota v7.CreateSpaceQuotaCommand `command:"create-space-quota" description:"Define a new quota for a space"` 52 CreateUser v7.CreateUserCommand `command:"create-user" description:"Create a new user"` 53 CreateUserProvidedService v7.CreateUserProvidedServiceCommand `command:"create-user-provided-service" alias:"cups" description:"Make a user-provided service instance available to CF apps"` 54 Curl v7.CurlCommand `command:"curl" description:"Executes a request to the targeted API endpoint"` 55 Delete v7.DeleteCommand `command:"delete" alias:"d" description:"Delete an app"` 56 DeleteBuildpack v7.DeleteBuildpackCommand `command:"delete-buildpack" description:"Delete a buildpack"` 57 DeleteIsolationSegment v7.DeleteIsolationSegmentCommand `command:"delete-isolation-segment" description:"Delete an isolation segment"` 58 DeleteOrg v7.DeleteOrgCommand `command:"delete-org" description:"Delete an org"` 59 DeleteOrgQuota v7.DeleteOrgQuotaCommand `command:"delete-org-quota" alias:"delete-quota" description:"Delete an organization quota"` 60 DeleteOrphanedRoutes v7.DeleteOrphanedRoutesCommand `command:"delete-orphaned-routes" description:"Delete all orphaned routes in the currently targeted space (i.e. those that are not mapped to an app or service instance)"` 61 DeletePrivateDomain v7.DeletePrivateDomainCommand `command:"delete-private-domain" alias:"delete-domain" description:"Delete a private domain"` 62 DeleteRoute v7.DeleteRouteCommand `command:"delete-route" description:"Delete a route"` 63 DeleteSecurityGroup v7.DeleteSecurityGroupCommand `command:"delete-security-group" description:"Deletes a security group"` 64 DeleteService v7.DeleteServiceCommand `command:"delete-service" alias:"ds" description:"Delete a service instance"` 65 DeleteServiceBroker v7.DeleteServiceBrokerCommand `command:"delete-service-broker" description:"Delete a service broker"` 66 DeleteServiceKey v7.DeleteServiceKeyCommand `command:"delete-service-key" alias:"dsk" description:"Delete a service key"` 67 DeleteSharedDomain v7.DeleteSharedDomainCommand `command:"delete-shared-domain" description:"Delete a shared domain"` 68 DeleteSpace v7.DeleteSpaceCommand `command:"delete-space" description:"Delete a space"` 69 DeleteSpaceQuota v7.DeleteSpaceQuotaCommand `command:"delete-space-quota" description:"Delete a space quota"` 70 DeleteUser v7.DeleteUserCommand `command:"delete-user" description:"Delete a user"` 71 DisableFeatureFlag v7.DisableFeatureFlagCommand `command:"disable-feature-flag" description:"Prevent use of a feature"` 72 DisableOrgIsolation v7.DisableOrgIsolationCommand `command:"disable-org-isolation" description:"Revoke an organization's entitlement to an isolation segment"` 73 DisableSSH v7.DisableSSHCommand `command:"disable-ssh" description:"Disable ssh for the application"` 74 DisableServiceAccess v7.DisableServiceAccessCommand `command:"disable-service-access" description:"Disable access to a service offering or service plan for one or all orgs"` 75 DisallowSpaceSSH v7.DisallowSpaceSSHCommand `command:"disallow-space-ssh" description:"Disallow SSH access for the space"` 76 Domains v7.DomainsCommand `command:"domains" description:"List domains in the target org"` 77 DownloadDroplet v7.DownloadDropletCommand `command:"download-droplet" description:"Download an application droplet"` 78 Droplets v7.DropletsCommand `command:"droplets" description:"List droplets of an app"` 79 EnableFeatureFlag v7.EnableFeatureFlagCommand `command:"enable-feature-flag" description:"Allow use of a feature"` 80 EnableOrgIsolation v7.EnableOrgIsolationCommand `command:"enable-org-isolation" description:"Entitle an organization to an isolation segment"` 81 EnableSSH v7.EnableSSHCommand `command:"enable-ssh" description:"Enable ssh for the application"` 82 EnableServiceAccess v7.EnableServiceAccessCommand `command:"enable-service-access" description:"Enable access to a service offering or service plan for one or all orgs"` 83 Env v7.EnvCommand `command:"env" alias:"e" description:"Show all env variables for an app"` 84 Events v7.EventsCommand `command:"events" description:"Show recent app events"` 85 FeatureFlag v7.FeatureFlagCommand `command:"feature-flag" description:"Retrieve an individual feature flag with status"` 86 FeatureFlags v7.FeatureFlagsCommand `command:"feature-flags" description:"Retrieve list of feature flags with status"` 87 GetHealthCheck v7.GetHealthCheckCommand `command:"get-health-check" description:"Show the type of health check performed on an app"` 88 Help HelpCommand `command:"help" alias:"h" description:"Show help"` 89 InstallPlugin InstallPluginCommand `command:"install-plugin" description:"Install CLI plugin"` 90 IsolationSegments v7.IsolationSegmentsCommand `command:"isolation-segments" description:"List all isolation segments"` 91 Labels v7.LabelsCommand `command:"labels" description:"List all labels (key-value pairs) for an API resource"` 92 ListPluginRepos plugin.ListPluginReposCommand `command:"list-plugin-repos" description:"List all the added plugin repositories"` 93 Login v7.LoginCommand `command:"login" alias:"l" description:"Log user in"` 94 Logout v7.LogoutCommand `command:"logout" alias:"lo" description:"Log user out"` 95 Logs v7.LogsCommand `command:"logs" description:"Tail or show recent logs for an app"` 96 MapRoute v7.MapRouteCommand `command:"map-route" description:"Map a route to an app"` 97 Marketplace v7.MarketplaceCommand `command:"marketplace" alias:"m" description:"List available offerings in the marketplace"` 98 NetworkPolicies v7.NetworkPoliciesCommand `command:"network-policies" description:"List direct network traffic policies"` 99 OauthToken v7.OauthTokenCommand `command:"oauth-token" description:"Display the OAuth token for the current session and refresh the token if necessary"` 100 Org v7.OrgCommand `command:"org" description:"Show org info"` 101 OrgQuotas v7.OrgQuotasCommand `command:"org-quotas" alias:"quotas" description:"List available organization quotas"` 102 OrgQuota v7.OrgQuotaCommand `command:"org-quota" alias:"quota" description:"Show organization quota"` 103 OrgUsers v7.OrgUsersCommand `command:"org-users" description:"Show org users by role"` 104 Orgs v7.OrgsCommand `command:"orgs" alias:"o" description:"List all orgs"` 105 Packages v7.PackagesCommand `command:"packages" description:"List packages of an app"` 106 Passwd v7.PasswdCommand `command:"passwd" alias:"pw" description:"Change user password"` 107 Plugins plugin.PluginsCommand `command:"plugins" description:"List commands of installed plugins"` 108 PurgeServiceInstance v7.PurgeServiceInstanceCommand `command:"purge-service-instance" description:"Recursively remove a service instance and child objects from Cloud Foundry database without making requests to a service broker"` 109 PurgeServiceOffering v7.PurgeServiceOfferingCommand `command:"purge-service-offering" description:"Recursively remove a service offering and child objects from Cloud Foundry database without making requests to a service broker"` 110 Push v7.PushCommand `command:"push" alias:"p" description:"Push a new app or sync changes to an existing app"` 111 RemoveNetworkPolicy v7.RemoveNetworkPolicyCommand `command:"remove-network-policy" description:"Remove network traffic policy of an app"` 112 RemovePluginRepo plugin.RemovePluginRepoCommand `command:"remove-plugin-repo" description:"Remove a plugin repository"` 113 Rename v7.RenameCommand `command:"rename" description:"Rename an app"` 114 RenameOrg v7.RenameOrgCommand `command:"rename-org" description:"Rename an org"` 115 RenameService v7.RenameServiceCommand `command:"rename-service" description:"Rename a service instance"` 116 RenameServiceBroker v7.RenameServiceBrokerCommand `command:"rename-service-broker" description:"Rename a service broker"` 117 RenameSpace v7.RenameSpaceCommand `command:"rename-space" description:"Rename a space"` 118 RepoPlugins plugin.RepoPluginsCommand `command:"repo-plugins" description:"List all available plugins in specified repository or in all added repositories"` 119 ResetOrgDefaultIsolationSegment v7.ResetOrgDefaultIsolationSegmentCommand `command:"reset-org-default-isolation-segment" description:"Reset the default isolation segment used for apps in spaces of an org"` 120 ResetSpaceIsolationSegment v7.ResetSpaceIsolationSegmentCommand `command:"reset-space-isolation-segment" description:"Reset the space's isolation segment to the org default"` 121 Restage v7.RestageCommand `command:"restage" alias:"rg" description:"Stage the app's latest package into a droplet and restart the app with this new droplet and updated configuration (environment variables, service bindings, buildpack, stack, etc.)."` 122 Revision v7.RevisionCommand `command:"revision" description:"Show details for a specific app revision"` 123 Revisions v7.RevisionsCommand `command:"revisions" description:"List revisions of an app"` 124 Rollback v7.RollbackCommand `command:"rollback" description:"Rollback to the specified revision of an app"` 125 StagePackage v7.StagePackageCommand `command:"stage-package" alias:"stage" description:"Stage a package into a droplet"` 126 Restart v7.RestartCommand `command:"restart" alias:"rs" description:"Stop all instances of the app, then start them again."` 127 RestartAppInstance v7.RestartAppInstanceCommand `command:"restart-app-instance" description:"Terminate, then instantiate an app instance"` 128 RouterGroups v7.RouterGroupsCommand `command:"router-groups" description:"List router groups"` 129 Route v7.RouteCommand `command:"route" alias:"ro" description:"Display route details and mapped destinations"` 130 Routes v7.RoutesCommand `command:"routes" alias:"r" description:"List all routes in the current space or the current organization"` 131 RunTask v7.RunTaskCommand `command:"run-task" alias:"rt" description:"Run a one-off task on an app"` 132 RunningEnvironmentVariableGroup v7.RunningEnvironmentVariableGroupCommand `command:"running-environment-variable-group" alias:"revg" description:"Retrieve the contents of the running environment variable group"` 133 RunningSecurityGroups v7.RunningSecurityGroupsCommand `command:"running-security-groups" description:"List security groups globally configured for running applications"` 134 SSH v7.SSHCommand `command:"ssh" description:"SSH to an application container instance"` 135 SSHCode v7.SSHCodeCommand `command:"ssh-code" description:"Get a one time password for ssh clients"` 136 SSHEnabled v7.SSHEnabledCommand `command:"ssh-enabled" description:"Reports whether SSH is enabled on an application container instance"` 137 Scale v7.ScaleCommand `command:"scale" description:"Change or view the instance count, disk space limit, memory limit, and log rate limit for an app"` 138 SecurityGroup v7.SecurityGroupCommand `command:"security-group" description:"Show a single security group"` 139 SecurityGroups v7.SecurityGroupsCommand `command:"security-groups" description:"List all security groups"` 140 Service v7.ServiceCommand `command:"service" description:"Show service instance info"` 141 ServiceAccess v7.ServiceAccessCommand `command:"service-access" description:"List service access settings"` 142 ServiceBrokers v7.ServiceBrokersCommand `command:"service-brokers" description:"List service brokers"` 143 ServiceKey v7.ServiceKeyCommand `command:"service-key" description:"Show service key info"` 144 ServiceKeys v7.ServiceKeysCommand `command:"service-keys" alias:"sk" description:"List keys for a service instance"` 145 Services v7.ServicesCommand `command:"services" alias:"s" description:"List all service instances in the target space"` 146 SetDroplet v7.SetDropletCommand `command:"set-droplet" description:"Set the droplet used to run an app"` 147 SetEnv v7.SetEnvCommand `command:"set-env" alias:"se" description:"Set an env variable for an app"` 148 SetHealthCheck v7.SetHealthCheckCommand `command:"set-health-check" description:"Change type of health check performed on an app's process"` 149 SetLabel v7.SetLabelCommand `command:"set-label" description:"Set a label (key-value pairs) for an API resource"` 150 SetOrgDefaultIsolationSegment v7.SetOrgDefaultIsolationSegmentCommand `command:"set-org-default-isolation-segment" description:"Set the default isolation segment used for apps in spaces in an org"` 151 SetOrgRole v7.SetOrgRoleCommand `command:"set-org-role" description:"Assign an org role to a user"` 152 SetOrgQuota v7.SetOrgQuotaCommand `command:"set-org-quota" alias:"set-quota" description:"Assign a quota to an organization"` 153 SetRunningEnvironmentVariableGroup v7.SetRunningEnvironmentVariableGroupCommand `command:"set-running-environment-variable-group" alias:"srevg" description:"Pass parameters as JSON to create a running environment variable group"` 154 SetSpaceIsolationSegment v7.SetSpaceIsolationSegmentCommand `command:"set-space-isolation-segment" description:"Assign the isolation segment for a space"` 155 SetSpaceQuota v7.SetSpaceQuotaCommand `command:"set-space-quota" description:"Assign a quota to a space"` 156 SetSpaceRole v7.SetSpaceRoleCommand `command:"set-space-role" description:"Assign a space role to a user"` 157 SetStagingEnvironmentVariableGroup v7.SetStagingEnvironmentVariableGroupCommand `command:"set-staging-environment-variable-group" alias:"ssevg" description:"Pass parameters as JSON to create a staging environment variable group"` 158 SharePrivateDomain v7.SharePrivateDomainCommand `command:"share-private-domain" description:"Share a private domain with a specific org"` 159 ShareService v7.ShareServiceCommand `command:"share-service" description:"Share a service instance with another space"` 160 ShareRoute v7.ShareRouteCommand `command:"share-route" description:"Share a route in between spaces"` 161 Space v7.SpaceCommand `command:"space" description:"Show space info"` 162 SpaceQuota v7.SpaceQuotaCommand `command:"space-quota" description:"Show space quota info"` 163 SpaceQuotas v7.SpaceQuotasCommand `command:"space-quotas" description:"List available space quotas"` 164 SpaceSSHAllowed v7.SpaceSSHAllowedCommand `command:"space-ssh-allowed" description:"Reports whether SSH is allowed in a space"` 165 SpaceUsers v7.SpaceUsersCommand `command:"space-users" description:"Show space users by role"` 166 Spaces v7.SpacesCommand `command:"spaces" description:"List all spaces in an org"` 167 Stack v7.StackCommand `command:"stack" description:"Show information for a stack (a stack is a pre-built file system, including an operating system, that can run apps)"` 168 Stacks v7.StacksCommand `command:"stacks" description:"List all stacks (a stack is a pre-built file system, including an operating system, that can run apps)"` 169 StagingEnvironmentVariableGroup v7.StagingEnvironmentVariableGroupCommand `command:"staging-environment-variable-group" alias:"sevg" description:"Retrieve the contents of the staging environment variable group"` 170 StagingSecurityGroups v7.StagingSecurityGroupsCommand `command:"staging-security-groups" description:"List security groups globally configured for staging applications"` 171 Start v7.StartCommand `command:"start" alias:"st" description:"Start an app"` 172 Stop v7.StopCommand `command:"stop" alias:"sp" description:"Stop an app"` 173 Target v7.TargetCommand `command:"target" alias:"t" description:"Set or view the targeted org or space"` 174 Tasks v7.TasksCommand `command:"tasks" description:"List tasks of an app"` 175 TerminateTask v7.TerminateTaskCommand `command:"terminate-task" description:"Terminate a running task of an app"` 176 MoveRoute v7.MoveRouteCommand `command:"move-route" description:"Assign a route to a different space"` 177 UnbindRouteService v7.UnbindRouteServiceCommand `command:"unbind-route-service" alias:"urs" description:"Unbind a service instance from an HTTP route"` 178 UnbindRunningSecurityGroup v7.UnbindRunningSecurityGroupCommand `command:"unbind-running-security-group" description:"Unbind a security group from the set of security groups for running applications globally"` 179 UnbindSecurityGroup v7.UnbindSecurityGroupCommand `command:"unbind-security-group" description:"Unbind a security group from a space"` 180 UnbindService v7.UnbindServiceCommand `command:"unbind-service" alias:"us" description:"Unbind a service instance from an app"` 181 UnbindStagingSecurityGroup v7.UnbindStagingSecurityGroupCommand `command:"unbind-staging-security-group" description:"Unbind a security group from the set of security groups for staging applications globally"` 182 UninstallPlugin plugin.UninstallPluginCommand `command:"uninstall-plugin" description:"Uninstall CLI plugin"` 183 UnmapRoute v7.UnmapRouteCommand `command:"unmap-route" description:"Remove a route from an app"` 184 UnsetEnv v7.UnsetEnvCommand `command:"unset-env" alias:"ue" description:"Remove an env variable from an app"` 185 UnsetLabel v7.UnsetLabelCommand `command:"unset-label" description:"Unset a label (key-value pairs) for an API resource"` 186 UnsetOrgRole v7.UnsetOrgRoleCommand `command:"unset-org-role" description:"Remove an org role from a user"` 187 UnsetSpaceQuota v7.UnsetSpaceQuotaCommand `command:"unset-space-quota" description:"Unassign a quota from a space"` 188 UnsetSpaceRole v7.UnsetSpaceRoleCommand `command:"unset-space-role" description:"Remove a space role from a user"` 189 UnsharePrivateDomain v7.UnsharePrivateDomainCommand `command:"unshare-private-domain" description:"Unshare a private domain with a specific org"` 190 UnshareRoute v7.UnshareRouteCommand `command:"unshare-route" description:"Unshare an existing route from a space"` 191 UnshareService v7.UnshareServiceCommand `command:"unshare-service" description:"Unshare a shared service instance from a space"` 192 UpdateBuildpack v7.UpdateBuildpackCommand `command:"update-buildpack" description:"Update a buildpack"` 193 UpdateDestination v7.UpdateDestinationCommand `command:"update-destination" description:"Updates the destination protocol for a route"` 194 UpdateOrgQuota v7.UpdateOrgQuotaCommand `command:"update-org-quota" alias:"update-quota" description:"Update an existing organization quota"` 195 UpdateSecurityGroup v7.UpdateSecurityGroupCommand `command:"update-security-group" description:"Update a security group"` 196 UpdateService v7.UpdateServiceCommand `command:"update-service" description:"Update a service instance"` 197 UpgradeService v7.UpgradeServiceCommand `command:"upgrade-service" description:"Upgrade a service instance to the latest available version of its current service plan"` 198 UpdateServiceBroker v7.UpdateServiceBrokerCommand `command:"update-service-broker" description:"Update a service broker"` 199 UpdateSpaceQuota v7.UpdateSpaceQuotaCommand `command:"update-space-quota" description:"Update an existing space quota"` 200 UpdateUserProvidedService v7.UpdateUserProvidedServiceCommand `command:"update-user-provided-service" alias:"uups" description:"Update user-provided service instance"` 201 Version VersionCommand `command:"version" description:"Print the version"` 202 } 203 204 // HasCommand returns true if the command name is in the command list. 205 func (c commandList) HasCommand(name string) bool { 206 if name == "" { 207 return false 208 } 209 210 cType := reflect.TypeOf(c) 211 _, found := cType.FieldByNameFunc( 212 func(fieldName string) bool { 213 field, _ := cType.FieldByName(fieldName) 214 return field.Tag.Get("command") == name 215 }, 216 ) 217 218 return found 219 } 220 221 // HasAlias returns true if the command alias is in the command list. 222 func (c commandList) HasAlias(alias string) bool { 223 if alias == "" { 224 return false 225 } 226 227 cType := reflect.TypeOf(c) 228 _, found := cType.FieldByNameFunc( 229 func(fieldName string) bool { 230 field, _ := cType.FieldByName(fieldName) 231 return field.Tag.Get("alias") == alias 232 }, 233 ) 234 235 return found 236 }