client

package
v0.0.0-...-adfbed1 Latest Latest
Warning

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

Go to latest
Published: Feb 13, 2024 License: MPL-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const IPNetworksEndpoint = "v1/ip_networks"
View Source
const ProxyPortRangeEndpoint = "v1/proxy_port_ranges"
View Source
const TimeFramesEndpoint = "v1/time_frames"
View Source
const UsersEndpoint = "v1/users"

Variables

This section is empty.

Functions

func AddUsersToGroup

func AddUsersToGroup(ctx context.Context, c *Client, gID string, users []string) error

func AliasExists

func AliasExists(ctx context.Context, c *Client, neID, alias string) (bool, error)

func AssignAlias

func AssignAlias(ctx context.Context, c *Client, entityID, alias string) error

func AssignRolesToGroup

func AssignRolesToGroup(ctx context.Context, c *Client, gID string, roles []string) ([]string, error)

func AssignRolesToUser

func AssignRolesToUser(ctx context.Context, c *Client, uID string, roles []string) ([]string, error)

func AssignTagsToResource

func AssignTagsToResource(ctx context.Context, c *Client, rID, rName string, tags []Tag) error

func ConfigToStringSlice

func ConfigToStringSlice(key string, d *schema.ResourceData) []string

func Contains

func Contains(v string, a []string) bool

func ConvertTagsListToMap

func ConvertTagsListToMap(tags []Tag) map[string]string

func DeleteAlias

func DeleteAlias(ctx context.Context, c *Client, entityID, alias string) error

func DeleteMappedDomain

func DeleteMappedDomain(ctx context.Context, c *Client, neID, name string) error

func DeleteMappedHost

func DeleteMappedHost(ctx context.Context, c *Client, neID, name string) error

func DeletePacFileContent

func DeletePacFileContent(ctx context.Context, c *Client, pfID string) error

func GetPacFileContent

func GetPacFileContent(ctx context.Context, c *Client, pfID string) (*string, error)

func MapResponseToResource

func MapResponseToResource(r interface{}, d *schema.ResourceData, excludedKeys []string) error

func MarshalAppProtocol

func MarshalAppProtocol(protocol string, saml *AppSaml, oidc *AppOidc) ([]byte, []byte, error)

func NewAppMappedAttr

func NewAppMappedAttr(d *schema.ResourceData) *[]AppMappedAttributes

func ParseAacSuspiciousLoginBoolToStr

func ParseAacSuspiciousLoginBoolToStr(aac_rule *AacRule) string

func PatchPacFileManagedContent

func PatchPacFileManagedContent(ctx context.Context, c *Client, pfID string, mc *ManagedContent) error

func PutPacFileContent

func PutPacFileContent(ctx context.Context, c *Client, pfID, pfContent string) error

func RemoveUsersFromGroup

func RemoveUsersFromGroup(ctx context.Context, c *Client, gID string, users []string) error

func ResourceTypeSetToStringSlice

func ResourceTypeSetToStringSlice(s *schema.Set) []string

func RetryPolicy

func RetryPolicy(ctx context.Context, resp *http.Response, err error) (bool, error)

RetryPolicy is a callback for Client.CheckRetry, which will status codes 409, 502, 504.

func UpdateEasylinkProxy

func UpdateEasylinkProxy(ctx context.Context, c *Client, eID string, p *Proxy) error

func UpdateEasylinkRdp

func UpdateEasylinkRdp(ctx context.Context, c *Client, eID string, r *Rdp) error

Types

type AacRule

type AacRule struct {
	ID                   string    `json:"id,omitempty"`
	Name                 string    `json:"name,omitempty"`
	Description          *string   `json:"description"`
	Enabled              bool      `json:"enabled"`
	Priority             int       `json:"priority,omitempty"`
	Action               string    `json:"action,omitempty"`
	AppIds               []string  `json:"app_ids,omitempty"`
	ApplyAllApps         bool      `json:"apply_all_apps"`
	Sources              []string  `json:"sources,omitempty"`
	ExemptSources        []string  `json:"exempt_sources,omitempty"`
	SuspiciousLogin      *bool     `json:"suspicious_login"`
	FilterExpression     *string   `json:"filter_expression"`
	Networks             []string  `json:"networks,omitempty"`
	Locations            *[]string `json:"locations"`
	IpReputations        *[]string `json:"ip_reputations"`
	CertificateId        *string   `json:"certificate_id"`
	NotificationChannels []string  `json:"notification_channels,omitempty"`
}

func CreateAacRule

func CreateAacRule(ctx context.Context, c *Client, aac_rule *AacRule) (*AacRule, error)

func DeleteAacRule

func DeleteAacRule(ctx context.Context, c *Client, arlID string) (*AacRule, error)

func GetAacRule

func GetAacRule(ctx context.Context, c *Client, arlID string) (*AacRule, error)

func NewAacRule

func NewAacRule(d *schema.ResourceData) *AacRule

func UpdateAacRule

func UpdateAacRule(ctx context.Context, c *Client, arlID string, aac_rule *AacRule) (*AacRule, error)

type AccessBridge

type AccessBridge struct {
	ID                   string      `json:"id,omitempty"`
	Name                 string      `json:"name,omitempty"`
	Description          string      `json:"description"`
	Enabled              bool        `json:"enabled"`
	SiemConfig           *SiemConfig `json:"siem_config,omitempty"`
	NotificationChannels []string    `json:"notification_channels"`
	Status               string      `json:"status,omitempty"`
	StatusDescription    string      `json:"status_description,omitempty"`
	Type                 string      `json:"type,omitempty"`
}

func CreateAccessBridge

func CreateAccessBridge(ctx context.Context, c *Client, e *AccessBridge) (*AccessBridge, error)

func DeleteAccessBridge

func DeleteAccessBridge(ctx context.Context, c *Client, mID string) (*AccessBridge, error)

func GetAccessBridge

func GetAccessBridge(ctx context.Context, c *Client, eID string) (*AccessBridge, error)

func NewAccessBridge

func NewAccessBridge(d *schema.ResourceData) *AccessBridge

func UpdateAccessBridge

func UpdateAccessBridge(ctx context.Context, c *Client, eID string, e *AccessBridge) (*AccessBridge, error)

type AccessControl

type AccessControl struct {
	ID              string   `json:"id,omitempty"`
	Name            string   `json:"name,omitempty"`
	Description     string   `json:"description"`
	Enabled         bool     `json:"enabled"`
	ApplyToOrg      bool     `json:"apply_to_org"`
	ApplyToEntities []string `json:"apply_to_entities"`
	ExemptEntities  []string `json:"exempt_entities"`
	AllowedRoutes   []string `json:"allowed_routes"`
}

func CreateAccessControl

func CreateAccessControl(ctx context.Context, c *Client, e *AccessControl) (*AccessControl, error)

func DeleteAccessControl

func DeleteAccessControl(ctx context.Context, c *Client, mID string) (*AccessControl, error)

func GetAccessControl

func GetAccessControl(ctx context.Context, c *Client, eID string) (*AccessControl, error)

func NewAccessControl

func NewAccessControl(d *schema.ResourceData) *AccessControl

func UpdateAccessControl

func UpdateAccessControl(ctx context.Context, c *Client, eID string, e *AccessControl) (*AccessControl, error)

type Alert

type Alert struct {
	ID                 string              `json:"id,omitempty"`
	Name               string              `json:"name,omitempty"`
	Description        string              `json:"description"`
	Channels           []string            `json:"channels"`
	Enabled            bool                `json:"enabled"`
	GroupBy            *string             `json:"group_by"`
	NotifyMessage      string              `json:"notify_message"`
	QueryText          string              `json:"query_text"`
	SourceType         string              `json:"source_type"`
	SpikeCondition     *SpikeCondition     `json:"spike_condition,omitempty"`
	ThresholdCondition *ThresholdCondition `json:"threshold_condition,omitempty"`
	Type               string              `json:"type,omitempty"`
	Window             int                 `json:"window"`
}

func CreateAlert

func CreateAlert(ctx context.Context, c *Client, a *Alert) (*Alert, error)

func DeleteAlert

func DeleteAlert(ctx context.Context, c *Client, aID string) (*Alert, error)

func GetAlert

func GetAlert(ctx context.Context, c *Client, aID string) (*Alert, error)

func NewAlert

func NewAlert(d *schema.ResourceData) *Alert

func UpdateAlert

func UpdateAlert(ctx context.Context, c *Client, aID string, a *Alert) (*Alert, error)

type App

