commands

package
v1.11.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 4, 2024 License: Apache-2.0 Imports: 52 Imported by: 0

Documentation

Overview

* Copyright 2019-present Ciena Corporation * * Licensed 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.

* Copyright 2019-present Ciena Corporation * * Licensed 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.

* Copyright 2019-present Ciena Corporation * * Licensed 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.

* Copyright 2019-present Ciena Corporation * * Licensed 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.

* Copyright 2019-present Ciena Corporation * * Licensed 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.

* Copyright 2019-present Ciena Corporation * * Licensed 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.

* Copyright 2019-present Ciena Corporation * * Licensed 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.

* Copyright 2019-present Ciena Corporation * * Licensed 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.

* Copyright 2019-present Ciena Corporation * * Licensed 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.

* Copyright 2019-present Ciena Corporation * * Licensed 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.

* Copyright 2019-2023 Ciena Corporation * Copyright 2019-2024 Open Networking Foundation (ONF) and the ONF Contributors * * Licensed 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.

* Copyright 2021-present Ciena Corporation * * Licensed 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.

* Copyright 2021-present Ciena Corporation * * Licensed 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.

* Copyright 2019-present Ciena Corporation * * Licensed 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.

Index

Constants

View Source
const (
	DEFAULT_COMPONENT_FORMAT   = "table{{.Namespace}}\t{{.Id}}\t{{.Name}}\t{{.Component}}\t{{.Version}}\t{{.Ready}}\t{{.Restarts}}\t{{.Status}}\t{{.Age}}"
	COMPONENT_LIST_KUBECTL_CMD = "" /* 148-byte string literal not displayed */
)
View Source
const (
	DEFAULT_DEVICE_FORMAT         = "" /* 137-byte string literal not displayed */
	DEFAULT_DEVICE_ORDER          = "Type,Id"
	DEFAULT_DEVICE_PORTS_FORMAT   = "table{{.PortNo}}\t{{.Label}}\t{{.Type}}\t{{.AdminState}}\t{{.OperStatus}}\t{{.DeviceId}}\t{{.Peers}}"
	DEFAULT_DEVICE_INSPECT_FORMAT = `` /* 260-byte string literal not displayed */

	DEFAULT_DEVICE_PM_CONFIG_GET_FORMAT         = "table{{.DefaultFreq}}\t{{.Grouped}}\t{{.FreqOverride}}"
	DEFAULT_DEVICE_PM_CONFIG_METRIC_LIST_FORMAT = "table{{.Name}}\t{{.Type}}\t{{.Enabled}}\t{{.SampleFreq}}"
	DEFAULT_DEVICE_PM_CONFIG_GROUP_LIST_FORMAT  = "table{{.GroupName}}\t{{.Enabled}}\t{{.GroupFreq}}"
	DEFAULT_DEVICE_VALUE_GET_FORMAT             = "table{{.Name}}\t{{.Result}}"
	DEFAULT_DEVICE_IMAGE_LIST_GET_FORMAT        = "table{{.Name}}\t{{.Url}}\t{{.Crc}}\t{{.DownloadState}}\t{{.ImageVersion}}\t{{.LocalDir}}\t{{.ImageState}}\t{{.FileSize}}"
	ONU_IMAGE_LIST_FORMAT                       = "table{{.Version}}\t{{.IsCommited}}\t{{.IsActive}}\t{{.IsValid}}\t{{.ProductCode}}\t{{.Hash}}"
	ONU_IMAGE_STATUS_FORMAT                     = "" /* 128-byte string literal not displayed */
	DEFAULT_DEVICE_GET_PORT_STATUS_FORMAT       = `` /* 410-byte string literal not displayed */

	DEFAULT_DEVICE_GET_UNI_STATUS_FORMAT = `
  ADMIN_STATE:          {{.AdmState}}
  OPERATIONAL_STATE:    {{.OperState}}
  CONFIG_IND:           {{.ConfigInd}}`
	DEFAULT_ONU_PON_OPTICAL_INFO_STATUS_FORMAT = `` /* 285-byte string literal not displayed */

	DEFAULT_RX_POWER_STATUS_FORMAT = `
	INTF_ID: {{.IntfId}}
	ONU_ID: {{.OnuId}}
	STATUS: {{.Status}}
	FAIL_REASON: {{.FailReason}}
	RX_POWER : {{.RxPower}}`
	DEFAULT_ETHERNET_FRAME_EXTENDED_PM_COUNTERS_FORMAT = `` /* 1424-byte string literal not displayed */

	DEFAULT_ONU_OMCI_TX_RX_STATS_FORMAT = `` /* 446-byte string literal not displayed */

	DEFAULT_DEVICE_ALARMS_FORMAT       = "table{{ .ClassId }}\t{{.InstanceId}}\t{{.Name}}\t{{.Description}}"
	DEFAULT_DEVICE_ALARMS_ORDER        = "ClassId,InstanceId"
	DEFAULT_PON_RX_POWER_STATUS_FORMAT = "table{{.OnuSn}}\t{{.Status}}\t{{.FailReason}}\t{{.RxPower}}\t"
)
View Source
const (
	DEFAULT_DEVICE_GROUPS_FORMAT        = "table{{.GroupId}}\t{{.Type}}"
	DEFAULT_DEVICE_GROUPS_BUCKET_FORMAT = "table{{.GroupId}}\t{{.Buckets}}\t{{.Type}}"
)
View Source
const (
	DEFAULT_LOG_LEVELS_FORMAT         = "table{{ .ComponentName }}\t{{.PackageName}}\t{{.Level}}"
	DEFAULT_LOG_PACKAGES_FORMAT       = "table{{ .ComponentName }}\t{{.PackageName}}"
	DEFAULT_LOG_FEATURE_STATUS_FORMAT = "table{{ .ComponentName }}\t{{.Status}}"
	DEFAULT_LOG_RESULT_FORMAT         = "table{{ .ComponentName }}\t{{.PackageName}}\t{{.Status}}\t{{.Error}}"
	DEFAULT_LOG_FEATURE_RESULT_FORMAT = "table{{ .ComponentName }}\t{{.Status}}\t{{.Error}}"
)
View Source
const (
	DEFAULT_LOGICAL_DEVICE_FORMAT         = "" /* 199-byte string literal not displayed */
	DEFAULT_LOGICAL_DEVICE_ORDER          = "Id"
	DEFAULT_LOGICAL_DEVICE_PORT_FORMAT    = "" /* 226-byte string literal not displayed */
	DEFAULT_LOGICAL_DEVICE_METER_FORMAT   = "" /* 142-byte string literal not displayed */
	DEFAULT_LOGICAL_DEVICE_METER_ORDER    = "MeterId"
	DEFAULT_LOGICAL_DEVICE_INSPECT_FORMAT = `ID: {{.Id}}
  DATAPATHID: {{.DatapathId}}
  ROOTDEVICEID: {{.RootDeviceId}}
  SERIALNUMNER: {{.Desc.SerialNum}}`
)
View Source
const ClientOnlyFormat = `` /* 191-byte string literal not displayed */
View Source
const (
	DEFAULT_EVENT_FORMAT = "table{{.Category}}\t{{.SubCategory}}\t{{.Type}}\t{{.Timestamp}}\t{{.Device_ids}}\t{{.Titles}}"
)
View Source
const (
	DEFAULT_OUTPUT_FORMAT = "" /* 153-byte string literal not displayed */
)
View Source
const DefaultFormat = `` /* 489-byte string literal not displayed */
View Source
const (
	DefaultOutputFormat = "table{{.Current}}\t{{.Name}}\t{{.Server}}\t{{.KvStore}}\t{{.Kafka}}"
)

