ciscoasa

package
v0.2.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 8, 2021 License: Apache-2.0 Imports: 14 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInternalServer = errors.New("ciscoasa: Internal Server error")
	ErrUnknown        = errors.New("ciscoasa: Unknown error")
)

Predefine standard errors

Functions

This section is empty.

Types

type Address added in v0.2.4

type Address struct {
	Kind  string `json:"kind"`
	Value string `json:"value"`
}

Address represents a static IPv4/IPv6 address settings.

type AddressObject

type AddressObject struct {
	Value    string `json:"value,omitempty"`
	Kind     string `json:"kind"`
	ObjectID string `json:"objectId,omitempty"`
	Reflink  string `json:"refLink,omitempty"`
}

AddressObject represents an address object.

func (*AddressObject) String

func (o *AddressObject) String() string

String returns the objects address

type Backup added in v0.2.4

type Backup struct {
	Context    string `json:"context,omitempty"`
	Location   string `json:"location"`
	Passphrase string `json:"passphrase,omitempty"`
}

Backup represents a backup.

type Client

type Client struct {
	Access      *accessService
	Interfaces  *interfaceService
	Objects     *objectsService
	Routing     *routingService
	DeviceSetup *devicesetupService
	Dhcp        *dhcpService
	Nat         *natService
	Failover    *failoverService
	Licensing   *licenseService
	Save        *saveService
	// contains filtered or unexported fields
}

Client represents a Cisco ASA client

func NewClient

func NewClient(apiURL, username, password string, sslNoVerify bool) (*Client, error)

NewClient creates a new client for communicating with a Cisco ASA

func (*Client) CreateBackup added in v0.2.4

func (c *Client) CreateBackup(context, location, passphrase string) error

CreateBackup creates a backup.

type CreateExtendedACLACEOptions added in v0.2.0

type CreateExtendedACLACEOptions struct {
	Active      bool
	Dst         string
	DstService  string
	Permit      bool
	Remarks     []string
	Position    int
	RuleLogging *RuleLogging
	Src         string
	SrcService  string
}

type DhcpClient added in v0.2.4

type DhcpClient struct {
	SetDefaultRoute     bool         `json:"setDefaultRoute"`
	Metric              int          `json:"metric"`
	PrimaryTrackId      int          `json:"primaryTrackId"`
	TrackingEnabled     bool         `json:"trackingEnabled"`
	SlaTrackingSettings *SlaTracking `json:"slaTrackingSettings"`
}

DhcpClient represents an DHCP Settings.

type DhcpRelayGS added in v0.2.4

type DhcpRelayGS struct {
	Ipv4Timeout            int    `json:"ipv4Timeout"`
	Ipv6Timeout            int    `json:"ipv6Timeout"`
	TrustedOnAllInterfaces bool   `json:"trustedOnAllInterfaces"`
	Kind                   string `json:"kind"`
}

DhcpRelayGS represents a DHCP Relay Global Settings object.

type DhcpRelayLocal added in v0.2.4

type DhcpRelayLocal struct {
	Servers   []string `json:"servers"`
	Interface string   `json:"interface"`
	Kind      string   `json:"kind"`
}

DhcpRelayLocal represents a DHCP Relay Interface Server.

type DhcpRelayLocalCollection added in v0.2.4

type DhcpRelayLocalCollection struct {
	RangeInfo RangeInfo         `json:"rangeInfo"`
	Items     []*DhcpRelayLocal `json:"items"`
	Kind      string            `json:"kind"`
	SelfLink  string            `json:"selfLink"`
}

DhcpRelayLocalCollection represents a collection of DHCP Relay Interface Servers.

type DhcpServer added in v0.2.4