type App struct {
	ID               string                `json:"id,omitempty"`
	Name             string                `json:"name,omitempty"`
	Description      *string               `json:"description"`
	Enabled          bool                  `json:"enabled"`
	Visible          bool                  `json:"visible"`
	AssignedMembers  []string              `json:"assigned_members"`
	IpWhitelist      *[]string             `json:"ip_whitelist"`
	DirectSsoLogin   *string               `json:"direct_sso_login"`
	Protocol         string                `json:"protocol,omitempty"`
	Saml             *AppSaml              `json:"saml,omitempty"`
	Oidc             *AppOidc              `json:"oidc,omitempty"`
	MappedAttributes []AppMappedAttributes `json:"mapped_attributes,omitempty"`
	DomainFederation *AppDomainFederation  `json:"domain_federation,omitempty"`
}

func CreateApp

func CreateApp(ctx context.Context, c *Client, app *App, saml *AppSaml, oidc *AppOidc,
	mappedAttrs *[]AppMappedAttributes, domainFed *AppDomainFederation) (*App, error)

func DeleteApp

func DeleteApp(ctx context.Context, c *Client, appID string) (*App, error)

func GetApp

func GetApp(ctx context.Context, c *Client, appID string, protocol string) (*App, error)

func NewApp

func NewApp(d *schema.ResourceData) *App

func UpdateApp

func UpdateApp(ctx context.Context, c *Client, appID string, app *App, saml *AppSaml, oidc *AppOidc,
	mappedAttrs *[]AppMappedAttributes, domainFed *AppDomainFederation) (*App, error)

func UpdateAppProto

func UpdateAppProto(ctx context.Context, c *Client, app *App, saml []byte, oidc []byte,
	delete_on_failure bool) (*App, error)

type AppDomainFederation

type AppDomainFederation struct {
	Domain string `json:"domain"`
}

func NewAppDomainFederation

func NewAppDomainFederation(protocol string, d *schema.ResourceData) (*AppDomainFederation, error)

func UpdateAppDomainFederation

func UpdateAppDomainFederation(ctx context.Context, c *Client, app_id string,
	domainFed []byte) (*AppDomainFederation, error)

type AppMappedAttributes

type AppMappedAttributes struct {
	AttributeFormat    *string `json:"attribute_format,omitempty"`
	VariableName       string  `json:"variable_name,omitempty"`
	TargetVariableName *string `json:"target_variable_name"`
	FilterType         *string `json:"filter_type"`
	FilterValue        *string `json:"filter_value"`
}

func UpdateAppMappedAttrs

func UpdateAppMappedAttrs(ctx context.Context, c *Client, app_id string,
	mappedAttrs []byte) ([]AppMappedAttributes, error)

type AppOidc

type AppOidc struct {
	SignInRedirectUrls  []string `json:"sign_in_redirect_urls,omitempty"`
	GrantTypes          []string `json:"grant_types,omitempty"`
	Scopes              []string `json:"scopes,omitempty"`
	InitiateLoginUrl    *string  `json:"initiate_login_url"`
	AccessTokenLifetime int      `json:"access_token_lifetime,omitempty"`
	IdTokenLifetime     int      `json:"id_token_lifetime,omitempty"`
}

func NewAppOidc

func NewAppOidc(d *schema.ResourceData) *AppOidc

type AppSaml

type AppSaml struct {
	AudienceUri            string `json:"audience_uri,omitempty"`
	Recipient              string `json:"recipient,omitempty"`
	Destination            string `json:"destination,omitempty"`
	SsoAcsUrl              string `json:"sso_acs_url,omitempty"`
	SubjectNameIdAttribute string `json:"subject_name_id_attribute,omitempty"`
	SubjectNameIdFormat    string `json:"subject_name_id_format,omitempty"`
	SignatureAlgorithm     string `json:"signature_algorithm,omitempty"`
	DigestAlgorithm        string `json:"digest_algorithm,omitempty"`
	DefaultRelayState      string `json:"default_relay_state,omitempty"`
	X509Cert               string `json:"x509_cert,omitempty"`
	IdpIssuer              string `json:"idp_issuer,omitempty"`
	IdpSsoUrl              string `json:"idp_sso_url,omitempty"`
	AuthnContextClass      string `json:"authn_context_class,omitempty"`
}

func NewAppSaml

func NewAppSaml(d *schema.ResourceData) *AppSaml

type Attributes

type Attributes struct {
	TenantAwarenessData TenantAwarenessData `json:"tenant_awareness_data"`
}

type Auth

type Auth struct {
	Oauth2Config Oauth2Config `json:"oauth2_config"`
}

type CatalogApp

type CatalogApp struct {
	ID         string     `json:"id"`
	Name       string     `json:"name"`
	Category   string     `json:"category"`
	Risk       int        `json:"risk"`
	Urls       []string   `json:"urls"`
	Vendor     string     `json:"vendor"`
	Verified   bool       `json:"verified"`
	Attributes Attributes `json:"attributes"`
}

func GetCatalogAppByID

func GetCatalogAppByID(ctx context.Context, c *Client, caId string) (*CatalogApp, error)

func GetCatalogAppByName

func GetCatalogAppByName(ctx context.Context, c *Client, name, category string) (*CatalogApp, error)

type Certificate

type Certificate struct {
	ID                string   `json:"id,omitempty"`
	Name              string   `json:"name,omitempty"`
	Description       string   `json:"description"`
	Sans              []string `json:"sans,omitempty"`
	SerialNumber      string   `json:"serial_number,omitempty"`
	Status            string   `json:"status,omitempty"`
	StatusDescription string   `json:"status_description,omitempty"`
	ValidNotAfter     string   `json:"valid_not_after,omitempty"`
	ValidNotBefore    string   `json:"valid_not_before,omitempty"`
}

func CreateCertificate

func CreateCertificate(ctx context.Context, c *Client, cert *Certificate) (*Certificate, error)

func DeleteCertificate

func DeleteCertificate(ctx context.Context, c *Client, cID string) (*Certificate, error)

func GetCertificate

func GetCertificate(ctx context.Context, c *Client, cID string) (*Certificate, error)

func NewCertificate

func NewCertificate(d *schema.ResourceData) *Certificate

func UpdateCertificate

func UpdateCertificate(ctx context.Context, c *Client, cID string, cert *Certificate) (*Certificate, error)

type Check

type Check struct {
	MinVersion string `json:"min_version,omitempty"`
	Type       string `json:"type"`
}

type Client

type Client struct {
	Credentials       *Credentials
	Token             *Token
	HTTP              *retryablehttp.Client
	BaseURL           string
	TokenCreationTime int64
	UserAgent         string
}

func NewClient

func NewClient(ctx context.Context, d *schema.ResourceData, userAgent string) (*Client, error)

func (*Client) Delete

func (c *Client) Delete(ctx context.Context, url string, queryParams url.Values) ([]byte, error)

func (*Client) Get

func (c *Client) Get(ctx context.Context, url string, queryParams url.Values) ([]byte, error)

func (*Client) GetResource

func (c *Client) GetResource(ctx context.Context, resourceUrl, ID string) ([]byte, error)

func (*Client) Patch

func (c *Client) Patch(ctx context.Context, url string, body []byte) ([]byte, error)

func (*Client) Post

func (c *Client) Post(ctx context.Context, url string, body []byte) ([]byte, error)

func (*Client) Put

func (c *Client) Put(ctx context.Context, url string, body []byte) ([]byte, error)

func (*Client) SendRequest

func (c *Client) SendRequest(r *http.Request) ([]byte, error)

type CloudApp

type CloudApp struct {
	ID          string   `json:"id,omitempty"`
	Name        string   `json:"name,omitempty"`
	Description string   `json:"description"`
	App         string   `json:"app,omitempty"`
	Tenant      string   `json:"tenant,omitempty"`
	TenantType  string   `json:"tenant_type,omitempty"`
	Type        string   `json:"type,omitempty"`
	Urls        []string `json:"urls"`
}

func CreateCloudApp

func CreateCloudApp(ctx context.Context, c *Client, ca *CloudApp) (*CloudApp, error)

func DeleteCloudApp

func DeleteCloudApp(ctx context.Context, c *Client, cID string) (*CloudApp, error)

func GetCloudApp

func GetCloudApp(ctx context.Context, c *Client, cID string) (*CloudApp, error)

func NewCloudApp

func NewCloudApp(d *schema.ResourceData) *CloudApp

func UpdateCloudApp