Variables

View Source
var (
	ParamNames = map[string]map[string]string{
		"v1": {
			"ID": "voltha.ID",
		},
		"v2": {
			"ID": "common.ID",
		},
		"v3": {
			"ID":             "common.ID",
			"port":           "voltha.Port",
			"ValueSpecifier": "common.ValueSpecifier",
		},
	}

	CharReplacer = strings.NewReplacer("\\t", "\t", "\\n", "\n")

	GlobalConfig = configv3.NewDefaultConfig()

	GlobalCommandOptions = make(map[string]map[string]string)

	GlobalOptions struct {
		Config  string `short:"c" long:"config" env:"VOLTCONFIG" value-name:"FILE" default:"" description:"Location of client config file"`
		Stack   string `short:"v" long:"stack" env:"STACK" value-name:"STACK" default:"" description:"Name of stack to use in multistack deployment"`
		Server  string `short:"s" long:"server" default:"" value-name:"SERVER:PORT" description:"IP/Host and port of VOLTHA"`
		Kafka   string `short:"k" long:"kafka" default:"" value-name:"SERVER:PORT" description:"IP/Host and port of Kafka"`
		KvStore string `short:"e" long:"kvstore" env:"KVSTORE" value-name:"SERVER:PORT" description:"IP/Host and port of KV store (etcd)"`

		// nolint: staticcheck
		Debug              bool   `short:"d" long:"debug" description:"Enable debug mode"`
		Timeout            string `short:"t" long:"timeout" description:"API call timeout duration" value-name:"DURATION" default:""`
		UseTLS             bool   `long:"tls" description:"Use TLS"`
		CACert             string `long:"tlscacert" value-name:"CA_CERT_FILE" description:"Trust certs signed only by this CA"`
		Cert               string `long:"tlscert" value-name:"CERT_FILE" description:"Path to TLS vertificate file"`
		Key                string `long:"tlskey" value-name:"KEY_FILE" description:"Path to TLS key file"`
		Verify             bool   `long:"tlsverify" description:"Use TLS and verify the remote"`
		K8sConfig          string `short:"8" long:"k8sconfig" env:"KUBECONFIG" value-name:"FILE" default:"" description:"Location of Kubernetes config file"`
		KvStoreTimeout     string `long:"kvstoretimeout" env:"KVSTORE_TIMEOUT" value-name:"DURATION" default:"" description:"timeout for calls to KV store"`
		CommandOptions     string `` /* 160-byte string literal not displayed */
		MaxCallRecvMsgSize string `` /* 134-byte string literal not displayed */
	}

	Debug = log.New(os.Stdout, "DEBUG: ", 0)
	Info  = log.New(os.Stdout, "INFO: ", 0)
	Warn  = log.New(os.Stderr, "WARN: ", 0)
	Error = log.New(os.Stderr, "ERROR: ", 0)
)
View Source
var (
	// Used to sort the table colums in a consistent order
	SORT_ORDER = map[string]uint16{
		"Id":                     0,
		"TableId":                10,
		"Priority":               20,
		"Cookie":                 30,
		"UnsupportedMatch":       35,
		"InPort":                 40,
		"VlanId":                 50,
		"VlanPcp":                55,
		"EthType":                60,
		"IpProto":                70,
		"UdpSrc":                 80,
		"UdpDst":                 90,
		"Metadata":               100,
		"TunnelId":               101,
		"UnsupportedInstruction": 102,
		"UnsupportedAction":      105,
		"UnsupportedSetField":    107,
		"SetVlanId":              110,
		"PopVlan":                120,
		"PushVlanId":             130,
		"Output":                 1000,
		"GotoTable":              1010,
		"WriteMetadata":          1015,
		"ClearActions":           1020,
		"MeterId":                1030,
	}
	DEFAULT_FLOWS_ORDER = "Id"
)
View Source
var (
	NoReportErr = errors.New("no-report-please")
)

Functions

func ApplyOptionOverrides added in v1.5.1

func ApplyOptionOverrides(stack *configv3.StackConfigSpec)

func ConvertJsonProtobufArray added in v1.1.4

func ConvertJsonProtobufArray(data_in interface{}) (string, error)

func DecodeTimestamp added in v1.0.9

func DecodeTimestamp(tsIntf interface{}) (time.Time, error)

Convert a timestamp field in an event to a time.Time

func ErrorToString

func ErrorToString(err error) string

func GenerateOutput

func GenerateOutput(result *CommandResult)

func GetCommandOptionWithDefault

func GetCommandOptionWithDefault(name, option, defaultValue string) string

func NewConnection

func NewConnection() (*grpc.ClientConn, error)

func NewTagBuilder added in v1.6.4

func NewTagBuilder() tagBuilder

func ParseSince added in v1.0.5

func ParseSince(s string) (*time.Time, error)

func PrintEventHeader added in v1.0.3

func PrintEventHeader(outputAs string, outputFormat string, hdr *EventHeader) error

Print just the enriched EventHeader. This is either in JSON format, or in table format.

func PrintMessage added in v1.0.3

func PrintMessage(outputAs string, b []byte) error

Print the full message, either in JSON or in GRPCURL-human-readable format, depending on which grpcurl formatter is passed in.

func ProcessGlobalOptions

func ProcessGlobalOptions()

func ReadConfig added in v1.5.1

func ReadConfig()

func RegisterAdapterCommands

func RegisterAdapterCommands(parent *flags.Parser)

func RegisterCompletionCommands

func RegisterCompletionCommands(parent *flags.Parser)

func RegisterComponentCommands

func RegisterComponentCommands(parser *flags.Parser)

func RegisterConfigCommands

func RegisterConfigCommands(parent *flags.Parser)

func RegisterDeviceCommands

func RegisterDeviceCommands(parser *flags.Parser)

func RegisterEventCommands added in v1.0.3

func RegisterEventCommands(parent *flags.Parser)

func RegisterLogCommands added in v1.1.2

func RegisterLogCommands(parent *flags.Parser)

RegisterLogCommands is used to register log and its sub-commands e.g. level, package etc

func RegisterLogicalDeviceCommands

func RegisterLogicalDeviceCommands(parser *flags.Parser)

func RegisterStackCommands added in v1.5.1

func RegisterStackCommands(parent *flags.Parser)

func RegisterVersionCommands

func RegisterVersionCommands(parent *flags.Parser)

Types

type AdapterList

type AdapterList struct {
	ListOutputOptions
}

func (*AdapterList) Execute

func (options *AdapterList) Execute(args []string) error

type AdapterOpts

type AdapterOpts struct {
	List AdapterList `command:"list"`
}

type BashOptions

type BashOptions struct{}

func (*BashOptions) Execute

func (options *BashOptions) Execute(args []string) error

type ClearLogLevelsOpts added in v1.0.15

type ClearLogLevelsOpts struct {
	OutputOptions
	Args struct {
		Component []ConfiguredComponentAndPackageName
	} `positional-args:"yes" required:"yes"`
}