type DhcpServer struct {
	Interface             *InterfaceRef        `json:"interface"`
	Enabled               bool                 `json:"enabled"`
	PoolStartIP           string               `json:"poolStartIP"`
	PoolEndIP             string               `json:"poolEndIP"`
	DnsIP1                string               `json:"dnsIP1"`
	DnsIP2                string               `json:"dnsIP2"`
	WinsIP1               string               `json:"winsIP1"`
	WinsIP2               string               `json:"winsIP2"`
	LeaseLengthInSec      string               `json:"leaseLengthInSec,omitempty"`
	PingTimeoutInMilliSec string               `json:"pingTimeoutInMilliSec,omitempty"`
	DomainName            string               `json:"domainName,omitempty"`
	IsAutoConfigEnabled   bool                 `json:"isAutoConfigEnabled"`
	AutoConfigInterface   string               `json:"autoConfigInterface,omitempty"`
	IsVpnOverride         bool                 `json:"isVpnOverride,omitempty"`
	Options               []*DhcpServerOptions `json:"options,omitempty"`
	Ddns                  struct {
		UpdateDNSClient        bool `json:"updateDNSClient"`
		UpdateBothRecords      bool `json:"updateBothRecords,omitempty"`
		OverrideClientSettings bool `json:"overrideClientSettings,omitempty"`
	} `json:"ddns"`
	Kind     string `json:"kind"`
	ObjectId string `json:"objectId,omitempty"`
	SelfLink string `json:"selfLink,omitempty"`
}

DhcpServer represents a DHCP Relay Interface Server.

type DhcpServerCollection added in v0.2.4

type DhcpServerCollection struct {
	RangeInfo RangeInfo     `json:"rangeInfo"`
	Items     []*DhcpServer `json:"items"`
	Kind      string        `json:"kind"`
	SelfLink  string        `json:"selfLink"`
}

DhcpServerCollection represents a collection of DHCP Relay Interface Servers.

type DhcpServerOptions added in v0.2.4

type DhcpServerOptions struct {
	Type   string `json:"type"`
	Code   int    `json:"code"`
	Value1 string `json:"value1"`
	Value2 string `json:"value2,omitempty"`
}

DhcpServerOptions represents a ntp server options.

type ErrorMessage

type ErrorMessage struct {
	Level   string `json:"level"`
	Code    string `json:"code"`
	Context string `json:"context,omitempty"`
	Details string `json:"details"`
}

ErrorMessage represents a single API error

type ErrorResponse

type ErrorResponse struct {
	Messages []*ErrorMessage `json:"messages"`
}

ErrorResponse represents an error response

func (*ErrorResponse) Error

func (e *ErrorResponse) Error() string

type ExtendedACEObject

type ExtendedACEObject struct {
	SrcAddress   *AddressObject `json:"sourceAddress,omitempty"`
	SrcService   *ServiceObject `json:"sourceService,omitempty"`
	DstAddress   *AddressObject `json:"destinationAddress,omitempty"`
	DstService   *ServiceObject `json:"destinationService,omitempty"`
	RuleLogging  *RuleLogging   `json:"ruleLogging,omitempty"`
	TimeRange    *TimeRange     `json:"timeRange,omitempty"`
	Position     int            `json:"position,omitempty"`
	Permit       bool           `json:"permit,omitempty"`
	Active       bool           `json:"active"`
	IsAccessRule bool           `json:"isAccessRule"`
	Remarks      []string       `json:"remarks,omitempty"`
	Kind         string         `json:"kind,omitempty"`
	ObjectID     string         `json:"objectId,omitempty"`
	SelfLink     string         `json:"selfLink,omitempty"`
}

ExtendedACEObject represents an access control element object

type ExtendedACEObjectCollection

type ExtendedACEObjectCollection struct {
	RangeInfo RangeInfo            `json:"rangeInfo"`
	Items     []*ExtendedACEObject `json:"items"`
	Kind      string               `json:"kind"`
	SelfLink  string               `json:"selfLink"`
}

ExtendedACEObjectCollection represents a collection of access control element objects.

type ExtendedACLObject

type ExtendedACLObject struct {
	Name     string `json:"name,omitempty"`
	Kind     string `json:"kind,omitempty"`
	ObjectID string `json:"objectId,omitempty"`
	SelfLink string `json:"selfLink,omitempty"`
}

ExtendedACLObject represents an access control list object.

type ExtendedACLObjectCollection

type ExtendedACLObjectCollection struct {
	RangeInfo RangeInfo            `json:"rangeInfo"`
	Items     []*ExtendedACLObject `json:"items"`
	Kind      string               `json:"kind"`
	SelfLink  string               `json:"selfLink"`
}

ExtendedACLObjectCollection represents a collection of access control list objects.

type FailoverInterface added in v0.2.4

type FailoverInterface struct {
	InterfaceName    string   `json:"interfaceName"`
	Name             string   `json:"name"`
	ActiveIPAddress  Address  `json:"activeIPAddress"`
	SubnetMask       Address  `json:"subnetMask"`
	StandbyIPAddress *Address `json:"standbyIPAddress,omitempty"`
	IsMonitored      bool     `json:"isMonitored"`
	Kind             string   `json:"kind"`
	ObjectId         string   `json:"objectId,omitempty"`
	SelfLink         string   `json:"selfLink,omitempty"`
}