func UpdateCloudApp(ctx context.Context, c *Client, cID string, ca *CloudApp) (*CloudApp, error)

type Config

type Config struct {
	APIKey       string `json:"api_key"`
	APISecret    string `json:"api_secret"`
	OrgShortname string `json:"org_shortname"`
	Realm        string `json:"realm"`
}

type ContentCategory

type ContentCategory struct {
	ID                      string   `json:"id,omitempty"`
	Name                    string   `json:"name,omitempty"`
	Description             string   `json:"description"`
	ConfidenceLevel         string   `json:"confidence_level"`
	ForbidUncategorizedUrls bool     `json:"forbid_uncategorized_urls"`
	Types                   []string `json:"types"`
	Urls                    []string `json:"urls"`
}

func CreateContentCategory

func CreateContentCategory(ctx context.Context, c *Client, cc *ContentCategory) (*ContentCategory, error)

func DeleteContentCategory

func DeleteContentCategory(ctx context.Context, c *Client, ccId string) (*ContentCategory, error)

func GetContentCategory

func GetContentCategory(ctx context.Context, c *Client, ccId string) (*ContentCategory, error)

func NewContentCategory

func NewContentCategory(d *schema.ResourceData) *ContentCategory

func UpdateContentCategory

func UpdateContentCategory(ctx context.Context, c *Client, ccId string, cc *ContentCategory) (*ContentCategory, error)

type Credentials

type Credentials struct {
	GrantType    string `json:"grant_type"`
	Scope        string `json:"scope"`
	ClientID     string `json:"client_id"`
	ClientSecret string `json:"client_secret"`
	Realm        string `json:"-"`
}

type Criteria

type Criteria struct {
	ExternalIpConfig      *ExternalIpConfig      `json:"external_ip_config,omitempty"`
	ResolvedAddressConfig *ResolvedAddressConfig `json:"resolved_address_config,omitempty"`
	Type                  string                 `json:"type,omitempty"`
}

type Device

type Device struct {
	ID          string   `json:"id,omitempty"`
	Name        string   `json:"name,omitempty"`
	Description string   `json:"description"`
	Enabled     *bool    `json:"enabled,omitempty"`
	OwnerID     string   `json:"owner_id,omitempty"`
	AutoAliases []string `json:"auto_aliases,omitempty"`
	Groups      []string `json:"groups,omitempty"`
	Tags        []Tag    `json:"tags,omitempty"`
	Aliases     []string `json:"aliases,omitempty"`
}

func CreateDevice

func CreateDevice(ctx context.Context, c *Client, dev *Device) (*Device, error)

func DeleteDevice

func DeleteDevice(ctx context.Context, c *Client, deviceID string) (*Device, error)

func GetDevice

func GetDevice(ctx context.Context, c *Client, deviceID string) (*Device, error)

func NewDevice

func NewDevice(d *schema.ResourceData) *Device

func UpdateDevice

func UpdateDevice(ctx context.Context, c *Client, deviceId string, device *Device) (*Device, error)

type DeviceSettings

type DeviceSettings struct {
	ID                        string   `json:"id,omitempty"`
	Name                      string   `json:"name,omitempty"`
	Description               string   `json:"description"`
	Enabled                   bool     `json:"enabled"`
	ApplyOnOrg                bool     `json:"apply_on_org"`
	ApplyToEntities           []string `json:"apply_to_entities"`
	AutoFqdnDomainNames       []string `json:"auto_fqdn_domain_names,omitempty"`
	DirectSso                 *string  `json:"direct_sso,omitempty"`
	OverlayMfaRefreshPeriod   *int     `json:"overlay_mfa_refresh_period,omitempty"`
	OverlayMfaRequired        *bool    `json:"overlay_mfa_required,omitempty"`
	ProtocolSelectionLifetime *int     `json:"protocol_selection_lifetime,omitempty"`
	ProxyAlwaysOn             *bool    `json:"proxy_always_on,omitempty"`
	SearchDomains             []string `json:"search_domains,omitempty"`
	SessionLifetime           *int     `json:"session_lifetime,omitempty"`
	SessionLifetimeGrace      *int     `json:"session_lifetime_grace,omitempty"`
	TunnelMode                *string  `json:"tunnel_mode,omitempty"`
	VpnLoginBrowser           *string  `json:"vpn_login_browser,omitempty"`
	ZtnaAlwaysOn              *bool    `json:"ztna_always_on,omitempty"`
}

func CreateDeviceSettings

func CreateDeviceSettings(ctx context.Context, c *Client, ds *DeviceSettings) (*DeviceSettings, error)

func DeleteDeviceSettings

func DeleteDeviceSettings(ctx context.Context, c *Client, dsID string) (*DeviceSettings, error)

func GetDeviceSettings

func GetDeviceSettings(ctx context.Context, c *Client, dsID string) (*DeviceSettings, error)

func NewDeviceSettings

func NewDeviceSettings(d *schema.ResourceData) *DeviceSettings

func UpdateDeviceSettings

func UpdateDeviceSettings(ctx context.Context, c *Client, dsID string, ds *DeviceSettings) (*DeviceSettings, error)
type EasyLink struct {
	ID              string   `json:"id,omitempty"`
	Name            string   `json:"name,omitempty"`
	Description     string   `json:"description"`
	DomainName      string   `json:"domain_name,omitempty"`
	Viewers         []string `json:"viewers,omitempty"`
	AccessFqdn      string   `json:"access_fqdn,omitempty"`
	AccessType      string   `json:"access_type"`
	MappedElementId *string  `json:"mapped_element_id"`
	CertificateId   string   `json:"certificate_id,omitempty"`
	Audit           bool     `json:"audit"`
	EnableSni       bool     `json:"enable_sni"`
	Port            int      `json:"port"`
	Protocol        string   `json:"protocol,omitempty"`
	RootPath        string   `json:"root_path"`
	Proxy           *Proxy   `json:"proxy,omitempty"`
	Rdp             *Rdp     `json:"rdp,omitempty"`
	Version         int      `json:"version,omitempty"`
}
func CreateEasyLink(ctx context.Context, c *Client, e *EasyLink) (*EasyLink, error)
func DeleteEasyLink(ctx context.Context, c *Client, eID string) (*EasyLink, error)
func GetEasyLink(ctx context.Context, c *Client, eID string) (*EasyLink, error)
func NewEasyLink(d *schema.ResourceData) *EasyLink
func UpdateEasyLink(ctx context.Context, c *Client, eID string, e *EasyLink) (*EasyLink, error)

type EgressRoute

type EgressRoute struct {
	ID            string   `json:"id,omitempty"`
	Name          string   `json:"name,omitempty"`
	Description   string   `json:"description"`
	Destinations  []string `json:"destinations"`
	Enabled       bool     `json:"enabled"`
	ExemptSources []string `json:"exempt_sources"`
	Sources       []string `json:"sources"`
	Via           string   `json:"via"`
}

func CreateEgressRoute

func CreateEgressRoute(ctx context.Context, c *Client, e *EgressRoute) (*EgressRoute, error)

func DeleteEgressRoute

func DeleteEgressRoute(ctx context.Context, c *Client, mID string) (*EgressRoute, error)

func GetEgressRoute

func GetEgressRoute(ctx context.Context, c *Client, eID string) (*EgressRoute, error)

func NewEgressRoute

func NewEgressRoute(d *schema.ResourceData) *EgressRoute

func UpdateEgressRoute

func UpdateEgressRoute(ctx context.Context, c *Client, eID string, e *EgressRoute) (*EgressRoute, error)

type EmailConfig

type EmailConfig struct {
	Recipients []string `json:"recipients"`
}

type EnterpriseDNS

type EnterpriseDNS struct {
	ID            string         `json:"id,omitempty"`
	Name          string         `json:"name,omitempty"`
	Description   string         `json:"description,omitempty"`
	MappedDomains []MappedDomain `json:"mapped_domains,omitempty"`
}

func CreateEnterpriseDNS

func CreateEnterpriseDNS(ctx context.Context, c *Client, ed *EnterpriseDNS) (*EnterpriseDNS, error)

func DeleteEnterpriseDNS

func DeleteEnterpriseDNS(ctx context.Context, c *Client, edID string) (*EnterpriseDNS, error)

func GetEnterpriseDNS

func GetEnterpriseDNS(ctx context.Context, c *Client, edID string) (*EnterpriseDNS, error)

func NewEnterpriseDNS

func NewEnterpriseDNS(d *schema.ResourceData) *EnterpriseDNS

func UpdateEnterpriseDNS