ClearLogLevelOpts represents the supported CLI arguments for the log level clear command

func (*ClearLogLevelsOpts) Execute added in v1.0.15

func (options *ClearLogLevelsOpts) Execute(args []string) error

This method clear loglevel for components. For example, using below command loglevel can be clear for specific component with default packageName voltctl loglevel clear <componentName> For example, using below command loglevel can be clear for specific component with specific packageName voltctl loglevel clear <componentName#packageName>

type CommandResult

type CommandResult struct {
	Format    format.Format
	Filter    string
	OrderBy   string
	OutputAs  OutputType
	NameLimit int
	Data      interface{}
}

type CompletionOptions

type CompletionOptions struct {
	BashOptions `command:"bash"`
}

type ComponentAndPackageName added in v1.1.2

type ComponentAndPackageName string

Custom Option representing <component-name>#<package-name> format (package is optional) This is used by 'log level set' commands

func (*ComponentAndPackageName) Complete added in v1.1.2

func (cpn *ComponentAndPackageName) Complete(match string) []flags.Completion

type ComponentList

type ComponentList struct {
	ListOutputOptions
	Kubectl bool `long:"kubectl" short:"k" description:"display the kubectl command to execute"`
}

func (*ComponentList) Execute

func (options *ComponentList) Execute(args []string) error

type ComponentName added in v1.1.2

type ComponentName string

Custom Option representing component-name. This is used by 'log level list' and 'log package list' commands

func (*ComponentName) Complete added in v1.1.2

func (cn *ComponentName) Complete(match string) []flags.Completion

type ComponentOpts

type ComponentOpts struct {
	List ComponentList `command:"list"`
}

type ConfigOptions

type ConfigOptions struct {
}

func (*ConfigOptions) Execute

func (options *ConfigOptions) Execute(args []string) error

type ConfiguredComponentAndPackageName added in v1.1.2

type ConfiguredComponentAndPackageName string

Custom Option representing currently configured log configuration in <component-name>#<package-name> format (package is optional) This is used by 'log level clear' commands

func (*ConfiguredComponentAndPackageName) Complete added in v1.1.2

func (ccpn *ConfiguredComponentAndPackageName) Complete(match string) []flags.Completion

type DeviceCreate

type DeviceCreate struct {
	DeviceType  string `short:"t" required:"true" long:"devicetype" description:"Device type"`
	MACAddress  string `short:"m" long:"macaddress" default:"" description:"MAC Address"`
	IPAddress   string `short:"i" long:"ipaddress" default:"" description:"IP Address"`
	HostAndPort string `short:"H" long:"hostandport" default:"" description:"Host and port"`
}

func (*DeviceCreate) Execute

func (options *DeviceCreate) Execute(args []string) error

type DeviceDelete

type DeviceDelete struct {
	Force bool `long:"force" description:"Delete device forcefully"`
	Args  struct {
		Ids []DeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
	} `positional-args:"yes"`
}

func (*DeviceDelete) Execute

func (options *DeviceDelete) Execute(args []string) error

type DeviceDisable

type DeviceDisable struct {
	Args struct {
		Ids []DeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
	} `positional-args:"yes"`
}

func (*DeviceDisable) Execute

func (options *DeviceDisable) Execute(args []string) error

type DeviceEnable

type DeviceEnable struct {
	Args struct {
		Ids []DeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
	} `positional-args:"yes"`
}

func (*DeviceEnable) Execute

func (options *DeviceEnable) Execute(args []string) error

type DeviceFlowGroupList added in v1.6.6

type DeviceFlowGroupList struct {
	ListOutputOptions
	GroupListOptions
	Args struct {
		Id DeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
	} `positional-args:"yes"`
}

func (*DeviceFlowGroupList) Execute added in v1.6.6

func (options *DeviceFlowGroupList) Execute(args []string) error

type DeviceFlowList

type DeviceFlowList struct {
	ListOutputOptions
	FlowIdOptions
	Args struct {
		Id DeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
	} `positional-args:"yes"`
}

func (*DeviceFlowList) Execute

func (options *DeviceFlowList) Execute(args []string) error

type DeviceGetExtValue added in v1.1.3

type DeviceGetExtValue struct {
	ListOutputOptions
	Args struct {
		Id        DeviceId  `positional-arg-name:"DEVICE_ID" required:"yes"`
		Valueflag ValueFlag `positional-arg-name:"VALUE_FLAG" required:"yes"`
	} `positional-args:"yes"`
}

func (*DeviceGetExtValue) Execute added in v1.1.3

func (options *DeviceGetExtValue) Execute(args []string) error

Device get Onu Distance

type DeviceGetPortStats added in v1.4.1

type DeviceGetPortStats struct {
	ListOutputOptions
	Args struct {
		Id       DeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
		PortNo   uint32   `positional-arg-name:"PORT_NO" required:"yes"`
		PortType string   `positional-arg-name:"PORT_TYPE" required:"yes"`
	} `positional-args:"yes"`
}

func (*DeviceGetPortStats) Execute added in v1.4.1

func (options *DeviceGetPortStats) Execute(args []string) error

type DeviceId

type DeviceId string

func (*DeviceId) Complete

func (i *DeviceId) Complete(match string) []flags.Completion

type DeviceInspect

type DeviceInspect struct {
	OutputOptionsJson
	Args struct {
		Id DeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
	} `positional-args:"yes"`
}

func (*DeviceInspect) Execute

func (options *DeviceInspect) Execute(args []string) error

type DeviceList

type DeviceList struct {
	ListOutputOptions
}

func (*DeviceList) Execute

func (options *DeviceList) Execute(args []string) error

type DeviceOnuActivateImageUpdate added in v1.4.0

type DeviceOnuActivateImageUpdate struct {
	Args struct {
		Id           DeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
		Name         string   `positional-arg-name:"IMAGE_NAME" required:"yes"`
		ImageVersion string   `positional-arg-name:"IMAGE_VERSION" required:"yes"`
		SaveConfig   bool     `positional-arg-name:"SAVE_EXISTING_CONFIG"`
		LocalDir     string   `positional-arg-name:"IMAGE_LOCAL_DIRECTORY"`
	} `positional-args:"yes"`
}

func (*DeviceOnuActivateImageUpdate) Execute added in v1.4.0

func (options *DeviceOnuActivateImageUpdate) Execute(args []string) error

type DeviceOnuDownloadImage added in v1.4.0

type DeviceOnuDownloadImage struct {
	Args struct {
		Id           DeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
		Name         string   `positional-arg-name:"IMAGE_NAME" required:"yes"`
		Url          string   `positional-arg-name:"IMAGE_URL" required:"yes"`
		ImageVersion string   `positional-arg-name:"IMAGE_VERSION" required:"yes"`
		Crc          uint32   `positional-arg-name:"IMAGE_CRC" required:"yes"`
		LocalDir     string   `positional-arg-name:"IMAGE_LOCAL_DIRECTORY"`
	} `positional-args:"yes"`
}

func (*DeviceOnuDownloadImage) Execute added in v1.4.0

func (options *DeviceOnuDownloadImage) Execute(args []string) error

type DeviceOnuListImages added in v1.4.0

type DeviceOnuListImages struct {
	ListOutputOptions
	Args struct {
		Id DeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
	} `positional-args:"yes"`
}

func (*DeviceOnuListImages) Execute added in v1.4.0