FailoverInterface represents a Failover Interface.

type FailoverInterfacesCollection added in v0.2.4

type FailoverInterfacesCollection struct {
	RangeInfo RangeInfo            `json:"rangeInfo"`
	Items     []*FailoverInterface `json:"items"`
	Kind      string               `json:"kind"`
	SelfLink  string               `json:"selfLink"`
}

FailoverInterfacesCollection represents a collection of Failover Interfaces.

type FailoverSetup added in v0.2.4

type FailoverSetup struct {
	EnableFOCheck                      bool          `json:"enableFOCheck"`
	SecretKey                          string        `json:"secretKey"`
	IpSecKey                           string        `json:"ipSecKey"`
	HexKey                             bool          `json:"hexKey"`
	LanFoInterface                     *InterfaceRef `json:"lanFoInterface,omitempty"`
	LanActiveIP                        *Address      `json:"lanActiveIP,omitempty"`
	LanSubnet                          *Address      `json:"lanSubnet,omitempty"`
	LanStandby                         *Address      `json:"lanStandby,omitempty"`
	LanIFCName                         string        `json:"lanIFCName,omitempty"`
	IsLANInterfacePreferredPrimary     bool          `json:"isLANInterfacePreferredPrimary"`
	IsLANInterfacePreferredSecondary   bool          `json:"isLANInterfacePreferredSecondary"`
	StateFoInterface                   *InterfaceRef `json:"stateFoInterface,omitempty"`
	StateActiveIP                      *Address      `json:"stateActiveIP,omitempty"`
	StateSubnet                        *Address      `json:"stateSubnet,omitempty"`
	StateStandbyIP                     *Address      `json:"stateStandbyIP,omitempty"`
	StateIFCName                       string        `json:"stateIFCName,omitempty"`
	HttpReplicate                      bool          `json:"httpReplicate"`
	ReplicateRate                      int           `json:"replicateRate"`
	FailedInterfacesUnit               string        `json:"failedInterfacesUnit"`
	FailedInterfacesTriggeringFailover string        `json:"failedInterfacesTriggeringFailover"`
	UnitPollTime                       string        `json:"unitPollTime"`
	UnitPollTimeUnit                   string        `json:"unitPollTimeUnit"`
	UnitHoldTime                       string        `json:"unitHoldTime"`
	UnitHoldTimeUnit                   string        `json:"unitHoldTimeUnit"`
	MonitoredPollTime                  string        `json:"monitoredPollTime"`
	MonitoredPollTimeUnit              string        `json:"monitoredPollTimeUnit"`
	InterfaceHoldTime                  string        `json:"interfaceHoldTime"`
	Kind                               string        `json:"kind,omitempty"`
	ObjectId                           string        `json:"objectId,omitempty"`
	SelfLink                           string        `json:"selfLink,omitempty"`
}

FailoverSetup represents a Failover Setup.

type IPAddress

type IPAddress struct {
	IP                 *Address    `json:"ip,omitempty"`
	NetMask            *Address    `json:"netMask,omitempty"`
	Kind               string      `json:"kind"`
	DhcpOptionUsingMac bool        `json:"dhcpOptionUsingMac,omitempty"`
	DhcpBroadcast      bool        `json:"dhcpBroadcast,omitempty"`
	DhcpClient         *DhcpClient `json:"dhcpClient,omitempty"`
}

IPAddress represents an IP address settings.

func (*IPAddress) String

func (ip *IPAddress) String() string

func (*IPAddress) UnmarshalJSON

func (ip *IPAddress) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler interface.

type IPv6Info

