|
@@ -1,3006 +0,0 @@
|
|
|
-basePath: /
|
|
|
-consumes:
|
|
|
- - application/json
|
|
|
-definitions:
|
|
|
- ACL:
|
|
|
- additionalProperties:
|
|
|
- format: uint8
|
|
|
- type: integer
|
|
|
- description: ACL - the ACL of other nodes in a NetworkACL for a single unique node
|
|
|
- type: object
|
|
|
- x-go-package: github.com/gravitl/netmaker/logic/acls
|
|
|
- ACLContainer:
|
|
|
- additionalProperties:
|
|
|
- $ref: '#/definitions/ACL'
|
|
|
- description: ACLContainer - the total list of all node's ACL in a given network
|
|
|
- type: object
|
|
|
- x-go-package: github.com/gravitl/netmaker/logic/acls
|
|
|
- APIEnrollmentKey:
|
|
|
- description: APIEnrollmentKey - used to create enrollment keys via API
|
|
|
- properties:
|
|
|
- expiration:
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- x-go-name: Expiration
|
|
|
- networks:
|
|
|
- items:
|
|
|
- type: string
|
|
|
- type: array
|
|
|
- x-go-name: Networks
|
|
|
- relay:
|
|
|
- type: string
|
|
|
- x-go-name: Relay
|
|
|
- tags:
|
|
|
- items:
|
|
|
- type: string
|
|
|
- type: array
|
|
|
- x-go-name: Tags
|
|
|
- type:
|
|
|
- $ref: '#/definitions/KeyType'
|
|
|
- unlimited:
|
|
|
- type: boolean
|
|
|
- x-go-name: Unlimited
|
|
|
- uses_remaining:
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- x-go-name: UsesRemaining
|
|
|
- type: object
|
|
|
- x-go-package: github.com/gravitl/netmaker/models
|
|
|
- ApiHost:
|
|
|
- description: ApiHost - the host struct for API usage
|
|
|
- properties:
|
|
|
- autoupdate:
|
|
|
- type: boolean
|
|
|
- x-go-name: AutoUpdate
|
|
|
- debug:
|
|
|
- type: boolean
|
|
|
- x-go-name: Debug
|
|
|
- defaultinterface:
|
|
|
- type: string
|
|
|
- x-go-name: DefaultInterface
|
|
|
- endpointip:
|
|
|
- type: string
|
|
|
- x-go-name: EndpointIP
|
|
|
- endpointipv6:
|
|
|
- type: string
|
|
|
- x-go-name: EndpointIPv6
|
|
|
- firewallinuse:
|
|
|
- type: string
|
|
|
- x-go-name: FirewallInUse
|
|
|
- id:
|
|
|
- type: string
|
|
|
- x-go-name: ID
|
|
|
- interfaces:
|
|
|
- items:
|
|
|
- $ref: '#/definitions/ApiIface'
|
|
|
- type: array
|
|
|
- x-go-name: Interfaces
|
|
|
- isdefault:
|
|
|
- type: boolean
|
|
|
- x-go-name: IsDefault
|
|
|
- isstatic:
|
|
|
- type: boolean
|
|
|
- x-go-name: IsStatic
|
|
|
- listenport:
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- x-go-name: ListenPort
|
|
|
- macaddress:
|
|
|
- type: string
|
|
|
- x-go-name: MacAddress
|
|
|
- mtu:
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- x-go-name: MTU
|
|
|
- name:
|
|
|
- type: string
|
|
|
- x-go-name: Name
|
|
|
- nat_type:
|
|
|
- type: string
|
|
|
- x-go-name: NatType
|
|
|
- nodes:
|
|
|
- items:
|
|
|
- type: string
|
|
|
- type: array
|
|
|
- x-go-name: Nodes
|
|
|
- os:
|
|
|
- type: string
|
|
|
- x-go-name: OS
|
|
|
- persistentkeepalive:
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- x-go-name: PersistentKeepalive
|
|
|
- publickey:
|
|
|
- type: string
|
|
|
- x-go-name: PublicKey
|
|
|
- verbosity:
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- x-go-name: Verbosity
|
|
|
- version:
|
|
|
- type: string
|
|
|
- x-go-name: Version
|
|
|
- wg_public_listen_port:
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- x-go-name: WgPublicListenPort
|
|
|
- type: object
|
|
|
- x-go-package: github.com/gravitl/netmaker/models
|
|
|
- ApiIface:
|
|
|
- description: |-
|
|
|
- ApiIface - the interface struct for API usage
|
|
|
- The original Iface struct contains a net.Address, which does not get marshalled correctly
|
|
|
- properties:
|
|
|
- addressString:
|
|
|
- type: string
|
|
|
- x-go-name: AddressString
|
|
|
- name:
|
|
|
- type: string
|
|
|
- x-go-name: Name
|
|
|
- type: object
|
|
|
- x-go-package: github.com/gravitl/netmaker/models
|
|
|
- ApiNode:
|
|
|
- description: ApiNode is a stripped down Node DTO that exposes only required fields to external systems
|
|
|
- properties:
|
|
|
- address:
|
|
|
- type: string
|
|
|
- x-go-name: Address
|
|
|
- address6:
|
|
|
- type: string
|
|
|
- x-go-name: Address6
|
|
|
- allowedips:
|
|
|
- items:
|
|
|
- type: string
|
|
|
- type: array
|
|
|
- x-go-name: AllowedIPs
|
|
|
- connected:
|
|
|
- type: boolean
|
|
|
- x-go-name: Connected
|
|
|
- defaultacl:
|
|
|
- description: == PRO ==
|
|
|
- type: string
|
|
|
- x-go-name: DefaultACL
|
|
|
- dnson:
|
|
|
- type: boolean
|
|
|
- x-go-name: DNSOn
|
|
|
- egressgatewaynatenabled:
|
|
|
- type: boolean
|
|
|
- x-go-name: EgressGatewayNatEnabled
|
|
|
- egressgatewayranges:
|
|
|
- items:
|
|
|
- type: string
|
|
|
- type: array
|
|
|
- x-go-name: EgressGatewayRanges
|
|
|
- expdatetime:
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- x-go-name: ExpirationDateTime
|
|
|
- fail_over_peers:
|
|
|
- additionalProperties:
|
|
|
- type: object
|
|
|
- type: object
|
|
|
- x-go-name: FailOverPeers
|
|
|
- failed_over_by:
|
|
|
- format: uuid
|
|
|
- type: string
|
|
|
- x-go-name: FailedOverBy
|
|
|
- hostid:
|
|
|
- type: string
|
|
|
- x-go-name: HostID
|
|
|
- id:
|
|
|
- type: string
|
|
|
- x-go-name: ID
|
|
|
- inet_node_req:
|
|
|
- $ref: '#/definitions/InetNodeReq'
|
|
|
- ingressdns:
|
|
|
- type: string
|
|
|
- x-go-name: IngressDns
|
|
|
- internetgw_node_id:
|
|
|
- type: string
|
|
|
- x-go-name: InternetGwID
|
|
|
- is_fail_over:
|
|
|
- type: boolean
|
|
|
- x-go-name: IsFailOver
|
|
|
- isegressgateway:
|
|
|
- type: boolean
|
|
|
- x-go-name: IsEgressGateway
|
|
|
- isingressgateway:
|
|
|
- type: boolean
|
|
|
- x-go-name: IsIngressGateway
|
|
|
- isinternetgateway:
|
|
|
- type: boolean
|
|
|
- x-go-name: IsInternetGateway
|
|
|
- isrelay:
|
|
|
- type: boolean
|
|
|
- x-go-name: IsRelay
|
|
|
- isrelayed:
|
|
|
- type: boolean
|
|
|
- x-go-name: IsRelayed
|
|
|
- lastcheckin:
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- x-go-name: LastCheckIn
|
|
|
- lastmodified:
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- x-go-name: LastModified
|
|
|
- lastpeerupdate:
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- x-go-name: LastPeerUpdate
|
|
|
- localaddress:
|
|
|
- type: string
|
|
|
- x-go-name: LocalAddress
|
|
|
- metadata:
|
|
|
- type: string
|
|
|
- x-go-name: Metadata
|
|
|
- network:
|
|
|
- type: string
|
|
|
- x-go-name: Network
|
|
|
- networkrange:
|
|
|
- type: string
|
|
|
- x-go-name: NetworkRange
|
|
|
- networkrange6:
|
|
|
- type: string
|
|
|
- x-go-name: NetworkRange6
|
|
|
- pendingdelete:
|
|
|
- type: boolean
|
|
|
- x-go-name: PendingDelete
|
|
|
- relayedby:
|
|
|
- type: string
|
|
|
- x-go-name: RelayedBy
|
|
|
- relaynodes:
|
|
|
- items:
|
|
|
- type: string
|
|
|
- type: array
|
|
|
- x-go-name: RelayedNodes
|
|
|
- server:
|
|
|
- type: string
|
|
|
- x-go-name: Server
|
|
|
- type: object
|
|
|
- x-go-package: github.com/gravitl/netmaker/models
|
|
|
- AuthParams:
|
|
|
- description: AuthParams - struct for auth params
|
|
|
- properties:
|
|
|
- id:
|
|
|
- type: string
|
|
|
- x-go-name: ID
|
|
|
- macaddress:
|
|
|
- type: string
|
|
|
- x-go-name: MacAddress
|
|
|
- password:
|
|
|
- type: string
|
|
|
- x-go-name: Password
|
|
|
- type: object
|
|
|
- x-go-package: github.com/gravitl/netmaker/models
|
|
|
- CustomExtClient:
|
|
|
- description: CustomExtClient - struct for CustomExtClient params
|
|
|
- properties:
|
|
|
- clientid:
|
|
|
- type: string
|
|
|
- x-go-name: ClientID
|
|
|
- deniednodeacls:
|
|
|
- additionalProperties:
|
|
|
- type: object
|
|
|
- type: object
|
|
|
- x-go-name: DeniedACLs
|
|
|
- dns:
|
|
|
- type: string
|
|
|
- x-go-name: DNS
|
|
|
- enabled:
|
|
|
- type: boolean
|
|
|
- x-go-name: Enabled
|
|
|
- extraallowedips:
|
|
|
- items:
|
|
|
- type: string
|
|
|
- type: array
|
|
|
- x-go-name: ExtraAllowedIPs
|
|
|
- postdown:
|
|
|
- type: string
|
|
|
- x-go-name: PostDown
|
|
|
- postup:
|
|
|
- type: string
|
|
|
- x-go-name: PostUp
|
|
|
- publickey:
|
|
|
- type: string
|
|
|
- x-go-name: PublicKey
|
|
|
- remote_access_client_id:
|
|
|
- type: string
|
|
|
- x-go-name: RemoteAccessClientID
|
|
|
- type: object
|
|
|
- x-go-package: github.com/gravitl/netmaker/models
|
|
|
- DNSEntry:
|
|
|
- description: DNSEntry - a DNS entry represented as struct
|
|
|
- properties:
|
|
|
- address:
|
|
|
- type: string
|
|
|
- x-go-name: Address
|
|
|
- address6:
|
|
|
- type: string
|
|
|
- x-go-name: Address6
|
|
|
- name:
|
|
|
- type: string
|
|
|
- x-go-name: Name
|
|
|
- network:
|
|
|
- type: string
|
|
|
- x-go-name: Network
|
|
|
- type: object
|
|
|
- x-go-package: github.com/gravitl/netmaker/models
|
|
|
- Duration:
|
|
|
- description: |-
|
|
|
- A Duration represents the elapsed time between two instants
|
|
|
- as an int64 nanosecond count. The representation limits the
|
|
|
- largest representable duration to approximately 290 years.
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- x-go-package: time
|
|
|
- EgressGatewayRequest:
|
|
|
- description: EgressGatewayRequest - egress gateway request
|
|
|
- properties:
|
|
|
- natenabled:
|
|
|
- type: string
|
|
|
- x-go-name: NatEnabled
|
|
|
- netid:
|
|
|
- type: string
|
|
|
- x-go-name: NetID
|
|
|
- nodeid:
|
|
|
- type: string
|
|
|
- x-go-name: NodeID
|
|
|
- ranges:
|
|
|
- items:
|
|
|
- type: string
|
|
|
- type: array
|
|
|
- x-go-name: Ranges
|
|
|
- type: object
|
|
|
- x-go-package: github.com/gravitl/netmaker/models
|
|
|
- EgressInfo:
|
|
|
- description: EgressInfo - struct for egress info
|
|
|
- properties:
|
|
|
- egress_gateway_cfg:
|
|
|
- $ref: '#/definitions/EgressGatewayRequest'
|
|
|
- egress_gw_addr:
|
|
|
- $ref: '#/definitions/IPNet'
|
|
|
- egress_id:
|
|
|
- type: string
|
|
|
- x-go-name: EgressID
|
|
|
- network:
|
|
|
- $ref: '#/definitions/IPNet'
|
|
|
- type: object
|
|
|
- x-go-package: github.com/gravitl/netmaker/models
|
|
|
- EgressNetworkRoutes:
|
|
|
- description: EgressNetworkRoutes - struct for egress network routes for adding routes to peer's interface
|
|
|
- properties:
|
|
|
- egress_ranges:
|
|
|
- items:
|
|
|
- type: string
|
|
|
- type: array
|
|
|
- x-go-name: EgressRanges
|
|
|
- node_addr:
|
|
|
- $ref: '#/definitions/IPNet'
|
|
|
- node_addr6:
|
|
|
- $ref: '#/definitions/IPNet'
|
|
|
- type: object
|
|
|
- x-go-package: github.com/gravitl/netmaker/models
|
|
|
- EnrollmentKey:
|
|
|
- description: EnrollmentKey - the key used to register hosts and join them to specific networks
|
|
|
- properties:
|
|
|
- expiration:
|
|
|
- format: date-time
|
|
|
- type: string
|
|
|
- x-go-name: Expiration
|
|
|
- networks:
|
|
|
- items:
|
|
|
- type: string
|
|
|
- type: array
|
|
|
- x-go-name: Networks
|
|
|
- relay:
|
|
|
- format: uuid
|
|
|
- type: string
|
|
|
- x-go-name: Relay
|
|
|
- tags:
|
|
|
- items:
|
|
|
- type: string
|
|
|
- type: array
|
|
|
- x-go-name: Tags
|
|
|
- token:
|
|
|
- type: string
|
|
|
- x-go-name: Token
|
|
|
- type:
|
|
|
- $ref: '#/definitions/KeyType'
|
|
|
- unlimited:
|
|
|
- type: boolean
|
|
|
- x-go-name: Unlimited
|
|
|
- uses_remaining:
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- x-go-name: UsesRemaining
|
|
|
- value:
|
|
|
- type: string
|
|
|
- x-go-name: Value
|
|
|
- type: object
|
|
|
- x-go-package: github.com/gravitl/netmaker/models
|
|
|
- ExtClient:
|
|
|
- description: ExtClient - struct for external clients
|
|
|
- properties:
|
|
|
- address:
|
|
|
- type: string
|
|
|
- x-go-name: Address
|
|
|
- address6:
|
|
|
- type: string
|
|
|
- x-go-name: Address6
|
|
|
- allowed_ips:
|
|
|
- items:
|
|
|
- type: string
|
|
|
- type: array
|
|
|
- x-go-name: AllowedIPs
|
|
|
- clientid:
|
|
|
- type: string
|
|
|
- x-go-name: ClientID
|
|
|
- deniednodeacls:
|
|
|
- additionalProperties:
|
|
|
- type: object
|
|
|
- type: object
|
|
|
- x-go-name: DeniedACLs
|
|
|
- dns:
|
|
|
- type: string
|
|
|
- x-go-name: DNS
|
|
|
- enabled:
|
|
|
- type: boolean
|
|
|
- x-go-name: Enabled
|
|
|
- extraallowedips:
|
|
|
- items:
|
|
|
- type: string
|
|
|
- type: array
|
|
|
- x-go-name: ExtraAllowedIPs
|
|
|
- ingressgatewayendpoint:
|
|
|
- type: string
|
|
|
- x-go-name: IngressGatewayEndpoint
|
|
|
- ingressgatewayid:
|
|
|
- type: string
|
|
|
- x-go-name: IngressGatewayID
|
|
|
- lastmodified:
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- x-go-name: LastModified
|
|
|
- network:
|
|
|
- type: string
|
|
|
- x-go-name: Network
|
|
|
- ownerid:
|
|
|
- type: string
|
|
|
- x-go-name: OwnerID
|
|
|
- postdown:
|
|
|
- type: string
|
|
|
- x-go-name: PostDown
|
|
|
- postup:
|
|
|
- type: string
|
|
|
- x-go-name: PostUp
|
|
|
- privatekey:
|
|
|
- type: string
|
|
|
- x-go-name: PrivateKey
|
|
|
- publickey:
|
|
|
- type: string
|
|
|
- x-go-name: PublicKey
|
|
|
- remote_access_client_id:
|
|
|
- type: string
|
|
|
- x-go-name: RemoteAccessClientID
|
|
|
- type: object
|
|
|
- x-go-package: github.com/gravitl/netmaker/models
|
|
|
- File:
|
|
|
- title: File represents an open file descriptor.
|
|
|
- type: object
|
|
|
- x-go-package: os
|
|
|
- FwUpdate:
|
|
|
- description: FwUpdate - struct for firewall updates
|
|
|
- properties:
|
|
|
- egress_info:
|
|
|
- additionalProperties:
|
|
|
- $ref: '#/definitions/EgressInfo'
|
|
|
- type: object
|
|
|
- x-go-name: EgressInfo
|
|
|
- is_egress_gw:
|
|
|
- type: boolean
|
|
|
- x-go-name: IsEgressGw
|
|
|
- type: object
|
|
|
- x-go-package: github.com/gravitl/netmaker/models
|
|
|
- HardwareAddr:
|
|
|
- items:
|
|
|
- format: uint8
|
|
|
- type: integer
|
|
|
- title: A HardwareAddr represents a physical hardware address.
|
|
|
- type: array
|
|
|
- x-go-package: net
|
|
|
- Host:
|
|
|
- description: Host - represents a host on the network
|
|
|
- properties:
|
|
|
- autoupdate:
|
|
|
- type: boolean
|
|
|
- x-go-name: AutoUpdate
|
|
|
- daemoninstalled:
|
|
|
- type: boolean
|
|
|
- x-go-name: DaemonInstalled
|
|
|
- debug:
|
|
|
- type: boolean
|
|
|
- x-go-name: Debug
|
|
|
- defaultinterface:
|
|
|
- type: string
|
|
|
- x-go-name: DefaultInterface
|
|
|
- endpointip:
|
|
|
- type: string
|
|
|
- x-go-name: EndpointIP
|
|
|
- endpointipv6:
|
|
|
- type: string
|
|
|
- x-go-name: EndpointIPv6
|
|
|
- firewallinuse:
|
|
|
- type: string
|
|
|
- x-go-name: FirewallInUse
|
|
|
- hostpass:
|
|
|
- type: string
|
|
|
- x-go-name: HostPass
|
|
|
- id:
|
|
|
- format: uuid
|
|
|
- type: string
|
|
|
- x-go-name: ID
|
|
|
- interface:
|
|
|
- type: string
|
|
|
- x-go-name: Interface
|
|
|
- interfaces:
|
|
|
- items:
|
|
|
- $ref: '#/definitions/Iface'
|
|
|
- type: array
|
|
|
- x-go-name: Interfaces
|
|
|
- ipforwarding:
|
|
|
- type: boolean
|
|
|
- x-go-name: IPForwarding
|
|
|
- isdefault:
|
|
|
- type: boolean
|
|
|
- x-go-name: IsDefault
|
|
|
- isdocker:
|
|
|
- type: boolean
|
|
|
- x-go-name: IsDocker
|
|
|
- isk8s:
|
|
|
- type: boolean
|
|
|
- x-go-name: IsK8S
|
|
|
- isstatic:
|
|
|
- type: boolean
|
|
|
- x-go-name: IsStatic
|
|
|
- listenport:
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- x-go-name: ListenPort
|
|
|
- macaddress:
|
|
|
- $ref: '#/definitions/HardwareAddr'
|
|
|
- mtu:
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- x-go-name: MTU
|
|
|
- name:
|
|
|
- type: string
|
|
|
- x-go-name: Name
|
|
|
- nat_type:
|
|
|
- type: string
|
|
|
- x-go-name: NatType
|
|
|
- nodes:
|
|
|
- items:
|
|
|
- type: string
|
|
|
- type: array
|
|
|
- x-go-name: Nodes
|
|
|
- os:
|
|
|
- type: string
|
|
|
- x-go-name: OS
|
|
|
- persistentkeepalive:
|
|
|
- $ref: '#/definitions/Duration'
|
|
|
- publickey:
|
|
|
- $ref: '#/definitions/Key'
|
|
|
- traffickeypublic:
|
|
|
- items:
|
|
|
- format: uint8
|
|
|
- type: integer
|
|
|
- type: array
|
|
|
- x-go-name: TrafficKeyPublic
|
|
|
- turn_endpoint:
|
|
|
- type: string
|
|
|
- x-go-name: TurnEndpoint
|
|
|
- verbosity:
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- x-go-name: Verbosity
|
|
|
- version:
|
|
|
- type: string
|
|
|
- x-go-name: Version
|
|
|
- wg_public_listen_port:
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- x-go-name: WgPublicListenPort
|
|
|
- type: object
|
|
|
- x-go-package: github.com/gravitl/netmaker/models
|
|
|
- HostInfoMap:
|
|
|
- additionalProperties:
|
|
|
- $ref: '#/definitions/HostNetworkInfo'
|
|
|
- description: HostInfoMap - map of host public keys to host networking info
|
|
|
- type: object
|
|
|
- x-go-package: github.com/gravitl/netmaker/models
|
|
|
- HostNetworkInfo:
|
|
|
- description: HostNetworkInfo - holds info related to host networking (used for client side peer calculations)
|
|
|
- properties:
|
|
|
- interfaces:
|
|
|
- items:
|
|
|
- $ref: '#/definitions/Iface'
|
|
|
- type: array
|
|
|
- x-go-name: Interfaces
|
|
|
- is_static:
|
|
|
- type: boolean
|
|
|
- x-go-name: IsStatic
|
|
|
- listen_port:
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- x-go-name: ListenPort
|
|
|
- type: object
|
|
|
- x-go-package: github.com/gravitl/netmaker/models
|
|
|
- HostPull:
|
|
|
- description: HostPull - response of a host's pull
|
|
|
- properties:
|
|
|
- change_default_gw:
|
|
|
- type: boolean
|
|
|
- x-go-name: ChangeDefaultGw
|
|
|
- default_gw_ip:
|
|
|
- type: string
|
|
|
- x-go-name: DefaultGwIp
|
|
|
- egress_network_routes:
|
|
|
- items:
|
|
|
- $ref: '#/definitions/EgressNetworkRoutes'
|
|
|
- type: array
|
|
|
- x-go-name: EgressRoutes
|
|
|
- endpoint_detection:
|
|
|
- type: boolean
|
|
|
- x-go-name: EndpointDetection
|
|
|
- fw_update:
|
|
|
- $ref: '#/definitions/FwUpdate'
|
|
|
- host:
|
|
|
- $ref: '#/definitions/Host'
|
|
|
- host_network_info:
|
|
|
- $ref: '#/definitions/HostInfoMap'
|
|
|
- is_inet_gw:
|
|
|
- type: boolean
|
|
|
- x-go-name: IsInternetGw
|
|
|
- nodes:
|
|
|
- items:
|
|
|
- $ref: '#/definitions/Node'
|
|
|
- type: array
|
|
|
- x-go-name: Nodes
|
|
|
- peer_ids:
|
|
|
- $ref: '#/definitions/PeerMap'
|
|
|
- peers:
|
|
|
- items:
|
|
|
- $ref: '#/definitions/PeerConfig'
|
|
|
- type: array
|
|
|
- x-go-name: Peers
|
|
|
- server_config:
|
|
|
- $ref: '#/definitions/ServerConfig'
|
|
|
- type: object
|
|
|
- x-go-package: github.com/gravitl/netmaker/models
|
|
|
- IDandAddr:
|
|
|
- description: IDandAddr - struct to hold ID and primary Address
|
|
|
- properties:
|
|
|
- address:
|
|
|
- type: string
|
|
|
- x-go-name: Address
|
|
|
- host_id:
|
|
|
- type: string
|
|
|
- x-go-name: HostID
|
|
|
- id:
|
|
|
- type: string
|
|
|
- x-go-name: ID
|
|
|
- is_extclient:
|
|
|
- type: boolean
|
|
|
- x-go-name: IsExtClient
|
|
|
- isserver:
|
|
|
- type: string
|
|
|
- x-go-name: IsServer
|
|
|
- listen_port:
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- x-go-name: ListenPort
|
|
|
- name:
|
|
|
- type: string
|
|
|
- x-go-name: Name
|
|
|
- network:
|
|
|
- type: string
|
|
|
- x-go-name: Network
|
|
|
- type: object
|
|
|
- x-go-package: github.com/gravitl/netmaker/models
|
|
|
- IPMask:
|
|
|
- description: See type IPNet and func ParseCIDR for details.
|
|
|
- items:
|
|
|
- format: uint8
|
|
|
- type: integer
|
|
|
- title: |-
|
|
|
- An IPMask is a bitmask that can be used to manipulate
|
|
|
- IP addresses for IP addressing and routing.
|
|
|
- type: array
|
|
|
- x-go-package: net
|
|
|
- IPNet:
|
|
|
- properties:
|
|
|
- IP:
|
|
|
- type: string
|
|
|
- Mask:
|
|
|
- $ref: '#/definitions/IPMask'
|
|
|
- title: An IPNet represents an IP network.
|
|
|
- type: object
|
|
|
- x-go-package: net
|
|
|
- Iface:
|
|
|
- description: Iface struct for local interfaces of a node
|
|
|
- properties:
|
|
|
- address:
|
|
|
- $ref: '#/definitions/IPNet'
|
|
|
- addressString:
|
|
|
- type: string
|
|
|
- x-go-name: AddressString
|
|
|
- name:
|
|
|
- type: string
|
|
|
- x-go-name: Name
|
|
|
- type: object
|
|
|
- x-go-package: github.com/gravitl/netmaker/models
|
|
|
- InetNodeReq:
|
|
|
- description: InetNodeReq - exit node request struct
|
|
|
- properties:
|
|
|
- inet_node_client_ids:
|
|
|
- items:
|
|
|
- type: string
|
|
|
- type: array
|
|
|
- x-go-name: InetNodeClientIDs
|
|
|
- type: object
|
|
|
- x-go-package: github.com/gravitl/netmaker/models
|
|
|
- Key:
|
|
|
- description: |-
|
|
|
- A Key is a public, private, or pre-shared secret key. The Key constructor
|
|
|
- functions in this package can be used to create Keys suitable for each of
|
|
|
- these applications.
|
|
|
- items:
|
|
|
- format: uint8
|
|
|
- type: integer
|
|
|
- type: array
|
|
|
- x-go-package: golang.zx2c4.com/wireguard/wgctrl/wgtypes
|
|
|
- KeyType:
|
|
|
- description: KeyType - the type of enrollment key
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- x-go-package: github.com/gravitl/netmaker/models
|
|
|
- LegacyNode:
|
|
|
- description: LegacyNode - legacy struct for node model
|
|
|
- properties:
|
|
|
- accesskey:
|
|
|
- type: string
|
|
|
- x-go-name: AccessKey
|
|
|
- action:
|
|
|
- type: string
|
|
|
- x-go-name: Action
|
|
|
- address:
|
|
|
- type: string
|
|
|
- x-go-name: Address
|
|
|
- address6:
|
|
|
- type: string
|
|
|
- x-go-name: Address6
|
|
|
- allowedips:
|
|
|
- items:
|
|
|
- type: string
|
|
|
- type: array
|
|
|
- x-go-name: AllowedIPs
|
|
|
- connected:
|
|
|
- type: string
|
|
|
- x-go-name: Connected
|
|
|
- defaultacl:
|
|
|
- description: == PRO ==
|
|
|
- type: string
|
|
|
- x-go-name: DefaultACL
|
|
|
- dnson:
|
|
|
- type: string
|
|
|
- x-go-name: DNSOn
|
|
|
- egressgatewaynatenabled:
|
|
|
- type: string
|
|
|
- x-go-name: EgressGatewayNatEnabled
|
|
|
- egressgatewayranges:
|
|
|
- items:
|
|
|
- type: string
|
|
|
- type: array
|
|
|
- x-go-name: EgressGatewayRanges
|
|
|
- egressgatewayrequest:
|
|
|
- $ref: '#/definitions/EgressGatewayRequest'
|
|
|
- endpoint:
|
|
|
- type: string
|
|
|
- x-go-name: Endpoint
|
|
|
- expdatetime:
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- x-go-name: ExpirationDateTime
|
|
|
- failover:
|
|
|
- type: string
|
|
|
- x-go-name: Failover
|
|
|
- failovernode:
|
|
|
- type: string
|
|
|
- x-go-name: FailoverNode
|
|
|
- firewallinuse:
|
|
|
- type: string
|
|
|
- x-go-name: FirewallInUse
|
|
|
- id:
|
|
|
- type: string
|
|
|
- x-go-name: ID
|
|
|
- ingressgatewayrange:
|
|
|
- type: string
|
|
|
- x-go-name: IngressGatewayRange
|
|
|
- ingressgatewayrange6:
|
|
|
- type: string
|
|
|
- x-go-name: IngressGatewayRange6
|
|
|
- interface:
|
|
|
- type: string
|
|
|
- x-go-name: Interface
|
|
|
- interfaces:
|
|
|
- items:
|
|
|
- $ref: '#/definitions/Iface'
|
|
|
- type: array
|
|
|
- x-go-name: Interfaces
|
|
|
- internetgateway:
|
|
|
- type: string
|
|
|
- x-go-name: InternetGateway
|
|
|
- ipforwarding:
|
|
|
- type: string
|
|
|
- x-go-name: IPForwarding
|
|
|
- isdocker:
|
|
|
- type: string
|
|
|
- x-go-name: IsDocker
|
|
|
- isegressgateway:
|
|
|
- type: string
|
|
|
- x-go-name: IsEgressGateway
|
|
|
- ishub:
|
|
|
- type: string
|
|
|
- x-go-name: IsHub
|
|
|
- isingressgateway:
|
|
|
- type: string
|
|
|
- x-go-name: IsIngressGateway
|
|
|
- isk8s:
|
|
|
- type: string
|
|
|
- x-go-name: IsK8S
|
|
|
- ispending:
|
|
|
- type: string
|
|
|
- x-go-name: IsPending
|
|
|
- isrelay:
|
|
|
- type: string
|
|
|
- x-go-name: IsRelay
|
|
|
- isrelayed:
|
|
|
- type: string
|
|
|
- x-go-name: IsRelayed
|
|
|
- isserver:
|
|
|
- type: string
|
|
|
- x-go-name: IsServer
|
|
|
- isstatic:
|
|
|
- description: IsStatic - refers to if the Endpoint is set manually or dynamically
|
|
|
- type: string
|
|
|
- x-go-name: IsStatic
|
|
|
- lastcheckin:
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- x-go-name: LastCheckIn
|
|
|
- lastmodified:
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- x-go-name: LastModified
|
|
|
- lastpeerupdate:
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- x-go-name: LastPeerUpdate
|
|
|
- listenport:
|
|
|
- format: int32
|
|
|
- type: integer
|
|
|
- x-go-name: ListenPort
|
|
|
- localaddress:
|
|
|
- type: string
|
|
|
- x-go-name: LocalAddress
|
|
|
- locallistenport:
|
|
|
- format: int32
|
|
|
- type: integer
|
|
|
- x-go-name: LocalListenPort
|
|
|
- macaddress:
|
|
|
- type: string
|
|
|
- x-go-name: MacAddress
|
|
|
- mtu:
|
|
|
- format: int32
|
|
|
- type: integer
|
|
|
- x-go-name: MTU
|
|
|
- name:
|
|
|
- type: string
|
|
|
- x-go-name: Name
|
|
|
- network:
|
|
|
- type: string
|
|
|
- x-go-name: Network
|
|
|
- networksettings:
|
|
|
- $ref: '#/definitions/Network'
|
|
|
- os:
|
|
|
- type: string
|
|
|
- x-go-name: OS
|
|
|
- ownerid:
|
|
|
- type: string
|
|
|
- x-go-name: OwnerID
|
|
|
- password:
|
|
|
- type: string
|
|
|
- x-go-name: Password
|
|
|
- persistentkeepalive:
|
|
|
- format: int32
|
|
|
- type: integer
|
|
|
- x-go-name: PersistentKeepalive
|
|
|
- publickey:
|
|
|
- type: string
|
|
|
- x-go-name: PublicKey
|
|
|
- relayaddrs:
|
|
|
- items:
|
|
|
- type: string
|
|
|
- type: array
|
|
|
- x-go-name: RelayAddrs
|
|
|
- server:
|
|
|
- type: string
|
|
|
- x-go-name: Server
|
|
|
- traffickeys:
|
|
|
- $ref: '#/definitions/TrafficKeys'
|
|
|
- udpholepunch:
|
|
|
- type: string
|
|
|
- x-go-name: UDPHolePunch
|
|
|
- version:
|
|
|
- type: string
|
|
|
- x-go-name: Version
|
|
|
- type: object
|
|
|
- x-go-package: github.com/gravitl/netmaker/models
|
|
|
- Network:
|
|
|
- description: |-
|
|
|
- Network Struct - contains info for a given unique network
|
|
|
- At some point, need to replace all instances of Name with something else like Identifier
|
|
|
- properties:
|
|
|
- addressrange:
|
|
|
- type: string
|
|
|
- x-go-name: AddressRange
|
|
|
- addressrange6:
|
|
|
- type: string
|
|
|
- x-go-name: AddressRange6
|
|
|
- allowmanualsignup:
|
|
|
- type: string
|
|
|
- x-go-name: AllowManualSignUp
|
|
|
- defaultacl:
|
|
|
- type: string
|
|
|
- x-go-name: DefaultACL
|
|
|
- defaultinterface:
|
|
|
- type: string
|
|
|
- x-go-name: DefaultInterface
|
|
|
- defaultkeepalive:
|
|
|
- format: int32
|
|
|
- type: integer
|
|
|
- x-go-name: DefaultKeepalive
|
|
|
- defaultlistenport:
|
|
|
- format: int32
|
|
|
- type: integer
|
|
|
- x-go-name: DefaultListenPort
|
|
|
- defaultmtu:
|
|
|
- format: int32
|
|
|
- type: integer
|
|
|
- x-go-name: DefaultMTU
|
|
|
- defaultpostdown:
|
|
|
- type: string
|
|
|
- x-go-name: DefaultPostDown
|
|
|
- defaultudpholepunch:
|
|
|
- type: string
|
|
|
- x-go-name: DefaultUDPHolePunch
|
|
|
- isipv4:
|
|
|
- type: string
|
|
|
- x-go-name: IsIPv4
|
|
|
- isipv6:
|
|
|
- type: string
|
|
|
- x-go-name: IsIPv6
|
|
|
- netid:
|
|
|
- type: string
|
|
|
- x-go-name: NetID
|
|
|
- networklastmodified:
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- x-go-name: NetworkLastModified
|
|
|
- nodelimit:
|
|
|
- format: int32
|
|
|
- type: integer
|
|
|
- x-go-name: NodeLimit
|
|
|
- nodeslastmodified:
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- x-go-name: NodesLastModified
|
|
|
- type: object
|
|
|
- x-go-package: github.com/gravitl/netmaker/models
|
|
|
- Node:
|
|
|
- description: Node - a model of a network node
|
|
|
- properties:
|
|
|
- action:
|
|
|
- type: string
|
|
|
- x-go-name: Action
|
|
|
- address:
|
|
|
- $ref: '#/definitions/IPNet'
|
|
|
- address6:
|
|
|
- $ref: '#/definitions/IPNet'
|
|
|
- connected:
|
|
|
- type: boolean
|
|
|
- x-go-name: Connected
|
|
|
- defaultacl:
|
|
|
- description: == PRO ==
|
|
|
- type: string
|
|
|
- x-go-name: DefaultACL
|
|
|
- dnson:
|
|
|
- type: boolean
|
|
|
- x-go-name: DNSOn
|
|
|
- egressgatewaynatenabled:
|
|
|
- type: boolean
|
|
|
- x-go-name: EgressGatewayNatEnabled
|
|
|
- egressgatewayranges:
|
|
|
- items:
|
|
|
- type: string
|
|
|
- type: array
|
|
|
- x-go-name: EgressGatewayRanges
|
|
|
- egressgatewayrequest:
|
|
|
- $ref: '#/definitions/EgressGatewayRequest'
|
|
|
- expdatetime:
|
|
|
- format: date-time
|
|
|
- type: string
|
|
|
- x-go-name: ExpirationDateTime
|
|
|
- fail_over_peers:
|
|
|
- additionalProperties:
|
|
|
- type: object
|
|
|
- type: object
|
|
|
- x-go-name: FailOverPeers
|
|
|
- failed_over_by:
|
|
|
- format: uuid
|
|
|
- type: string
|
|
|
- x-go-name: FailedOverBy
|
|
|
- hostid:
|
|
|
- format: uuid
|
|
|
- type: string
|
|
|
- x-go-name: HostID
|
|
|
- id:
|
|
|
- format: uuid
|
|
|
- type: string
|
|
|
- x-go-name: ID
|
|
|
- inet_node_req:
|
|
|
- $ref: '#/definitions/InetNodeReq'
|
|
|
- ingressdns:
|
|
|
- type: string
|
|
|
- x-go-name: IngressDNS
|
|
|
- ingressgatewayrange:
|
|
|
- type: string
|
|
|
- x-go-name: IngressGatewayRange
|
|
|
- ingressgatewayrange6:
|
|
|
- type: string
|
|
|
- x-go-name: IngressGatewayRange6
|
|
|
- internetgw_node_id:
|
|
|
- type: string
|
|
|
- x-go-name: InternetGwID
|
|
|
- is_fail_over:
|
|
|
- type: boolean
|
|
|
- x-go-name: IsFailOver
|
|
|
- isegressgateway:
|
|
|
- type: boolean
|
|
|
- x-go-name: IsEgressGateway
|
|
|
- isingressgateway:
|
|
|
- type: boolean
|
|
|
- x-go-name: IsIngressGateway
|
|
|
- isinternetgateway:
|
|
|
- type: boolean
|
|
|
- x-go-name: IsInternetGateway
|
|
|
- isrelay:
|
|
|
- type: boolean
|
|
|
- x-go-name: IsRelay
|
|
|
- isrelayed:
|
|
|
- type: boolean
|
|
|
- x-go-name: IsRelayed
|
|
|
- lastcheckin:
|
|
|
- format: date-time
|
|
|
- type: string
|
|
|
- x-go-name: LastCheckIn
|
|
|
- lastmodified:
|
|
|
- format: date-time
|
|
|
- type: string
|
|
|
- x-go-name: LastModified
|
|
|
- lastpeerupdate:
|
|
|
- format: date-time
|
|
|
- type: string
|
|
|
- x-go-name: LastPeerUpdate
|
|
|
- localaddress:
|
|
|
- $ref: '#/definitions/IPNet'
|
|
|
- metadata:
|
|
|
- type: string
|
|
|
- x-go-name: Metadata
|
|
|
- network:
|
|
|
- type: string
|
|
|
- x-go-name: Network
|
|
|
- networkrange:
|
|
|
- $ref: '#/definitions/IPNet'
|
|
|
- networkrange6:
|
|
|
- $ref: '#/definitions/IPNet'
|
|
|
- ownerid:
|
|
|
- type: string
|
|
|
- x-go-name: OwnerID
|
|
|
- pendingdelete:
|
|
|
- type: boolean
|
|
|
- x-go-name: PendingDelete
|
|
|
- relayedby:
|
|
|
- type: string
|
|
|
- x-go-name: RelayedBy
|
|
|
- relaynodes:
|
|
|
- items:
|
|
|
- type: string
|
|
|
- type: array
|
|
|
- x-go-name: RelayedNodes
|
|
|
- server:
|
|
|
- type: string
|
|
|
- x-go-name: Server
|
|
|
- type: object
|
|
|
- x-go-package: github.com/gravitl/netmaker/models
|
|
|
- PeerConfig:
|
|
|
- description: |-
|
|
|
- Because the zero value of some Go types may be significant to WireGuard for
|
|
|
- PeerConfig fields, pointer types are used for some of these fields. Only
|
|
|
- pointer fields which are not nil will be applied when configuring a peer.
|
|
|
- properties:
|
|
|
- AllowedIPs:
|
|
|
- description: |-
|
|
|
- AllowedIPs specifies a list of allowed IP addresses in CIDR notation
|
|
|
- for this peer.
|
|
|
- items:
|
|
|
- $ref: '#/definitions/IPNet'
|
|
|
- type: array
|
|
|
- Endpoint:
|
|
|
- $ref: '#/definitions/UDPAddr'
|
|
|
- PersistentKeepaliveInterval:
|
|
|
- $ref: '#/definitions/Duration'
|
|
|
- PresharedKey:
|
|
|
- $ref: '#/definitions/Key'
|
|
|
- PublicKey:
|
|
|
- $ref: '#/definitions/Key'
|
|
|
- Remove:
|
|
|
- description: |-
|
|
|
- Remove specifies if the peer with this public key should be removed
|
|
|
- from a device's peer list.
|
|
|
- type: boolean
|
|
|
- ReplaceAllowedIPs:
|
|
|
- description: |-
|
|
|
- ReplaceAllowedIPs specifies if the allowed IPs specified in this peer
|
|
|
- configuration should replace any existing ones, instead of appending them
|
|
|
- to the allowed IPs list.
|
|
|
- type: boolean
|
|
|
- UpdateOnly:
|
|
|
- description: |-
|
|
|
- UpdateOnly specifies that an operation will only occur on this peer
|
|
|
- if the peer already exists as part of the interface.
|
|
|
- type: boolean
|
|
|
- title: A PeerConfig is a WireGuard device peer configuration.
|
|
|
- type: object
|
|
|
- x-go-package: golang.zx2c4.com/wireguard/wgctrl/wgtypes
|
|
|
- PeerMap:
|
|
|
- additionalProperties:
|
|
|
- $ref: '#/definitions/IDandAddr'
|
|
|
- description: PeerMap - peer map for ids and addresses in metrics
|
|
|
- type: object
|
|
|
- x-go-package: github.com/gravitl/netmaker/models
|
|
|
- RegisterResponse:
|
|
|
- description: RegisterResponse - the response to a successful enrollment register
|
|
|
- properties:
|
|
|
- requested_host:
|
|
|
- $ref: '#/definitions/Host'
|
|
|
- server_config:
|
|
|
- $ref: '#/definitions/ServerConfig'
|
|
|
- type: object
|
|
|
- x-go-package: github.com/gravitl/netmaker/models
|
|
|
- RelayRequest:
|
|
|
- description: RelayRequest - relay request struct
|
|
|
- properties:
|
|
|
- netid:
|
|
|
- type: string
|
|
|
- x-go-name: NetID
|
|
|
- nodeid:
|
|
|
- type: string
|
|
|
- x-go-name: NodeID
|
|
|
- relayaddrs:
|
|
|
- items:
|
|
|
- type: string
|
|
|
- type: array
|
|
|
- x-go-name: RelayedNodes
|
|
|
- type: object
|
|
|
- x-go-package: github.com/gravitl/netmaker/models
|
|
|
- ServerConfig:
|
|
|
- description: ServerConfig - server conf struct
|
|
|
- properties:
|
|
|
- APIConnString:
|
|
|
- type: string
|
|
|
- APIHost:
|
|
|
- type: string
|
|
|
- APIPort:
|
|
|
- type: string
|
|
|
- AllowedEmailDomains:
|
|
|
- type: string
|
|
|
- AllowedOrigin:
|
|
|
- type: string
|
|
|
- AuthProvider:
|
|
|
- type: string
|
|
|
- AzureTenant:
|
|
|
- type: string
|
|
|
- BasicAuth:
|
|
|
- type: string
|
|
|
- Broker:
|
|
|
- type: string
|
|
|
- BrokerType:
|
|
|
- type: string
|
|
|
- CacheEnabled:
|
|
|
- type: string
|
|
|
- ClientID:
|
|
|
- type: string
|
|
|
- ClientSecret:
|
|
|
- type: string
|
|
|
- CoreDNSAddr:
|
|
|
- type: string
|
|
|
- DNSKey:
|
|
|
- type: string
|
|
|
- DNSMode:
|
|
|
- type: string
|
|
|
- Database:
|
|
|
- type: string
|
|
|
- DeployedByOperator:
|
|
|
- type: boolean
|
|
|
- DisableRemoteIPCheck:
|
|
|
- type: string
|
|
|
- DisplayKeys:
|
|
|
- type: string
|
|
|
- EgressesLimit:
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- EmqxRestEndpoint:
|
|
|
- type: string
|
|
|
- Environment:
|
|
|
- type: string
|
|
|
- FrontendURL:
|
|
|
- type: string
|
|
|
- HostNetwork:
|
|
|
- type: string
|
|
|
- IngressesLimit:
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- IsEE:
|
|
|
- type: string
|
|
|
- x-go-name: IsPro
|
|
|
- JwtValidityDuration:
|
|
|
- $ref: '#/definitions/Duration'
|
|
|
- LicenseValue:
|
|
|
- type: string
|
|
|
- MQPassword:
|
|
|
- type: string
|
|
|
- MQUserName:
|
|
|
- type: string
|
|
|
- MachinesLimit:
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- MasterKey:
|
|
|
- type: string
|
|
|
- MessageQueueBackend:
|
|
|
- type: string
|
|
|
- MetricsExporter:
|
|
|
- type: string
|
|
|
- NetclientAutoUpdate:
|
|
|
- type: string
|
|
|
- NetclientEndpointDetection:
|
|
|
- type: string
|
|
|
- NetmakerTenantID:
|
|
|
- type: string
|
|
|
- NetworksLimit:
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- NodeID:
|
|
|
- type: string
|
|
|
- OIDCIssuer:
|
|
|
- type: string
|
|
|
- Platform:
|
|
|
- type: string
|
|
|
- PublicIPService:
|
|
|
- type: string
|
|
|
- RacAutoDisable:
|
|
|
- type: boolean
|
|
|
- RestBackend:
|
|
|
- type: string
|
|
|
- SQLConn:
|
|
|
- type: string
|
|
|
- Server:
|
|
|
- type: string
|
|
|
- ServerBrokerEndpoint:
|
|
|
- type: string
|
|
|
- StunList:
|
|
|
- type: string
|
|
|
- StunPort:
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- Telemetry:
|
|
|
- type: string
|
|
|
- TurnApiServer:
|
|
|
- type: string
|
|
|
- TurnPassword:
|
|
|
- type: string
|
|
|
- TurnPort:
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- TurnServer:
|
|
|
- type: string
|
|
|
- TurnUserName:
|
|
|
- type: string
|
|
|
- UseTurn:
|
|
|
- type: boolean
|
|
|
- UsersLimit:
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- Verbosity:
|
|
|
- format: int32
|
|
|
- type: integer
|
|
|
- Version:
|
|
|
- type: string
|
|
|
- endpoint_detection:
|
|
|
- type: boolean
|
|
|
- x-go-name: EndpointDetection
|
|
|
- type: object
|
|
|
- x-go-package: github.com/gravitl/netmaker/config
|
|
|
- Signal:
|
|
|
- description: Signal - struct for signalling peer
|
|
|
- properties:
|
|
|
- action:
|
|
|
- $ref: '#/definitions/SignalAction'
|
|
|
- from_host_id:
|
|
|
- type: string
|
|
|
- x-go-name: FromHostID
|
|
|
- from_host_pubkey:
|
|
|
- type: string
|
|
|
- x-go-name: FromHostPubKey
|
|
|
- from_node_id:
|
|
|
- type: string
|
|
|
- x-go-name: FromNodeID
|
|
|
- is_pro:
|
|
|
- type: boolean
|
|
|
- x-go-name: IsPro
|
|
|
- reply:
|
|
|
- type: boolean
|
|
|
- x-go-name: Reply
|
|
|
- server:
|
|
|
- type: string
|
|
|
- x-go-name: Server
|
|
|
- timestamp:
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- x-go-name: TimeStamp
|
|
|
- to_host_id:
|
|
|
- type: string
|
|
|
- x-go-name: ToHostID
|
|
|
- to_host_pubkey:
|
|
|
- type: string
|
|
|
- x-go-name: ToHostPubKey
|
|
|
- to_node_id:
|
|
|
- type: string
|
|
|
- x-go-name: ToNodeID
|
|
|
- type: object
|
|
|
- x-go-package: github.com/gravitl/netmaker/models
|
|
|
- SignalAction:
|
|
|
- description: SignalAction - turn peer signal action
|
|
|
- type: string
|
|
|
- x-go-package: github.com/gravitl/netmaker/models
|
|
|
- SuccessResponse:
|
|
|
- properties:
|
|
|
- Code:
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- Message:
|
|
|
- type: string
|
|
|
- Response: {}
|
|
|
- title: SuccessResponse is struct for sending error message with code.
|
|
|
- type: object
|
|
|
- x-go-package: github.com/gravitl/netmaker/models
|
|
|
- TrafficKeys:
|
|
|
- description: TrafficKeys - struct to hold public keys
|
|
|
- properties:
|
|
|
- mine:
|
|
|
- items:
|
|
|
- format: uint8
|
|
|
- type: integer
|
|
|
- type: array
|
|
|
- x-go-name: Mine
|
|
|
- server:
|
|
|
- items:
|
|
|
- format: uint8
|
|
|
- type: integer
|
|
|
- type: array
|
|
|
- x-go-name: Server
|
|
|
- type: object
|
|
|
- x-go-package: github.com/gravitl/netmaker/models
|
|
|
- UDPAddr:
|
|
|
- properties:
|
|
|
- IP:
|
|
|
- type: string
|
|
|
- Port:
|
|
|
- format: int64
|
|
|
- type: integer
|
|
|
- Zone:
|
|
|
- type: string
|
|
|
- title: UDPAddr represents the address of a UDP end point.
|
|
|
- type: object
|
|
|
- x-go-package: net
|
|
|
- User:
|
|
|
- description: User struct - struct for Users
|
|
|
- properties:
|
|
|
- isadmin:
|
|
|
- type: boolean
|
|
|
- x-go-name: IsAdmin
|
|
|
- issuperadmin:
|
|
|
- type: boolean
|
|
|
- x-go-name: IsSuperAdmin
|
|
|
- last_login_time:
|
|
|
- format: date-time
|
|
|
- type: string
|
|
|
- x-go-name: LastLoginTime
|
|
|
- password:
|
|
|
- type: string
|
|
|
- x-go-name: Password
|
|
|
- remote_gw_ids:
|
|
|
- additionalProperties:
|
|
|
- type: object
|
|
|
- type: object
|
|
|
- x-go-name: RemoteGwIDs
|
|
|
- username:
|
|
|
- type: string
|
|
|
- x-go-name: UserName
|
|
|
- type: object
|
|
|
- x-go-package: github.com/gravitl/netmaker/models
|
|
|
- UserAuthParams:
|
|
|
- description: UserAuthParams - user auth params struct
|
|
|
- properties:
|
|
|
- password:
|
|
|
- type: string
|
|
|
- x-go-name: Password
|
|
|
- username:
|
|
|
- type: string
|
|
|
- x-go-name: UserName
|
|
|
- type: object
|
|
|
- x-go-package: github.com/gravitl/netmaker/models
|
|
|
-host: api.demo.netmaker.io
|
|
|
-info:
|
|
|
- description: |-
|
|
|
- # API Usage
|
|
|
-
|
|
|
- Most actions that can be performed via API can be performed via UI. We recommend managing your networks using the official netmaker-ui project. However, Netmaker can also be run without the UI, and all functions can be achieved via API calls. If your use case requires using Netmaker without the UI or you need to do some troubleshooting/advanced configuration, using the API directly may help.
|
|
|
-
|
|
|
- # Authentication
|
|
|
-
|
|
|
- API calls must be authenticated via a header of the format -H “Authorization: Bearer <YOUR_SECRET_KEY>” There are two methods to obtain YOUR_SECRET_KEY: 1. Using the masterkey. By default, this value is “secret key,” but you should change this on your instance and keep it secure. This value can be set via env var at startup or in a config file (config/environments/< env >.yaml). See the [Netmaker](https://docs.netmaker.org/index.html) documentation for more details. 2. Using a JWT received for a node. This can be retrieved by calling the /api/nodes/<network>/authenticate endpoint, as documented below.
|
|
|
- title: Netmaker
|
|
|
- version: 0.25.0
|
|
|
-paths:
|
|
|
- /api/dns:
|
|
|
- get:
|
|
|
- operationId: getAllDNS
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/dnsResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Gets all DNS entries.
|
|
|
- tags:
|
|
|
- - dns
|
|
|
- /api/dns/{network}:
|
|
|
- post:
|
|
|
- operationId: createDNS
|
|
|
- parameters:
|
|
|
- - description: Network
|
|
|
- in: path
|
|
|
- name: network
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Network
|
|
|
- - description: DNS Entry
|
|
|
- in: body
|
|
|
- name: body
|
|
|
- schema:
|
|
|
- items:
|
|
|
- $ref: '#/definitions/DNSEntry'
|
|
|
- type: array
|
|
|
- x-go-name: Body
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/dnsResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Create a DNS entry.
|
|
|
- tags:
|
|
|
- - dns
|
|
|
- /api/dns/{network}/{domain}:
|
|
|
- delete:
|
|
|
- operationId: deleteDNS
|
|
|
- parameters:
|
|
|
- - description: Network
|
|
|
- in: path
|
|
|
- name: network
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Network
|
|
|
- - description: Domain
|
|
|
- in: path
|
|
|
- name: domain
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Domain
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/stringJSONResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Delete a DNS entry.
|
|
|
- tags:
|
|
|
- - dns
|
|
|
- /api/dns/adm/{network}:
|
|
|
- get:
|
|
|
- operationId: getDNS
|
|
|
- parameters:
|
|
|
- - description: Network
|
|
|
- in: path
|
|
|
- name: network
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Network
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/dnsResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Gets all DNS entries associated with the network.
|
|
|
- tags:
|
|
|
- - dns
|
|
|
- /api/dns/adm/{network}/custom:
|
|
|
- get:
|
|
|
- operationId: getCustomDNS
|
|
|
- parameters:
|
|
|
- - description: Network
|
|
|
- in: path
|
|
|
- name: network
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Network
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/dnsResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Gets custom DNS entries associated with a network.
|
|
|
- tags:
|
|
|
- - dns
|
|
|
- /api/dns/adm/{network}/nodes:
|
|
|
- get:
|
|
|
- operationId: getNodeDNS
|
|
|
- parameters:
|
|
|
- - description: Network
|
|
|
- in: path
|
|
|
- name: network
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Network
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/dnsResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Gets node DNS entries associated with a network.
|
|
|
- tags:
|
|
|
- - dns
|
|
|
- /api/dns/adm/pushdns:
|
|
|
- post:
|
|
|
- operationId: pushDNS
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/dnsResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Push DNS entries to nameserver.
|
|
|
- tags:
|
|
|
- - dns
|
|
|
- /api/emqx/hosts:
|
|
|
- delete:
|
|
|
- operationId: delEmqxHosts
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/apiHostResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Lists all hosts.
|
|
|
- tags:
|
|
|
- - hosts
|
|
|
- /api/extclients:
|
|
|
- get:
|
|
|
- operationId: getAllExtClients
|
|
|
- parameters:
|
|
|
- - description: Networks
|
|
|
- in: body
|
|
|
- name: networks
|
|
|
- schema:
|
|
|
- items:
|
|
|
- type: string
|
|
|
- type: array
|
|
|
- x-go-name: Networks
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/extClientSliceResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: A separate function to get all extclients, not just extclients for a particular network.
|
|
|
- tags:
|
|
|
- - ext_client
|
|
|
- /api/extclients/{network}:
|
|
|
- get:
|
|
|
- description: Gets all extclients associated with network, including pending extclients.
|
|
|
- operationId: getNetworkExtClients
|
|
|
- parameters:
|
|
|
- - description: Network
|
|
|
- in: path
|
|
|
- name: network
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Network
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/extClientSliceResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Get all extclients associated with network.
|
|
|
- tags:
|
|
|
- - ext_client
|
|
|
- /api/extclients/{network}/{clientid}:
|
|
|
- delete:
|
|
|
- operationId: deleteExtClient
|
|
|
- parameters:
|
|
|
- - description: Client ID
|
|
|
- in: path
|
|
|
- name: clientid
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: ClientID
|
|
|
- - description: Network
|
|
|
- in: path
|
|
|
- name: network
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Network
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/successResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Delete an individual extclient.
|
|
|
- tags:
|
|
|
- - ext_client
|
|
|
- get:
|
|
|
- operationId: getExtClient
|
|
|
- parameters:
|
|
|
- - description: Client ID
|
|
|
- in: path
|
|
|
- name: clientid
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: ClientID
|
|
|
- - description: Network
|
|
|
- in: path
|
|
|
- name: network
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Network
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/extClientResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Get an individual extclient.
|
|
|
- tags:
|
|
|
- - ext_client
|
|
|
- put:
|
|
|
- operationId: updateExtClient
|
|
|
- parameters:
|
|
|
- - description: Client ID
|
|
|
- in: path
|
|
|
- name: clientid
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: ClientID
|
|
|
- - description: Network
|
|
|
- in: path
|
|
|
- name: network
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Network
|
|
|
- - description: ExtClient
|
|
|
- in: body
|
|
|
- name: ext_client
|
|
|
- schema:
|
|
|
- $ref: '#/definitions/ExtClient'
|
|
|
- x-go-name: ExtClient
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/extClientResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Update an individual extclient.
|
|
|
- tags:
|
|
|
- - ext_client
|
|
|
- /api/extclients/{network}/{clientid}/{type}:
|
|
|
- get:
|
|
|
- operationId: getExtClientConf
|
|
|
- parameters:
|
|
|
- - description: Type
|
|
|
- in: path
|
|
|
- name: type
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Type
|
|
|
- - description: Client ID
|
|
|
- in: path
|
|
|
- name: clientid
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: ClientID
|
|
|
- - description: Network
|
|
|
- in: path
|
|
|
- name: network
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Network
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/extClientResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Get an individual extclient.
|
|
|
- tags:
|
|
|
- - ext_client
|
|
|
- /api/extclients/{network}/{nodeid}:
|
|
|
- post:
|
|
|
- operationId: createExtClient
|
|
|
- parameters:
|
|
|
- - description: Network
|
|
|
- in: path
|
|
|
- name: network
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Network
|
|
|
- - description: Node ID
|
|
|
- in: path
|
|
|
- name: nodeid
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: NodeID
|
|
|
- - description: Custom ExtClient
|
|
|
- in: body
|
|
|
- name: custom_ext_client
|
|
|
- schema:
|
|
|
- $ref: '#/definitions/CustomExtClient'
|
|
|
- x-go-name: CustomExtClient
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/okResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Create an individual extclient. Must have valid key and be unique.
|
|
|
- tags:
|
|
|
- - ext_client
|
|
|
- /api/getip:
|
|
|
- get:
|
|
|
- operationId: getPublicIP
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/byteArrayResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Get the current public IP address.
|
|
|
- tags:
|
|
|
- - ipservice
|
|
|
- /api/hosts:
|
|
|
- get:
|
|
|
- operationId: getHosts
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/apiHostSliceResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Lists all hosts.
|
|
|
- tags:
|
|
|
- - hosts
|
|
|
- /api/hosts/{hostid}:
|
|
|
- delete:
|
|
|
- operationId: deleteHost
|
|
|
- parameters:
|
|
|
- - description: HostID
|
|
|
- in: path
|
|
|
- name: hostid
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: HostID
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/apiHostResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Deletes a Netclient host from Netmaker server.
|
|
|
- tags:
|
|
|
- - hosts
|
|
|
- put:
|
|
|
- operationId: updateHost
|
|
|
- parameters:
|
|
|
- - description: HostID
|
|
|
- in: path
|
|
|
- name: hostid
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: HostID
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/apiHostResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Updates a Netclient host on Netmaker server.
|
|
|
- tags:
|
|
|
- - hosts
|
|
|
- /api/hosts/{hostid}/networks/{network}:
|
|
|
- delete:
|
|
|
- operationId: deleteHostFromNetwork
|
|
|
- parameters:
|
|
|
- - description: hostid to add or delete from network
|
|
|
- in: path
|
|
|
- name: hostid
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: HostID
|
|
|
- - description: network
|
|
|
- in: path
|
|
|
- name: network
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Network
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/okResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Given a network, a host is removed from the network.
|
|
|
- tags:
|
|
|
- - hosts
|
|
|
- post:
|
|
|
- operationId: addHostToNetwork
|
|
|
- parameters:
|
|
|
- - description: hostid to add or delete from network
|
|
|
- in: path
|
|
|
- name: hostid
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: HostID
|
|
|
- - description: network
|
|
|
- in: path
|
|
|
- name: network
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Network
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/okResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Given a network, a host is added to the network.
|
|
|
- tags:
|
|
|
- - hosts
|
|
|
- /api/hosts/{hostid}/signalpeer:
|
|
|
- post:
|
|
|
- operationId: signalPeer
|
|
|
- parameters:
|
|
|
- - description: HostID
|
|
|
- in: path
|
|
|
- name: hostid
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: HostID
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/signal'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: send signal to peer.
|
|
|
- tags:
|
|
|
- - hosts
|
|
|
- /api/hosts/{hostid}/sync:
|
|
|
- post:
|
|
|
- operationId: synchost
|
|
|
- parameters:
|
|
|
- - description: HostID
|
|
|
- in: path
|
|
|
- name: hostid
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: HostID
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/networkBodyResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Requests a host to pull.
|
|
|
- tags:
|
|
|
- - hosts
|
|
|
- /api/hosts/{hostid}keys:
|
|
|
- post:
|
|
|
- operationId: updateKeys
|
|
|
- parameters:
|
|
|
- - description: HostID
|
|
|
- in: path
|
|
|
- name: hostid
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: HostID
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/networkBodyResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Update keys for a network.
|
|
|
- tags:
|
|
|
- - hosts
|
|
|
- /api/hosts/adm/authenticate:
|
|
|
- post:
|
|
|
- operationId: authenticateHost
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/successResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Host based authentication for making further API calls.
|
|
|
- tags:
|
|
|
- - authenticate
|
|
|
- /api/hosts/keys:
|
|
|
- post:
|
|
|
- operationId: updateAllKeys
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/networkBodyResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Update keys for a network.
|
|
|
- tags:
|
|
|
- - hosts
|
|
|
- /api/networks:
|
|
|
- get:
|
|
|
- operationId: getNetworks
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/getNetworksSliceResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Lists all networks.
|
|
|
- tags:
|
|
|
- - networks
|
|
|
- post:
|
|
|
- operationId: createNetwork
|
|
|
- parameters:
|
|
|
- - description: Network
|
|
|
- in: body
|
|
|
- name: network
|
|
|
- schema:
|
|
|
- $ref: '#/definitions/Network'
|
|
|
- x-go-name: Network
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/networkBodyResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Create a network.
|
|
|
- tags:
|
|
|
- - networks
|
|
|
- /api/networks/{networkname}:
|
|
|
- delete:
|
|
|
- operationId: deleteNetwork
|
|
|
- parameters:
|
|
|
- - description: 'name: network name'
|
|
|
- in: path
|
|
|
- name: networkname
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Networkname
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/successResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Delete a network. Will not delete if there are any nodes that belong to the network.
|
|
|
- tags:
|
|
|
- - networks
|
|
|
- get:
|
|
|
- operationId: getNetwork
|
|
|
- parameters:
|
|
|
- - description: 'name: network name'
|
|
|
- in: path
|
|
|
- name: networkname
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Networkname
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/networkBodyResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Get a network.
|
|
|
- tags:
|
|
|
- - networks
|
|
|
- put:
|
|
|
- operationId: updateNetwork
|
|
|
- parameters:
|
|
|
- - description: 'name: network name'
|
|
|
- in: path
|
|
|
- name: networkname
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Networkname
|
|
|
- - description: Network
|
|
|
- in: body
|
|
|
- name: network
|
|
|
- schema:
|
|
|
- $ref: '#/definitions/Network'
|
|
|
- x-go-name: Network
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/networkBodyResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Update pro settings for a network.
|
|
|
- tags:
|
|
|
- - networks
|
|
|
- /api/networks/{networkname}/acls:
|
|
|
- get:
|
|
|
- operationId: getNetworkACL
|
|
|
- parameters:
|
|
|
- - description: 'name: network name'
|
|
|
- in: path
|
|
|
- name: networkname
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Networkname
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/aclContainerResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Get a network ACL (Access Control List).
|
|
|
- tags:
|
|
|
- - networks
|
|
|
- put:
|
|
|
- operationId: updateNetworkACL
|
|
|
- parameters:
|
|
|
- - description: 'name: network name'
|
|
|
- in: path
|
|
|
- name: networkname
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Networkname
|
|
|
- - description: ACL Container
|
|
|
- in: body
|
|
|
- name: acl_container
|
|
|
- schema:
|
|
|
- $ref: '#/definitions/ACLContainer'
|
|
|
- x-go-name: ACLContainer
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/aclContainerResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Update a network ACL (Access Control List).
|
|
|
- tags:
|
|
|
- - networks
|
|
|
- /api/networks/{networkname}/acls/v2:
|
|
|
- put:
|
|
|
- operationId: updateNetworkACL
|
|
|
- parameters:
|
|
|
- - description: 'name: network name'
|
|
|
- in: path
|
|
|
- name: networkname
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Networkname
|
|
|
- - description: ACL Container
|
|
|
- in: body
|
|
|
- name: acl_container
|
|
|
- schema:
|
|
|
- $ref: '#/definitions/ACLContainer'
|
|
|
- x-go-name: ACLContainer
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/aclContainerResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Update a network ACL (Access Control List).
|
|
|
- tags:
|
|
|
- - networks
|
|
|
- /api/node/{nodeid}/failOverME:
|
|
|
- post:
|
|
|
- operationId: failOver_me
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/nodeResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Create a relay.
|
|
|
- tags:
|
|
|
- - node
|
|
|
- /api/nodes:
|
|
|
- get:
|
|
|
- operationId: getAllNodes
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/nodeSliceResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Get all nodes across all networks.
|
|
|
- tags:
|
|
|
- - nodes
|
|
|
- /api/nodes/{network}:
|
|
|
- get:
|
|
|
- operationId: getNetworkNodes
|
|
|
- parameters:
|
|
|
- - description: Network
|
|
|
- in: path
|
|
|
- name: network
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Network
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/nodeSliceResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Gets all nodes associated with network including pending nodes.
|
|
|
- tags:
|
|
|
- - nodes
|
|
|
- /api/nodes/{network}/{nodeid}:
|
|
|
- delete:
|
|
|
- operationId: deleteNode
|
|
|
- parameters:
|
|
|
- - in: path
|
|
|
- name: network
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Network
|
|
|
- - in: path
|
|
|
- name: nodeid
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: NodeID
|
|
|
- - description: Node
|
|
|
- in: body
|
|
|
- name: node
|
|
|
- schema:
|
|
|
- $ref: '#/definitions/LegacyNode'
|
|
|
- x-go-name: Node
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/nodeResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Delete an individual node.
|
|
|
- tags:
|
|
|
- - nodes
|
|
|
- get:
|
|
|
- operationId: getNode
|
|
|
- parameters:
|
|
|
- - in: path
|
|
|
- name: network
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Network
|
|
|
- - in: path
|
|
|
- name: nodeid
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: NodeID
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/nodeResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Get an individual node.
|
|
|
- tags:
|
|
|
- - nodes
|
|
|
- put:
|
|
|
- operationId: updateNode
|
|
|
- parameters:
|
|
|
- - in: path
|
|
|
- name: network
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Network
|
|
|
- - in: path
|
|
|
- name: nodeid
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: NodeID
|
|
|
- - description: Node
|
|
|
- in: body
|
|
|
- name: node
|
|
|
- schema:
|
|
|
- $ref: '#/definitions/LegacyNode'
|
|
|
- x-go-name: Node
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/nodeResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Update an individual node.
|
|
|
- tags:
|
|
|
- - nodes
|
|
|
- /api/nodes/{network}/{nodeid}/creategateway:
|
|
|
- post:
|
|
|
- operationId: createEgressGateway
|
|
|
- parameters:
|
|
|
- - in: path
|
|
|
- name: network
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Network
|
|
|
- - in: path
|
|
|
- name: nodeid
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: NodeID
|
|
|
- - description: Egress Gateway Request
|
|
|
- in: body
|
|
|
- name: egress_gateway_request
|
|
|
- schema:
|
|
|
- $ref: '#/definitions/EgressGatewayRequest'
|
|
|
- x-go-name: EgressGatewayRequest
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/nodeResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Create an egress gateway.
|
|
|
- tags:
|
|
|
- - nodes
|
|
|
- /api/nodes/{network}/{nodeid}/createingress:
|
|
|
- post:
|
|
|
- operationId: createIngressGateway
|
|
|
- parameters:
|
|
|
- - in: path
|
|
|
- name: network
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Network
|
|
|
- - in: path
|
|
|
- name: nodeid
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: NodeID
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/nodeResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Create an ingress gateway.
|
|
|
- tags:
|
|
|
- - nodes
|
|
|
- /api/nodes/{network}/{nodeid}/createrelay:
|
|
|
- post:
|
|
|
- operationId: createRelay
|
|
|
- parameters:
|
|
|
- - in: path
|
|
|
- name: network
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Network
|
|
|
- - in: path
|
|
|
- name: nodeid
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: NodeID
|
|
|
- - description: Relay Request
|
|
|
- in: body
|
|
|
- name: relay_request
|
|
|
- schema:
|
|
|
- $ref: '#/definitions/RelayRequest'
|
|
|
- x-go-name: RelayRequest
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/nodeResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Create a relay.
|
|
|
- tags:
|
|
|
- - nodes
|
|
|
- /api/nodes/{network}/{nodeid}/deletegateway:
|
|
|
- delete:
|
|
|
- operationId: deleteEgressGateway
|
|
|
- parameters:
|
|
|
- - in: path
|
|
|
- name: network
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Network
|
|
|
- - in: path
|
|
|
- name: nodeid
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: NodeID
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/nodeResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Delete an egress gateway.
|
|
|
- tags:
|
|
|
- - nodes
|
|
|
- /api/nodes/{network}/{nodeid}/deleteingress:
|
|
|
- delete:
|
|
|
- operationId: deleteIngressGateway
|
|
|
- parameters:
|
|
|
- - in: path
|
|
|
- name: network
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Network
|
|
|
- - in: path
|
|
|
- name: nodeid
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: NodeID
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/nodeResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Delete an ingress gateway.
|
|
|
- tags:
|
|
|
- - nodes
|
|
|
- /api/nodes/{network}/{nodeid}/deleterelay:
|
|
|
- delete:
|
|
|
- operationId: deleteRelay
|
|
|
- parameters:
|
|
|
- - in: path
|
|
|
- name: network
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Network
|
|
|
- - in: path
|
|
|
- name: nodeid
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: NodeID
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/nodeResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Remove a relay.
|
|
|
- tags:
|
|
|
- - nodes
|
|
|
- /api/nodes/{network}/{nodeid}/inet_gw:
|
|
|
- delete:
|
|
|
- operationId: deleteInternetGw
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/nodeResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Delete an internet gw.
|
|
|
- tags:
|
|
|
- - nodes
|
|
|
- post:
|
|
|
- operationId: createInternetGw
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/nodeResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Create an inet node.
|
|
|
- tags:
|
|
|
- - nodes
|
|
|
- put:
|
|
|
- operationId: updateInternetGw
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/nodeResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: update an inet node.
|
|
|
- tags:
|
|
|
- - nodes
|
|
|
- /api/nodes/{network}/{nodeid}/ingress/users:
|
|
|
- get:
|
|
|
- operationId: ingressGatewayUsers
|
|
|
- parameters:
|
|
|
- - in: path
|
|
|
- name: network
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Network
|
|
|
- - in: path
|
|
|
- name: nodeid
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: NodeID
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/nodeResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Lists all the users attached to an ingress gateway.
|
|
|
- tags:
|
|
|
- - users
|
|
|
- /api/nodes/adm/{network}/authenticate:
|
|
|
- post:
|
|
|
- operationId: authenticate
|
|
|
- parameters:
|
|
|
- - description: network
|
|
|
- in: path
|
|
|
- name: network
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Network
|
|
|
- - description: AuthParams
|
|
|
- in: body
|
|
|
- name: auth_params
|
|
|
- schema:
|
|
|
- $ref: '#/definitions/AuthParams'
|
|
|
- x-go-name: AuthParams
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/successResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Authenticate to make further API calls related to a network.
|
|
|
- tags:
|
|
|
- - authenticate
|
|
|
- /api/oauth/login:
|
|
|
- get:
|
|
|
- operationId: HandleAuthLogin
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/okResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Handles OAuth login.
|
|
|
- tags:
|
|
|
- - nodes
|
|
|
- /api/server/getconfig:
|
|
|
- get:
|
|
|
- operationId: getConfig
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/serverConfigResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Get the server configuration.
|
|
|
- tags:
|
|
|
- - server
|
|
|
- /api/server/getserverinfo:
|
|
|
- get:
|
|
|
- operationId: getServerInfo
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/serverConfigResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Get the server configuration.
|
|
|
- tags:
|
|
|
- - server
|
|
|
- /api/server/status:
|
|
|
- get:
|
|
|
- operationId: getStatus
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/serverConfigResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Get the server configuration.
|
|
|
- tags:
|
|
|
- - server
|
|
|
- /api/users:
|
|
|
- get:
|
|
|
- operationId: getUsers
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/userBodyResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Get all users.
|
|
|
- tags:
|
|
|
- - user
|
|
|
- /api/users/{username}:
|
|
|
- delete:
|
|
|
- operationId: deleteUser
|
|
|
- parameters:
|
|
|
- - description: Username
|
|
|
- in: path
|
|
|
- name: username
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Username
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/userBodyResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Delete a user.
|
|
|
- tags:
|
|
|
- - user
|
|
|
- get:
|
|
|
- operationId: getUser
|
|
|
- parameters:
|
|
|
- - description: Username
|
|
|
- in: path
|
|
|
- name: username
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Username
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/userBodyResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Get an individual user.
|
|
|
- tags:
|
|
|
- - user
|
|
|
- post:
|
|
|
- operationId: createUser
|
|
|
- parameters:
|
|
|
- - description: User
|
|
|
- in: body
|
|
|
- name: user
|
|
|
- schema:
|
|
|
- $ref: '#/definitions/User'
|
|
|
- x-go-name: User
|
|
|
- - description: Username
|
|
|
- in: path
|
|
|
- name: username
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Username
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/userBodyResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Create a user.
|
|
|
- tags:
|
|
|
- - user
|
|
|
- put:
|
|
|
- operationId: updateUser
|
|
|
- parameters:
|
|
|
- - description: User
|
|
|
- in: body
|
|
|
- name: user
|
|
|
- schema:
|
|
|
- $ref: '#/definitions/User'
|
|
|
- x-go-name: User
|
|
|
- - description: Username
|
|
|
- in: path
|
|
|
- name: username
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Username
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/userBodyResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Update a user.
|
|
|
- tags:
|
|
|
- - user
|
|
|
- /api/users/{username}/remote_access_gw:
|
|
|
- delete:
|
|
|
- operationId: removeUserFromRemoteAccessGW
|
|
|
- parameters:
|
|
|
- - in: path
|
|
|
- name: username
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Username
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/userBodyResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Delete User from a remote access gateway.
|
|
|
- tags:
|
|
|
- - user
|
|
|
- post:
|
|
|
- operationId: attachUserToRemoteAccessGateway
|
|
|
- parameters:
|
|
|
- - in: path
|
|
|
- name: username
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Username
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/userBodyResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Attach User to a remote access gateway.
|
|
|
- tags:
|
|
|
- - user
|
|
|
- /api/users/adm/authenticate:
|
|
|
- post:
|
|
|
- operationId: authenticateUser
|
|
|
- parameters:
|
|
|
- - description: User Auth Params
|
|
|
- in: body
|
|
|
- name: user_auth_params
|
|
|
- schema:
|
|
|
- $ref: '#/definitions/UserAuthParams'
|
|
|
- x-go-name: UserAuthParams
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/successResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: User authenticates using its password and retrieves a JWT for authorization.
|
|
|
- tags:
|
|
|
- - authenticate
|
|
|
- /api/users/adm/createsuperadmin:
|
|
|
- post:
|
|
|
- operationId: createAdmin
|
|
|
- parameters:
|
|
|
- - description: User
|
|
|
- in: body
|
|
|
- name: user
|
|
|
- schema:
|
|
|
- $ref: '#/definitions/User'
|
|
|
- x-go-name: User
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/userBodyResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Make a user an admin.
|
|
|
- tags:
|
|
|
- - user
|
|
|
- /api/users/adm/hassuperadmin:
|
|
|
- get:
|
|
|
- operationId: hasSuperAdmin
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/hasAdmin'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Checks whether the server has an admin.
|
|
|
- tags:
|
|
|
- - user
|
|
|
- /api/users/adm/transfersuperadmin:
|
|
|
- post:
|
|
|
- operationId: transferSuperAdmin
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/userBodyResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Transfers superadmin role to an admin user.
|
|
|
- tags:
|
|
|
- - user
|
|
|
- /api/users_pending:
|
|
|
- get:
|
|
|
- operationId: getPendingUsers
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/userBodyResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Get all pending users.
|
|
|
- tags:
|
|
|
- - user
|
|
|
- /api/users_pending/{username}/pending:
|
|
|
- delete:
|
|
|
- operationId: deleteAllPendingUsers
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/userBodyResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: delete all pending users.
|
|
|
- tags:
|
|
|
- - user
|
|
|
- /api/users_pending/user/{username}:
|
|
|
- delete:
|
|
|
- operationId: deletePendingUser
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/userBodyResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: delete pending user.
|
|
|
- tags:
|
|
|
- - user
|
|
|
- post:
|
|
|
- operationId: approvePendingUser
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/userBodyResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: approve pending user.
|
|
|
- tags:
|
|
|
- - user
|
|
|
- /api/v1/enrollment-keys:
|
|
|
- get:
|
|
|
- operationId: getEnrollmentKeys
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/EnrollmentKeys'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Lists all EnrollmentKeys for admins.
|
|
|
- tags:
|
|
|
- - enrollmentKeys
|
|
|
- post:
|
|
|
- operationId: createEnrollmentKey
|
|
|
- parameters:
|
|
|
- - description: APIEnrollmentKey
|
|
|
- in: body
|
|
|
- name: body
|
|
|
- schema:
|
|
|
- $ref: '#/definitions/APIEnrollmentKey'
|
|
|
- x-go-name: Body
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/EnrollmentKey'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Creates an EnrollmentKey for hosts to use on Netmaker server.
|
|
|
- tags:
|
|
|
- - enrollmentKeys
|
|
|
- /api/v1/enrollment-keys/{keyid}:
|
|
|
- delete:
|
|
|
- operationId: deleteEnrollmentKey
|
|
|
- parameters:
|
|
|
- - in: path
|
|
|
- name: keyid
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: KeyID
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/okResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Deletes an EnrollmentKey from Netmaker server.
|
|
|
- tags:
|
|
|
- - enrollmentKeys
|
|
|
- put:
|
|
|
- operationId: updateEnrollmentKey
|
|
|
- parameters:
|
|
|
- - description: KeyID
|
|
|
- in: path
|
|
|
- name: keyid
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: KeyID
|
|
|
- - description: APIEnrollmentKey
|
|
|
- in: body
|
|
|
- name: body
|
|
|
- schema:
|
|
|
- $ref: '#/definitions/APIEnrollmentKey'
|
|
|
- x-go-name: Body
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/EnrollmentKey'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Updates an EnrollmentKey for hosts to use on Netmaker server. Updates only the relay to use.
|
|
|
- tags:
|
|
|
- - enrollmentKeys
|
|
|
- /api/v1/enrollment-keys/{token}:
|
|
|
- post:
|
|
|
- operationId: handleHostRegister
|
|
|
- parameters:
|
|
|
- - in: path
|
|
|
- name: token
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Token
|
|
|
- - in: body
|
|
|
- name: host
|
|
|
- schema:
|
|
|
- $ref: '#/definitions/Host'
|
|
|
- x-go-name: Host
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/RegisterResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Handles a Netclient registration with server and add nodes accordingly.
|
|
|
- tags:
|
|
|
- - enrollmentKeys
|
|
|
- /api/v1/fallback/host/{hostid}:
|
|
|
- put:
|
|
|
- operationId: hostUpdateFallback
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/apiHostResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Updates a Netclient host on Netmaker server.
|
|
|
- tags:
|
|
|
- - hosts
|
|
|
- /api/v1/host:
|
|
|
- get:
|
|
|
- description: Used by clients for "pull" command
|
|
|
- operationId: pullHost
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/hostPull'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- tags:
|
|
|
- - hosts
|
|
|
- /api/v1/legacy/nodes:
|
|
|
- delete:
|
|
|
- operationId: wipeLegacyNodes
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/successResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Delete all legacy nodes from DB.
|
|
|
- tags:
|
|
|
- - nodes
|
|
|
- /api/v1/node/failover:
|
|
|
- delete:
|
|
|
- operationId: deletefailOver
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/nodeResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Create a relay.
|
|
|
- tags:
|
|
|
- - node
|
|
|
- post:
|
|
|
- operationId: createfailOver
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/nodeResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Create a relay.
|
|
|
- tags:
|
|
|
- - node
|
|
|
- /api/v1/nodes/migrate:
|
|
|
- put:
|
|
|
- operationId: migrateData
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/hostPull'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Used to migrate a legacy node.
|
|
|
- tags:
|
|
|
- - nodes
|
|
|
- /meshclient/files/{filename}:
|
|
|
- get:
|
|
|
- operationId: getFile
|
|
|
- parameters:
|
|
|
- - description: Filename
|
|
|
- in: path
|
|
|
- name: filename
|
|
|
- required: true
|
|
|
- type: string
|
|
|
- x-go-name: Filename
|
|
|
- responses:
|
|
|
- "200":
|
|
|
- $ref: '#/responses/fileResponse'
|
|
|
- schemes:
|
|
|
- - https
|
|
|
- summary: Retrieve a file from the file server.
|
|
|
- tags:
|
|
|
- - meshclient
|
|
|
-produces:
|
|
|
- - application/json
|
|
|
-responses:
|
|
|
- EnrollmentKey:
|
|
|
- description: ""
|
|
|
- schema:
|
|
|
- $ref: '#/definitions/EnrollmentKey'
|
|
|
- EnrollmentKeys:
|
|
|
- description: ""
|
|
|
- schema:
|
|
|
- items:
|
|
|
- $ref: '#/definitions/EnrollmentKey'
|
|
|
- type: array
|
|
|
- RegisterResponse:
|
|
|
- description: ""
|
|
|
- schema:
|
|
|
- $ref: '#/definitions/RegisterResponse'
|
|
|
- aclContainerResponse:
|
|
|
- description: ""
|
|
|
- schema:
|
|
|
- $ref: '#/definitions/ACLContainer'
|
|
|
- apiHostResponse:
|
|
|
- description: ""
|
|
|
- schema:
|
|
|
- $ref: '#/definitions/ApiHost'
|
|
|
- apiHostSliceResponse:
|
|
|
- description: ""
|
|
|
- schema:
|
|
|
- items:
|
|
|
- $ref: '#/definitions/ApiHost'
|
|
|
- type: array
|
|
|
- byteArrayResponse:
|
|
|
- description: ""
|
|
|
- schema:
|
|
|
- items:
|
|
|
- format: uint8
|
|
|
- type: integer
|
|
|
- type: array
|
|
|
- dnsResponse:
|
|
|
- description: Success
|
|
|
- schema:
|
|
|
- items:
|
|
|
- $ref: '#/definitions/DNSEntry'
|
|
|
- type: array
|
|
|
- extClientResponse:
|
|
|
- description: ""
|
|
|
- schema:
|
|
|
- $ref: '#/definitions/ExtClient'
|
|
|
- extClientSliceResponse:
|
|
|
- description: ""
|
|
|
- schema:
|
|
|
- items:
|
|
|
- $ref: '#/definitions/ExtClient'
|
|
|
- type: array
|
|
|
- fileResponse:
|
|
|
- description: ""
|
|
|
- schema:
|
|
|
- $ref: '#/definitions/File'
|
|
|
- getNetworksSliceResponse:
|
|
|
- description: ""
|
|
|
- schema:
|
|
|
- items:
|
|
|
- $ref: '#/definitions/Network'
|
|
|
- type: array
|
|
|
- hasAdmin:
|
|
|
- description: ""
|
|
|
- hostPull:
|
|
|
- description: ""
|
|
|
- schema:
|
|
|
- $ref: '#/definitions/HostPull'
|
|
|
- networkBodyResponse:
|
|
|
- description: ""
|
|
|
- schema:
|
|
|
- $ref: '#/definitions/Network'
|
|
|
- nodeResponse:
|
|
|
- description: ""
|
|
|
- schema:
|
|
|
- $ref: '#/definitions/LegacyNode'
|
|
|
- nodeSliceResponse:
|
|
|
- description: ""
|
|
|
- schema:
|
|
|
- items:
|
|
|
- $ref: '#/definitions/ApiNode'
|
|
|
- type: array
|
|
|
- okResponse:
|
|
|
- description: ""
|
|
|
- serverConfigResponse:
|
|
|
- description: ""
|
|
|
- schema:
|
|
|
- $ref: '#/definitions/ServerConfig'
|
|
|
- signal:
|
|
|
- description: ""
|
|
|
- schema:
|
|
|
- $ref: '#/definitions/Signal'
|
|
|
- stringJSONResponse:
|
|
|
- description: ""
|
|
|
- successResponse:
|
|
|
- description: ""
|
|
|
- schema:
|
|
|
- $ref: '#/definitions/SuccessResponse'
|
|
|
- userBodyResponse:
|
|
|
- description: ""
|
|
|
- schema:
|
|
|
- $ref: '#/definitions/User'
|
|
|
-schemes:
|
|
|
- - https
|
|
|
-swagger: "2.0"
|