func (options *DeviceOnuListImages) Execute(args []string) error

type DeviceOpts

type DeviceOpts struct {
	List    DeviceList          `command:"list"`
	Create  DeviceCreate        `command:"create"`
	Delete  DeviceDelete        `command:"delete"`
	Enable  DeviceEnable        `command:"enable"`
	Disable DeviceDisable       `command:"disable"`
	Flows   DeviceFlowList      `command:"flows"`
	Groups  DeviceFlowGroupList `command:"groups"`
	Port    struct {
		List    DevicePortList    `command:"list"`
		Enable  DevicePortEnable  `command:"enable"`
		Disable DevicePortDisable `command:"disable"`
	} `command:"port"`
	Inspect DeviceInspect `command:"inspect"`
	Reboot  DeviceReboot  `command:"reboot"`
	Value   struct {
		Get DeviceGetExtValue `command:"get"`
	} `command:"value"`
	PmConfig struct {
		Get     DevicePmConfigsGet `command:"get"`
		MaxSkew struct {
			Set DevicePmConfigSetMaxSkew `command:"set"`
		} `command:"maxskew"`
		Frequency struct {
			Set DevicePmConfigFrequencySet `command:"set"`
		} `command:"frequency"`
		Metric struct {
			List    DevicePmConfigMetricList    `command:"list"`
			Enable  DevicePmConfigMetricEnable  `command:"enable"`
			Disable DevicePmConfigMetricDisable `command:"disable"`
		} `command:"metric"`
		Group struct {
			List    DevicePmConfigGroupList         `command:"list"`
			Enable  DevicePmConfigGroupEnable       `command:"enable"`
			Disable DevicePmConfigGroupDisable      `command:"disable"`
			Set     DevicePmConfigGroupFrequencySet `command:"set"`
		} `command:"group"`
		GroupMetric struct {
			List DevicePmConfigGroupMetricList `command:"list"`
		} `command:"groupmetric"`
	} `command:"pmconfig"`
	Image struct {
		Get      DeviceOnuListImages          `command:"list"`
		Download DeviceOnuDownloadImage       `command:"download"`
		Activate DeviceOnuActivateImageUpdate `command:"activate"`
	} `command:"image"`
	DownloadImage struct {
		Download     OnuDownloadImage     `command:"download"`
		Activate     OnuActivateImage     `command:"activate"`
		Commit       OnuCommitImage       `command:"commit"`
		AbortUpgrade OnuAbortUpgradeImage `command:"abort"`
		Status       OnuImageStatus       `command:"status"`
		List         OnuListImages        `command:"list" `
	} `command:"onuimage"`
	GetExtVal struct {
		Stats                   DeviceGetPortStats                    `command:"portstats"`
		UniStatus               UniStatus                             `command:"unistatus"`
		OpticalInfo             OnuPonOpticalInfo                     `command:"onu_pon_optical_info"`
		OnuStats                GetOnuStats                           `command:"onu_stats"`
		EthernetFrameExtendedPm GetOnuEthernetFrameExtendedPmCounters `command:"ethernet_frame_extended_pm"`
		RxPower                 RxPower                               `command:"rxpower"`
		OnuOmciStats            OnuOmciTxRxStats                      `command:"onu_omci_stats"`
		OnuOmciActiveAlarms     GetOnuOmciActiveAlarms                `command:"onu_omci_active_alarms"`
		PonRxPower              PonRxPower                            `command:"pon_rx_power"`
	} `command:"getextval"`
}

type DevicePmConfigFrequencySet added in v1.1.6

type DevicePmConfigFrequencySet struct {
	OutputOptions
	Args struct {
		Id       DeviceId      `positional-arg-name:"DEVICE_ID" required:"yes"`
		Interval time.Duration `positional-arg-name:"INTERVAL" required:"yes"`
	} `positional-args:"yes"`
}

func (*DevicePmConfigFrequencySet) Execute added in v1.1.6

func (options *DevicePmConfigFrequencySet) Execute(args []string) error

type DevicePmConfigGroupDisable added in v1.1.6

type DevicePmConfigGroupDisable struct {
	Args struct {
		Id    DeviceId  `positional-arg-name:"DEVICE_ID" required:"yes"`
		Group GroupName `positional-arg-name:"GROUP_NAME" required:"yes"`
	} `positional-args:"yes"`
}

func (*DevicePmConfigGroupDisable) Execute added in v1.1.6

func (options *DevicePmConfigGroupDisable) Execute(args []string) error

type DevicePmConfigGroupEnable added in v1.1.6

type DevicePmConfigGroupEnable struct {
	Args struct {
		Id    DeviceId  `positional-arg-name:"DEVICE_ID" required:"yes"`
		Group GroupName `positional-arg-name:"GROUP_NAME" required:"yes"`
	} `positional-args:"yes"`
}

func (*DevicePmConfigGroupEnable) Execute added in v1.1.6

func (options *DevicePmConfigGroupEnable) Execute(args []string) error

type DevicePmConfigGroupFrequencySet added in v1.4.3

type DevicePmConfigGroupFrequencySet struct {
	OutputOptions
	Args struct {
		Id       DeviceId      `positional-arg-name:"DEVICE_ID" required:"yes"`
		Group    GroupName     `positional-arg-name:"GROUP_NAME" required:"yes"`
		Interval time.Duration `positional-arg-name:"INTERVAL" required:"yes"`
	} `positional-args:"yes"`
}

func (*DevicePmConfigGroupFrequencySet) Execute added in v1.4.3

func (options *DevicePmConfigGroupFrequencySet) Execute(args []string) error

type DevicePmConfigGroupList added in v1.1.6

type DevicePmConfigGroupList struct {
	ListOutputOptions
	Args struct {
		Id DeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
	} `positional-args:"yes"`
}

func (*DevicePmConfigGroupList) Execute added in v1.1.6

func (options *DevicePmConfigGroupList) Execute(args []string) error

type DevicePmConfigGroupMetricList added in v1.1.6

type DevicePmConfigGroupMetricList struct {
	ListOutputOptions
	Args struct {
		Id    DeviceId  `positional-arg-name:"DEVICE_ID" required:"yes"`
		Group GroupName `positional-arg-name:"GROUP_NAME" required:"yes"`
	} `positional-args:"yes"`
}

func (*DevicePmConfigGroupMetricList) Execute added in v1.1.6

func (options *DevicePmConfigGroupMetricList) Execute(args []string) error

type DevicePmConfigMetricDisable added in v1.1.6

type DevicePmConfigMetricDisable struct {
	Args struct {
		Id      DeviceId     `positional-arg-name:"DEVICE_ID" required:"yes"`
		Metrics []MetricName `positional-arg-name:"METRIC_NAME" required:"yes"`
	} `positional-args:"yes"`
}

func (*DevicePmConfigMetricDisable) Execute added in v1.1.6

func (options *DevicePmConfigMetricDisable) Execute(args []string) error

type DevicePmConfigMetricEnable added in v1.1.6

type DevicePmConfigMetricEnable struct {
	Args struct {
		Id      DeviceId     `positional-arg-name:"DEVICE_ID" required:"yes"`
		Metrics []MetricName `positional-arg-name:"METRIC_NAME" required:"yes"`
	} `positional-args:"yes"`
}

func (*DevicePmConfigMetricEnable) Execute added in v1.1.6

