mirror of
https://github.com/rancher/os.git
synced 2025-09-06 17:22:34 +00:00
vendor packngo
This commit is contained in:
37
vendor/github.com/packethost/packngo/metadata/client.go
generated
vendored
Normal file
37
vendor/github.com/packethost/packngo/metadata/client.go
generated
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
package metadata
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"net/url"
|
||||
|
||||
"github.com/packethost/packngo"
|
||||
)
|
||||
|
||||
const (
|
||||
baseUrl = "https://metadata.packet.net"
|
||||
)
|
||||
|
||||
type Client struct {
|
||||
client *packngo.Client
|
||||
|
||||
Metadata MetadataService
|
||||
Userdata UserdataService
|
||||
}
|
||||
|
||||
type MetadataService interface {
|
||||
Get() (Metadata, error)
|
||||
}
|
||||
|
||||
type UserdataService interface {
|
||||
Get() (string, error)
|
||||
}
|
||||
|
||||
func NewClient(httpClient *http.Client) *Client {
|
||||
c := packngo.NewClient("", "", httpClient)
|
||||
c.BaseURL, _ = url.Parse(baseUrl)
|
||||
return &Client{
|
||||
client: c,
|
||||
Metadata: &MetadataServiceOp{client: c},
|
||||
Userdata: &UserdataServiceOp{client: c},
|
||||
}
|
||||
}
|
72
vendor/github.com/packethost/packngo/metadata/metadata.go
generated
vendored
Normal file
72
vendor/github.com/packethost/packngo/metadata/metadata.go
generated
vendored
Normal file
@@ -0,0 +1,72 @@
|
||||
package metadata
|
||||
|
||||
import (
|
||||
"github.com/packethost/packngo"
|
||||
)
|
||||
|
||||
const (
|
||||
metadataBasePath = "/metadata"
|
||||
)
|
||||
|
||||
type Metadata struct {
|
||||
ApiUrl string `json:"api_url"`
|
||||
Id string `json:"id"`
|
||||
Hostname string `json:"hostname"`
|
||||
Iqn string `json:"iqn"`
|
||||
OperatingSystem OperatingSystem `json:"operating_system"`
|
||||
Plan string `json:"plan"`
|
||||
Facility string `json:"facility"`
|
||||
SshKeys []string `json:"ssh_keys"`
|
||||
Network Network `json:"network"`
|
||||
}
|
||||
|
||||
type Network struct {
|
||||
Addresses []Address `json:"addresses"`
|
||||
Interfaces []Interface `json:"interfaces"`
|
||||
}
|
||||
|
||||
type Address struct {
|
||||
Href string `json:"href"`
|
||||
Gateway string `json:"gateway"`
|
||||
Address string `json:"address"`
|
||||
Network string `json:"network"`
|
||||
Id string `json:"id"`
|
||||
AddressFamily int `json:"address_family"`
|
||||
Netmask string `json:"netmask"`
|
||||
Public bool `json:"public"`
|
||||
Cidr int `json:"cidr"`
|
||||
Management bool `json:"management"`
|
||||
Manageable bool `json:"manageable"`
|
||||
AssignedTo Reference `json:"assigned_to"`
|
||||
}
|
||||
|
||||
type Reference struct {
|
||||
Href string `json:"href"`
|
||||
}
|
||||
|
||||
type OperatingSystem struct {
|
||||
Version string `json:"version"`
|
||||
Distro string `json:"distro"`
|
||||
Slug string `json:"slug"`
|
||||
}
|
||||
|
||||
type Interface struct {
|
||||
Mac string `json:"mac"`
|
||||
Name string `json:"name"`
|
||||
}
|
||||
|
||||
type MetadataServiceOp struct {
|
||||
client *packngo.Client
|
||||
}
|
||||
|
||||
func (s *MetadataServiceOp) Get() (Metadata, error) {
|
||||
metadata := Metadata{}
|
||||
|
||||
req, err := s.client.NewRequest("GET", metadataBasePath, nil)
|
||||
if err != nil {
|
||||
return metadata, err
|
||||
}
|
||||
|
||||
_, err = s.client.Do(req, &metadata)
|
||||
return metadata, err
|
||||
}
|
26
vendor/github.com/packethost/packngo/metadata/userdata.go
generated
vendored
Normal file
26
vendor/github.com/packethost/packngo/metadata/userdata.go
generated
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
package metadata
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
|
||||
"github.com/packethost/packngo"
|
||||
)
|
||||
|
||||
const (
|
||||
userdataBasePath = "/userdata"
|
||||
)
|
||||
|
||||
type UserdataServiceOp struct {
|
||||
client *packngo.Client
|
||||
}
|
||||
|
||||
func (s *UserdataServiceOp) Get() (string, error) {
|
||||
req, err := s.client.NewRequest("GET", userdataBasePath, nil)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
buffer := &bytes.Buffer{}
|
||||
_, err = s.client.Do(req, buffer)
|
||||
return buffer.String(), err
|
||||
}
|
Reference in New Issue
Block a user