func UpdateEnterpriseDNS(ctx context.Context, c *Client, edID string, ed *EnterpriseDNS) (*EnterpriseDNS, error)

type ErrorResponse

type ErrorResponse struct {
	URL    string
	Method string
	Detail string `json:"detail"`
	Status int    `json:"status"`
	Title  string `json:"title"`
	Type   string `json:"type"`
}

func (*ErrorResponse) Error

func (err *ErrorResponse) Error() string

type ExternalIpConfig

type ExternalIpConfig struct {
	AddressesRanges []string `json:"addresses_ranges"`
}

type FailBack

type FailBack struct {
	Trigger string `json:"trigger"`
}

type FailOver

type FailOver struct {
	Delay     uint8  `json:"delay"`
	Threshold uint8  `json:"threshold"`
	Trigger   string `json:"trigger"`
}

type GoogleConfig

type GoogleConfig struct {
	AllowConsumerAccess  bool     `json:"allow_consumer_access"`
	AllowServiceAccounts bool     `json:"allow_service_accounts"`
	Tenants              []string `json:"tenants"`
}

type GreTunnelConfig

type GreTunnelConfig struct {
	SourceIps []string `json:"source_ips"`
}

type Group

type Group struct {
	ID          string   `json:"id,omitempty"`
	Name        string   `json:"name,omitempty"`
	Description string   `json:"description"`
	Expression  *string  `json:"expression"`
	Roles       []string `json:"roles,omitempty"`
	Users       []string `json:"users,omitempty"`
}

func CreateGroup

func CreateGroup(ctx context.Context, c *Client, g *Group) (*Group, error)

func DeleteGroup

func DeleteGroup(ctx context.Context, c *Client, gID string) (*Group, error)

func GetGroupById

func GetGroupById(ctx context.Context, c *Client, gID string) (*Group, error)

func GetGroupByName

func GetGroupByName(ctx context.Context, c *Client, name string) (*Group, error)

func NewGroup

func NewGroup(d *schema.ResourceData) *Group

func UpdateGroup

func UpdateGroup(ctx context.Context, c *Client, gID string, g *Group) (*Group, error)

type IPNetwork

type IPNetwork struct {
	ID          string   `json:"id,omitempty"`
	Name        string   `json:"name,omitempty"`
	Description string   `json:"description"`
	Cidrs       []string `json:"cidrs"`
}

func CreateIPNetwork

func CreateIPNetwork(ctx context.Context, c *Client, in *IPNetwork) (*IPNetwork, error)

func DeleteIPNetwork

func DeleteIPNetwork(ctx context.Context, c *Client, inId string) (*IPNetwork, error)

func GetIPNetwork

func GetIPNetwork(ctx context.Context, c *Client, inId string) (*IPNetwork, error)

func NewIPNetwork

func NewIPNetwork(d *schema.ResourceData) *IPNetwork

func UpdateIPNetwork

func UpdateIPNetwork(ctx context.Context, c *Client, inId string, in *IPNetwork) (*IPNetwork, error)

type Idp

type Idp struct {
	ID               string         `json:"id,omitempty"`
	Name             string         `json:"name,omitempty"`
	Description      *string        `json:"description"`
	Enabled          bool           `json:"enabled"`
	Hidden           bool           `json:"hidden"`
	Icon             *string        `json:"icon"`
	MappedAttributes *[]string      `json:"mapped_attributes"`
	SamlConfig       *IdpSamlConfig `json:"saml_config,omitempty"`
	OidcConfig       *IdpOidcConfig `json:"oidc_config,omitempty"`
	ScimConfig       *IdpScimConfig `json:"scim_config,omitempty"`
}

func CreateIdp

func CreateIdp(ctx context.Context, c *Client, idp *Idp) (*Idp, error)

func DeleteIdp

func DeleteIdp(ctx context.Context, c *Client, idpID string) (*Idp, error)

func GetIdp

func GetIdp(ctx context.Context, c *Client, idpID string) (*Idp, error)

func NewIdp

func NewIdp(d *schema.ResourceData) *Idp

func UpdateIdp

func UpdateIdp(ctx context.Context, c *Client, idpID string, idp *Idp) (*Idp, error)

type IdpOidcConfig

type IdpOidcConfig struct {
	Issuer       string `json:"issuer,omitempty"`
	ClientId     string `json:"client_id,omitempty"`
	ClientSecret string `json:"client_secret"`
	JitEnabled   bool   `json:"jit_enabled,omitempty"`
}

func NewIdpOidcConfig

func NewIdpOidcConfig(d *schema.ResourceData) *IdpOidcConfig

type IdpSamlConfig

type IdpSamlConfig struct {
	Certificate       string `json:"certificate,omitempty"`
	Issuer            string `json:"issuer,omitempty"`
	SsoUrl            string `json:"sso_url,omitempty"`
	AuthnContextClass string `json:"authn_context_class,omitempty"`
	JitEnabled        bool   `json:"jit_enabled,omitempty"`
}

func NewIdpSamlConfig

func NewIdpSamlConfig(d *schema.ResourceData) *IdpSamlConfig

type IdpScimConfig

type IdpScimConfig struct {
	ApiKeyId        string `json:"api_key_id,omitempty"`
	AssumeOwnership bool   `json:"assume_ownership,omitempty"`
}

func NewIdpScimConfig

func NewIdpScimConfig(d *schema.ResourceData) *IdpScimConfig

type Location

type Location struct {
	City      string  `json:"city"`
	Country   string  `json:"country"`
	Latitude  float32 `json:"latitude"`
	Longitude float32 `json:"longitude"`
	Name      string  `json:"name"`
	State     string  `json:"state"`
	Status    string  `json:"status"`
}

func GetLocation

func GetLocation(ctx context.Context, c *Client, lName string) (*Location, error)

type ManagedContent

type ManagedContent struct {
	Domains    *[]string `json:"domains,omitempty"`
	CloudApps  *[]string `json:"cloud_apps,omitempty"`
	IpNetworks *[]string `json:"ip_networks,omitempty"`
}

func GetPacFileManagedContent

func GetPacFileManagedContent(ctx context.Context, c *Client, pfID string) (*ManagedContent, error)

func NewManagedContent

func NewManagedContent(d *schema.ResourceData) *ManagedContent

type MappedDomain

type MappedDomain struct {
	MappedDomain string `json:"mapped_domain"`
	Name         string `json:"name,omitempty"`
}

func GetMappedDomain

func GetMappedDomain(ctx context.Context, c *Client, neID string, mappedDomain *MappedDomain) (*MappedDomain, error)

func SetMappedDomain

func SetMappedDomain(ctx context.Context, c *Client, neID string, mappedDomain *MappedDomain) (*MappedDomain, error)

func (*MappedDomain) ReqBody

func (md *MappedDomain) ReqBody() ([]byte, error)

ReqBody returns a body with mapped_domain only because the name of the mapped domain should be in the path params only

type MappedHost

type MappedHost struct {
	MappedHost string `json:"mapped_host"`
	Name       string `json:"name,omitempty"`
}

func GetMappedHost

func GetMappedHost(ctx context.Context, c *Client, neID string, mappedHost *MappedHost) (*MappedHost, error)

func SetMappedHost

func SetMappedHost(ctx context.Context, c *Client, neID string, mappedHost *MappedHost) (*MappedHost, error)

func (*MappedHost) ReqBody

func (mh *MappedHost) ReqBody() ([]byte, error)

ReqBody returns a body with mapped_host only because the name of the mapped host should be in the path params only

type Metaport

type Metaport struct {
	ID                   string   `json:"id,omitempty"`
	Name                 string   `json:"name,omitempty"`
	Description          string   `json:"description,omitempty"`
	Enabled              *bool    `json:"enabled,omitempty"`
	AllowSupport         *bool    `json:"allow_support,omitempty"`
	MappedElements       []string `json:"mapped_elements"`
	NotificationChannels []string `json:"notification_channels"`
}

func AddMappedElementsToMetaport

func AddMappedElementsToMetaport(ctx context.Context, c *Client, mID string, meIDs []string) (*Metaport, error)

func CreateMetaport

func CreateMetaport(ctx context.Context, c *Client, m *Metaport) (*Metaport, error)

func DeleteMetaport

func DeleteMetaport(ctx context.Context, c *Client, mID string) (*Metaport, error)

func GetMetaport

func GetMetaport(ctx context.Context, c *Client, mId string) (*Metaport, error)

func GetMetaportByName

func GetMetaportByName(ctx context.Context, c *Client, name string) (*Metaport, error)