func (options *DevicePmConfigMetricEnable) Execute(args []string) error

type DevicePmConfigMetricList added in v1.1.6

type DevicePmConfigMetricList struct {
	ListOutputOptions
	Args struct {
		Id DeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
	} `positional-args:"yes"`
}

func (*DevicePmConfigMetricList) Execute added in v1.1.6

func (options *DevicePmConfigMetricList) Execute(args []string) error

type DevicePmConfigSetMaxSkew added in v1.2.0

type DevicePmConfigSetMaxSkew struct {
	Args struct {
		Id      DeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
		MaxSkew uint32   `positional-arg-name:"MAX_SKEW" required:"yes"`
	} `positional-args:"yes"`
}

func (*DevicePmConfigSetMaxSkew) Execute added in v1.2.0

func (options *DevicePmConfigSetMaxSkew) Execute(args []string) error

type DevicePmConfigsGet added in v1.1.6

type DevicePmConfigsGet struct {
	ListOutputOptions
	Args struct {
		Id DeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
	} `positional-args:"yes"`
}

func (*DevicePmConfigsGet) Execute added in v1.1.6

func (options *DevicePmConfigsGet) Execute(args []string) error

type DevicePortDisable added in v1.0.7

type DevicePortDisable struct {
	Args struct {
		Id     DeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
		PortId PortNum  `positional-arg-name:"PORT_NUMBER" required:"yes"`
	} `positional-args:"yes"`
}

func (*DevicePortDisable) Execute added in v1.0.7

func (options *DevicePortDisable) Execute(args []string) error

Device Port Disable

type DevicePortEnable added in v1.0.7

type DevicePortEnable struct {
	Args struct {
		Id     DeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
		PortId PortNum  `positional-arg-name:"PORT_NUMBER" required:"yes"`
	} `positional-args:"yes"`
}

func (*DevicePortEnable) Execute added in v1.0.7

func (options *DevicePortEnable) Execute(args []string) error

Device Port Enable

type DevicePortList

type DevicePortList struct {
	ListOutputOptions
	Args struct {
		Id DeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
	} `positional-args:"yes"`
}

func (*DevicePortList) Execute

func (options *DevicePortList) Execute(args []string) error

type DeviceReboot

type DeviceReboot struct {
	Args struct {
		Ids []DeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
	} `positional-args:"yes"`
}

func (*DeviceReboot) Execute

func (options *DeviceReboot) Execute(args []string) error

type DisableLogCorrelationOpts added in v1.2.1

type DisableLogCorrelationOpts struct {
	OutputOptions
	Args struct {
		Component []ComponentName
	} `positional-args:"yes" required:"yes"`
}

DisableLogCorrelationOpts represent the supported CLI arguments for the log correlation disable command

func (*DisableLogCorrelationOpts) Execute added in v1.2.1

func (options *DisableLogCorrelationOpts) Execute(args []string) error

This method disables log correlation for components. For example, using below command, log correlation can be disabled for specific component voltctl log correlation disable <componentName> Omitting the component name will disable log correlation for all the components, as shown in below command. voltctl log correlation disable

type DisableLogTracingOpts added in v1.2.0

type DisableLogTracingOpts struct {
	OutputOptions
	Args struct {
		Component []ComponentName
	} `positional-args:"yes" required:"yes"`
}

DisableLogTracingOpts represents the supported CLI arguments for the log tracing disable command

func (*DisableLogTracingOpts) Execute added in v1.2.0

func (options *DisableLogTracingOpts) Execute(args []string) error

This method disables log trace publishing for components. For example, using below command, trace publishing can be disabled for specific component voltctl log tracing disable <componentName> Omitting the component name will disable trace publishing for all the components, as shown in below command. voltctl log tracing disable

type EnableLogCorrelationOpts added in v1.2.1

type EnableLogCorrelationOpts struct {
	OutputOptions
	Args struct {
		Component []ComponentName
	} `positional-args:"yes" required:"yes"`
}

EnableLogCorrelationOpts represent the supported CLI arguments for the log correlation enable command

func (*EnableLogCorrelationOpts) Execute added in v1.2.1

func (options *EnableLogCorrelationOpts) Execute(args []string) error

This method enables log correlation for components. For example, using below command, log correlation can be enabled for specific component voltctl log correlation enable <componentName> Omitting the component name will enable log correlation for all the components, as shown in below command. voltctl log correlation enable

type EnableLogTracingOpts added in v1.2.0

type EnableLogTracingOpts struct {
	OutputOptions
	Args struct {
		Component []ComponentName
	} `positional-args:"yes" required:"yes"`
}

EnableLogTracingOpts represents the supported CLI arguments for the log tracing enable command

func (*EnableLogTracingOpts) Execute added in v1.2.0

func (options *EnableLogTracingOpts) Execute(args []string) error

This method enables log trace publishing for components. For example, using below command, trace publishing can be enabled for specific component voltctl log tracing enable <componentName> Omitting the component name will enable trace publishing for all the components, as shown in below command. voltctl log tracing enable

type EventHeader added in v1.0.3

type EventHeader struct {
	Category    string    `json:"category"`
	SubCategory string    `json:"sub_category"`
	Type        string    `json:"type"`
	Raised_ts   time.Time `json:"raised_ts"`
	Reported_ts time.Time `json:"reported_ts"`
	Device_ids  []string  `json:"device_ids"` // Opportunistically collected list of device_ids
	Titles      []string  `json:"titles"`     // Opportunistically collected list of titles
	Timestamp   time.Time `json:"timestamp"`  // Timestamp from Kafka
}

func DecodeHeader added in v1.0.3

func DecodeHeader(b []byte, ts time.Time) (*EventHeader, error)

Extract the header, as well as a few other items that might be of interest

type EventHeaderWidths added in v1.0.3

type EventHeaderWidths struct {
	Category    int
	SubCategory int
	Type        int
	Raised_ts   int
	Reported_ts int
	Device_ids  int
	Titles      int
	Timestamp   int
}
var DefaultWidths EventHeaderWidths = EventHeaderWidths{
	Category:    13,
	SubCategory: 3,
	Type:        12,
	Raised_ts:   10,
	Reported_ts: 10,
	Device_ids:  40,
	Titles:      40,
	Timestamp:   10,
}

type EventListenOpts added in v1.0.3

type EventListenOpts struct {
	Format string `long:"format" value-name:"FORMAT" default:"" description:"Format to use to output structured data"`
	// nolint: staticcheck
	OutputAs string `short:"o" long:"outputas" default:"table" choice:"table" choice:"json" choice:"yaml" description:"Type of output to generate"`
	Filter   string `short:"f" long:"filter" default:"" value-name:"FILTER" description:"Only display results that match filter"`
	Follow   bool   `short:"F" long:"follow" description:"Continue to consume until CTRL-C is pressed"`
	ShowBody bool   `short:"b" long:"show-body" description:"Show body of events rather than only a header summary"`
	Count    int    `short:"c" long:"count" default:"-1" value-name:"LIMIT" description:"Limit the count of messages that will be printed"`
	Now      bool   `short:"n" long:"now" description:"Stop printing events when current time is reached"`
	Timeout  int    `` /* 126-byte string literal not displayed */
	Since    string `short:"s" long:"since" default:"" value-name:"TIMESTAMP" description:"Do not show entries before timestamp"`
}

func (*EventListenOpts) Execute added in v1.0.3

