/
patch.go
86 lines (75 loc) · 2.97 KB
/
patch.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
package provider
import (
"context"
"fmt"
"net/http"
"time"
"github.com/deepmap/oapi-codegen/pkg/types"
nb "github.com/nautobot/go-nautobot/pkg/nautobot"
)
func NewSecurityProviderNautobotToken(t string) (*SecurityProviderNautobotToken, error) {
return &SecurityProviderNautobotToken{
token: t,
}, nil
}
type SecurityProviderNautobotToken struct {
token string
}
func (s *SecurityProviderNautobotToken) Intercept(ctx context.Context, req *http.Request) error {
req.Header.Set("Authorization", fmt.Sprintf("Token %s", s.token))
return nil
}
// PaginatedSiteList defines model for PaginatedSiteList.
type PaginatedSiteList struct {
Count *int `json:"count,omitempty"`
Next *string `json:"next"`
Previous *string `json:"previous"`
Results *[]Site `json:"results,omitempty"`
}
// Mixin to add `status` choice field to model serializers.
type Site struct {
// 32-bit autonomous system number
Asn *int64 `json:"asn"`
CircuitCount *int `json:"circuit_count,omitempty"`
Comments *string `json:"comments,omitempty"`
ContactEmail *string `json:"contact_email,omitempty"`
ContactName *string `json:"contact_name,omitempty"`
ContactPhone *string `json:"contact_phone,omitempty"`
Created *types.Date `json:"created,omitempty"`
CustomFields *nb.CustomFieldChoice `json:"custom_fields,omitempty"`
Description *string `json:"description,omitempty"`
DeviceCount *int `json:"device_count,omitempty"`
// Human friendly display value
Display *string `json:"display,omitempty"`
// Local facility ID or description
Facility *string `json:"facility,omitempty"`
Id *types.UUID `json:"id,omitempty"`
LastUpdated *time.Time `json:"last_updated,omitempty"`
// GPS coordinate (latitude)
Latitude *string `json:"latitude"`
// GPS coordinate (longitude)
Longitude *string `json:"longitude"`
Name string `json:"name"`
PhysicalAddress *string `json:"physical_address,omitempty"`
PrefixCount *int `json:"prefix_count,omitempty"`
RackCount *int `json:"rack_count,omitempty"`
Region *struct {
// Embedded struct due to allOf(#/components/schemas/NestedRegion)
nb.NestedRegion `yaml:",inline"`
} `json:"region"`
ShippingAddress *string `json:"shipping_address,omitempty"`
Slug *string `json:"slug,omitempty"`
Status struct {
Label *nb.SiteStatusLabel `json:"label,omitempty"`
Value *nb.SiteStatusValue `json:"value,omitempty"`
} `json:"status"`
Tags *[]nb.TagSerializerField `json:"tags,omitempty"`
Tenant *struct {
// Embedded struct due to allOf(#/components/schemas/NestedTenant)
nb.NestedTenant `yaml:",inline"`
} `json:"tenant"`
TimeZone *string `json:"time_zone"`
Url *string `json:"url,omitempty"`
VirtualmachineCount *int `json:"virtualmachine_count,omitempty"`
VlanCount *int `json:"vlan_count,omitempty"`
}