func NewMetaport

func NewMetaport(d *schema.ResourceData) *Metaport

func RemoveMappedElementsFromMetaport

func RemoveMappedElementsFromMetaport(ctx context.Context, c *Client, mID string, meIDs []string) (*Metaport, error)

func UpdateMetaport

func UpdateMetaport(ctx context.Context, c *Client, mId string, m *Metaport) (*Metaport, error)

type MetaportCluster

type MetaportCluster struct {
	ID             string   `json:"id,omitempty"`
	Name           string   `json:"name,omitempty"`
	Description    string   `json:"description,omitempty"`
	MappedElements []string `json:"mapped_elements"`
	Metaports      []string `json:"metaports"`
}

func AddMappedElementsToMetaportCluster

func AddMappedElementsToMetaportCluster(ctx context.Context, c *Client, mID string, meIDs []string) (*MetaportCluster, error)

func CreateMetaportCluster

func CreateMetaportCluster(ctx context.Context, c *Client, m *MetaportCluster) (*MetaportCluster, error)

func DeleteMetaportCluster

func DeleteMetaportCluster(ctx context.Context, c *Client, mcID string) (*MetaportCluster, error)

func GetMetaportCluster

func GetMetaportCluster(ctx context.Context, c *Client, mId string) (*MetaportCluster, error)

func GetMetaportClustertByName

func GetMetaportClustertByName(ctx context.Context, c *Client, name string) (*MetaportCluster, error)

func NewMetaportCluster

func NewMetaportCluster(d *schema.ResourceData) *MetaportCluster

func RemoveMappedElementsFromMetaportCluster

func RemoveMappedElementsFromMetaportCluster(ctx context.Context,
	c *Client, mID string, meIDs []string) (*MetaportCluster, error)

func UpdateMetaportCluster

func UpdateMetaportCluster(ctx context.Context, c *Client, mId string, m *MetaportCluster) (*MetaportCluster, error)

type MetaportFailover

type MetaportFailover struct {
	ID                   string    `json:"id,omitempty"`
	Name                 string    `json:"name,omitempty"`
	Description          string    `json:"description,omitempty"`
	MappedElements       []string  `json:"mapped_elements"`
	Cluster1             *string   `json:"cluster_1"`
	Cluster2             *string   `json:"cluster_2"`
	ActiveCluster        *string   `json:"active_cluster,omitempty"`
	FailBack             *FailBack `json:"failback,omitempty"`
	FailOver             *FailOver `json:"failover,omitempty"`
	NotificationChannels []string  `json:"notification_channels"`
}

func CreateMetaportFailover

func CreateMetaportFailover(ctx context.Context, c *Client, m *MetaportFailover) (*MetaportFailover, error)

func DeleteMetaportFailover

func DeleteMetaportFailover(ctx context.Context, c *Client, mcID string) (*MetaportFailover, error)

func GetMetaportFailover

func GetMetaportFailover(ctx context.Context, c *Client, mId string) (*MetaportFailover, error)

func NewMetaportFailover

func NewMetaportFailover(d *schema.ResourceData) *MetaportFailover

func UpdateMetaportFailover

func UpdateMetaportFailover(ctx context.Context, c *Client, mId string, m *MetaportFailover) (*MetaportFailover, error)

func (*MetaportFailover) ReqBody

func (mf *MetaportFailover) ReqBody() ([]byte, error)

type MicrosoftConfig

type MicrosoftConfig struct {
	AllowPersonalMicrosoftDomains bool     `json:"allow_personal_microsoft_domains"`
	TenantDirectoryId             string   `json:"tenant_directory_id"`
	Tenants                       []string `json:"tenants"`
}

type NetworkElementBody

type NetworkElementBody struct {
	Name          string   `json:"name,omitempty"`
	Description   string   `json:"description"`
	Enabled       *bool    `json:"enabled,omitempty"`
	MappedSubnets []string `json:"mapped_subnets,omitempty"`
	MappedService string   `json:"mapped_service,omitempty"`
	Platform      string   `json:"platform,omitempty"`
	OwnerID       string   `json:"owner_id,omitempty"`
}

func NewNetworkElementBody

func NewNetworkElementBody(d *schema.ResourceData) *NetworkElementBody

type NetworkElementResponse

type NetworkElementResponse struct {
	NetworkElementBody
	ID          string   `json:"id"`
	AutoAliases []string `json:"auto_aliases"`
	Groups      []string `json:"groups"`
	Type        string   `json:"type"`
	Tags        []Tag    `json:"tags,omitempty"`
	Aliases     []string `json:"aliases"`
}

func CreateNetworkElement

func CreateNetworkElement(ctx context.Context, c *Client, ne *NetworkElementBody) (*NetworkElementResponse, error)

func DeleteNetworkElement

func DeleteNetworkElement(ctx context.Context, c *Client, neID string) (*NetworkElementResponse, error)

func GetNetworkElement

func GetNetworkElement(ctx context.Context, c *Client, neID string) (*NetworkElementResponse, error)

func UpdateNetworkElement

func UpdateNetworkElement(ctx context.Context, c *Client, neId string, ne *NetworkElementBody) (*NetworkElementResponse, error)

type NotificationChannel

type NotificationChannel struct {
	ID              string           `json:"id,omitempty"`
	Name            string           `json:"name,omitempty"`
	Description     string           `json:"description"`
	Enabled         bool             `json:"enabled"`
	Type            string           `json:"type,omitempty"`
	EmailConfig     *EmailConfig     `json:"email_config,omitempty"`
	PagerdutyConfig *PagerdutyConfig `json:"pagerduty_config,omitempty"`
	SlackConfig     *SlackConfig     `json:"slack_config,omitempty"`
	WebhookConfig   *WebhookConfig   `json:"webhook_config,omitempty"`
}

func CreateNotificationChannel

func CreateNotificationChannel(ctx context.Context, c *Client, nc *NotificationChannel) (*NotificationChannel, error)

func DeleteNotificationChannel

func DeleteNotificationChannel(ctx context.Context, c *Client, ncID string) (*NotificationChannel, error)

func GetNotificationChannel

func GetNotificationChannel(ctx context.Context, c *Client, ncID string) (*NotificationChannel, error)

func NewNotificationChannel

func NewNotificationChannel(d *schema.ResourceData) *NotificationChannel

func UpdateNotificationChannel

func UpdateNotificationChannel(ctx context.Context, c *Client, ncID string, nc *NotificationChannel) (*NotificationChannel, error)

type Oauth2Config

type Oauth2Config struct {
	ClientId     string `json:"client_id"`
	ClientSecret string `json:"client_secret"`
	TokenUrl     string `json:"token_url"`
}

type PacFile

type PacFile struct {
	ID             string          `json:"id,omitempty"`
	Name           string          `json:"name,omitempty"`
	Description    string          `json:"description"`
	Enabled        bool            `json:"enabled"`
	ApplyToOrg     bool            `json:"apply_to_org"`
	Sources        []string        `json:"sources"`
	ExemptSources  []string        `json:"exempt_sources"`
	HasContent     bool            `json:"has_content,omitempty"`
	Priority       int             `json:"priority"`
	Type           string          `json:"type,omitempty"`
	ManagedContent *ManagedContent `json:"managed_content,omitempty"`
}

func CreatePacFile

func CreatePacFile(ctx context.Context, c *Client, pf *PacFile) (*PacFile, error)

func DeletePacFile

func DeletePacFile(ctx context.Context, c *Client, pfID string) (*PacFile, error)

func GetPacFile

func GetPacFile(ctx context.Context, c *Client, pfID string) (*PacFile, error)

func ModifiedPacFile

func ModifiedPacFile(d *schema.ResourceData) *PacFile

func NewPacFile

func NewPacFile(d *schema.ResourceData) *PacFile

func PacFileBase

func PacFileBase(d *schema.ResourceData) *PacFile

func UpdatePacFile

func UpdatePacFile(ctx context.Context, c *Client, pfID string, pf *PacFile) (*PacFile, error)

type PagerdutyConfig

type PagerdutyConfig struct {
	ApiKey string `json:"api_key"`
}

type Policy

type Policy struct {
	ID             string   `json:"id,omitempty"`
	Name           string   `json:"name,omitempty"`
	Description    string   `json:"description"`
	Destinations   []string `json:"destinations"`
	Enabled        *bool    `json:"enabled,omitempty"`
	ExemptSources  []string `json:"exempt_sources"`
	ProtocolGroups []string `json:"protocol_groups"`
	Sources        []string `json:"sources"`
}