func (options *EventListenOpts) Execute(args []string) error

func (*EventListenOpts) FinishOutput added in v1.0.3

func (options *EventListenOpts) FinishOutput()

Finish output, print any column footers or other end characters

func (*EventListenOpts) StartOutput added in v1.0.3

func (options *EventListenOpts) StartOutput(outputFormat string) error

Start output, print any column headers or other start characters

type EventOpts added in v1.0.3

type EventOpts struct {
	EventListen EventListenOpts `command:"listen"`
}

type FlowIdOptions added in v1.3.0

type FlowIdOptions struct {
	HexId bool `short:"x" long:"hex-id" description:"Output Ids in hex format"`
}

type FlowList

type FlowList struct {
	ListOutputOptions
	FlowIdOptions
	Args struct {
		Id string `positional-arg-name:"DEVICE_ID" required:"yes"`
	} `positional-args:"yes"`

	Method string
}

func (*FlowList) Execute

func (options *FlowList) Execute(args []string) error

type FlowOpts

type FlowOpts struct {
	List FlowList `command:"list"`
}

type GetOnuEthernetFrameExtendedPmCounters added in v1.6.9

type GetOnuEthernetFrameExtendedPmCounters struct {
	ListOutputOptions
	Reset bool `long:"reset" description:"Reset the counters"`
	Args  struct {
		Id       DeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
		UniIndex *uint32  `positional-arg-name:"UNI_INDEX"`
	} `positional-args:"yes"`
}

func (*GetOnuEthernetFrameExtendedPmCounters) Execute added in v1.6.9

func (options *GetOnuEthernetFrameExtendedPmCounters) Execute(args []string) error

type GetOnuOmciActiveAlarms added in v1.9.1

type GetOnuOmciActiveAlarms struct {
	ListOutputOptions
	Args struct {
		Id DeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
	} `positional-args:"yes"`
}

func (*GetOnuOmciActiveAlarms) Execute added in v1.9.1

func (options *GetOnuOmciActiveAlarms) Execute(args []string) error

Device get Onu Active Alarms

type GetOnuStats added in v1.6.4

type GetOnuStats struct {
	ListOutputOptions
	Args struct {
		OltId  DeviceId `positional-arg-name:"OLT_DEVICE_ID" required:"yes"`
		IntfId uint32   `positional-arg-name:"PON_INTF_ID" required:"yes"`
		OnuId  uint32   `positional-arg-name:"ONU_ID" required:"yes"`
	} `positional-args:"yes"`
}

func (*GetOnuStats) Execute added in v1.6.4

func (options *GetOnuStats) Execute(args []string) error

type GroupList added in v1.6.6

type GroupList struct {
	ListOutputOptions
	GroupListOptions
	Args struct {
		Id string `positional-arg-name:"DEVICE_ID" required:"yes"`
	} `positional-args:"yes"`

	Method string
}

func (*GroupList) Execute added in v1.6.6

func (options *GroupList) Execute(args []string) error

type GroupListOptions added in v1.6.6

type GroupListOptions struct {
	Bucket bool `short:"b" long:"buckets" description:"Display Buckets"`
}

type GroupName added in v1.1.6

type GroupName string

func (*GroupName) Complete added in v1.1.6

func (i *GroupName) Complete(match string) []flags.Completion

type LevelName added in v1.1.2

type LevelName string

Custom Option representing Log Level (one of debug, info, warn, error, fatal)

func (*LevelName) Complete added in v1.1.2

func (ln *LevelName) Complete(match string) []flags.Completion

type ListLogCorrelationOpts added in v1.2.1

type ListLogCorrelationOpts struct {
	ListOutputOptions
	Args struct {
		Component []ComponentName
	} `positional-args:"yes" required:"yes"`
}

ListLogCorrelationOpts represents the supported CLI arguments for the log correlation list command

func (*ListLogCorrelationOpts) Execute added in v1.2.1

func (options *ListLogCorrelationOpts) Execute(args []string) error

This method lists current status of log correlation for components. For example, using below command, log correlation can be queried for specific component voltctl log correlation list <componentName> Omitting the component name will list log correlation for all the components, as shown in below command. voltctl log correlation list

type ListLogLevelsOpts

type ListLogLevelsOpts struct {
	ListOutputOptions
	Args struct {
		Component []ComponentName
	} `positional-args:"yes" required:"yes"`
}

ListLogLevelOpts represents the supported CLI arguments for the log level list command

func (*ListLogLevelsOpts) Execute

func (options *ListLogLevelsOpts) Execute(args []string) error

This method list loglevel for components. For example, using below command loglevel can be list for specific component voltctl loglevel list <componentName> For example, using below command loglevel can be list for all the components with all the packageName voltctl loglevel list

type ListLogPackagesOpts added in v1.1.2

type ListLogPackagesOpts struct {
	ListOutputOptions
	Args struct {
		Component []ComponentName
	} `positional-args:"yes" required:"yes"`
}

ListLogLevelOpts represents the supported CLI arguments for the log level list command

func (*ListLogPackagesOpts) Execute added in v1.1.2

func (options *ListLogPackagesOpts) Execute(args []string) error

This method lists registered log packages for components. For example, available log packages can be listed for specific component using below command voltctl loglevel listpackage <componentName> For example, available log packages can be listed for all the components using below command (omitting component name) voltctl loglevel listpackage

type ListLogTracingOpts added in v1.2.0

type ListLogTracingOpts struct {
	ListOutputOptions
	Args struct {
		Component []ComponentName
	} `positional-args:"yes" required:"yes"`
}

ListLogTracingOpts represents the supported CLI arguments for the log tracing list command

func (*ListLogTracingOpts) Execute added in v1.2.0

func (options *ListLogTracingOpts) Execute(args []string) error

This method lists current status of log trace publishing for components. For example, using below command, trace publishing can be queried for specific component voltctl log tracing list <componentName> Omitting the component name will list trace publishing for all the components, as shown in below command. voltctl log tracing list

type ListOutputOptions

type ListOutputOptions struct {
	OutputOptions
	Filter  string `short:"f" long:"filter" default:"" value-name:"FILTER" description:"Only display results that match filter"`
	OrderBy string `short:"r" long:"orderby" default:"" value-name:"ORDER" description:"Specify the sort order of the results"`
}

type ListOutputOptionsJson

type ListOutputOptionsJson struct {
	OutputOptionsJson
	Filter  string `short:"f" long:"filter" default:"" value-name:"FILTER" description:"Only display results that match filter"`
	OrderBy string `short:"r" long:"orderby" default:"" value-name:"ORDER" description:"Specify the sort order of the results"`
}

type LogCorrelationOpts added in v1.2.1

type LogCorrelationOpts struct {
	EnableLogCorrelation  EnableLogCorrelationOpts  `command:"enable"`
	DisableLogCorrelation DisableLogCorrelationOpts `command:"disable"`
	ListLogCorrelation    ListLogCorrelationOpts    `command:"list"`
}

LogCorrelationOpts represents the log correlation commands

type LogLevelOpts

type LogLevelOpts struct {
	SetLogLevel    SetLogLevelOpts    `command:"set"`
	ListLogLevels  ListLogLevelsOpts  `command:"list"`
	ClearLogLevels ClearLogLevelsOpts `command:"clear"`
}

LogLevelOpts represents the log level commands