type IPv6Info struct {
	Enabled                  bool                `json:"enabled"`
	AutoConfig               bool                `json:"autoConfig"`
	EnforceEUI64             bool                `json:"enforceEUI64"`
	ManagedAddressConfig     bool                `json:"managedAddressConfig"`
	NsInterval               int                 `json:"nsInterval"`
	DadAttempts              int                 `json:"dadAttempts"`
	NDiscoveryPrefixList     []*NDiscoveryPrefix `json:"nDiscoveryPrefixList,omitempty"`
	OtherStatefulConfig      bool                `json:"otherStatefulConfig"`
	RouterAdvertInterval     int                 `json:"routerAdvertInterval"`
	RouterAdvertIntervalUnit string              `json:"routerAdvertIntervalUnit"`
	RouterAdvertLifetime     int                 `json:"routerAdvertLifetime"`
	SuppressRouterAdvert     bool                `json:"suppressRouterAdvert"`
	ReachableTime            int                 `json:"reachableTime"`
	LinkLocalAddress         *Ipv6Address        `json:"linkLocalAddress,omitempty"`
	Ipv6Addresses            []*Ipv6Address      `json:"ipv6Addresses,omitempty"`
	Kind                     string              `json:"kind"`
}

IPv6Info represents an IPv6 address.

func (*IPv6Info) UnmarshalJSON

func (ip *IPv6Info) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler interface.

type InterfaceRef added in v0.2.4

type InterfaceRef struct {
	Kind     string `json:"kind"`
	RefLink  string `json:"refLink,omitempty"`
	ObjectId string `json:"objectId,omitempty"`
	Name     string `json:"name,omitempty"`
}

type Ipv6Address added in v0.2.4

type Ipv6Address struct {
	PrefixLength int      `json:"prefixLength,omitempty"`
	Standby      *Address `json:"standby,omitempty"`
	Address      *Address `json:"address,omitempty"`
	// IsEUI64      bool     `json:"isEUI64"`
	Kind string `json:"kind"`
}

Ipv6Address represents an Ipv6Address.

type NDiscoveryPrefix added in v0.2.4

type NDiscoveryPrefix struct {
	OffLink           bool   `json:"offLink"`
	NoAdvertise       bool   `json:"noAdvertise"`
	PreferredLifetime int    `json:"preferredLifetime"`
	ValidLifetime     int    `json:"validLifetime"`
	HasDuration       bool   `json:"hasDuration"`
	DefaultPrefix     bool   `json:"defaultPrefix"`
	Kind              string `json:"kind"`
}

nDiscoveryPrefix represents an nDiscoveryPrefix list.

type Nat added in v0.2.4

type Nat struct {
	Active                      bool                         `json:"active"`
	BlockAllocation             bool                         `json:"blockAllocation,omitempty"`
	Description                 string                       `json:"description,omitempty"`
	Extended                    bool                         `json:"extended,omitempty"`
	Flat                        bool                         `json:"flat,omitempty"`
	IncludeReserve              bool                         `json:"includeReserve,omitempty"`
	IsDNS                       bool                         `json:"isDNS,omitempty"`
	IsInterfacePAT              bool                         `json:"isInterfacePAT,omitempty"`
	IsNetToNet                  bool                         `json:"isNetToNet,omitempty"`
	IsNoProxyArp                bool                         `json:"isNoProxyArp,omitempty"`
	IsPatPool                   bool                         `json:"isPatPool,omitempty"`
	IsRoundRobin                bool                         `json:"isRoundRobin,omitempty"`
	IsRouteLookup               bool                         `json:"isRouteLookup,omitempty"`
	IsUnidirectional            bool                         `json:"isUnidirectional,omitempty"`
	Kind                        string                       `json:"kind,omitempty"`
	Mode                        string                       `json:"mode"`
	ObjectID                    string                       `json:"objectId,omitempty"`
	OriginalDestination         *TranslatedOriginalObj       `json:"originalDestination,omitempty"`
	OriginalInterface           *TranslatedOriginalInterface `json:"originalInterface,omitempty"`
	OriginalService             *TranslatedOriginalObj       `json:"originalService,omitempty"`
	OriginalSource              *TranslatedOriginalObj       `json:"originalSource,omitempty"`
	Position                    int                          `json:"position,omitempty"`
	SelfLink                    string                       `json:"selfLink,omitempty"`
	TranslatedDestination       *TranslatedOriginalObj       `json:"translatedDestination,omitempty"`
	TranslatedInterface         *TranslatedOriginalInterface `json:"translatedInterface,omitempty"`
	TranslatedService           *TranslatedOriginalObj       `json:"translatedService,omitempty"`
	TranslatedSource            *TranslatedOriginalObj       `json:"translatedSource,omitempty"`
	TranslatedSourcePatPool     *TranslatedOriginalObj       `json:"translatedSourcePatPool,omitempty"`
	UseDestinationInterfaceIPv6 bool                         `json:"useDestinationInterfaceIPv6,omitempty"`
	UseSourceInterfaceIPv6      bool                         `json:"useSourceInterfaceIPv6,omitempty"`
}

type NatCollection added in v0.2.4

type NatCollection struct {
	Items     []*Nat    `json:"items"`
	Kind      string    `json:"kind"`
	RangeInfo RangeInfo `json:"rangeInfo"`
	SelfLink  string    `json:"selfLink"`
}

type NetworkObject

type NetworkObject struct {
	Name        string `json:"name"`
	Description string `json:"description,omitempty"`
	Host        struct {
		Kind  string `json:"kind"`
		Value string `json:"value"`
	} `json:"host"`
	Kind     string `json:"kind"`
	ObjectID string `json:"objectId,omitempty"`
	SelfLink string `json:"selfLink,omitempty"`
}

NetworkObject represents a network object.

type NetworkObjectCollection

type NetworkObjectCollection struct {
	RangeInfo RangeInfo        `json:"rangeInfo"`
	Items     []*NetworkObject `json:"items"`
	Kind      string           `json:"kind"`
	SelfLink  string           `json:"selfLink"`
}

NetworkObjectCollection represents a collection of network objects.

type NetworkObjectGroup

type NetworkObjectGroup struct {
	Name        string           `json:"name"`
	Description string           `json:"description,omitempty"`
	Members     []*AddressObject `json:"members"`
	Kind        string           `json:"kind"`
	ObjectID    string           `json:"objectId,omitempty"`
	SelfLink    string           `json:"selfLink,omitempty"`
}

NetworkObjectGroup represents a network object group.

type NetworkObjectGroupCollection

type NetworkObjectGroupCollection struct {
	RangeInfo RangeInfo             `json:"rangeInfo"`
	Items     []*NetworkObjectGroup `json:"items"`
	Kind      string                `json:"kind"`
	SelfLink  string                `json:"selfLink"`
}

NetworkObjectGroupCollection represents a collection of network object groups.

type NetworkService

type NetworkService struct {
	Name        string `json:"name"`
	Description string `json:"description,omitempty"`
	Value       string `json:"value"`
	Kind        string `json:"kind"`
	ObjectID    string `json:"objectId,omitempty"`
	SelfLink    string `json:"selfLink,omitempty"`
}

NetworkService represents a network service.

type NetworkServiceCollection

type NetworkServiceCollection struct {
	RangeInfo RangeInfo         `json:"rangeInfo"`
	Items     []*NetworkService `json:"items"`
	Kind      string            `json:"kind"`
	SelfLink  string            `json:"selfLink"`
}

NetworkServiceCollection represents a collection of network services.

type NetworkServiceGroup

type NetworkServiceGroup struct {
	Name        string           `json:"name"`
	Description string           `json:"description,omitempty"`
	Members     []*ServiceObject `json:"members"`
	Kind        string           `json:"kind"`
	ObjectID    string           `json:"objectId,omitempty"`
	SelfLink    string           `json:"selfLink,omitempty"`
}

NetworkServiceGroup represents a network service group.

type NetworkServiceGroupCollection

type NetworkServiceGroupCollection struct {
	RangeInfo RangeInfo              `json:"rangeInfo"`
	Items     []*NetworkServiceGroup `json:"items"`
	Kind      string                 `json:"kind"`
	SelfLink  string                 `json:"selfLink"`
}

NetworkServiceGroupCollection represents a collection of network service groups.

type NtpServerObject added in v0.2.4

type NtpServerObject struct {
	IpAddress   string        `json:"ipAddress"`
	IsPreferred bool          `json:"isPreferred,omitempty"`
	Interface   *InterfaceRef `json:"interface,omitempty"`
	Key         struct {
		Number    string `json:"number"`
		Value     string `json:"value"`
		IsTrusted bool   `json:"isTrusted,omitempty"`
	} `json:"key"`
	Kind     string `json:"kind"`
	ObjectId string `json:"objectId,omitempty"`
	SelfLink string `json:"selfLink,omitempty"`
}

NtpServerObject represents a ntp server object.

type NtpServerObjectCollection added in v0.2.4

type NtpServerObjectCollection struct {
	RangeInfo RangeInfo          `json:"rangeInfo"`
	Items     []*NtpServerObject `json:"items"`
	Kind      string             `json:"kind"`
	SelfLink  string             `json:"selfLink"`
}

NtpServerObjectCollection represents a collection of ntp server objects.

type Periodic added in v0.2.4

type Periodic struct {
	Frequency   string `json:"frequency"`
	StartHour   int    `json:"startHour"`
	StartMinute int    `json:"startMinute"`
	EndHour     int    `json:"endHour"`
	EndMinute   int    `json:"endMinute"`
}

type PhysicalInterface

type PhysicalInterface struct {
	HardwareID        string     `json:"hardwareID"`
	InterfaceDesc     string     `json:"interfaceDesc"`
	ChannelGroupID    string     `json:"channelGroupID"`
	ChannelGroupMode  string     `json:"channelGroupMode"`
	Duplex            string     `json:"duplex,omitempty"`
	FlowcontrolOn     bool       `json:"flowcontrolOn"`
	FlowcontrolHigh   int        `json:"flowcontrolHigh"`
	FlowcontrolLow    int        `json:"flowcontrolLow"`
	FlowcontrolPeriod int        `json:"flowcontrolPeriod"`
	ForwardTrafficCX  bool       `json:"forwardTrafficCX"`
	ForwardTrafficSFR bool       `json:"forwardTrafficSFR"`
	LacpPriority      int        `json:"lacpPriority"`
	ActiveMacAddress  string     `json:"activeMacAddress"`
	StandByMacAddress string     `json:"standByMacAddress"`
	ManagementOnly    bool       `json:"managementOnly"`
	Mtu               int        `json:"mtu"`
	Name              string     `json:"name"`
	SecurityLevel     int        `json:"securityLevel"`
	Shutdown          bool       `json:"shutdown"`
	Speed             string     `json:"speed,omitempty"`
	IPAddress         *IPAddress `json:"ipAddress,omitempty"`
	Ipv6Info          *IPv6Info  `json:"ipv6Info,omitempty"`
	Kind              string     `json:"kind"`
	ObjectID          string     `json:"objectId,omitempty"`
	SelfLink          string     `json:"selfLink,omitempty"`
}

PhysicalInterface represents an interface.

type PhysicalInterfaceCollection

type PhysicalInterfaceCollection struct {
	RangeInfo RangeInfo            `json:"rangeInfo"`
	Items     []*PhysicalInterface `json:"items"`
	Kind      string               `json:"kind"`
	SelfLink  string               `json:"selfLink"`
}

PhysicalInterfaceCollection represents a collection of physical interfaces.

type RangeInfo

type RangeInfo struct {
	Offset int `json:"offset"`
	Limit  int `json:"limit"`
	Total  int `json:"total"`
}

RangeInfo common data type amongst object types

type RoutingObject

type RoutingObject struct {
	DistanceMetric int            `json:"distanceMetric"`
	Gateway        *AddressObject `json:"gateway"`
	Interface      struct {
		Name     string `json:"name"`
		Kind     string `json:"kind"`
		ObjectID string `json:"objectId,omitempty"`
	} `json:"interface"`
	Network  *AddressObject `json:"network"`
	Tracked  bool           `json:"tracked,omitempty"`
	Tunneled bool           `json:"tunneled,omitempty"`
	Kind     string         `json:"kind"`
	ObjectID string         `json:"objectId,omitempty"`
	SelfLink string         `json:"selfLink,omitempty"`
}

RoutingObject represents a routing object.

type RoutingObjectCollection

type RoutingObjectCollection struct {
	RangeInfo RangeInfo        `json:"rangeInfo"`
	Items     []*RoutingObject `json:"items"`
	Kind      string           `json:"kind"`
	SelfLink  string           `json:"selfLink"`
}

RoutingObjectCollection represents a collection of routing objects.

type RuleLogging

type RuleLogging struct {
	LogStatus   string `json:"logStatus,omitempty"`
	LogInterval int    `json:"logInterval,omitempty"`
}

RuleLogging represents the rule logging settings

type ServiceObject

type ServiceObject struct {
	Value    string `json:"value,omitempty"`
	Kind     string `json:"kind"`
	ObjectID string `json:"objectId,omitempty"`
	Reflink  string `json:"refLink,omitempty"`
}

ServiceObject represents an service object.

func (*ServiceObject) String

func (o *ServiceObject) String() string

String returns the numerical description of the service.

type SlaTracking added in v0.2.4