func CreatePolicy

func CreatePolicy(ctx context.Context, c *Client, rg *Policy) (*Policy, error)

func DeletePolicy

func DeletePolicy(ctx context.Context, c *Client, pgID string) (*Policy, error)

func GetPolicy

func GetPolicy(ctx context.Context, c *Client, rgID string) (*Policy, error)

func NewPolicy

func NewPolicy(d *schema.ResourceData) *Policy

func UpdatePolicy

func UpdatePolicy(ctx context.Context, c *Client, rgID string, rg *Policy) (*Policy, error)

type PostureCheck

type PostureCheck struct {
	ID                string   `json:"id,omitempty"`
	Name              string   `json:"name,omitempty"`
	Description       string   `json:"description"`
	Enabled           bool     `json:"enabled"`
	Action            string   `json:"action"`
	Check             *Check   `json:"check,omitempty"`
	When              []string `json:"when"`
	ApplyToOrg        bool     `json:"apply_to_org"`
	ApplyToEntities   []string `json:"apply_to_entities"`
	ExemptEntities    []string `json:"exempt_entities"`
	Interval          *int     `json:"interval"`
	Osquery           string   `json:"osquery"`
	Platform          string   `json:"platform"`
	UserMessageOnFail string   `json:"user_message_on_fail"`
}

func CreatePostureCheck

func CreatePostureCheck(ctx context.Context, c *Client, e *PostureCheck) (*PostureCheck, error)

func DeletePostureCheck

func DeletePostureCheck(ctx context.Context, c *Client, mID string) (*PostureCheck, error)

func GetPostureCheck

func GetPostureCheck(ctx context.Context, c *Client, eID string) (*PostureCheck, error)

func NewPostureCheck

func NewPostureCheck(d *schema.ResourceData) *PostureCheck

func UpdatePostureCheck

func UpdatePostureCheck(ctx context.Context, c *Client, eID string, e *PostureCheck) (*PostureCheck, error)

type ProofpointCasbConfig

type ProofpointCasbConfig struct {
	Region   string `json:"region"`
	TenantId string `json:"tenant_id"`
}

type Protocol

type Protocol struct {
	FromPort int    `json:"from_port"`
	ToPort   int    `json:"to_port"`
	Proto    string `json:"proto"`
}

type ProtocolGroup

type ProtocolGroup struct {
	ID          string     `json:"id,omitempty"`
	Name        string     `json:"name,omitempty"`
	Description string     `json:"description,omitempty"`
	Protocols   []Protocol `json:"protocols,omitempty"`
}

func CreateProtocolGroup

func CreateProtocolGroup(ctx context.Context, c *Client, pg *ProtocolGroup) (*ProtocolGroup, error)

func DeleteProtocolGroup

func DeleteProtocolGroup(ctx context.Context, c *Client, pgID string) (*ProtocolGroup, error)

func GetProtocolGroupById

func GetProtocolGroupById(ctx context.Context, c *Client, pgID string) (*ProtocolGroup, error)

func GetProtocolGroupByName

func GetProtocolGroupByName(ctx context.Context, c *Client, name string) (*ProtocolGroup, error)

func NewProtocolGroup

func NewProtocolGroup(d *schema.ResourceData) *ProtocolGroup

func UpdateProtocolGroup

func UpdateProtocolGroup(ctx context.Context, c *Client, pgID string, pg *ProtocolGroup) (*ProtocolGroup, error)

type Proxy

type Proxy struct {
	EnterpriseAccess    bool     `json:"enterprise_access"`
	Hosts               []string `json:"hosts"`
	HttpHostHeader      string   `json:"http_host_header"`
	RewriteContentTypes []string `json:"rewrite_content_types"`
	RewriteHosts        bool     `json:"rewrite_hosts"`
	RewriteHostsClient  bool     `json:"rewrite_hosts_client"`
	RewriteHttp         bool     `json:"rewrite_http"`
	SharedCookies       bool     `json:"shared_cookies"`
}

func NewProxy

func NewProxy(d *schema.ResourceData) *Proxy

type ProxyPortRange

type ProxyPortRange struct {
	ID          string `json:"id,omitempty"`
	Name        string `json:"name"`
	Description string `json:"description"`
	Proto       string `json:"proto"`
	FromPort    int    `json:"from_port"`
	ToPort      int    `json:"to_port"`
	ReadOnly    bool   `json:"read_only,omitempty"`
}

func CreateProxyPortRange

func CreateProxyPortRange(ctx context.Context, c *Client, ppr *ProxyPortRange) (*ProxyPortRange, error)

func DeleteProxyPortRange

func DeleteProxyPortRange(ctx context.Context, c *Client, pprId string) (*ProxyPortRange, error)

func GetProxyPortRange

func GetProxyPortRange(ctx context.Context, c *Client, pprId string) (*ProxyPortRange, error)

func NewProxyPortRange

func NewProxyPortRange(d *schema.ResourceData) *ProxyPortRange

func UpdateProxyPortRange

func UpdateProxyPortRange(ctx context.Context, c *Client, pprId string, ppr *ProxyPortRange) (*ProxyPortRange, error)

type QradarHttpConfig

type QradarHttpConfig struct {
	Certificate string `json:"certificate,omitempty"`
	Url         string `json:"url"`
}

type Rdp

type Rdp struct {
	RemoteApp            string `json:"remote_app"`
	RemoteAppCmdArgs     string `json:"remote_app_cmd_args"`
	RemoteAppWorkDir     string `json:"remote_app_work_dir"`
	Security             string `json:"security"`
	ServerKeyboardLayout string `json:"server_keyboard_layout"`
}

func NewRdp

func NewRdp(d *schema.ResourceData) *Rdp

type ResolvedAddressConfig

type ResolvedAddressConfig struct {
	AddressesRanges []string `json:"addresses_ranges"`
	Hostname        string   `json:"hostname"`
}

type Role

type Role struct {
	ID                string   `json:"id,omitempty"`
	Name              string   `json:"name,omitempty"`
	Description       string   `json:"description,omitempty"`
	SubOrgsExpression string   `json:"suborgs_expression,omitempty"`
	Privileges        []string `json:"privileges"`
	ApplyToOrgs       []string `json:"apply_to_orgs"`
	AllReadPrivs      *bool    `json:"all_read_privileges,omitempty"`
	AllWritePrivs     *bool    `json:"all_write_privileges,omitempty"`
	AllSubOrgs        *bool    `json:"all_suborgs,omitempty"`
}

func CreateRole

func CreateRole(ctx context.Context, c *Client, r *Role) (*Role, error)

func DeleteRole

func DeleteRole(ctx context.Context, c *Client, rID string) (*Role, error)

func GetRoleByID

func GetRoleByID(ctx context.Context, c *Client, rID string) (*Role, error)

func GetRoleByName

func GetRoleByName(ctx context.Context, c *Client, name string) (*Role, error)

func NewRole

func NewRole(d *schema.ResourceData) *Role

func UpdateRole

func UpdateRole(ctx context.Context, c *Client, rID string, r *Role) (*Role, error)

type RoutingGroup

type RoutingGroup struct {
	ID                string   `json:"id,omitempty"`
	Name              string   `json:"name,omitempty"`
	Description       string   `json:"description"`
	MappedElementsIds []string `json:"mapped_elements_ids"`
	Sources           []string `json:"sources"`
	ExemptSources     []string `json:"exempt_sources"`
}

func AddMappedElementsToRoutingGroups

func AddMappedElementsToRoutingGroups(ctx context.Context, c *Client, rgID string, meIDs []string) (*RoutingGroup, error)

func CreateRoutingGroup

func CreateRoutingGroup(ctx context.Context, c *Client, rg *RoutingGroup) (*RoutingGroup, error)

func DeleteRoutingGroup

func DeleteRoutingGroup(ctx context.Context, c *Client, pgID string) (*RoutingGroup, error)

func GetRoutingGroup

func GetRoutingGroup(ctx context.Context, c *Client, rgID string) (*RoutingGroup, error)

func NewRoutingGroup

func NewRoutingGroup(d *schema.ResourceData) *RoutingGroup

func RemoveMappedElementsFromRoutingGroups

func RemoveMappedElementsFromRoutingGroups(ctx context.Context, c *Client, pgID string, meIDs []string) (*RoutingGroup, error)

func UpdateRoutingGroup

func UpdateRoutingGroup(ctx context.Context, c *Client, rgID string, rg *RoutingGroup) (*RoutingGroup, error)