type LogLevelOutput added in v1.0.15

type LogLevelOutput struct {
	ComponentName string
	PackageName   string
	Status        string
	Error         string
}

LogLevelOutput represents the output structure for the loglevel

type LogOpts added in v1.1.2

type LogOpts struct {
	LogLevel       LogLevelOpts       `command:"level"`
	LogPackage     LogPackageOpts     `command:"package"`
	LogTracing     LogTracingOpts     `command:"tracing"`
	LogCorrelation LogCorrelationOpts `command:"correlation"`
}

LogOpts represents the log commands

type LogPackageOpts added in v1.1.2

type LogPackageOpts struct {
	ListLogPackages ListLogPackagesOpts `command:"list"`
}

LogPackageOpts represents the log package commands

type LogTracingOpts added in v1.2.0

type LogTracingOpts struct {
	EnableLogTracing  EnableLogTracingOpts  `command:"enable"`
	DisableLogTracing DisableLogTracingOpts `command:"disable"`
	ListLogTracing    ListLogTracingOpts    `command:"list"`
}

LogTracingOpts represents the log tracing commands

type LogicalDeviceFlowGroupList added in v1.6.6

type LogicalDeviceFlowGroupList struct {
	ListOutputOptions
	GroupListOptions
	Args struct {
		Id DeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
	} `positional-args:"yes"`
}

func (*LogicalDeviceFlowGroupList) Execute added in v1.6.6

func (options *LogicalDeviceFlowGroupList) Execute(args []string) error

type LogicalDeviceFlowList

type LogicalDeviceFlowList struct {
	ListOutputOptions
	FlowIdOptions
	Args struct {
		Id LogicalDeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
	} `positional-args:"yes"`
}

func (*LogicalDeviceFlowList) Execute

func (options *LogicalDeviceFlowList) Execute(args []string) error

type LogicalDeviceId

type LogicalDeviceId string

func (*LogicalDeviceId) Complete

func (i *LogicalDeviceId) Complete(match string) []flags.Completion

type LogicalDeviceInspect

type LogicalDeviceInspect struct {
	OutputOptionsJson
	Args struct {
		Id LogicalDeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
	} `positional-args:"yes"`
}

func (*LogicalDeviceInspect) Execute

func (options *LogicalDeviceInspect) Execute(args []string) error

type LogicalDeviceList

type LogicalDeviceList struct {
	ListOutputOptions
}

func (*LogicalDeviceList) Execute

func (options *LogicalDeviceList) Execute(args []string) error

type LogicalDeviceMeterData added in v1.9.3

type LogicalDeviceMeterData struct {
	MeterId        uint32
	TrafficShaping *tp_pb.TrafficShapingInfo
}

type LogicalDeviceMeterList added in v1.9.3

type LogicalDeviceMeterList struct {
	ListOutputOptions
	Args struct {
		Id LogicalDeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
	} `positional-args:"yes"`
}

func (*LogicalDeviceMeterList) Execute added in v1.9.3

func (options *LogicalDeviceMeterList) Execute(args []string) error

type LogicalDeviceOpts

type LogicalDeviceOpts struct {
	List   LogicalDeviceList          `command:"list"`
	Flows  LogicalDeviceFlowList      `command:"flows"`
	Groups LogicalDeviceFlowGroupList `command:"groups"`
	Port   struct {
		List LogicalDevicePortList `command:"list"`
	} `command:"port"`
	Meters  LogicalDeviceMeterList `command:"meters"`
	Inspect LogicalDeviceInspect   `command:"inspect"`
}

type LogicalDevicePortList

type LogicalDevicePortList struct {
	ListOutputOptions
	Args struct {
		Id LogicalDeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
	} `positional-args:"yes"`
}

func (*LogicalDevicePortList) Execute

func (options *LogicalDevicePortList) Execute(args []string) error

type MetricName added in v1.1.6

type MetricName string

func (*MetricName) Complete added in v1.1.6

func (i *MetricName) Complete(match string) []flags.Completion

type OnuAbortUpgradeImage added in v1.6.1

type OnuAbortUpgradeImage struct {
	ListOutputOptions
	Args struct {
		ImageVersion string     `positional-arg-name:"IMAGE_VERSION" required:"yes"`
		IDs          []DeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
	} `positional-args:"yes"`
}

func (*OnuAbortUpgradeImage) Execute added in v1.6.1

func (options *OnuAbortUpgradeImage) Execute(args []string) error

type OnuActivateImage added in v1.6.1

type OnuActivateImage struct {
	ListOutputOptions
	Args struct {
		ImageVersion    string     `positional-arg-name:"IMAGE_VERSION" required:"yes"`
		CommitOnSuccess bool       `positional-arg-name:"IMAGE_COMMIT_ON_SUCCESS"`
		IDs             []DeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
	} `positional-args:"yes"`
}

func (*OnuActivateImage) Execute added in v1.6.1

func (options *OnuActivateImage) Execute(args []string) error

type OnuCommitImage added in v1.6.1

type OnuCommitImage struct {
	ListOutputOptions
	Args struct {
		ImageVersion string     `positional-arg-name:"IMAGE_VERSION" required:"yes"`
		IDs          []DeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
	} `positional-args:"yes"`
}

func (*OnuCommitImage) Execute added in v1.6.1

func (options *OnuCommitImage) Execute(args []string) error

type OnuDownloadImage added in v1.6.1

type OnuDownloadImage struct {
	ListOutputOptions
	Args struct {
		ImageVersion      string     `positional-arg-name:"IMAGE_VERSION" required:"yes"`
		Url               string     `positional-arg-name:"IMAGE_URL" required:"yes"`
		Vendor            string     `positional-arg-name:"IMAGE_VENDOR"`
		ActivateOnSuccess bool       `positional-arg-name:"IMAGE_ACTIVATE_ON_SUCCESS"`
		CommitOnSuccess   bool       `positional-arg-name:"IMAGE_COMMIT_ON_SUCCESS"`
		Crc               uint32     `positional-arg-name:"IMAGE_CRC"`
		IDs               []DeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
	} `positional-args:"yes"`
}

func (*OnuDownloadImage) Execute added in v1.6.1

func (options *OnuDownloadImage) Execute(args []string) error

type OnuImageStatus added in v1.6.1

type OnuImageStatus struct {
	ListOutputOptions
	Args struct {
		ImageVersion string     `positional-arg-name:"IMAGE_VERSION" required:"yes"`
		IDs          []DeviceId `positional-arg-name:"DEVICE_ID"`
	} `positional-args:"yes"`
}

func (*OnuImageStatus) Execute added in v1.6.1

func (options *OnuImageStatus) Execute(args []string) error

type OnuListImages added in v1.6.1

type OnuListImages struct {
	ListOutputOptions
	Args struct {
		Id DeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
	} `positional-args:"yes"`
}

func (*OnuListImages) Execute added in v1.6.1

func (options *OnuListImages) Execute(args []string) error

type OnuOmciTxRxStats added in v1.8.0

type OnuOmciTxRxStats struct {
	ListOutputOptions
	Args struct {
		Id DeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
	} `positional-args:"yes"`
}

func (*OnuOmciTxRxStats) Execute added in v1.8.0

func (options *OnuOmciTxRxStats) Execute(args []string) error

Device get Onu OMCI TX RX Stats

type OnuPonOpticalInfo added in v1.6.2

