joyja / squid

Graphql API for managing IIOT containers at the edge

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Squid

Graphql API for managing IIOT containers at the edge

Schema Types

Table of Contents

Query

Read only queries

Field Argument Type Description
info String!

Returns some information about this application.

user User

Gets user based on authentication header and returns relevant data

users [User!]!

Gets list of users

osUsers [OSUser!]!

Gets list of OS Users

containers [Container!]!

Returns a list of containers and their properties

operations [Operation!]!

List of current operations

profiles [Profile!]!

Returns a list of profiles and their properties

networkInterfaces [NetworkInterface!]!

List of network interfaces

networkInterfaceConfigs [NetworkInterfaceConfig!]!

List of network interface configurations

Mutation

Write queries

Field Argument Type Description
login AuthPayload

If a valid username and password is provided, this will return an auth payload with a java web token to be used for future requests and information about the user that successfully logged in.

username String!
password String!
changeUsername User

Change username

newUsername String!
changePassword User

Allows the user to change their password

newPassword String!
newPasswordConfirm String!
createUser User

Create an User

username String!
password String!
passwordConfirm String!
deleteUser User

Delete an User

id ID!
createOSUser OSUser

Create an OS User

username String!
password String!
passwordConfirm String!
deleteOSUser OSUser

Delete an OS User

username String!
addAuthorizedKey AuthorizedKey

"Add an authorized SSH key to a user

username String!
key String!
deleteAuthorizedKey AuthorizedKey

"Delete an authorized SSH key from a user

username String!
line Int!
createContainer Container

create a container

containerName String!
profile String!
deleteContainer Container

delete a container

containerName String!
startContainer Container

start a container

containerName String!
stopContainer Container

stop a container

containerName String!
restartContainer Container

restart a container

containerName String!
setDescription Container

set description of container

containerName String!
description String!
getCloudInitOutputLog String!

get the cloud init output log for a container

containerName String!
setInterfaceConfig NetworkInterface

Set network interface configuration

name String!
dhcp Boolean!
addresses [String!]!
gateway String

Objects

AuthPayload

The data returned after a successful login attempt.

Field Argument Type Description
token String

Bearer token to be added to the Authorization header for future requests.

user User

User that successfully logged in.

AuthorizedKey

An authorized ssh key. Used to allow users to access a container or the root operating system.

Field Argument Type Description
line Int!

line number in the authorized keys file

key String!

Config

Configuration Data

Field Argument Type Description
securityNesting Boolean
userUserData String

Container

Container data.

Field Argument Type Description
name String!
network [ContainerNetwork!]!
status String!
status_code Int!
architecture String!
ephemeral Boolean!
profiles [Profile!]!
stateful Boolean!
description String!
created_at Datetime!
last_used_at Datetime!
location String!
type String!
cloudInitComplete Boolean
application String!

ContainerNetwork

Container Network Info.

Field Argument Type Description
name String!
addresses [ContainerNetworkAddress!]!
bytes_received Int!
bytes_sent Int!
packets_received Int!
packets_sent Int!
macAddress String!
host_name String
mtu Int!
state String!
type String!

ContainerNetworkAddress

Container Network Address.

Field Argument Type Description
family String!
address String!
netmask String!
scope String!

Device

A device as defined within an LXD container.

Field Argument Type Description
id String!
name String
type String!

NetworkInterface

Field Argument Type Description
id String
name String
alias String
mtu String
state String
macAddress String
ipAddresses [String!]!
gateway String

NetworkInterfaceConfig

Field Argument Type Description
name String
dhcp4 Boolean
addresses [String!]
gateway4 String

OSUser

Credentials used to log into the operating system (via ssh, for example).

Field Argument Type Description
username String!
sshKey String!
authorizedKeys [AuthorizedKey!]!

Operation

Operation data.

Field Argument Type Description
id String!
class String!
created_at Datetime!
updated_at Datetime!
status String!
status_code Int!
may_cancel Boolean!
err String

Profile

Profile data.

Field Argument Type Description
name String!
description String!
config Config!
devices [Device!]!

User

Credentials used to identify who is logging into the gateway.

Field Argument Type Description
id ID!
username String!

Enums

Permission

Value Description
CONTAINER_ADMIN
USER_ADMIN
OS_USER_ADMIN
OS_NETWORK_ADMIN

Scalars

Boolean

The Boolean scalar type represents true or false.

Datetime

ID

The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.

Int

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

String

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

About

Graphql API for managing IIOT containers at the edge

License:GNU General Public License v3.0


Languages

Language:JavaScript 100.0%