instance.go 1.6 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
// Licensed to Apache Software Foundation (ASF) under one or more contributor
// license agreements. See the NOTICE file distributed with
// this work for additional information regarding copyright
// ownership. Apache Software Foundation (ASF) licenses this file to you under
// the Apache License, Version 2.0 (the "License"); you may
// not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.
17 18 19 20 21

package instance

import (
	"github.com/urfave/cli"
22 23 24

	"github.com/apache/skywalking-cli/graphql/client"
	"github.com/apache/skywalking-cli/logger"
25 26 27 28 29 30 31 32
)

var Command = cli.Command{
	Name:      "instance",
	ShortName: "i",
	Usage:     "Instance related sub-command",
	Subcommands: cli.Commands{
		ListCommand,
33
		SearchCommand,
34 35
	},
}
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53

func verifyAndSwitchServiceParameter(ctx *cli.Context) string {
	serviceID := ctx.String("service-id")
	serviceName := ctx.String("service-name")

	if serviceID == "" && serviceName == "" {
		logger.Log.Fatalf("flags \"service-id, service-name\" must set one")
	}

	if serviceID == "" && serviceName != "" {
		service, err := client.SearchService(ctx, serviceName)
		if err != nil {
			logger.Log.Fatalln(err)
		}
		serviceID = service.ID
	}
	return serviceID
}