type OnuPonOpticalInfo struct {
	ListOutputOptions
	Args struct {
		Id DeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
	} `positional-args:"yes"`
}

func (*OnuPonOpticalInfo) Execute added in v1.6.2

func (options *OnuPonOpticalInfo) Execute(args []string) error

type OutputOptions

type OutputOptions struct {
	Format string `long:"format" value-name:"FORMAT" default:"" description:"Format to use to output structured data"`
	Quiet  bool   `short:"q" long:"quiet" description:"Output only the IDs of the objects"`
	// nolint: staticcheck
	OutputAs  string `short:"o" long:"outputas" default:"table" choice:"table" choice:"json" choice:"yaml" description:"Type of output to generate"`
	NameLimit int    `short:"l" long:"namelimit" default:"-1" value-name:"LIMIT" description:"Limit the depth (length) in the table column name"`
}

type OutputOptionsJson

type OutputOptionsJson struct {
	Format string `long:"format" value-name:"FORMAT" default:"" description:"Format to use to output structured data"`
	Quiet  bool   `short:"q" long:"quiet" description:"Output only the IDs of the objects"`
	// nolint: staticcheck
	OutputAs  string `short:"o" long:"outputas" default:"json" choice:"table" choice:"json" choice:"yaml" description:"Type of output to generate"`
	NameLimit int    `short:"l" long:"namelimit" default:"-1" value-name:"LIMIT" description:"Limit the depth (length) in the table column name"`
}

type OutputType

type OutputType uint8
const (
	OUTPUT_TABLE OutputType = iota
	OUTPUT_JSON
	OUTPUT_YAML
)

type PonRxPower added in v1.10.0

type PonRxPower struct {
	ListOutputOptions
	Args struct {
		Id        DeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
		PortLabel string   `positional-arg-name:"PORT_LABEL" required:"yes"`
		SerialNo  string   `positional-arg-name:"ONU_SERIAL_NUMBER"`
	} `positional-args:"yes"`
}

func (*PonRxPower) Execute added in v1.10.0

func (options *PonRxPower) Execute(args []string) error

type PortNum added in v1.0.7

type PortNum uint32

func (*PortNum) Complete added in v1.0.7

func (i *PortNum) Complete(match string) []flags.Completion

type ReturnValueRow added in v1.1.4

type ReturnValueRow struct {
	Name   string      `json:"name"`
	Result interface{} `json:"result"`
}

type RpcEventHandler

type RpcEventHandler struct {
	Response proto.Message
	Status   *status.Status
	Data     []byte
	Fields   map[string]map[string]interface{}
}

func (*RpcEventHandler) GetParams

func (h *RpcEventHandler) GetParams(msg proto.Message) error

func (*RpcEventHandler) OnReceiveHeaders

func (h *RpcEventHandler) OnReceiveHeaders(metadata.MD)

func (*RpcEventHandler) OnReceiveResponse

func (h *RpcEventHandler) OnReceiveResponse(m proto.Message)

func (*RpcEventHandler) OnReceiveTrailers

func (h *RpcEventHandler) OnReceiveTrailers(s *status.Status, m metadata.MD)

func (*RpcEventHandler) OnResolveMethod

func (h *RpcEventHandler) OnResolveMethod(*desc.MethodDescriptor)

func (*RpcEventHandler) OnSendHeaders

func (h *RpcEventHandler) OnSendHeaders(metadata.MD)

type RxPower added in v1.6.5

type RxPower struct {
	ListOutputOptions
	Args struct {
		Id     DeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
		PortNo uint32   `positional-arg-name:"PORT_NO" required:"yes"`
		OnuNo  uint32   `positional-arg-name:"ONU_NO" required:"yes"`
	} `positional-args:"yes"`
}

func (*RxPower) Execute added in v1.6.5

func (options *RxPower) Execute(args []string) error

type SetLogLevelOpts

type SetLogLevelOpts struct {
	OutputOptions
	Args struct {
		Level     LevelName
		Component []ComponentAndPackageName
	} `positional-args:"yes" required:"yes"`
}

SetLogLevelOpts represents the supported CLI arguments for the log level set command

func (*SetLogLevelOpts) Execute

func (options *SetLogLevelOpts) Execute(args []string) error

This method set loglevel for components. For example, using below command loglevel can be set for specific component with default packageName voltctl loglevel set level <componentName> For example, using below command loglevel can be set for specific component with specific packageName voltctl loglevel set level <componentName#packageName> For example, using below command loglevel can be set for more than one component for default package and other component for specific packageName voltctl loglevel set level <componentName1#packageName> <componentName2>

type StackAdd added in v1.5.1

type StackAdd struct {
	Args struct {
		Name string `positional-arg-name:"NAME" required:"yes"`
	} `positional-args:"yes"`
}

func (*StackAdd) Execute added in v1.5.1

func (options *StackAdd) Execute(args []string) error

type StackDelete added in v1.5.1

type StackDelete struct {
	Args struct {
		Name string `positional-arg-name:"NAME" required:"yes"`
	} `positional-args:"yes"`
}

func (*StackDelete) Execute added in v1.5.1

func (options *StackDelete) Execute(args []string) error

type StackInfo added in v1.5.1

type StackInfo struct {
	Current string `json:"current"`
	Name    string `json:"name"`
	Server  string `json:"server"`
	Kafka   string `json:"kafka"`
	KvStore string `json:"kvstore"`
}

type StackList added in v1.5.1

type StackList struct {
	ListOutputOptions
}

func (*StackList) Execute added in v1.5.1

func (options *StackList) Execute(args []string) error

type StackOptions added in v1.5.1

type StackOptions struct {
	List   StackList   `command:"list" description:"list all configured stacks"`
	Add    StackAdd    `command:"add" description:"add or update the named stack using command line options"`
	Delete StackDelete `command:"delete" description:"delete the specified stack configuration"`
	Use    StackUse    `command:"use" description:"perist the specified stack to be used by default"`
}

type StackUse added in v1.5.1

type StackUse struct {
	Args struct {
		Name string `positional-arg-name:"NAME" required:"yes"`
	} `positional-args:"yes"`
}

func (*StackUse) Execute added in v1.5.1

func (options *StackUse) Execute(args []string) error

type UniStatus added in v1.4.2

type UniStatus struct {
	ListOutputOptions
	Args struct {
		Id       DeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
		UniIndex uint32   `positional-arg-name:"UNI_INDEX" required:"yes"`
	} `positional-args:"yes"`
}

func (*UniStatus) Execute added in v1.4.2

func (options *UniStatus) Execute(args []string) error

type ValueFlag added in v1.1.3

type ValueFlag string

type VersionDetails

type VersionDetails struct {
	Version   string `json:"version"`
	GoVersion string `json:"goversion"`
	VcsRef    string `json:"gitcommit"`
	VcsDirty  string `json:"gitdirty"`
	BuildTime string `json:"buildtime"`
	Os        string `json:"os"`
	Arch      string `json:"arch"`
}

type VersionOpts

type VersionOpts struct {
	OutputOptions
	ClientOnly bool `long:"clientonly" description:"Display only client version information"`
}

func (*VersionOpts) Execute

func (options *VersionOpts) Execute(args []string) error

type VersionOutput

type VersionOutput struct {
	Client  VersionDetails `json:"client"`
	Cluster VersionDetails `json:"cluster"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL