cli

package
v0.12.0 Latest Latest
Warning

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

Go to latest
Published: Mar 29, 2021 License: Apache-2.0 Imports: 18 Imported by: 2

README

Mainflux CLI

Build

From the project root:

make cli

Usage

Service
Get the version of Mainflux services
mainflux-cli version
Users management
Create User
mainflux-cli users create <user_email> <user_password>
Login User
mainflux-cli users token <user_email> <user_password>
Retrieve User
mainflux-cli users get <user_auth_token>
Update User Metadata
mainflux-cli users update '{"key1":"value1", "key2":"value2"}' <user_auth_token>
Update User Password
mainflux-cli users password <old_password> <password> <user_auth_token>
System Provisioning
Create Thing
mainflux-cli things create '{"name":"myThing"}' <user_auth_token>
Create Thing with metadata
mainflux-cli things create '{"name":"myThing", "metadata": {\"key1\":\"value1\"}}' <user_auth_token>
Bulk Provision Things
mainflux-cli provision things <file> <user_auth_token>
  • file - A CSV or JSON file containing things
  • user_auth_token - A valid user auth token for the current system
Update Thing
mainflux-cli things update '{"id":"<thing_id>", "name":"myNewName"}' <user_auth_token>
Remove Thing
mainflux-cli things delete <thing_id> <user_auth_token>
Retrieve a subset list of provisioned Things
mainflux-cli things get all --offset=1 --limit=5 <user_auth_token>
Retrieve Thing By ID
mainflux-cli things get <thing_id> <user_auth_token>
Create Channel
mainflux-cli channels create '{"name":"myChannel"}' <user_auth_token>
Bulk Provision Channels
mainflux-cli provision channels <file> <user_auth_token>
  • file - A CSV or JSON file containing channels
  • user_auth_token - A valid user auth token for the current system
Update Channel
mainflux-cli channels update '{"id":"<channel_id>","name":"myNewName"}' <user_auth_token>
Remove Channel
mainflux-cli channels delete <channel_id> <user_auth_token>
Retrieve a subset list of provisioned Channels
mainflux-cli channels get all --offset=1 --limit=5 <user_auth_token>
Retrieve Channel By ID
mainflux-cli channels get <channel_id> <user_auth_token>
Access control
Connect Thing to Channel
mainflux-cli things connect <thing_id> <channel_id> <user_auth_token>
Bulk Connect Things to Channels
mainflux-cli provision connect <file> <user_auth_token>
  • file - A CSV or JSON file containing thing and channel ids
  • user_auth_token - A valid user auth token for the current system

An example CSV file might be

<thing_id>,<channel_id>
<thing_id>,<channel_id>

in which the first column is thing IDs and the second column is channel IDs. A connection will be created for each thing to each channel. This example would result in 4 connections being created.

A comparable JSON file would be

{
    "thing_ids": [
        "<thing_id>",
        "<thing_id>"
    ],
    "channel_ids": [
        "<channel_id>",
        "<channel_id>"
    ]
}
Disconnect Thing from Channel
mainflux-cli things disconnect <thing_id> <channel_id> <user_auth_token>

Retrieve a subset list of Channels connected to Thing
mainflux-cli things connections <thing_id> <user_auth_token>
Retrieve a subset list of Things connected to Channel
mainflux-cli channels connections <channel_id> <user_auth_token>
Messaging
Send a message over HTTP
mainflux-cli messages send <channel_id> '[{"bn":"Dev1","n":"temp","v":20}, {"n":"hum","v":40}, {"bn":"Dev2", "n":"temp","v":20}, {"n":"hum","v":40}]' <thing_auth_token>
Read messages over HTTP
mainflux-cli messages read <channel_id> <thing_auth_token>
Bootstrap
Add configuration
mainflux-cli bootstrap add '{"external_id": "myExtID", "external_key": "myExtKey", "name": "myName", "content": "myContent"}' <user_auth_token>
View configuration
mainflux-cli bootstrap view <thing_id> <user_auth_token>
Update configuration
mainflux-cli bootstrap update '{"MFThing":"<thing_id>", "name": "newName", "content": "newContent"}' <user_auth_token>
Remove configuration
mainflux-cli bootstrap remove <thing_id> <user_auth_token>
Bootstrap configuration
mainflux-cli bootstrap bootstrap <external_id> <external_key>
Groups
Create new group
mainflux-cli groups create '{"name":"<group_name>","parent_id":"<parent_group_id>","description":"<description>","metadata":{"key":"value",...}}' <user_auth_token>
Delete group
mainflux-cli groups delete <group_id> <user_auth_token>
Get group with id
mainflux-cli groups get <group_id> <user_auth_token>
List all groups
mainflux-cli groups get all <user_auth_token>
List children groups for some group
mainflux-cli groups get children <parent_group_id> <user_auth_token>
Assign user to a group
mainflux-cli groups assign <user_id> <group_id> <user_auth_token>
Unassign user from group
mainflux-cli groups unassign <user_id> <group_id> <user_auth_token>
List users for a group
mainflux-cli groups members <group_id> <user_auth_token>
List groups that user belongs to
mainflux-cli groups membership <user_id> <user_auth_token>

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// Limit query parameter
	Limit uint = 10
	// Offset query parameter
	Offset uint = 0
	// Name query parameter
	Name string = ""
	// ConfigPath config path parameter
	ConfigPath string = ""
	// RawOutput raw output mode
	RawOutput bool = false
)

Functions

func NewBootstrapCmd

func NewBootstrapCmd() *cobra.Command

NewBootstrapCmd returns bootstrap command.

func NewCertsCmd added in v0.12.0

func NewCertsCmd() *cobra.Command

NewCertsCmd returns certificate command.

func NewChannelsCmd

func NewChannelsCmd() *cobra.Command

NewChannelsCmd returns channels command.

func NewGroupsCmd added in v0.12.0

func NewGroupsCmd() *cobra.Command

NewGroupsCmd returns users command.

func NewMessagesCmd

func NewMessagesCmd() *cobra.Command

NewMessagesCmd returns messages command.

func NewProvisionCmd

func NewProvisionCmd() *cobra.Command

NewProvisionCmd returns provision command.

func NewThingsCmd

func NewThingsCmd() *cobra.Command

NewThingsCmd returns things command.

func NewUsersCmd

func NewUsersCmd() *cobra.Command

NewUsersCmd returns users command.

func NewVersionCmd

func NewVersionCmd() *cobra.Command

NewVersionCmd returns version command.

func ParseConfig added in v0.12.0

func ParseConfig()

func SetSDK

func SetSDK(s mfxsdk.SDK)

SetSDK sets mainflux SDK instance.

Types

type Config added in v0.12.0

type Config struct {
	Offset    uint   `toml:"offset"`
	Limit     uint   `toml:"limit"`
	Name      string `toml:"name"`
	RawOutput bool   `toml:"raw_output"`
}

Jump to

Keyboard shortcuts

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