type S3Config

type S3Config struct {
	Bucket   string `json:"bucket"`
	Compress bool   `json:"compress"`
	Prefix   string `json:"prefix,omitempty"`
}

type SSLBypassRule

type SSLBypassRule struct {
	ID                      string   `json:"id,omitempty"`
	Name                    string   `json:"name"`
	Description             string   `json:"description,omitempty"`
	Enabled                 bool     `json:"enabled"`
	ApplyToOrg              bool     `json:"apply_to_org"`
	Sources                 []string `json:"sources"`
	ExemptSources           []string `json:"exempt_sources"`
	BypassUncategorizedUrls bool     `json:"bypass_uncategorized_urls"`
	ContentTypes            []string `json:"content_types"`
	Domains                 []string `json:"domains"`
	Priority                int      `json:"priority"`
	Action                  string   `json:"action"`
}

func CreateSSLBypassRule

func CreateSSLBypassRule(ctx context.Context, c *Client, rg *SSLBypassRule) (*SSLBypassRule, error)

func DeleteSSLBypassRule

func DeleteSSLBypassRule(ctx context.Context, c *Client, pgID string) (*SSLBypassRule, error)

func GetSSLBypassRule

func GetSSLBypassRule(ctx context.Context, c *Client, rgID string) (*SSLBypassRule, error)

func NewSSLBypassRule

func NewSSLBypassRule(d *schema.ResourceData) *SSLBypassRule

func UpdateSSLBypassRule

func UpdateSSLBypassRule(ctx context.Context, c *Client, rgID string, rg *SSLBypassRule) (*SSLBypassRule, error)

type ScanRule

type ScanRule struct {
	ID                     string   `json:"id,omitempty"`
	Priority               int      `json:"priority"`
	Name                   string   `json:"name,omitempty"`
	Description            string   `json:"description"`
	Enabled                bool     `json:"enabled"`
	Sources                []string `json:"sources,omitempty"`
	ExemptSources          []string `json:"exempt_sources,omitempty"`
	FilterExpression       *string  `json:"filter_expression,omitempty"`
	ApplyToOrg             bool     `json:"apply_to_org"`
	ContentCategories      []string `json:"content_categories,omitempty"`
	ThreatCategories       []string `json:"threat_categories,omitempty"`
	CloudApps              []string `json:"cloud_apps,omitempty"`
	CloudAppRiskGroups     []string `json:"cloud_app_risk_groups,omitempty"`
	CatalogAppCategories   []string `json:"catalog_app_categories,omitempty"`
	Networks               []string `json:"networks,omitempty"`
	Countries              []string `json:"countries,omitempty"`
	UserAgents             []string `json:"user_agents,omitempty"`
	UserActions            []string `json:"user_actions"`
	AllSupportedFileTypes  bool     `json:"all_supported_file_types"`
	FileTypes              []string `json:"file_types,omitempty"`
	MaxFileSizeMb          int      `json:"max_file_size_mb,omitempty"`
	PasswordProtectedFiles bool     `json:"password_protected_files,omitempty"`
	Dlp                    bool     `json:"dlp,omitempty"`
	Detectors              []string `json:"detectors,omitempty"`
	Malware                bool     `json:"malware,omitempty"`
	Sandbox                bool     `json:"sandbox,omitempty"`
	Antivirus              bool     `json:"antivirus,omitempty"`
	Action                 string   `json:"action"`
}

func CreateScanRule

func CreateScanRule(ctx context.Context, c *Client, rg *ScanRule) (*ScanRule, error)

func DeleteScanRule

func DeleteScanRule(ctx context.Context, c *Client, pgID string) (*ScanRule, error)

func GetScanRule

func GetScanRule(ctx context.Context, c *Client, rgID string) (*ScanRule, error)

func NewScanRule

func NewScanRule(d *schema.ResourceData) *ScanRule

func UpdateScanRule

func UpdateScanRule(ctx context.Context, c *Client, rgID string, rg *ScanRule) (*ScanRule, error)

type SiemConfig

type SiemConfig struct {
	Type                 string                `json:"type,omitempty"`
	ExportLogs           []string              `json:"export_logs"`
	ProofpointCasbConfig *ProofpointCasbConfig `json:"proofpoint_casb_config,omitempty"`
	QradarHttpConfig     *QradarHttpConfig     `json:"qradar_http_config,omitempty"`
	S3Config             *S3Config             `json:"s3_config,omitempty"`
	SplunkHttpConfig     *SplunkHttpConfig     `json:"splunk_http_config,omitempty"`
	SyslogConfig         *SyslogConfig         `json:"syslog_config,omitempty"`
}

type SlackConfig

type SlackConfig struct {
	Channel string `json:"channel"`
	Url     string `json:"url"`
}

type SpikeCondition

type SpikeCondition struct {
	MinHits    int    `json:"min_hits"`
	SpikeRatio int    `json:"spike_ratio"`
	SpikeType  string `json:"spike_type"`
	TimeDiff   int    `json:"time_diff"`
}

type SplunkHttpConfig

type SplunkHttpConfig struct {
	Certificate        string `json:"certificate,omitempty"`
	PubliclyAccessible bool   `json:"publicly_accessible"`
	Token              string `json:"token"`
	Url                string `json:"url"`
}

type SyslogConfig

type SyslogConfig struct {
	Host  string `json:"host"`
	Port  int    `json:"port"`
	Proto string `json:"proto"`
}

type Tag

type Tag struct {
	Name  string `json:"name"`
	Value string `json:"value"`
}

func NewTags

func NewTags(d *schema.ResourceData) []Tag

type TenantAwarenessData

type TenantAwarenessData struct {
	TenantCorpIdSupport bool `json:"tenant_corp_id_support"`
	TenantTypeSupport   bool `json:"tenant_type_support"`
}

type TenantRestriction

type TenantRestriction struct {
	ID              string           `json:"id,omitempty"`
	Name            string           `json:"name,omitempty"`
	Description     string           `json:"description"`
	GoogleConfig    *GoogleConfig    `json:"google_config,omitempty"`
	MicrosoftConfig *MicrosoftConfig `json:"microsoft_config,omitempty"`
	Type            string           `json:"type,omitempty"`
}

func CreateTenantRestriction

func CreateTenantRestriction(ctx context.Context, c *Client, tr *TenantRestriction) (*TenantRestriction, error)

func DeleteTenantRestriction

func DeleteTenantRestriction(ctx context.Context, c *Client, ncID string) (*TenantRestriction, error)

func GetTenantRestriction

func GetTenantRestriction(ctx context.Context, c *Client, trID string) (*TenantRestriction, error)

func NewTenantRestriction

func NewTenantRestriction(d *schema.ResourceData) *TenantRestriction

func UpdateTenantRestriction

func UpdateTenantRestriction(ctx context.Context, c *Client, trID string, tr *TenantRestriction) (*TenantRestriction, error)

type ThreatCategory

type ThreatCategory struct {
	ID              string   `json:"id,omitempty"`
	Name            string   `json:"name,omitempty"`
	Description     string   `json:"description"`
	ConfidenceLevel string   `json:"confidence_level"`
	RiskLevel       string   `json:"risk_level"`
	Countries       []string `json:"countries"`
	Types           []string `json:"types"`
}

func CreateThreatCategory

func CreateThreatCategory(ctx context.Context, c *Client, tc *ThreatCategory) (*ThreatCategory, error)

func DeleteThreatCategory

func DeleteThreatCategory(ctx context.Context, c *Client, tcId string) (*ThreatCategory, error)

func GetThreatCategory

func GetThreatCategory(ctx context.Context, c *Client, tcId string) (*ThreatCategory, error)

func NewThreatCategory

func NewThreatCategory(d *schema.ResourceData) *ThreatCategory

func UpdateThreatCategory

func UpdateThreatCategory(ctx context.Context, c *Client, tcId string, cc *ThreatCategory) (*ThreatCategory, error)

type ThresholdCondition

type ThresholdCondition struct {
	Formula   string `json:"formula"`
	Op        string `json:"op"`
	Threshold int    `json:"threshold"`
}

type Time

type Time struct {
	Hour   int `json:"hour"`
	Minute int `json:"minute"`
}

type TimeFrame

type TimeFrame struct {
	ID          string   `json:"id,omitempty"`
	Name        string   `json:"name,omitempty"`
	Description string   `json:"description"`
	Days        []string `json:"days"`
	StartTime   *Time    `json:"start_time"`
	EndTime     *Time    `json:"end_time"`
}

func CreateTimeFrame

