ACME DNS challenges
This commit is contained in:
parent
7a2592b2fa
commit
5bdf8a5ea3
127 changed files with 24386 additions and 739 deletions
73
vendor/github.com/linode/linodego/account_notifications.go
generated
vendored
Normal file
73
vendor/github.com/linode/linodego/account_notifications.go
generated
vendored
Normal file
|
@ -0,0 +1,73 @@
|
|||
package linodego
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
)
|
||||
|
||||
// Notification represents a notification on an Account
|
||||
type Notification struct {
|
||||
UntilStr string `json:"until"`
|
||||
WhenStr string `json:"when"`
|
||||
|
||||
Label string `json:"label"`
|
||||
Message string `json:"message"`
|
||||
Type string `json:"type"`
|
||||
Severity string `json:"severity"`
|
||||
Entity *NotificationEntity `json:"entity"`
|
||||
Until *time.Time `json:"-"`
|
||||
When *time.Time `json:"-"`
|
||||
}
|
||||
|
||||
// NotificationEntity adds detailed information about the Notification.
|
||||
// This could refer to the ticket that triggered the notification, for example.
|
||||
type NotificationEntity struct {
|
||||
ID int `json:"id"`
|
||||
Label string `json:"label"`
|
||||
Type string `json:"type"`
|
||||
URL string `json:"url"`
|
||||
}
|
||||
|
||||
// NotificationsPagedResponse represents a paginated Notifications API response
|
||||
type NotificationsPagedResponse struct {
|
||||
*PageOptions
|
||||
Data []Notification `json:"data"`
|
||||
}
|
||||
|
||||
// endpoint gets the endpoint URL for Notification
|
||||
func (NotificationsPagedResponse) endpoint(c *Client) string {
|
||||
endpoint, err := c.Notifications.Endpoint()
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return endpoint
|
||||
}
|
||||
|
||||
// appendData appends Notifications when processing paginated Notification responses
|
||||
func (resp *NotificationsPagedResponse) appendData(r *NotificationsPagedResponse) {
|
||||
resp.Data = append(resp.Data, r.Data...)
|
||||
}
|
||||
|
||||
// ListNotifications gets a collection of Notification objects representing important,
|
||||
// often time-sensitive items related to the Account. An account cannot interact directly with
|
||||
// Notifications, and a Notification will disappear when the circumstances causing it
|
||||
// have been resolved. For example, if the account has an important Ticket open, a response
|
||||
// to the Ticket will dismiss the Notification.
|
||||
func (c *Client) ListNotifications(ctx context.Context, opts *ListOptions) ([]Notification, error) {
|
||||
response := NotificationsPagedResponse{}
|
||||
err := c.listHelper(ctx, &response, opts)
|
||||
for i := range response.Data {
|
||||
response.Data[i].fixDates()
|
||||
}
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return response.Data, nil
|
||||
}
|
||||
|
||||
// fixDates converts JSON timestamps to Go time.Time values
|
||||
func (v *Notification) fixDates() *Notification {
|
||||
v.Until, _ = parseDates(v.UntilStr)
|
||||
v.When, _ = parseDates(v.WhenStr)
|
||||
return v
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue