Documentation
¶
Index ¶
- type AddPolicyResp
- type AddressGroupOptions
- type AddressGroupReq
- type AddressGroupReqData
- type AddressGroupReqParams
- type AddressGroupResp
- type AddressGroupRespData
- type AddressGroupRespResult
- type AddressOptions
- type Client
- func (fm *Client) Commit(adom string) error
- func (fm *Client) CreateAddressGroup(adom, name string, members []string, comment string, ...) error
- func (fm *Client) CreatePolicy(pkg, adom, comment string, srcs, dsts, services []string, ...) (int, error)
- func (fm *Client) CreateService(adom, name, protocol string, minPort, maxPort int, comment string, ...) error
- func (fm *Client) CreateSubnetAddress(adom, name, subnet, netmask, comment string, opts ...AddressOptions) error
- func (fm *Client) DeleteAddress(adom, addressName string) error
- func (fm *Client) DeleteAddressGroup(adom, groupName string) error
- func (fm *Client) DeleteFromPolicy(id int, objects []string, role, vdom, device, adom string) error
- func (fm *Client) DeletePolicy(adom, pkg string, id int) error
- func (fm *Client) DeleteService(adom, serviceName string) error
- func (fm *Client) DisablePolicies(ids []int, vdom, device, adom string) error
- func (fm *Client) DisablePolicy(adom, pkg string, id int) error
- func (fm *Client) GetAddressByMetafield(adom, key string, value interface{}) (*GetAddressData, error)
- func (fm *Client) GetAddressByName(adom, objectName string) (*GetAddressData, error)
- func (fm *Client) GetAddressByNameIPAndNetmask(adom, objectName, ip, netmask string) (*GetAddressData, error)
- func (fm *Client) GetAddressGroupByMetafield(adom, key string, value interface{}) (*GetAddressGroupData, error)
- func (fm *Client) GetAddressGroupByName(adom, groupName string) (*GetAddressGroupData, error)
- func (fm *Client) GetAddressGroupsByMetafield(adom, key string, values []interface{}) ([]GetAddressGroupData, error)
- func (fm *Client) GetAddressGroupsByName(groupNames []string, adom string) ([]GetAddressGroupData, error)
- func (fm *Client) GetAddressesByMetafield(adom, key string, values []interface{}) ([]GetAddressData, error)
- func (fm *Client) GetAddressesByName(objectNames []string, adom string) ([]GetAddressData, error)
- func (fm *Client) GetObjectsByMetafield(adom, metafieldName string, metafieldValues []interface{}) (*ObjectsByMetafieldResult, error)
- func (fm *Client) GetPoliciesByID(pkg, adom string, ids []int) ([]GetPolicyData, error)
- func (fm *Client) GetPoliciesByMetafield(adom, pkg, key string, values []interface{}) ([]GetPolicyData, error)
- func (fm *Client) GetPolicyByMetafield(adom, pkg, key string, value interface{}) (*GetPolicyData, error)
- func (fm *Client) GetServiceByMetafield(adom, key string, value interface{}) (*GetServiceData, error)
- func (fm *Client) GetServiceByNamePortAndProtocol(adom, name, protocol string, minPort, maxPort int) (*GetServiceData, error)
- func (fm *Client) GetServicesByMetafield(adom, key string, values []interface{}) ([]GetServiceData, error)
- func (fm *Client) GetServicesByName(serviceNames []string, adom string) ([]GetServiceData, error)
- func (fm *Client) Lock(adom string) error
- func (fm *Client) Login() error
- func (fm *Client) Logout() error
- func (fm *Client) Unlock(adom string) error
- func (fm *Client) UpdateAddressGroupWithMetafields(adom, name string, metafields map[string]interface{}) error
- func (fm *Client) UpdateServiceWithMetafields(adom, name string, metafields map[string]interface{}) error
- func (fm *Client) UpdateSubnetAddressWithMetafields(adom, name string, metafields map[string]interface{}) error
- type ClientOptions
- type CommitParams
- type CommitReq
- type CommitResp
- type CreatePolicyParams
- type CreatePolicyReq
- type CreatePolicyReqData
- type CreatePolicyRespData
- type CreatePolicyResult
- type DeleteFromParams
- type DeleteFromReq
- type DeleteResourceReq
- type DeleteResp
- type DisableParams
- type DisableReq
- type DisableReqData
- type DisableResp
- type DisableRespData
- type DisableResult
- type GetAddressData
- type GetAddressGroupData
- type GetAddressGroupResp
- type GetAddressGroupResult
- type GetAddressGroupsParams
- type GetAddressGroupsReq
- type GetAddressGroupsResp
- type GetAddressGroupsResult
- type GetAddressResp
- type GetAddressResult
- type GetAddressesReq
- type GetAddressesResp
- type GetAddressesResult
- type GetObjectsParams
- type GetObjectsReq
- type GetObjectsResp
- type GetObjectsResult
- type GetPoliciesParams
- type GetPoliciesReq
- type GetPoliciesResp
- type GetPoliciesResult
- type GetPolicyData
- type GetPolicyResp
- type GetPolicyResult
- type GetServiceData
- type GetServiceResp
- type GetServiceResult
- type GetServicesParams
- type GetServicesReq
- type GetServicesResp
- type GetServicesResult
- type LockReq
- type LockResp
- type LoginData
- type LoginParams
- type LoginRequest
- type LoginResp
- type LogoutParams
- type LogoutReq
- type LogoutResp
- type ObjectsByMetafieldResult
- type PolicyOptions
- type Result
- type ServiceOptions
- type ServiceReq
- type ServiceReqData
- type ServiceReqParams
- type ServiceResp
- type ServiceRespData
- type ServiceRespResult
- type Status
- type SubnetAddressReq
- type SubnetAddressReqData
- type SubnetAddressReqParams
- type SubnetAddressResp
- type SubnetAddressRespData
- type SubnetAddressRespResult
- type UnlockParams
- type UnlockReq
- type UnlockResp
- type UrlParam
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AddPolicyResp ¶
type AddPolicyResp struct {
Result []CreatePolicyResult `json:"result"`
}
type AddressGroupOptions ¶ added in v0.2.1
type AddressGroupOptions func(*AddressGroupReqData)
func WithAddressGroupMetafields ¶ added in v0.2.1
func WithAddressGroupMetafields(metafields map[string]interface{}) AddressGroupOptions
type AddressGroupReq ¶ added in v0.2.1
type AddressGroupReq struct {
Method string `json:"method"`
Params []AddressGroupReqParams `json:"params"`
Session string `json:"session,omitempty" redact:"true"`
}
type AddressGroupReqData ¶ added in v0.2.1
type AddressGroupReqParams ¶ added in v0.2.1
type AddressGroupReqParams struct {
Data []AddressGroupReqData `json:"data"`
Url string `json:"url"`
}
type AddressGroupResp ¶ added in v0.2.1
type AddressGroupResp struct {
Result []AddressGroupRespResult `json:"result"`
}
type AddressGroupRespData ¶ added in v0.2.1
type AddressGroupRespData struct {
Name string `json:"name"`
}
type AddressGroupRespResult ¶ added in v0.2.1
type AddressGroupRespResult struct {
Data AddressGroupRespData `json:"data"`
Status Status `json:"status"`
Url string `json:"url"`
}
type AddressOptions ¶
type AddressOptions func(*SubnetAddressReqData)
func WithAddressMetafields ¶
func WithAddressMetafields(metafields map[string]interface{}) AddressOptions
type Client ¶
type Client struct {
Host string
Key string
User string
Password string
Session string
// contains filtered or unexported fields
}
func NewAPIClient ¶
func NewAPIClient(host, key string, opts ...ClientOptions) *Client
func NewUserClient ¶
func NewUserClient(host, user, password string, opts ...ClientOptions) *Client
func (*Client) CreateAddressGroup ¶ added in v0.2.1
func (*Client) CreatePolicy ¶
func (*Client) CreateService ¶
func (*Client) CreateSubnetAddress ¶
func (fm *Client) CreateSubnetAddress(adom, name, subnet, netmask, comment string, opts ...AddressOptions) error
func (*Client) DeleteAddress ¶ added in v0.2.0
func (*Client) DeleteAddressGroup ¶ added in v0.2.1
func (*Client) DeleteFromPolicy ¶
func (*Client) DeletePolicy ¶ added in v0.2.0
func (*Client) DeleteService ¶ added in v0.2.0
func (*Client) DisablePolicies ¶
func (*Client) GetAddressByMetafield ¶
func (fm *Client) GetAddressByMetafield(adom, key string, value interface{}) (*GetAddressData, error)
func (*Client) GetAddressByName ¶
func (fm *Client) GetAddressByName(adom, objectName string) (*GetAddressData, error)
func (*Client) GetAddressByNameIPAndNetmask ¶
func (fm *Client) GetAddressByNameIPAndNetmask(adom, objectName, ip, netmask string) (*GetAddressData, error)
func (*Client) GetAddressGroupByMetafield ¶ added in v0.2.1
func (fm *Client) GetAddressGroupByMetafield(adom, key string, value interface{}) (*GetAddressGroupData, error)
func (*Client) GetAddressGroupByName ¶ added in v0.2.1
func (fm *Client) GetAddressGroupByName(adom, groupName string) (*GetAddressGroupData, error)
func (*Client) GetAddressGroupsByMetafield ¶ added in v0.2.1
func (fm *Client) GetAddressGroupsByMetafield(adom, key string, values []interface{}) ([]GetAddressGroupData, error)
func (*Client) GetAddressGroupsByName ¶ added in v0.2.1
func (fm *Client) GetAddressGroupsByName(groupNames []string, adom string) ([]GetAddressGroupData, error)
func (*Client) GetAddressesByMetafield ¶
func (fm *Client) GetAddressesByMetafield(adom, key string, values []interface{}) ([]GetAddressData, error)
func (*Client) GetAddressesByName ¶
func (fm *Client) GetAddressesByName(objectNames []string, adom string) ([]GetAddressData, error)
func (*Client) GetObjectsByMetafield ¶ added in v0.2.2
func (fm *Client) GetObjectsByMetafield(adom, metafieldName string, metafieldValues []interface{}) (*ObjectsByMetafieldResult, error)
func (*Client) GetPoliciesByID ¶
func (fm *Client) GetPoliciesByID(pkg, adom string, ids []int) ([]GetPolicyData, error)
func (*Client) GetPoliciesByMetafield ¶
func (fm *Client) GetPoliciesByMetafield(adom, pkg, key string, values []interface{}) ([]GetPolicyData, error)
func (*Client) GetPolicyByMetafield ¶
func (fm *Client) GetPolicyByMetafield(adom, pkg, key string, value interface{}) (*GetPolicyData, error)
func (*Client) GetServiceByMetafield ¶
func (fm *Client) GetServiceByMetafield(adom, key string, value interface{}) (*GetServiceData, error)
func (*Client) GetServiceByNamePortAndProtocol ¶
func (fm *Client) GetServiceByNamePortAndProtocol(adom, name, protocol string, minPort, maxPort int) (*GetServiceData, error)
func (*Client) GetServicesByMetafield ¶
func (fm *Client) GetServicesByMetafield(adom, key string, values []interface{}) ([]GetServiceData, error)
func (*Client) GetServicesByName ¶
func (fm *Client) GetServicesByName(serviceNames []string, adom string) ([]GetServiceData, error)
func (*Client) UpdateAddressGroupWithMetafields ¶ added in v0.2.1
func (*Client) UpdateServiceWithMetafields ¶
type ClientOptions ¶
type ClientOptions func(*Client)
func WithLog ¶
func WithLog(l *slog.Logger) ClientOptions
type CommitParams ¶
type CommitParams struct {
Url string `json:"url"`
}
type CommitReq ¶
type CommitReq struct {
Method string `json:"method"`
Params []CommitParams `json:"params"`
Session string `json:"session,omitempty" redact:"true"`
}
type CommitResp ¶
type CommitResp struct {
Result []Result `json:"result"`
}
type CreatePolicyParams ¶
type CreatePolicyParams struct {
Data CreatePolicyReqData `json:"data"`
Url string `json:"url"`
}
type CreatePolicyReq ¶
type CreatePolicyReq struct {
Method string `json:"method"`
Params []CreatePolicyParams `json:"params"`
Session string `json:"session,omitempty" redact:"true"`
}
type CreatePolicyReqData ¶
type CreatePolicyReqData struct {
Action string `json:"action"`
Srcintf []string `json:"srcintf"`
Dstinft []string `json:"dstintf"`
Srcaddr []string `json:"srcaddr"`
Dstaddr []string `json:"dstaddr"`
Service []string `json:"service"`
Status string `json:"status"`
Schedule string `json:"schedule"`
Logtraffic string `json:"logtraffic"`
Metafields map[string]interface{} `json:"meta fields,omitempty"`
Comments string `json:"comments"`
}
type CreatePolicyRespData ¶
type CreatePolicyRespData struct {
PolicyID int `json:"policyid"`
}
type CreatePolicyResult ¶
type CreatePolicyResult struct {
Data CreatePolicyRespData `json:"data"`
Status Status `json:"status"`
Url string `json:"url"`
}
type DeleteFromParams ¶ added in v0.2.1
type DeleteFromReq ¶ added in v0.2.1
type DeleteFromReq struct {
Method string `json:"method"`
Params DeleteFromParams `json:"params"`
Session string `json:"session,omitempty" redact:"true"`
}
type DeleteResourceReq ¶ added in v0.2.1
type DeleteResp ¶
type DeleteResp struct {
Result []Result `json:"result"`
}
type DisableParams ¶
type DisableParams struct {
Data DisableReqData `json:"data"`
Url string `json:"url"`
}
type DisableReq ¶
type DisableReq struct {
Method string `json:"method"`
Params []DisableParams `json:"params"`
Session string `json:"session,omitempty" redact:"true"`
}
type DisableReqData ¶
type DisableReqData struct {
Status string `json:"status"`
}
type DisableResp ¶
type DisableResp struct {
Result []DisableResult `json:"result"`
}
type DisableRespData ¶
type DisableRespData struct {
PolicyID int `json:"policyid"`
}
type DisableResult ¶
type DisableResult struct {
Data DisableRespData `json:"data"`
Status Status `json:"status"`
Url string `json:"url"`
}
type GetAddressData ¶
type GetAddressGroupData ¶ added in v0.2.1
type GetAddressGroupResp ¶ added in v0.2.1
type GetAddressGroupResp struct {
Result []GetAddressGroupResult `json:"result,omitempty"`
}
type GetAddressGroupResult ¶ added in v0.2.1
type GetAddressGroupResult struct {
Data GetAddressGroupData `json:"data,omitempty"`
Status Status `json:"status,omitempty"`
Url string `json:"url,omitempty"`
}
type GetAddressGroupsParams ¶ added in v0.2.1
type GetAddressGroupsReq ¶ added in v0.2.1
type GetAddressGroupsReq struct {
Method string `json:"method"`
Params []GetAddressGroupsParams `json:"params"`
Session string `json:"session,omitempty" redact:"true"`
Verbose int `json:"verbose,omitempty"`
}
type GetAddressGroupsResp ¶ added in v0.2.1
type GetAddressGroupsResp struct {
Result []GetAddressGroupsResult `json:"result,omitempty"`
}
type GetAddressGroupsResult ¶ added in v0.2.1
type GetAddressGroupsResult struct {
Data []GetAddressGroupData `json:"data,omitempty"`
Status Status `json:"status,omitempty"`
Url string `json:"url,omitempty"`
}
type GetAddressResp ¶
type GetAddressResp struct {
Result []GetAddressResult `json:"result,omitempty"`
}
type GetAddressResult ¶
type GetAddressResult struct {
Data GetAddressData `json:"data,omitempty"`
Status Status `json:"status,omitempty"`
Url string `json:"url,omitempty"`
}
type GetAddressesReq ¶
type GetAddressesReq struct {
Method string `json:"method"`
Params []GetObjectsParams `json:"params"`
Session string `json:"session,omitempty" redact:"true"`
Verbose int `json:"verbose,omitempty"`
}
type GetAddressesResp ¶
type GetAddressesResp struct {
Result []GetAddressesResult `json:"result,omitempty"`
}
type GetAddressesResult ¶
type GetAddressesResult struct {
Data []GetAddressData `json:"data,omitempty"`
Status Status `json:"status,omitempty"`
Url string `json:"url,omitempty"`
}
type GetObjectsParams ¶ added in v0.2.2
type GetObjectsReq ¶ added in v0.2.2
type GetObjectsReq struct {
Method string `json:"method"`
Params []GetObjectsParams `json:"params"`
Session string `json:"session,omitempty" redact:"true"`
Verbose int `json:"verbose,omitempty"`
}
type GetObjectsResp ¶ added in v0.2.2
type GetObjectsResp struct {
Result []GetObjectsResult `json:"result,omitempty"`
}
type GetObjectsResult ¶ added in v0.2.2
type GetObjectsResult struct {
Data json.RawMessage `json:"data,omitempty"`
Status Status `json:"status,omitempty"`
Url string `json:"url,omitempty"`
}
type GetPoliciesParams ¶
type GetPoliciesReq ¶
type GetPoliciesReq struct {
Method string `json:"method"`
Params []GetPoliciesParams `json:"params"`
Session string `json:"session,omitempty" redact:"true"`
Verbose int `json:"verbose,omitempty"`
}
type GetPoliciesResp ¶
type GetPoliciesResp struct {
Result []GetPoliciesResult `json:"result"`
}
type GetPoliciesResult ¶
type GetPoliciesResult struct {
Data []GetPolicyData `json:"data"`
Status Status `json:"status"`
Url string `json:"url"`
}
type GetPolicyData ¶
type GetPolicyData struct {
Action string `json:"action"`
Srcaddr []string `json:"srcaddr"`
Dstaddr []string `json:"dstaddr"`
Objseq int `json:"obj seq"`
//Oid int `json:"oid"`
PolicyID int `json:"policyid"`
Service []string `json:"service"`
Status string `json:"status"`
Metafields map[string]interface{} `json:"meta fields"`
}
type GetPolicyResp ¶
type GetPolicyResp struct {
Result []GetPolicyResult `json:"result"`
}
type GetPolicyResult ¶
type GetPolicyResult struct {
Data GetPolicyData `json:"data"`
Status Status `json:"status"`
Url string `json:"url"`
}
type GetServiceData ¶
type GetServiceData struct {
Name string `json:"name"`
ObjSeq int `json:"obj seq"`
Oid int `json:"oid"`
Protocol string `json:"protocol,omitempty"`
TCPPortRange []string `json:"tcp-portrange"`
UDPPortRange []string `json:"udp-portrange"`
Metafields map[string]interface{} `json:"meta fields,omitempty"`
}
type GetServiceResp ¶
type GetServiceResp struct {
Result []GetServiceResult `json:"result"`
}
type GetServiceResult ¶
type GetServiceResult struct {
Data GetServiceData `json:"data"`
Status Status `json:"status"`
Url string `json:"url"`
}
type GetServicesParams ¶
type GetServicesReq ¶
type GetServicesReq struct {
Method string `json:"method"`
Params []GetServicesParams `json:"params"`
Session string `json:"session,omitempty" redact:"true"`
Verbose int `json:"verbose,omitempty"`
}
type GetServicesResp ¶
type GetServicesResp struct {
Result []GetServicesResult `json:"result,omitempty"`
}
type GetServicesResult ¶
type GetServicesResult struct {
Data []GetServiceData `json:"data,omitempty"`
Status Status `json:"status,omitempty"`
Url string `json:"url,omitempty"`
}
type LoginParams ¶
type LoginRequest ¶
type LoginRequest struct {
Method string `json:"method"`
Params []LoginParams `json:"params"`
}
type LogoutParams ¶
type LogoutParams struct {
Url string `json:"url"`
}
type LogoutReq ¶
type LogoutReq struct {
Method string `json:"method"`
Params []LogoutParams `json:"params"`
Session string `json:"session,omitempty" redact:"true"`
}
type LogoutResp ¶
type ObjectsByMetafieldResult ¶ added in v0.2.2
type ObjectsByMetafieldResult struct {
AddrGrp []GetAddressGroupData
Address []GetAddressData
Service []GetServiceData
}
type PolicyOptions ¶
type PolicyOptions func(*CreatePolicyReqData)
func WithMetafields ¶
func WithMetafields(metafields map[string]interface{}) PolicyOptions
type ServiceOptions ¶
type ServiceOptions func(*ServiceReqData)
func WithServiceMetafields ¶
func WithServiceMetafields(metafields map[string]interface{}) ServiceOptions
type ServiceReq ¶
type ServiceReq struct {
Method string `json:"method"`
Params []ServiceReqParams `json:"params"`
Session string `json:"session,omitempty" redact:"true"`
}
type ServiceReqData ¶
type ServiceReqData struct {
Name string `json:"name"`
Protocol string `json:"protocol,omitempty"`
TCPPortRange []string `json:"tcp-portrange,omitempty"`
UDPPortRange []string `json:"udp-portrange,omitempty"`
Comment string `json:"comment,omitempty"`
Metafields map[string]interface{} `json:"meta fields,omitempty"`
}
type ServiceReqParams ¶
type ServiceReqParams struct {
Data []ServiceReqData `json:"data"`
Url string `json:"url"`
}
type ServiceResp ¶
type ServiceResp struct {
Result []ServiceRespResult `json:"result"`
}
type ServiceRespData ¶
type ServiceRespData struct {
Name string `json:"name"`
}
type ServiceRespResult ¶
type ServiceRespResult struct {
Data ServiceRespData `json:"data"`
Status Status `json:"status"`
Url string `json:"url"`
}
type SubnetAddressReq ¶
type SubnetAddressReq struct {
Method string `json:"method"`
Params []SubnetAddressReqParams `json:"params"`
Session string `json:"session,omitempty" redact:"true"`
}
type SubnetAddressReqData ¶
type SubnetAddressReqParams ¶
type SubnetAddressReqParams struct {
Data []SubnetAddressReqData `json:"data"`
Url string `json:"url"`
}
type SubnetAddressResp ¶
type SubnetAddressResp struct {
Result []SubnetAddressRespResult `json:"result"`
}
type SubnetAddressRespData ¶
type SubnetAddressRespData struct {
Name string `json:"name"`
}
type SubnetAddressRespResult ¶
type SubnetAddressRespResult struct {
Status Status `json:"status"`
Url string `json:"url"`
Data SubnetAddressRespData `json:"data"`
}
type UnlockParams ¶
type UnlockParams struct {
Url string `json:"url"`
}
type UnlockReq ¶
type UnlockReq struct {
Method string `json:"method"`
Params []UnlockParams `json:"params"`
Session string `json:"session,omitempty" redact:"true"`
}
type UnlockResp ¶
type UnlockResp struct {
Result []Result `json:"result"`
}
Click to show internal directories.
Click to hide internal directories.