func CreateTimeFrame(ctx context.Context, c *Client, tf *TimeFrame) (*TimeFrame, error)

func DeleteTimeFrame

func DeleteTimeFrame(ctx context.Context, c *Client, inId string) (*TimeFrame, error)

func GetTimeFrame

func GetTimeFrame(ctx context.Context, c *Client, tfId string) (*TimeFrame, error)

func NewTimeFrame

func NewTimeFrame(d *schema.ResourceData) *TimeFrame

func UpdateTimeFrame

func UpdateTimeFrame(ctx context.Context, c *Client, tfId string, in *TimeFrame) (*TimeFrame, error)

type Token

type Token struct {
	Token     string `json:"access_token"`
	Expiry    int64  `json:"expires_in"`
	TokenType string `json:"token_type"`
}

type TrustedNetwork

type TrustedNetwork struct {
	ID              string     `json:"id,omitempty"`
	Name            string     `json:"name,omitempty"`
	Description     string     `json:"description"`
	Enabled         bool       `json:"enabled"`
	ApplyToOrg      bool       `json:"apply_to_org"`
	ApplyToEntities []string   `json:"apply_to_entities"`
	ExemptEntities  []string   `json:"exempt_entities"`
	Criteria        []Criteria `json:"criteria"`
}

func CreateTrustedNetwork

func CreateTrustedNetwork(ctx context.Context, c *Client, e *TrustedNetwork) (*TrustedNetwork, error)

func DeleteTrustedNetwork

func DeleteTrustedNetwork(ctx context.Context, c *Client, mID string) (*TrustedNetwork, error)

func GetTrustedNetwork

func GetTrustedNetwork(ctx context.Context, c *Client, eID string) (*TrustedNetwork, error)

func NewTrustedNetwork

func NewTrustedNetwork(d *schema.ResourceData) *TrustedNetwork

func UpdateTrustedNetwork

func UpdateTrustedNetwork(ctx context.Context, c *Client, eID string, e *TrustedNetwork) (*TrustedNetwork, error)

type Tunnel

type Tunnel struct {
	ID          string           `json:"id,omitempty"`
	Name        string           `json:"name,omitempty"`
	Description string           `json:"description,omitempty"`
	Enabled     *bool            `json:"enabled,omitempty"`
	GreConfig   *GreTunnelConfig `json:"gre_config,omitempty"`
}

func AddGreSourceIpsToTunnel

func AddGreSourceIpsToTunnel(ctx context.Context, c *Client, tId string,
	sourceIps []string) (*Tunnel, error)

func CreateTunnel

func CreateTunnel(ctx context.Context, c *Client, t *Tunnel) (*Tunnel, error)

func DeleteTunnel

func DeleteTunnel(ctx context.Context, c *Client, tId string) (*Tunnel, error)

func GetTunnel

func GetTunnel(ctx context.Context, c *Client, tId string) (*Tunnel, error)

func GetTunnelByName

func GetTunnelByName(ctx context.Context, c *Client, name string) (*Tunnel, error)

func RemoveGreSourceIpsFromTunnel

func RemoveGreSourceIpsFromTunnel(ctx context.Context, c *Client, tId string,
	sourceIps []string) (*Tunnel, error)

func UpdateTunnel

func UpdateTunnel(ctx context.Context, c *Client, tId string, t *Tunnel) (*Tunnel, error)

type UrlFilteringRule

type UrlFilteringRule struct {
	ID                         string   `json:"id,omitempty"`
	Name                       string   `json:"name,omitempty"`
	Description                string   `json:"description"`
	Action                     string   `json:"action"`
	ApplyToOrg                 bool     `json:"apply_to_org"`
	Enabled                    bool     `json:"enabled"`
	Sources                    []string `json:"sources,omitempty"`
	ExemptSources              []string `json:"exempt_sources,omitempty"`
	AdvancedThreatProtection   bool     `json:"advanced_threat_protection"`
	CatalogAppCategories       []string `json:"catalog_app_categories"`
	CloudApps                  []string `json:"cloud_apps"`
	Countries                  []string `json:"countries,omitempty"`
	ExpiresAt                  string   `json:"expires_at,omitempty"`
	FilterExpression           string   `json:"filter_expression,omitempty"`
	ForbiddenContentCategories []string `json:"forbidden_content_categories"`
	Networks                   []string `json:"networks,omitempty"`
	Priority                   int      `json:"priority"`
	Schedule                   []string `json:"schedule"`
	TenantRestriction          string   `json:"tenant_restriction,omitempty"`
	ThreatCategories           []string `json:"threat_categories"`
	WarnTtl                    int      `json:"warn_ttl"`
}

func CreateUrlFilteringRule

func CreateUrlFilteringRule(ctx context.Context, c *Client, rg *UrlFilteringRule) (*UrlFilteringRule, error)

func DeleteUrlFilteringRule

func DeleteUrlFilteringRule(ctx context.Context, c *Client, pgID string) (*UrlFilteringRule, error)

func GetUrlFilteringRule

func GetUrlFilteringRule(ctx context.Context, c *Client, rgID string) (*UrlFilteringRule, error)

func NewUrlFilteringRule

func NewUrlFilteringRule(d *schema.ResourceData) *UrlFilteringRule

func UpdateUrlFilteringRule

func UpdateUrlFilteringRule(ctx context.Context, c *Client, rgID string, rg *UrlFilteringRule) (*UrlFilteringRule, error)

type User

type User struct {
	ID          string   `json:"id,omitempty"`
	GivenName   string   `json:"given_name,omitempty"`
	FamilyName  string   `json:"family_name,omitempty"`
	Description string   `json:"description"`
	Email       string   `json:"email,omitempty"`
	Enabled     *bool    `json:"enabled,omitempty"`
	Phone       *string  `json:"phone"`
	Name        string   `json:"name,omitempty"`
	Tags        []Tag    `json:"tags,omitempty"`
	Roles       []string `json:"roles,omitempty"`
	Groups      []string `json:"groups,omitempty"`
}

func CreateUser

func CreateUser(ctx context.Context, c *Client, ed *User) (*User, error)

func DeleteUser

func DeleteUser(ctx context.Context, c *Client, uID string) (*User, error)

func GetUserByEmail

func GetUserByEmail(ctx context.Context, c *Client, email string) (*User, error)

func GetUserByID

func GetUserByID(ctx context.Context, c *Client, uID string) (*User, error)

func NewUser

func NewUser(d *schema.ResourceData) *User

func UpdateUser

func UpdateUser(ctx context.Context, c *Client, edID string, ed *User) (*User, error)

type UserSettings

type UserSettings struct {
	ID                 string   `json:"id,omitempty"`
	Name               string   `json:"name,omitempty"`
	Description        string   `json:"description"`
	Enabled            bool     `json:"enabled"`
	ApplyOnOrg         bool     `json:"apply_on_org"`
	ApplyToEntities    []string `json:"apply_to_entities"`
	AllowedFactors     []string `json:"allowed_factors,omitempty"`
	MaxDevicesPerUser  *int     `json:"max_devices_per_user,omitempty"`
	MfaRequired        *bool    `json:"mfa_required,omitempty"`
	PasswordExpiration *int     `json:"password_expiration,omitempty"`
	ProhibitedOs       []string `json:"prohibited_os,omitempty"`
	ProxyPops          *string  `json:"proxy_pops,omitempty"`
	SsoMandatory       *bool    `json:"sso_mandatory,omitempty"`
}

func CreateUserSettings

func CreateUserSettings(ctx context.Context, c *Client, ds *UserSettings) (*UserSettings, error)

func DeleteUserSettings

func DeleteUserSettings(ctx context.Context, c *Client, dsID string) (*UserSettings, error)

func GetUserSettings

func GetUserSettings(ctx context.Context, c *Client, dsID string) (*UserSettings, error)

func NewUserSettings

func NewUserSettings(d *schema.ResourceData) *UserSettings

func UpdateUserSettings

func UpdateUserSettings(ctx context.Context, c *Client, dsID string, ds *UserSettings) (*UserSettings, error)

type WebhookConfig

type WebhookConfig struct {
	Auth          *Auth    `json:"auth,omitempty"`
	CustomPayload string   `json:"custom_payload,omitempty"`
	Headers       []string `json:"headers,omitempty"`
	Method        string   `json:"method"`
	Url           string   `json:"url"`
}

func NewWebhookConfig

func NewWebhookConfig(d *schema.ResourceData) *WebhookConfig

Jump to

Keyboard shortcuts

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