type SlaTracking struct {
	SlaId                   int    `json:"slaId"`
	TrackedIP               string `json:"trackedIP"`
	FrequencyInSeconds      int    `json:"frequencyInSeconds"`
	DataSizeInBytes         int    `json:"dataSizeInBytes"`
	ThresholdInMilliseconds int    `json:"thresholdInMilliseconds"`
	ToS                     int    `json:"ToS"`
	TimeoutInMilliseconds   int    `json:"timeoutInMilliseconds"`
	NumPackets              int    `json:"numPackets"`
}

SlaTracking represents an SlaTracking Settings.

type SmartLicenseConfig added in v0.2.4

type SmartLicenseConfig struct {
	Kind             string `json:"kind,omitempty"`
	LicenseServerURL string `json:"licenseServerURL"`
	TransportURL     bool   `json:"transportURL"`
	PrivacyHostName  bool   `json:"privacyHostName"`
	PrivacyVersion   bool   `json:"privacyVersion"`
	Throughput       string `json:"throughput,omitempty"`
	FeatureTier      string `json:"featureTier,omitempty"`
}

type TRValue added in v0.2.4

type TRValue struct {
	Start    string      `json:"start"`
	End      string      `json:"end"`
	Periodic []*Periodic `json:"periodic"`
}

type TimeRange added in v0.2.4

type TimeRange struct {
	Name     string   `json:"name,omitempty"`
	Value    *TRValue `json:"value,omitempty"`
	Kind     string   `json:"kind"`
	ObjectID string   `json:"objectId,omitempty"`
	SelfLink string   `json:"selfLink,omitempty"`
}

TimeRange represents a time range.

type TimeRangeCollection added in v0.2.4

type TimeRangeCollection struct {
	RangeInfo RangeInfo    `json:"rangeInfo"`
	Items     []*TimeRange `json:"items"`
	Kind      string       `json:"kind"`
	SelfLink  string       `json:"selfLink"`
}

TimeRangeCollection represents a collection of time ranges.

type TranslatedOriginalInterface added in v0.2.4

type TranslatedOriginalInterface struct {
	Kind string `json:"kind"`
	Name string `json:"name"`
}

func (*TranslatedOriginalInterface) UnmarshalJSON added in v0.2.4

func (iface *TranslatedOriginalInterface) UnmarshalJSON(b []byte) error

type TranslatedOriginalObj added in v0.2.4

type TranslatedOriginalObj struct {
	Kind     string `json:"kind"`
	ObjectId string `json:"objectId,omitempty"`
	Value    string `json:"value,omitempty"`
}

func (*TranslatedOriginalObj) UnmarshalJSON added in v0.2.4

func (translated *TranslatedOriginalObj) UnmarshalJSON(b []byte) error

type UpdateExtendedACLACEOptions added in v0.2.0

type UpdateExtendedACLACEOptions struct {
	Active      bool
	Dst         string
	DstService  string
	Permit      bool
	Remarks     []string
	Position    int
	RuleLogging *RuleLogging
	Src         string
	SrcService  string
}

type VlanInterface

type VlanInterface struct {
	HardwareID        string     `json:"hardwareID"`
	InterfaceDesc     string     `json:"interfaceDesc"`
	ForwardTrafficCX  bool       `json:"forwardTrafficCX"`
	ForwardTrafficSFR bool       `json:"forwardTrafficSFR"`
	ActiveMacAddress  string     `json:"activeMacAddress"`
	StandByMacAddress string     `json:"standByMacAddress"`
	ManagementOnly    bool       `json:"managementOnly"`
	Mtu               int        `json:"mtu"`
	Name              string     `json:"name"`
	SecurityLevel     int        `json:"securityLevel"`
	Shutdown          bool       `json:"shutdown"`
	VlanID            int        `json:"vlanID"`
	IPAddress         *IPAddress `json:"ipAddress,omitempty"`
	Ipv6Info          *IPv6Info  `json:"ipv6Info,omitempty"`
	Kind              string     `json:"kind"`
	ObjectID          string     `json:"objectId,omitempty"`
	SelfLink          string     `json:"selfLink,omitempty"`
}

VlanInterface represents an vlan interface.

type VlanInterfaceCollection

type VlanInterfaceCollection struct {
	RangeInfo RangeInfo        `json:"rangeInfo"`
	Items     []*VlanInterface `json:"items"`
	Kind      string           `json:"kind"`
	SelfLink  string           `json:"selfLink"`
}

VlanInterfaceCollection represents a collection of vlan interfaces.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL