| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374 | // Package classification Netmaker//// # 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.////	Schemes: https//	BasePath: ///	Version: 0.20.3//	Host: netmaker.io////	Consumes://	- application/json////	Produces://	- application/json////	Security://	- oauth//// swagger:metapackage controllerimport (	serverconfigpkg "github.com/gravitl/netmaker/config"	"github.com/gravitl/netmaker/logic/acls"	"github.com/gravitl/netmaker/models")var _ = useUnused() // "use" the function to prevent "unused function" errors// swagger:parameters getNodeDNS getCustomDNS getDNStype dnsPathParams struct {	// Network	// in: path	Network string `json:"network"`}// swagger:parameters createDNStype dnsParams struct {	// Network	// in: path	Network string `json:"network"`	// DNS Entry	// in: body	Body []models.DNSEntry `json:"body"`}// Success// swagger:response dnsResponsetype dnsResponse struct {	// in: body	Body []models.DNSEntry `json:"body"`}// swagger:parameters deleteDNStype dnsDeletePathParams struct {	// Network	// in: path	Network string `json:"network"`	// Domain	// in: path	Domain string `json:"domain"`}// swagger:response stringJSONResponsetype stringJSONResponse struct {	// Response	// in: body	Response string `json:"response"`}// swagger:parameters getAllExtClientstype getAllClientsRequest struct {	// Networks	// in:body	Networks []string `json:"networks"`}// swagger:response extClientSliceResponsetype extClientSliceResponse struct {	// ExtClients	// in: body	ExtClients []models.ExtClient `json:"ext_clients"`}// swagger:response extClientResponsetype extClientResponse struct {	// ExtClient	// in: body	ExtClient models.ExtClient `json:"ext_client"`}// swagger:response successResponsetype successResponse struct {	// Success Response	// in: body	SuccessResponse models.SuccessResponse `json:"success_response"`}// swagger:parameters getExtClient getExtClientConf updateExtClient deleteExtClienttype extClientPathParams struct {	// Client ID	// in: path	ClientID string `json:"clientid"`	// Network	// in: path	Network string `json:"network"`}// swagger:parameters updateExtClienttype extClientBodyParam struct {	// ExtClient	// in: body	ExtClient models.ExtClient `json:"ext_client"`}// swagger:parameters getNetworkExtClientstype extClientNetworkPathParam struct {	// Network	// in: path	Network string `json:"network"`}// swagger:parameters createExtClienttype createExtClientPathParams struct {	// Network	// in: path	Network string `json:"network"`	// Node ID	// in: path	NodeID string `json:"node"`	// Custom ExtClient	// in: body	CustomExtClient models.CustomExtClient `json:"custom_ext_client"`}// swagger:parameters getNode updateNode deleteNode createRelay deleteRelay createEgressGateway deleteEgressGateway createIngressGateway deleteIngressGateway uncordonNodetype networkNodePathParams struct {	// Network	// in: path	Network string `json:"network"`	// Node ID	// in: path	NodeID string `json:"nodeid"`}// swagger:response byteArrayResponsetype byteArrayResponse struct {	// in: body	ByteArray []byte `json:"byte_array"`}// swagger:parameters getNetworkstype headerNetworks struct {	// name: networks	// in: header	Networks []string `json:"networks"`}// swagger:response getNetworksSliceResponsetype getNetworksSliceResponse struct {	// Networks	// in: body	Networks []models.Network `json:"networks"`}// swagger:parameters createNetwork updateNetworktype networkBodyParam struct {	// Network	// in: body	Network models.Network `json:"network"`}// swagger:parameters updateNetwork getNetwork updateNetwork updateNetworkNodeLimit deleteNetwork keyUpdate createAccessKey getAccessKeys deleteAccessKey updateNetworkACL getNetworkACLtype networkPathParam struct {	// Network Name	// in: path	NetworkName string `json:"networkname"`}// swagger:parameters deleteAccessKeytype networkAccessKeyNamePathParam struct {	// Access Key Name	// in: path	AccessKeyName string `json:"access_key_name"`}// swagger:response networkBodyResponsetype networkBodyResponse struct {	// Network	// in: body	Network models.Network `json:"network"`}// swagger:parameters updateNetworkACL getNetworkACLtype aclContainerBodyParam struct {	// ACL Container	// in: body	ACLContainer acls.ACLContainer `json:"acl_container"`}// swagger:response aclContainerResponsetype aclContainerResponse struct {	// ACL Container	// in: body	ACLContainer acls.ACLContainer `json:"acl_container"`}// swagger:response nodeSliceResponsetype nodeSliceResponse struct {	// Nodes	// in: body	Nodes []models.LegacyNode `json:"nodes"`}// swagger:response nodeResponsetype nodeResponse struct {	// Node	// in: body	Node models.LegacyNode `json:"node"`}// swagger:parameters updateNode deleteNodetype nodeBodyParam struct {	// Node	// in: body	Node models.LegacyNode `json:"node"`}// swagger:parameters createRelaytype relayRequestBodyParam struct {	// Relay Request	// in: body	RelayRequest models.RelayRequest `json:"relay_request"`}// swagger:parameters createEgressGatewaytype egressGatewayBodyParam struct {	// Egress Gateway Request	// in: body	EgressGatewayRequest models.EgressGatewayRequest `json:"egress_gateway_request"`}// swagger:parameters authenticatetype authParamBodyParam struct {	// AuthParams	// in: body	AuthParams models.AuthParams `json:"auth_params"`}// swagger:response serverConfigResponsetype serverConfigResponse struct {	// Server Config	// in: body	ServerConfig serverconfigpkg.ServerConfig `json:"server_config"`}// swagger:response nodeGetResponsetype nodeGetResponse struct {	// Node Get	// in: body	NodeGet models.NodeGet `json:"node_get"`}// swagger:response nodeLastModifiedResponsetype nodeLastModifiedResponse struct {	// Node Last Modified	// in: body	NodesLastModified int64 `json:"nodes_last_modified"`}// swagger:parameters register//type registerRequestBodyParam struct {//	// Register Request//	// in: body//	RegisterRequest config.RegisterRequest `json:"register_request"`//}////// swagger:response registerResponse//type registerResponse struct {//	// Register Response//	// in: body//	RegisterResponse config.RegisterResponse `json:"register_response"`//}// swagger:response boolResponsetype boolResponse struct {	// Boolean Response	// in: body	BoolResponse bool `json:"bool_response"`}// swagger:parameters createAdmin updateUser updateUserNetworks createUsertype userBodyParam struct {	// User	// in: body	User models.User `json:"user"`}// swagger:response userBodyResponsetype userBodyResponse struct {	// User	// in: body	User models.User `json:"user"`}// swagger:parameters authenticateUsertype userAuthBodyParam struct {	// User Auth Params	// in: body	UserAuthParams models.UserAuthParams `json:"user_auth_params"`}// swagger:parameters updateUser updateUserNetworks updateUserAdm createUser deleteUser getUsertype usernamePathParam struct {	// Username	// in: path	Username string `json:"username"`}// prevent issues with integration tests for types just used by Swagger docs.func useUnused() bool {	_ = dnsPathParams{}	_ = dnsParams{}	_ = dnsResponse{}	_ = dnsDeletePathParams{}	_ = stringJSONResponse{}	_ = getAllClientsRequest{}	_ = extClientSliceResponse{}	_ = extClientResponse{}	_ = successResponse{}	_ = extClientPathParams{}	_ = extClientBodyParam{}	_ = extClientNetworkPathParam{}	_ = createExtClientPathParams{}	_ = networkNodePathParams{}	_ = byteArrayResponse{}	_ = headerNetworks{}	_ = getNetworksSliceResponse{}	_ = networkBodyParam{}	_ = networkPathParam{}	_ = networkAccessKeyNamePathParam{}	_ = networkBodyResponse{}	_ = aclContainerBodyParam{}	_ = aclContainerResponse{}	_ = nodeSliceResponse{}	_ = nodeResponse{}	_ = nodeBodyParam{}	_ = relayRequestBodyParam{}	_ = egressGatewayBodyParam{}	_ = authParamBodyParam{}	_ = serverConfigResponse{}	_ = nodeGetResponse{}	_ = nodeLastModifiedResponse{}	//	_ = registerRequestBodyParam{}	//	_ = registerResponse{}	_ = boolResponse{}	_ = userBodyParam{}	_ = userBodyResponse{}	_ = userAuthBodyParam{}	_ = usernamePathParam{}	return false}
 |