Documentation
¶
Overview ¶
Package api provides primitives to interact with the openapi HTTP API.
Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.5.1 DO NOT EDIT.
Index ¶
- Constants
- type AccessiblePeer
- type Account
- type AccountExtraSettings
- type AccountOnboarding
- type AccountRequest
- type AccountSettings
- type AvailablePorts
- type BearerAuthConfig
- type BundleParameters
- type BundleResult
- type BundleWorkloadRequest
- type BundleWorkloadResponse
- type BypassResponse
- type CheckoutResponse
- type Checks
- type City
- type CityName
- type Country
- type CountryCode
- type CreateEDRIntegrationJSONRequestBody
- type CreateFalconEDRIntegrationJSONRequestBody
- type CreateHuntressEDRIntegrationJSONRequestBody
- type CreateIntegrationJSONRequestBody
- type CreateIntegrationRequest
- type CreateIntegrationRequestPlatform
- type CreateSCIMIntegrationJSONRequestBody
- type CreateScimIntegrationRequest
- type CreateSentinelOneEDRIntegrationJSONRequestBody
- type CreateSetupKeyRequest
- type CreateTenantRequest
- type DNSChallengeResponse
- type DNSRecord
- type DNSRecordRequest
- type DNSRecordType
- type DNSSettings
- type EDRFalconRequest
- type EDRFalconResponse
- type EDRHuntressRequest
- type EDRHuntressResponse
- type EDRIntuneRequest
- type EDRIntuneResponse
- type EDRSentinelOneRequest
- type EDRSentinelOneResponse
- type ErrorResponse
- type Event
- type EventActivityCode
- type GeoLocationCheck
- type GeoLocationCheckAction
- type GetApiEventsNetworkTrafficParams
- type GetApiEventsNetworkTrafficParamsConnectionType
- type GetApiEventsNetworkTrafficParamsDirection
- type GetApiEventsNetworkTrafficParamsType
- type GetApiEventsProxyParams
- type GetApiEventsProxyParamsMethod
- type GetApiEventsProxyParamsStatus
- type GetApiGroupsParams
- type GetApiIntegrationsBillingPortalParams
- type GetApiPeersParams
- type GetApiPeersPeerIdIngressPortsParams
- type GetApiUsersParams
- type GetTenantsResponse
- type Group
- type GroupIssued
- type GroupMinimum
- type GroupMinimumIssued
- type GroupRequest
- type HuntressMatchAttributes
- type IdentityProvider
- type IdentityProviderRequest
- type IdentityProviderType
- type IdpIntegrationSyncLog
- type IngressPeer
- type IngressPeerCreateRequest
- type IngressPeerUpdateRequest
- type IngressPortAllocation
- type IngressPortAllocationPortMapping
- type IngressPortAllocationPortMappingProtocol
- type IngressPortAllocationRequest
- type IngressPortAllocationRequestDirectPort
- type IngressPortAllocationRequestDirectPortProtocol
- type IngressPortAllocationRequestPortRange
- type IngressPortAllocationRequestPortRangeProtocol
- type InstanceStatus
- type InstanceVersionInfo
- type IntegrationResponse
- type IntegrationResponsePlatform
- type InvoicePDFResponse
- type InvoiceResponse
- type InvoiceResponseType
- type JobRequest
- type JobResponse
- type JobResponseStatus
- type LinkAuthConfig
- type Location
- type MinKernelVersionCheck
- type MinVersionCheck
- type NBVersionCheck
- type Nameserver
- type NameserverGroup
- type NameserverGroupRequest
- type NameserverNsType
- type Network
- type NetworkRequest
- type NetworkResource
- type NetworkResourceMinimum
- type NetworkResourceRequest
- type NetworkResourceType
- type NetworkRouter
- type NetworkRouterRequest
- type NetworkTrafficEndpoint
- type NetworkTrafficEvent
- type NetworkTrafficEventsResponse
- type NetworkTrafficICMP
- type NetworkTrafficLocation
- type NetworkTrafficPolicy
- type NetworkTrafficSubEvent
- type NetworkTrafficUser
- type OSVersionCheck
- type PINAuthConfig
- type PasswordAuthConfig
- type PasswordChangeRequest
- type Peer
- type PeerBatch
- type PeerLocalFlags
- type PeerMinimum
- type PeerNetworkRangeCheck
- type PeerNetworkRangeCheckAction
- type PeerRequest
- type PeerTemporaryAccessRequest
- type PeerTemporaryAccessResponse
- type PersonalAccessToken
- type PersonalAccessTokenGenerated
- type PersonalAccessTokenRequest
- type Policy
- type PolicyCreate
- type PolicyMinimum
- type PolicyRule
- type PolicyRuleAction
- type PolicyRuleMinimum
- type PolicyRuleMinimumAction
- type PolicyRuleMinimumProtocol
- type PolicyRuleProtocol
- type PolicyRuleUpdate
- type PolicyRuleUpdateAction
- type PolicyRuleUpdateProtocol
- type PolicyUpdate
- type PortalResponse
- type PostApiDnsNameserversJSONRequestBody
- type PostApiDnsZonesJSONRequestBody
- type PostApiDnsZonesZoneIdRecordsJSONRequestBody
- type PostApiGroupsJSONRequestBody
- type PostApiIdentityProvidersJSONRequestBody
- type PostApiIngressPeersJSONRequestBody
- type PostApiIntegrationsBillingAwsMarketplaceActivateJSONBody
- type PostApiIntegrationsBillingAwsMarketplaceActivateJSONRequestBody
- type PostApiIntegrationsBillingAwsMarketplaceEnrichJSONBody
- type PostApiIntegrationsBillingAwsMarketplaceEnrichJSONRequestBody
- type PostApiIntegrationsBillingCheckoutJSONBody
- type PostApiIntegrationsBillingCheckoutJSONRequestBody
- type PostApiIntegrationsMspTenantsIdSubscriptionJSONBody
- type PostApiIntegrationsMspTenantsIdSubscriptionJSONRequestBody
- type PostApiIntegrationsMspTenantsIdUnlinkJSONBody
- type PostApiIntegrationsMspTenantsIdUnlinkJSONRequestBody
- type PostApiIntegrationsMspTenantsJSONRequestBody
- type PostApiNetworksJSONRequestBody
- type PostApiNetworksNetworkIdResourcesJSONRequestBody
- type PostApiNetworksNetworkIdRoutersJSONRequestBody
- type PostApiPeersPeerIdIngressPortsJSONRequestBody
- type PostApiPeersPeerIdJobsJSONRequestBody
- type PostApiPeersPeerIdTemporaryAccessJSONRequestBody
- type PostApiPoliciesJSONRequestBody
- type PostApiPostureChecksJSONRequestBody
- type PostApiReverseProxiesDomainsJSONRequestBody
- type PostApiReverseProxiesServicesJSONRequestBody
- type PostApiRoutesJSONRequestBody
- type PostApiSetupJSONRequestBody
- type PostApiSetupKeysJSONRequestBody
- type PostApiUsersInvitesInviteIdRegenerateJSONRequestBody
- type PostApiUsersInvitesJSONRequestBody
- type PostApiUsersInvitesTokenAcceptJSONRequestBody
- type PostApiUsersJSONRequestBody
- type PostApiUsersUserIdTokensJSONRequestBody
- type PostureCheck
- type PostureCheckUpdate
- type Price
- type Process
- type ProcessCheck
- type Product
- type ProxyAccessLog
- type ProxyAccessLogsResponse
- type ProxyCluster
- type PutApiAccountsAccountIdJSONRequestBody
- type PutApiDnsNameserversNsgroupIdJSONRequestBody
- type PutApiDnsSettingsJSONRequestBody
- type PutApiDnsZonesZoneIdJSONRequestBody
- type PutApiDnsZonesZoneIdRecordsRecordIdJSONRequestBody
- type PutApiGroupsGroupIdJSONRequestBody
- type PutApiIdentityProvidersIdpIdJSONRequestBody
- type PutApiIngressPeersIngressPeerIdJSONRequestBody
- type PutApiIntegrationsBillingSubscriptionJSONBody
- type PutApiIntegrationsBillingSubscriptionJSONRequestBody
- type PutApiIntegrationsMspTenantsIdInviteJSONBody
- type PutApiIntegrationsMspTenantsIdInviteJSONBodyValue
- type PutApiIntegrationsMspTenantsIdInviteJSONRequestBody
- type PutApiIntegrationsMspTenantsIdJSONRequestBody
- type PutApiNetworksNetworkIdJSONRequestBody
- type PutApiNetworksNetworkIdResourcesResourceIdJSONRequestBody
- type PutApiNetworksNetworkIdRoutersRouterIdJSONRequestBody
- type PutApiPeersPeerIdIngressPortsAllocationIdJSONRequestBody
- type PutApiPeersPeerIdJSONRequestBody
- type PutApiPoliciesPolicyIdJSONRequestBody
- type PutApiPostureChecksPostureCheckIdJSONRequestBody
- type PutApiReverseProxiesServicesServiceIdJSONRequestBody
- type PutApiRoutesRouteIdJSONRequestBody
- type PutApiSetupKeysKeyIdJSONRequestBody
- type PutApiUsersUserIdJSONRequestBody
- type PutApiUsersUserIdPasswordJSONRequestBody
- type Resource
- type ResourceType
- type ReverseProxyDomain
- type ReverseProxyDomainRequest
- type ReverseProxyDomainType
- type Route
- type RouteRequest
- type RulePortRange
- type ScimIntegration
- type ScimTokenResponse
- type SentinelOneMatchAttributes
- type SentinelOneMatchAttributesNetworkStatus
- type Service
- type ServiceAuthConfig
- type ServiceMeta
- type ServiceMetaStatus
- type ServiceRequest
- type ServiceTarget
- type ServiceTargetProtocol
- type ServiceTargetTargetType
- type SetupKey
- type SetupKeyBase
- type SetupKeyClear
- type SetupKeyRequest
- type SetupRequest
- type SetupResponse
- type Subscription
- type TenantGroupResponse
- type TenantResponse
- type TenantResponseStatus
- type UpdateEDRIntegrationJSONRequestBody
- type UpdateFalconEDRIntegrationJSONRequestBody
- type UpdateHuntressEDRIntegrationJSONRequestBody
- type UpdateIntegrationJSONRequestBody
- type UpdateSCIMIntegrationJSONRequestBody
- type UpdateScimIntegrationRequest
- type UpdateSentinelOneEDRIntegrationJSONRequestBody
- type UpdateTenantRequest
- type UsageStats
- type User
- type UserCreateRequest
- type UserInvite
- type UserInviteAcceptRequest
- type UserInviteAcceptResponse
- type UserInviteCreateRequest
- type UserInviteInfo
- type UserInviteRegenerateRequest
- type UserInviteRegenerateResponse
- type UserPermissions
- type UserRequest
- type UserStatus
- type WorkloadRequest
- func (t WorkloadRequest) AsBundleWorkloadRequest() (BundleWorkloadRequest, error)
- func (t WorkloadRequest) Discriminator() (string, error)
- func (t *WorkloadRequest) FromBundleWorkloadRequest(v BundleWorkloadRequest) error
- func (t WorkloadRequest) MarshalJSON() ([]byte, error)
- func (t *WorkloadRequest) MergeBundleWorkloadRequest(v BundleWorkloadRequest) error
- func (t *WorkloadRequest) UnmarshalJSON(b []byte) error
- func (t WorkloadRequest) ValueByDiscriminator() (interface{}, error)
- type WorkloadResponse
- func (t WorkloadResponse) AsBundleWorkloadResponse() (BundleWorkloadResponse, error)
- func (t WorkloadResponse) Discriminator() (string, error)
- func (t *WorkloadResponse) FromBundleWorkloadResponse(v BundleWorkloadResponse) error
- func (t WorkloadResponse) MarshalJSON() ([]byte, error)
- func (t *WorkloadResponse) MergeBundleWorkloadResponse(v BundleWorkloadResponse) error
- func (t *WorkloadResponse) UnmarshalJSON(b []byte) error
- func (t WorkloadResponse) ValueByDiscriminator() (interface{}, error)
- type WorkloadType
- type Zone
- type ZoneRequest
Constants ¶
const ( BearerAuthScopes = "BearerAuth.Scopes" TokenAuthScopes = "TokenAuth.Scopes" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AccessiblePeer ¶
type AccessiblePeer struct {
// CityName Commonly used English name of the city
CityName CityName `json:"city_name"`
// Connected Peer to Management connection status
Connected bool `json:"connected"`
// CountryCode 2-letter ISO 3166-1 alpha-2 code that represents the country
CountryCode CountryCode `json:"country_code"`
// DnsLabel Peer's DNS label is the parsed peer name for domain resolution. It is used to form an FQDN by appending the account's domain to the peer label. e.g. peer-dns-label.netbird.cloud
DnsLabel string `json:"dns_label"`
// GeonameId Unique identifier from the GeoNames database for a specific geographical location.
GeonameId int `json:"geoname_id"`
// Id Peer ID
Id string `json:"id"`
// Ip Peer's IP address
Ip string `json:"ip"`
// LastSeen Last time peer connected to Netbird's management service
LastSeen time.Time `json:"last_seen"`
// Name Peer's hostname
Name string `json:"name"`
// Os Peer's operating system and version
Os string `json:"os"`
// UserId User ID of the user that enrolled this peer
UserId string `json:"user_id"`
}
AccessiblePeer defines model for AccessiblePeer.
type Account ¶
type Account struct {
// CreatedAt Account creation date (UTC)
CreatedAt time.Time `json:"created_at"`
// CreatedBy Account creator
CreatedBy string `json:"created_by"`
// Domain Account domain
Domain string `json:"domain"`
// DomainCategory Account domain category
DomainCategory string `json:"domain_category"`
// Id Account ID
Id string `json:"id"`
Onboarding AccountOnboarding `json:"onboarding"`
Settings AccountSettings `json:"settings"`
}
Account defines model for Account.
type AccountExtraSettings ¶
type AccountExtraSettings struct {
// NetworkTrafficLogsEnabled Enables or disables network traffic logging. If enabled, all network traffic events from peers will be stored.
NetworkTrafficLogsEnabled bool `json:"network_traffic_logs_enabled"`
// NetworkTrafficLogsGroups Limits traffic logging to these groups. If unset all peers are enabled.
NetworkTrafficLogsGroups []string `json:"network_traffic_logs_groups"`
// NetworkTrafficPacketCounterEnabled Enables or disables network traffic packet counter. If enabled, network packets and their size will be counted and reported. (This can have an slight impact on performance)
NetworkTrafficPacketCounterEnabled bool `json:"network_traffic_packet_counter_enabled"`
// PeerApprovalEnabled (Cloud only) Enables or disables peer approval globally. If enabled, all peers added will be in pending state until approved by an admin.
PeerApprovalEnabled bool `json:"peer_approval_enabled"`
// UserApprovalRequired Enables manual approval for new users joining via domain matching. When enabled, users are blocked with pending approval status until explicitly approved by an admin.
UserApprovalRequired bool `json:"user_approval_required"`
}
AccountExtraSettings defines model for AccountExtraSettings.
type AccountOnboarding ¶
type AccountOnboarding struct {
// OnboardingFlowPending Indicates whether the account onboarding flow is pending
OnboardingFlowPending bool `json:"onboarding_flow_pending"`
// SignupFormPending Indicates whether the account signup form is pending
SignupFormPending bool `json:"signup_form_pending"`
}
AccountOnboarding defines model for AccountOnboarding.
type AccountRequest ¶
type AccountRequest struct {
Onboarding *AccountOnboarding `json:"onboarding,omitempty"`
Settings AccountSettings `json:"settings"`
}
AccountRequest defines model for AccountRequest.
type AccountSettings ¶
type AccountSettings struct {
// AutoUpdateVersion Set Clients auto-update version. "latest", "disabled", or a specific version (e.g "0.50.1")
AutoUpdateVersion *string `json:"auto_update_version,omitempty"`
// DnsDomain Allows to define a custom dns domain for the account
DnsDomain *string `json:"dns_domain,omitempty"`
// EmbeddedIdpEnabled Indicates whether the embedded identity provider (Dex) is enabled for this account. This is a read-only field.
EmbeddedIdpEnabled *bool `json:"embedded_idp_enabled,omitempty"`
Extra *AccountExtraSettings `json:"extra,omitempty"`
// GroupsPropagationEnabled Allows propagate the new user auto groups to peers that belongs to the user
GroupsPropagationEnabled *bool `json:"groups_propagation_enabled,omitempty"`
// JwtAllowGroups List of groups to which users are allowed access
JwtAllowGroups *[]string `json:"jwt_allow_groups,omitempty"`
// JwtGroupsClaimName Name of the claim from which we extract groups names to add it to account groups.
JwtGroupsClaimName *string `json:"jwt_groups_claim_name,omitempty"`
// JwtGroupsEnabled Allows extract groups from JWT claim and add it to account groups.
JwtGroupsEnabled *bool `json:"jwt_groups_enabled,omitempty"`
// LazyConnectionEnabled Enables or disables experimental lazy connection
LazyConnectionEnabled *bool `json:"lazy_connection_enabled,omitempty"`
// LocalAuthDisabled Indicates whether local (email/password) authentication is disabled. When true, users can only authenticate via external identity providers. This is a read-only field.
LocalAuthDisabled *bool `json:"local_auth_disabled,omitempty"`
// NetworkRange Allows to define a custom network range for the account in CIDR format
NetworkRange *string `json:"network_range,omitempty"`
// PeerExposeEnabled Enables or disables peer expose. If enabled, peers can expose local services through the reverse proxy using the CLI.
PeerExposeEnabled bool `json:"peer_expose_enabled"`
// PeerExposeGroups Limits which peer groups are allowed to expose services. If empty, all peers are allowed when peer expose is enabled.
PeerExposeGroups []string `json:"peer_expose_groups"`
// PeerInactivityExpiration Period of time of inactivity after which peer session expires (seconds).
PeerInactivityExpiration int `json:"peer_inactivity_expiration"`
// PeerInactivityExpirationEnabled Enables or disables peer inactivity expiration globally. After peer's session has expired the user has to log in (authenticate). Applies only to peers that were added by a user (interactive SSO login).
PeerInactivityExpirationEnabled bool `json:"peer_inactivity_expiration_enabled"`
// PeerLoginExpiration Period of time after which peer login expires (seconds).
PeerLoginExpiration int `json:"peer_login_expiration"`
// PeerLoginExpirationEnabled Enables or disables peer login expiration globally. After peer's login has expired the user has to log in (authenticate). Applies only to peers that were added by a user (interactive SSO login).
PeerLoginExpirationEnabled bool `json:"peer_login_expiration_enabled"`
// RegularUsersViewBlocked Allows blocking regular users from viewing parts of the system.
RegularUsersViewBlocked bool `json:"regular_users_view_blocked"`
// RoutingPeerDnsResolutionEnabled Enables or disables DNS resolution on the routing peers
RoutingPeerDnsResolutionEnabled *bool `json:"routing_peer_dns_resolution_enabled,omitempty"`
}
AccountSettings defines model for AccountSettings.
type AvailablePorts ¶
type AvailablePorts struct {
// Tcp Number of available TCP ports left on the ingress peer
Tcp int `json:"tcp"`
// Udp Number of available UDP ports left on the ingress peer
Udp int `json:"udp"`
}
AvailablePorts defines model for AvailablePorts.
type BearerAuthConfig ¶ added in v0.65.0
type BearerAuthConfig struct {
// DistributionGroups List of group IDs that can use bearer auth
DistributionGroups *[]string `json:"distribution_groups,omitempty"`
// Enabled Whether bearer auth is enabled
Enabled bool `json:"enabled"`
}
BearerAuthConfig defines model for BearerAuthConfig.
type BundleParameters ¶ added in v0.64.0
type BundleParameters struct {
// Anonymize Whether sensitive data should be anonymized in the bundle.
Anonymize bool `json:"anonymize"`
// BundleFor Whether to generate a bundle for the given timeframe.
BundleFor bool `json:"bundle_for"`
// BundleForTime Time period in minutes for which to generate the bundle.
BundleForTime int `json:"bundle_for_time"`
// LogFileCount Maximum number of log files to include in the bundle.
LogFileCount int `json:"log_file_count"`
}
BundleParameters These parameters control what gets included in the bundle and how it is processed.
type BundleResult ¶ added in v0.64.0
type BundleResult struct {
UploadKey *string `json:"upload_key"`
}
BundleResult defines model for BundleResult.
type BundleWorkloadRequest ¶ added in v0.64.0
type BundleWorkloadRequest struct {
// Parameters These parameters control what gets included in the bundle and how it is processed.
Parameters BundleParameters `json:"parameters"`
// Type Identifies the type of workload the job will execute.
// Currently only `"bundle"` is supported.
Type WorkloadType `json:"type"`
}
BundleWorkloadRequest defines model for BundleWorkloadRequest.
type BundleWorkloadResponse ¶ added in v0.64.0
type BundleWorkloadResponse struct {
// Parameters These parameters control what gets included in the bundle and how it is processed.
Parameters BundleParameters `json:"parameters"`
Result BundleResult `json:"result"`
// Type Identifies the type of workload the job will execute.
// Currently only `"bundle"` is supported.
Type WorkloadType `json:"type"`
}
BundleWorkloadResponse defines model for BundleWorkloadResponse.
type BypassResponse ¶ added in v0.65.0
type BypassResponse struct {
// PeerId The ID of the bypassed peer.
PeerId string `json:"peer_id"`
}
BypassResponse Response for bypassed peer operations.
type CheckoutResponse ¶ added in v0.65.0
type CheckoutResponse struct {
// SessionId The unique identifier for the checkout session.
SessionId string `json:"session_id"`
// Url URL to redirect the user to the checkout session.
Url string `json:"url"`
}
CheckoutResponse defines model for CheckoutResponse.
type Checks ¶
type Checks struct {
// GeoLocationCheck Posture check for geo location
GeoLocationCheck *GeoLocationCheck `json:"geo_location_check,omitempty"`
// NbVersionCheck Posture check for the version of operating system
NbVersionCheck *NBVersionCheck `json:"nb_version_check,omitempty"`
// OsVersionCheck Posture check for the version of operating system
OsVersionCheck *OSVersionCheck `json:"os_version_check,omitempty"`
// PeerNetworkRangeCheck Posture check for allow or deny access based on peer local network addresses
PeerNetworkRangeCheck *PeerNetworkRangeCheck `json:"peer_network_range_check,omitempty"`
// ProcessCheck Posture Check for binaries exist and are running in the peer’s system
ProcessCheck *ProcessCheck `json:"process_check,omitempty"`
}
Checks List of objects that perform the actual checks
type City ¶
type City struct {
// CityName Commonly used English name of the city
CityName string `json:"city_name"`
// GeonameId Integer ID of the record in GeoNames database
GeonameId int `json:"geoname_id"`
}
City Describe city geographical location information
type Country ¶
type Country struct {
// CountryCode 2-letter ISO 3166-1 alpha-2 code that represents the country
CountryCode CountryCode `json:"country_code"`
// CountryName Commonly used English name of the country
CountryName string `json:"country_name"`
}
Country Describe country geographical location information
type CountryCode ¶
type CountryCode = string
CountryCode 2-letter ISO 3166-1 alpha-2 code that represents the country
type CreateEDRIntegrationJSONRequestBody ¶ added in v0.65.0
type CreateEDRIntegrationJSONRequestBody = EDRIntuneRequest
CreateEDRIntegrationJSONRequestBody defines body for CreateEDRIntegration for application/json ContentType.
type CreateFalconEDRIntegrationJSONRequestBody ¶ added in v0.65.0
type CreateFalconEDRIntegrationJSONRequestBody = EDRFalconRequest
CreateFalconEDRIntegrationJSONRequestBody defines body for CreateFalconEDRIntegration for application/json ContentType.
type CreateHuntressEDRIntegrationJSONRequestBody ¶ added in v0.65.0
type CreateHuntressEDRIntegrationJSONRequestBody = EDRHuntressRequest
CreateHuntressEDRIntegrationJSONRequestBody defines body for CreateHuntressEDRIntegration for application/json ContentType.
type CreateIntegrationJSONRequestBody ¶ added in v0.65.0
type CreateIntegrationJSONRequestBody = CreateIntegrationRequest
CreateIntegrationJSONRequestBody defines body for CreateIntegration for application/json ContentType.
type CreateIntegrationRequest ¶ added in v0.65.0
type CreateIntegrationRequest struct {
// Config Platform-specific configuration as key-value pairs. For creation, all necessary credentials and settings must be provided. For updates, provide the fields to change or the entire new configuration.
Config map[string]string `json:"config"`
// Enabled Specifies whether the integration is enabled. During creation (POST), this value is sent by the client, but the provided backend manager function `CreateIntegration` does not appear to use it directly, so its effect on creation should be verified. During updates (PUT), this field is used to enable or disable the integration.
Enabled bool `json:"enabled"`
// Platform The event streaming platform to integrate with (e.g., "datadog", "s3", "firehose"). This field is used for creation. For updates (PUT), this field, if sent, is ignored by the backend.
Platform CreateIntegrationRequestPlatform `json:"platform"`
}
CreateIntegrationRequest Request payload for creating a new event streaming integration. Also used as the structure for the PUT request body, but not all fields are applicable for updates (see PUT operation description).
type CreateIntegrationRequestPlatform ¶ added in v0.65.0
type CreateIntegrationRequestPlatform string
CreateIntegrationRequestPlatform The event streaming platform to integrate with (e.g., "datadog", "s3", "firehose"). This field is used for creation. For updates (PUT), this field, if sent, is ignored by the backend.
const ( CreateIntegrationRequestPlatformDatadog CreateIntegrationRequestPlatform = "datadog" CreateIntegrationRequestPlatformFirehose CreateIntegrationRequestPlatform = "firehose" CreateIntegrationRequestPlatformGenericHttp CreateIntegrationRequestPlatform = "generic_http" CreateIntegrationRequestPlatformS3 CreateIntegrationRequestPlatform = "s3" )
Defines values for CreateIntegrationRequestPlatform.
type CreateSCIMIntegrationJSONRequestBody ¶ added in v0.65.0
type CreateSCIMIntegrationJSONRequestBody = CreateScimIntegrationRequest
CreateSCIMIntegrationJSONRequestBody defines body for CreateSCIMIntegration for application/json ContentType.
type CreateScimIntegrationRequest ¶ added in v0.65.0
type CreateScimIntegrationRequest struct {
// GroupPrefixes List of start_with string patterns for groups to sync
GroupPrefixes *[]string `json:"group_prefixes,omitempty"`
// Prefix The connection prefix used for the SCIM provider
Prefix string `json:"prefix"`
// Provider Name of the SCIM identity provider
Provider string `json:"provider"`
// UserGroupPrefixes List of start_with string patterns for groups which users to sync
UserGroupPrefixes *[]string `json:"user_group_prefixes,omitempty"`
}
CreateScimIntegrationRequest Request payload for creating an SCIM IDP integration
type CreateSentinelOneEDRIntegrationJSONRequestBody ¶ added in v0.65.0
type CreateSentinelOneEDRIntegrationJSONRequestBody = EDRSentinelOneRequest
CreateSentinelOneEDRIntegrationJSONRequestBody defines body for CreateSentinelOneEDRIntegration for application/json ContentType.
type CreateSetupKeyRequest ¶
type CreateSetupKeyRequest struct {
// AllowExtraDnsLabels Allow extra DNS labels to be added to the peer
AllowExtraDnsLabels *bool `json:"allow_extra_dns_labels,omitempty"`
// AutoGroups List of group IDs to auto-assign to peers registered with this key
AutoGroups []string `json:"auto_groups"`
// Ephemeral Indicate that the peer will be ephemeral or not
Ephemeral *bool `json:"ephemeral,omitempty"`
// ExpiresIn Expiration time in seconds
ExpiresIn int `json:"expires_in"`
// Name Setup Key name
Name string `json:"name"`
// Type Setup key type, one-off for single time usage and reusable
Type string `json:"type"`
// UsageLimit A number of times this key can be used. The value of 0 indicates the unlimited usage.
UsageLimit int `json:"usage_limit"`
}
CreateSetupKeyRequest defines model for CreateSetupKeyRequest.
type CreateTenantRequest ¶ added in v0.65.0
type CreateTenantRequest struct {
// Domain The name for the MSP tenant
Domain string `json:"domain"`
// Groups MSP users Groups that can access the Tenant and Roles to assume
Groups []TenantGroupResponse `json:"groups"`
// Name The name for the MSP tenant
Name string `json:"name"`
}
CreateTenantRequest defines model for CreateTenantRequest.
type DNSChallengeResponse ¶ added in v0.65.0
type DNSChallengeResponse struct {
// DnsChallenge The DNS challenge to set in a TXT record
DnsChallenge string `json:"dns_challenge"`
}
DNSChallengeResponse defines model for DNSChallengeResponse.
type DNSRecord ¶ added in v0.63.0
type DNSRecord struct {
// Content DNS record content (IP address for A/AAAA, domain for CNAME)
Content string `json:"content"`
// Id DNS record ID
Id string `json:"id"`
// Name FQDN for the DNS record. Must be a subdomain within or match the zone's domain.
Name string `json:"name"`
// Ttl Time to live in seconds
Ttl int `json:"ttl"`
// Type DNS record type
Type DNSRecordType `json:"type"`
}
DNSRecord defines model for DNSRecord.
type DNSRecordRequest ¶ added in v0.63.0
type DNSRecordRequest struct {
// Content DNS record content (IP address for A/AAAA, domain for CNAME)
Content string `json:"content"`
// Name FQDN for the DNS record. Must be a subdomain within or match the zone's domain.
Name string `json:"name"`
// Ttl Time to live in seconds
Ttl int `json:"ttl"`
// Type DNS record type
Type DNSRecordType `json:"type"`
}
DNSRecordRequest defines model for DNSRecordRequest.
type DNSRecordType ¶ added in v0.63.0
type DNSRecordType string
DNSRecordType DNS record type
const ( DNSRecordTypeA DNSRecordType = "A" DNSRecordTypeAAAA DNSRecordType = "AAAA" DNSRecordTypeCNAME DNSRecordType = "CNAME" )
Defines values for DNSRecordType.
type DNSSettings ¶
type DNSSettings struct {
// DisabledManagementGroups Groups whose DNS management is disabled
DisabledManagementGroups []string `json:"disabled_management_groups"`
}
DNSSettings defines model for DNSSettings.
type EDRFalconRequest ¶ added in v0.65.0
type EDRFalconRequest struct {
// ClientId CrowdStrike API client ID
ClientId string `json:"client_id"`
// CloudId CrowdStrike cloud identifier (e.g., "us-1", "us-2", "eu-1")
CloudId string `json:"cloud_id"`
// Enabled Indicates whether the integration is enabled
Enabled *bool `json:"enabled,omitempty"`
// Groups The Groups this integration applies to
Groups []string `json:"groups"`
// Secret CrowdStrike API client secret
Secret string `json:"secret"`
// ZtaScoreThreshold The minimum Zero Trust Assessment score required for agent approval (0-100)
ZtaScoreThreshold int `json:"zta_score_threshold"`
}
EDRFalconRequest Request payload for creating or updating a EDR Falcon integration
type EDRFalconResponse ¶ added in v0.65.0
type EDRFalconResponse struct {
// AccountId The identifier of the account this integration belongs to.
AccountId string `json:"account_id"`
// CloudId CrowdStrike cloud identifier
CloudId string `json:"cloud_id"`
// CreatedAt Timestamp of when the integration was created.
CreatedAt time.Time `json:"created_at"`
// CreatedBy The user id that created the integration
CreatedBy string `json:"created_by"`
// Enabled Indicates whether the integration is enabled
Enabled bool `json:"enabled"`
// Groups List of groups
Groups []Group `json:"groups"`
// Id The unique numeric identifier for the integration.
Id int64 `json:"id"`
// LastSyncedAt Timestamp of when the integration was last synced.
LastSyncedAt time.Time `json:"last_synced_at"`
// UpdatedAt Timestamp of when the integration was last updated.
UpdatedAt time.Time `json:"updated_at"`
// ZtaScoreThreshold The minimum Zero Trust Assessment score required for agent approval (0-100)
ZtaScoreThreshold int `json:"zta_score_threshold"`
}
EDRFalconResponse Represents a Falcon EDR integration
type EDRHuntressRequest ¶ added in v0.65.0
type EDRHuntressRequest struct {
// ApiKey Huntress API key
ApiKey string `json:"api_key"`
// ApiSecret Huntress API secret
ApiSecret string `json:"api_secret"`
// Enabled Indicates whether the integration is enabled
Enabled *bool `json:"enabled,omitempty"`
// Groups The Groups this integrations applies to
Groups []string `json:"groups"`
// LastSyncedInterval The devices last sync requirement interval in hours. Minimum value is 24 hours
LastSyncedInterval int `json:"last_synced_interval"`
// MatchAttributes Attribute conditions to match when approving agents
MatchAttributes HuntressMatchAttributes `json:"match_attributes"`
}
EDRHuntressRequest Request payload for creating or updating a EDR Huntress integration
type EDRHuntressResponse ¶ added in v0.65.0
type EDRHuntressResponse struct {
// AccountId The identifier of the account this integration belongs to.
AccountId string `json:"account_id"`
// CreatedAt Timestamp of when the integration was created.
CreatedAt time.Time `json:"created_at"`
// CreatedBy The user id that created the integration
CreatedBy string `json:"created_by"`
// Enabled Indicates whether the integration is enabled
Enabled bool `json:"enabled"`
// Groups List of groups
Groups []Group `json:"groups"`
// Id The unique numeric identifier for the integration.
Id int64 `json:"id"`
// LastSyncedAt Timestamp of when the integration was last synced.
LastSyncedAt time.Time `json:"last_synced_at"`
// LastSyncedInterval The devices last sync requirement interval in hours.
LastSyncedInterval int `json:"last_synced_interval"`
// MatchAttributes Attribute conditions to match when approving agents
MatchAttributes HuntressMatchAttributes `json:"match_attributes"`
// UpdatedAt Timestamp of when the integration was last updated.
UpdatedAt time.Time `json:"updated_at"`
}
EDRHuntressResponse Represents a Huntress EDR integration configuration
type EDRIntuneRequest ¶ added in v0.65.0
type EDRIntuneRequest struct {
// ClientId The Azure application client id
ClientId string `json:"client_id"`
// Enabled Indicates whether the integration is enabled
Enabled *bool `json:"enabled,omitempty"`
// Groups The Groups this integrations applies to
Groups []string `json:"groups"`
// LastSyncedInterval The devices last sync requirement interval in hours. Minimum value is 24 hours.
LastSyncedInterval int `json:"last_synced_interval"`
// Secret The Azure application client secret
Secret string `json:"secret"`
// TenantId The Azure tenant id
TenantId string `json:"tenant_id"`
}
EDRIntuneRequest Request payload for creating or updating a EDR Intune integration.
type EDRIntuneResponse ¶ added in v0.65.0
type EDRIntuneResponse struct {
// AccountId The identifier of the account this integration belongs to.
AccountId string `json:"account_id"`
// ClientId The Azure application client id
ClientId string `json:"client_id"`
// CreatedAt Timestamp of when the integration was created.
CreatedAt time.Time `json:"created_at"`
// CreatedBy The user id that created the integration
CreatedBy string `json:"created_by"`
// Enabled Indicates whether the integration is enabled
Enabled bool `json:"enabled"`
// Groups List of groups
Groups []Group `json:"groups"`
// Id The unique numeric identifier for the integration.
Id int64 `json:"id"`
// LastSyncedAt Timestamp of when the integration was last synced.
LastSyncedAt time.Time `json:"last_synced_at"`
// LastSyncedInterval The devices last sync requirement interval in hours.
LastSyncedInterval int `json:"last_synced_interval"`
// TenantId The Azure tenant id
TenantId string `json:"tenant_id"`
// UpdatedAt Timestamp of when the integration was last updated.
UpdatedAt time.Time `json:"updated_at"`
}
EDRIntuneResponse Represents a Intune EDR integration configuration
type EDRSentinelOneRequest ¶ added in v0.65.0
type EDRSentinelOneRequest struct {
// ApiToken SentinelOne API token
ApiToken string `json:"api_token"`
// ApiUrl The Base URL of SentinelOne API
ApiUrl string `json:"api_url"`
// Enabled Indicates whether the integration is enabled
Enabled *bool `json:"enabled,omitempty"`
// Groups The Groups this integrations applies to
Groups []string `json:"groups"`
// LastSyncedInterval The devices last sync requirement interval in hours. Minimum value is 24 hours.
LastSyncedInterval int `json:"last_synced_interval"`
// MatchAttributes Attribute conditions to match when approving agents
MatchAttributes SentinelOneMatchAttributes `json:"match_attributes"`
}
EDRSentinelOneRequest Request payload for creating or updating a EDR SentinelOne integration
type EDRSentinelOneResponse ¶ added in v0.65.0
type EDRSentinelOneResponse struct {
// AccountId The identifier of the account this integration belongs to.
AccountId string `json:"account_id"`
// ApiUrl The Base URL of SentinelOne API
ApiUrl string `json:"api_url"`
// CreatedAt Timestamp of when the integration was created.
CreatedAt time.Time `json:"created_at"`
// CreatedBy The user id that created the integration
CreatedBy string `json:"created_by"`
// Enabled Indicates whether the integration is enabled
Enabled bool `json:"enabled"`
// Groups List of groups
Groups []Group `json:"groups"`
// Id The unique numeric identifier for the integration.
Id int64 `json:"id"`
// LastSyncedAt Timestamp of when the integration was last synced.
LastSyncedAt time.Time `json:"last_synced_at"`
// LastSyncedInterval The devices last sync requirement interval in hours.
LastSyncedInterval int `json:"last_synced_interval"`
// MatchAttributes Attribute conditions to match when approving agents
MatchAttributes SentinelOneMatchAttributes `json:"match_attributes"`
// UpdatedAt Timestamp of when the integration was last updated.
UpdatedAt time.Time `json:"updated_at"`
}
EDRSentinelOneResponse Represents a SentinelOne EDR integration configuration
type ErrorResponse ¶ added in v0.65.0
type ErrorResponse struct {
// Message A human-readable error message.
Message *string `json:"message,omitempty"`
}
ErrorResponse Standard error response. Note: The exact structure of this error response is inferred from `util.WriteErrorResponse` and `util.WriteError` usage in the provided Go code, as a specific Go struct for errors was not provided.
type Event ¶
type Event struct {
// Activity The activity that occurred during the event
Activity string `json:"activity"`
// ActivityCode The string code of the activity that occurred during the event
ActivityCode EventActivityCode `json:"activity_code"`
// Id Event unique identifier
Id string `json:"id"`
// InitiatorEmail The e-mail address of the initiator of the event. E.g., an e-mail of a user that triggered the event.
InitiatorEmail string `json:"initiator_email"`
// InitiatorId The ID of the initiator of the event. E.g., an ID of a user that triggered the event.
InitiatorId string `json:"initiator_id"`
// InitiatorName The name of the initiator of the event.
InitiatorName string `json:"initiator_name"`
// Meta The metadata of the event
Meta map[string]string `json:"meta"`
// TargetId The ID of the target of the event. E.g., an ID of the peer that a user removed.
TargetId string `json:"target_id"`
// Timestamp The date and time when the event occurred
Timestamp time.Time `json:"timestamp"`
}
Event defines model for Event.
type EventActivityCode ¶
type EventActivityCode string
EventActivityCode The string code of the activity that occurred during the event
const ( EventActivityCodeAccountCreate EventActivityCode = "account.create" EventActivityCodeAccountDelete EventActivityCode = "account.delete" EventActivityCodeAccountDnsDomainUpdate EventActivityCode = "account.dns.domain.update" EventActivityCodeAccountNetworkRangeUpdate EventActivityCode = "account.network.range.update" EventActivityCodeAccountPeerInactivityExpirationDisable EventActivityCode = "account.peer.inactivity.expiration.disable" EventActivityCodeAccountPeerInactivityExpirationEnable EventActivityCode = "account.peer.inactivity.expiration.enable" EventActivityCodeAccountPeerInactivityExpirationUpdate EventActivityCode = "account.peer.inactivity.expiration.update" EventActivityCodeAccountSettingGroupPropagationDisable EventActivityCode = "account.setting.group.propagation.disable" EventActivityCodeAccountSettingGroupPropagationEnable EventActivityCode = "account.setting.group.propagation.enable" EventActivityCodeAccountSettingLazyConnectionDisable EventActivityCode = "account.setting.lazy.connection.disable" EventActivityCodeAccountSettingLazyConnectionEnable EventActivityCode = "account.setting.lazy.connection.enable" EventActivityCodeAccountSettingPeerApprovalDisable EventActivityCode = "account.setting.peer.approval.disable" EventActivityCodeAccountSettingPeerApprovalEnable EventActivityCode = "account.setting.peer.approval.enable" EventActivityCodeAccountSettingPeerLoginExpirationDisable EventActivityCode = "account.setting.peer.login.expiration.disable" EventActivityCodeAccountSettingPeerLoginExpirationEnable EventActivityCode = "account.setting.peer.login.expiration.enable" EventActivityCodeAccountSettingPeerLoginExpirationUpdate EventActivityCode = "account.setting.peer.login.expiration.update" EventActivityCodeAccountSettingRoutingPeerDnsResolutionDisable EventActivityCode = "account.setting.routing.peer.dns.resolution.disable" EventActivityCodeAccountSettingRoutingPeerDnsResolutionEnable EventActivityCode = "account.setting.routing.peer.dns.resolution.enable" EventActivityCodeAccountSettingsAutoVersionUpdate EventActivityCode = "account.settings.auto.version.update" EventActivityCodeDashboardLogin EventActivityCode = "dashboard.login" EventActivityCodeDnsSettingDisabledManagementGroupAdd EventActivityCode = "dns.setting.disabled.management.group.add" EventActivityCodeDnsSettingDisabledManagementGroupDelete EventActivityCode = "dns.setting.disabled.management.group.delete" EventActivityCodeDnsZoneCreate EventActivityCode = "dns.zone.create" EventActivityCodeDnsZoneDelete EventActivityCode = "dns.zone.delete" EventActivityCodeDnsZoneRecordCreate EventActivityCode = "dns.zone.record.create" EventActivityCodeDnsZoneRecordDelete EventActivityCode = "dns.zone.record.delete" EventActivityCodeDnsZoneRecordUpdate EventActivityCode = "dns.zone.record.update" EventActivityCodeDnsZoneUpdate EventActivityCode = "dns.zone.update" EventActivityCodeGroupAdd EventActivityCode = "group.add" EventActivityCodeGroupDelete EventActivityCode = "group.delete" EventActivityCodeGroupUpdate EventActivityCode = "group.update" EventActivityCodeIdentityproviderCreate EventActivityCode = "identityprovider.create" EventActivityCodeIdentityproviderDelete EventActivityCode = "identityprovider.delete" EventActivityCodeIdentityproviderUpdate EventActivityCode = "identityprovider.update" EventActivityCodeIntegrationCreate EventActivityCode = "integration.create" EventActivityCodeIntegrationDelete EventActivityCode = "integration.delete" EventActivityCodeIntegrationUpdate EventActivityCode = "integration.update" EventActivityCodeNameserverGroupAdd EventActivityCode = "nameserver.group.add" EventActivityCodeNameserverGroupDelete EventActivityCode = "nameserver.group.delete" EventActivityCodeNameserverGroupUpdate EventActivityCode = "nameserver.group.update" EventActivityCodeNetworkCreate EventActivityCode = "network.create" EventActivityCodeNetworkDelete EventActivityCode = "network.delete" EventActivityCodeNetworkResourceCreate EventActivityCode = "network.resource.create" EventActivityCodeNetworkResourceDelete EventActivityCode = "network.resource.delete" EventActivityCodeNetworkResourceUpdate EventActivityCode = "network.resource.update" EventActivityCodeNetworkRouterCreate EventActivityCode = "network.router.create" EventActivityCodeNetworkRouterDelete EventActivityCode = "network.router.delete" EventActivityCodeNetworkRouterUpdate EventActivityCode = "network.router.update" EventActivityCodeNetworkUpdate EventActivityCode = "network.update" EventActivityCodePeerApprovalRevoke EventActivityCode = "peer.approval.revoke" EventActivityCodePeerApprove EventActivityCode = "peer.approve" EventActivityCodePeerGroupAdd EventActivityCode = "peer.group.add" EventActivityCodePeerGroupDelete EventActivityCode = "peer.group.delete" EventActivityCodePeerInactivityExpirationDisable EventActivityCode = "peer.inactivity.expiration.disable" EventActivityCodePeerInactivityExpirationEnable EventActivityCode = "peer.inactivity.expiration.enable" EventActivityCodePeerIpUpdate EventActivityCode = "peer.ip.update" EventActivityCodePeerJobCreate EventActivityCode = "peer.job.create" EventActivityCodePeerLoginExpirationDisable EventActivityCode = "peer.login.expiration.disable" EventActivityCodePeerLoginExpirationEnable EventActivityCode = "peer.login.expiration.enable" EventActivityCodePeerLoginExpire EventActivityCode = "peer.login.expire" EventActivityCodePeerRename EventActivityCode = "peer.rename" EventActivityCodePeerSetupkeyAdd EventActivityCode = "peer.setupkey.add" EventActivityCodePeerSshDisable EventActivityCode = "peer.ssh.disable" EventActivityCodePeerSshEnable EventActivityCode = "peer.ssh.enable" EventActivityCodePeerUserAdd EventActivityCode = "peer.user.add" EventActivityCodePersonalAccessTokenCreate EventActivityCode = "personal.access.token.create" EventActivityCodePersonalAccessTokenDelete EventActivityCode = "personal.access.token.delete" EventActivityCodePolicyAdd EventActivityCode = "policy.add" EventActivityCodePolicyDelete EventActivityCode = "policy.delete" EventActivityCodePolicyUpdate EventActivityCode = "policy.update" EventActivityCodePostureCheckCreate EventActivityCode = "posture.check.create" EventActivityCodePostureCheckDelete EventActivityCode = "posture.check.delete" EventActivityCodePostureCheckUpdate EventActivityCode = "posture.check.update" EventActivityCodeResourceGroupAdd EventActivityCode = "resource.group.add" EventActivityCodeResourceGroupDelete EventActivityCode = "resource.group.delete" EventActivityCodeRouteAdd EventActivityCode = "route.add" EventActivityCodeRouteDelete EventActivityCode = "route.delete" EventActivityCodeRouteUpdate EventActivityCode = "route.update" EventActivityCodeRuleAdd EventActivityCode = "rule.add" EventActivityCodeRuleDelete EventActivityCode = "rule.delete" EventActivityCodeRuleUpdate EventActivityCode = "rule.update" EventActivityCodeServiceCreate EventActivityCode = "service.create" EventActivityCodeServiceDelete EventActivityCode = "service.delete" EventActivityCodeServiceUpdate EventActivityCode = "service.update" EventActivityCodeServiceUserCreate EventActivityCode = "service.user.create" EventActivityCodeServiceUserDelete EventActivityCode = "service.user.delete" EventActivityCodeSetupkeyAdd EventActivityCode = "setupkey.add" EventActivityCodeSetupkeyDelete EventActivityCode = "setupkey.delete" EventActivityCodeSetupkeyGroupAdd EventActivityCode = "setupkey.group.add" EventActivityCodeSetupkeyGroupDelete EventActivityCode = "setupkey.group.delete" EventActivityCodeSetupkeyOveruse EventActivityCode = "setupkey.overuse" EventActivityCodeSetupkeyRevoke EventActivityCode = "setupkey.revoke" EventActivityCodeSetupkeyUpdate EventActivityCode = "setupkey.update" EventActivityCodeTransferredOwnerRole EventActivityCode = "transferred.owner.role" EventActivityCodeUserApprove EventActivityCode = "user.approve" EventActivityCodeUserBlock EventActivityCode = "user.block" EventActivityCodeUserCreate EventActivityCode = "user.create" EventActivityCodeUserDelete EventActivityCode = "user.delete" EventActivityCodeUserGroupAdd EventActivityCode = "user.group.add" EventActivityCodeUserGroupDelete EventActivityCode = "user.group.delete" EventActivityCodeUserInvite EventActivityCode = "user.invite" EventActivityCodeUserInviteLinkAccept EventActivityCode = "user.invite.link.accept" EventActivityCodeUserInviteLinkCreate EventActivityCode = "user.invite.link.create" EventActivityCodeUserInviteLinkDelete EventActivityCode = "user.invite.link.delete" EventActivityCodeUserInviteLinkRegenerate EventActivityCode = "user.invite.link.regenerate" EventActivityCodeUserJoin EventActivityCode = "user.join" EventActivityCodeUserPasswordChange EventActivityCode = "user.password.change" EventActivityCodeUserPeerDelete EventActivityCode = "user.peer.delete" EventActivityCodeUserPeerLogin EventActivityCode = "user.peer.login" EventActivityCodeUserReject EventActivityCode = "user.reject" EventActivityCodeUserRoleUpdate EventActivityCode = "user.role.update" EventActivityCodeUserUnblock EventActivityCode = "user.unblock" )
Defines values for EventActivityCode.
type GeoLocationCheck ¶
type GeoLocationCheck struct {
// Action Action to take upon policy match
Action GeoLocationCheckAction `json:"action"`
// Locations List of geo locations to which the policy applies
Locations []Location `json:"locations"`
}
GeoLocationCheck Posture check for geo location
type GeoLocationCheckAction ¶
type GeoLocationCheckAction string
GeoLocationCheckAction Action to take upon policy match
const ( GeoLocationCheckActionAllow GeoLocationCheckAction = "allow" GeoLocationCheckActionDeny GeoLocationCheckAction = "deny" )
Defines values for GeoLocationCheckAction.
type GetApiEventsNetworkTrafficParams ¶
type GetApiEventsNetworkTrafficParams struct {
// Page Page number
Page *int `form:"page,omitempty" json:"page,omitempty"`
// PageSize Number of items per page
PageSize *int `form:"page_size,omitempty" json:"page_size,omitempty"`
// UserId Filter by user ID
UserId *string `form:"user_id,omitempty" json:"user_id,omitempty"`
// ReporterId Filter by reporter ID
ReporterId *string `form:"reporter_id,omitempty" json:"reporter_id,omitempty"`
// Protocol Filter by protocol
Protocol *int `form:"protocol,omitempty" json:"protocol,omitempty"`
// Type Filter by event type
Type *GetApiEventsNetworkTrafficParamsType `form:"type,omitempty" json:"type,omitempty"`
// ConnectionType Filter by connection type
ConnectionType *GetApiEventsNetworkTrafficParamsConnectionType `form:"connection_type,omitempty" json:"connection_type,omitempty"`
// Direction Filter by direction
Direction *GetApiEventsNetworkTrafficParamsDirection `form:"direction,omitempty" json:"direction,omitempty"`
// Search Case-insensitive partial match on user email, source/destination names, and source/destination addresses
Search *string `form:"search,omitempty" json:"search,omitempty"`
// StartDate Start date for filtering events (ISO 8601 format, e.g., 2024-01-01T00:00:00Z).
StartDate *time.Time `form:"start_date,omitempty" json:"start_date,omitempty"`
// EndDate End date for filtering events (ISO 8601 format, e.g., 2024-01-31T23:59:59Z).
EndDate *time.Time `form:"end_date,omitempty" json:"end_date,omitempty"`
}
GetApiEventsNetworkTrafficParams defines parameters for GetApiEventsNetworkTraffic.
type GetApiEventsNetworkTrafficParamsConnectionType ¶
type GetApiEventsNetworkTrafficParamsConnectionType string
GetApiEventsNetworkTrafficParamsConnectionType defines parameters for GetApiEventsNetworkTraffic.
const ( GetApiEventsNetworkTrafficParamsConnectionTypeP2P GetApiEventsNetworkTrafficParamsConnectionType = "P2P" GetApiEventsNetworkTrafficParamsConnectionTypeROUTED GetApiEventsNetworkTrafficParamsConnectionType = "ROUTED" )
Defines values for GetApiEventsNetworkTrafficParamsConnectionType.
type GetApiEventsNetworkTrafficParamsDirection ¶
type GetApiEventsNetworkTrafficParamsDirection string
GetApiEventsNetworkTrafficParamsDirection defines parameters for GetApiEventsNetworkTraffic.
const ( GetApiEventsNetworkTrafficParamsDirectionDIRECTIONUNKNOWN GetApiEventsNetworkTrafficParamsDirection = "DIRECTION_UNKNOWN" GetApiEventsNetworkTrafficParamsDirectionEGRESS GetApiEventsNetworkTrafficParamsDirection = "EGRESS" GetApiEventsNetworkTrafficParamsDirectionINGRESS GetApiEventsNetworkTrafficParamsDirection = "INGRESS" )
Defines values for GetApiEventsNetworkTrafficParamsDirection.
type GetApiEventsNetworkTrafficParamsType ¶
type GetApiEventsNetworkTrafficParamsType string
GetApiEventsNetworkTrafficParamsType defines parameters for GetApiEventsNetworkTraffic.
const ( GetApiEventsNetworkTrafficParamsTypeTYPEDROP GetApiEventsNetworkTrafficParamsType = "TYPE_DROP" GetApiEventsNetworkTrafficParamsTypeTYPEEND GetApiEventsNetworkTrafficParamsType = "TYPE_END" GetApiEventsNetworkTrafficParamsTypeTYPESTART GetApiEventsNetworkTrafficParamsType = "TYPE_START" GetApiEventsNetworkTrafficParamsTypeTYPEUNKNOWN GetApiEventsNetworkTrafficParamsType = "TYPE_UNKNOWN" )
Defines values for GetApiEventsNetworkTrafficParamsType.
type GetApiEventsProxyParams ¶ added in v0.65.0
type GetApiEventsProxyParams struct {
// Page Page number for pagination (1-indexed)
Page *int `form:"page,omitempty" json:"page,omitempty"`
// PageSize Number of items per page (max 100)
PageSize *int `form:"page_size,omitempty" json:"page_size,omitempty"`
// Search General search across request ID, host, path, source IP, user email, and user name
Search *string `form:"search,omitempty" json:"search,omitempty"`
// SourceIp Filter by source IP address
SourceIp *string `form:"source_ip,omitempty" json:"source_ip,omitempty"`
// Host Filter by host header
Host *string `form:"host,omitempty" json:"host,omitempty"`
// Path Filter by request path (supports partial matching)
Path *string `form:"path,omitempty" json:"path,omitempty"`
// UserId Filter by authenticated user ID
UserId *string `form:"user_id,omitempty" json:"user_id,omitempty"`
// UserEmail Filter by user email (partial matching)
UserEmail *string `form:"user_email,omitempty" json:"user_email,omitempty"`
// UserName Filter by user name (partial matching)
UserName *string `form:"user_name,omitempty" json:"user_name,omitempty"`
// Method Filter by HTTP method
Method *GetApiEventsProxyParamsMethod `form:"method,omitempty" json:"method,omitempty"`
// Status Filter by status (success = 2xx/3xx, failed = 1xx/4xx/5xx)
Status *GetApiEventsProxyParamsStatus `form:"status,omitempty" json:"status,omitempty"`
// StatusCode Filter by HTTP status code
StatusCode *int `form:"status_code,omitempty" json:"status_code,omitempty"`
// StartDate Filter by timestamp >= start_date (RFC3339 format)
StartDate *time.Time `form:"start_date,omitempty" json:"start_date,omitempty"`
// EndDate Filter by timestamp <= end_date (RFC3339 format)
EndDate *time.Time `form:"end_date,omitempty" json:"end_date,omitempty"`
}
GetApiEventsProxyParams defines parameters for GetApiEventsProxy.
type GetApiEventsProxyParamsMethod ¶ added in v0.65.0
type GetApiEventsProxyParamsMethod string
GetApiEventsProxyParamsMethod defines parameters for GetApiEventsProxy.
const ( GetApiEventsProxyParamsMethodDELETE GetApiEventsProxyParamsMethod = "DELETE" GetApiEventsProxyParamsMethodGET GetApiEventsProxyParamsMethod = "GET" GetApiEventsProxyParamsMethodHEAD GetApiEventsProxyParamsMethod = "HEAD" GetApiEventsProxyParamsMethodOPTIONS GetApiEventsProxyParamsMethod = "OPTIONS" GetApiEventsProxyParamsMethodPATCH GetApiEventsProxyParamsMethod = "PATCH" GetApiEventsProxyParamsMethodPOST GetApiEventsProxyParamsMethod = "POST" GetApiEventsProxyParamsMethodPUT GetApiEventsProxyParamsMethod = "PUT" )
Defines values for GetApiEventsProxyParamsMethod.
type GetApiEventsProxyParamsStatus ¶ added in v0.65.0
type GetApiEventsProxyParamsStatus string
GetApiEventsProxyParamsStatus defines parameters for GetApiEventsProxy.
const ( GetApiEventsProxyParamsStatusFailed GetApiEventsProxyParamsStatus = "failed" GetApiEventsProxyParamsStatusSuccess GetApiEventsProxyParamsStatus = "success" )
Defines values for GetApiEventsProxyParamsStatus.
type GetApiGroupsParams ¶ added in v0.60.5
type GetApiGroupsParams struct {
// Name Filter groups by name (exact match)
Name *string `form:"name,omitempty" json:"name,omitempty"`
}
GetApiGroupsParams defines parameters for GetApiGroups.
type GetApiIntegrationsBillingPortalParams ¶ added in v0.65.0
type GetApiIntegrationsBillingPortalParams struct {
// BaseURL The base URL for the redirect after accessing the portal.
BaseURL string `form:"baseURL" json:"baseURL"`
}
GetApiIntegrationsBillingPortalParams defines parameters for GetApiIntegrationsBillingPortal.
type GetApiPeersParams ¶
type GetApiPeersParams struct {
// Name Filter peers by name
Name *string `form:"name,omitempty" json:"name,omitempty"`
// Ip Filter peers by IP address
Ip *string `form:"ip,omitempty" json:"ip,omitempty"`
}
GetApiPeersParams defines parameters for GetApiPeers.
type GetApiPeersPeerIdIngressPortsParams ¶
type GetApiPeersPeerIdIngressPortsParams struct {
// Name Filters ingress port allocations by name
Name *string `form:"name,omitempty" json:"name,omitempty"`
}
GetApiPeersPeerIdIngressPortsParams defines parameters for GetApiPeersPeerIdIngressPorts.
type GetApiUsersParams ¶
type GetApiUsersParams struct {
// ServiceUser Filters users and returns either regular users or service users
ServiceUser *bool `form:"service_user,omitempty" json:"service_user,omitempty"`
}
GetApiUsersParams defines parameters for GetApiUsers.
type GetTenantsResponse ¶ added in v0.65.0
type GetTenantsResponse = []TenantResponse
GetTenantsResponse defines model for GetTenantsResponse.
type Group ¶
type Group struct {
// Id Group ID
Id string `json:"id"`
// Issued How the group was issued (api, integration, jwt)
Issued *GroupIssued `json:"issued,omitempty"`
// Name Group Name identifier
Name string `json:"name"`
// Peers List of peers object
Peers []PeerMinimum `json:"peers"`
// PeersCount Count of peers associated to the group
PeersCount int `json:"peers_count"`
Resources []Resource `json:"resources"`
// ResourcesCount Count of resources associated to the group
ResourcesCount int `json:"resources_count"`
}
Group defines model for Group.
type GroupIssued ¶
type GroupIssued string
GroupIssued How the group was issued (api, integration, jwt)
const ( GroupIssuedApi GroupIssued = "api" GroupIssuedIntegration GroupIssued = "integration" GroupIssuedJwt GroupIssued = "jwt" )
Defines values for GroupIssued.
type GroupMinimum ¶
type GroupMinimum struct {
// Id Group ID
Id string `json:"id"`
// Issued How the group was issued (api, integration, jwt)
Issued *GroupMinimumIssued `json:"issued,omitempty"`
// Name Group Name identifier
Name string `json:"name"`
// PeersCount Count of peers associated to the group
PeersCount int `json:"peers_count"`
// ResourcesCount Count of resources associated to the group
ResourcesCount int `json:"resources_count"`
}
GroupMinimum defines model for GroupMinimum.
type GroupMinimumIssued ¶
type GroupMinimumIssued string
GroupMinimumIssued How the group was issued (api, integration, jwt)
const ( GroupMinimumIssuedApi GroupMinimumIssued = "api" GroupMinimumIssuedIntegration GroupMinimumIssued = "integration" GroupMinimumIssuedJwt GroupMinimumIssued = "jwt" )
Defines values for GroupMinimumIssued.
type GroupRequest ¶
type GroupRequest struct {
// Name Group name identifier
Name string `json:"name"`
// Peers List of peers ids
Peers *[]string `json:"peers,omitempty"`
Resources *[]Resource `json:"resources,omitempty"`
}
GroupRequest defines model for GroupRequest.
type HuntressMatchAttributes ¶ added in v0.65.0
type HuntressMatchAttributes struct {
// DefenderPolicyStatus Policy status of Defender AV for Managed Antivirus.
DefenderPolicyStatus *string `json:"defender_policy_status,omitempty"`
// DefenderStatus Status of Defender AV Managed Antivirus.
DefenderStatus *string `json:"defender_status,omitempty"`
// DefenderSubstatus Sub-status of Defender AV Managed Antivirus.
DefenderSubstatus *string `json:"defender_substatus,omitempty"`
// FirewallStatus Status of agent firewall. Can be one of Disabled, Enabled, Pending Isolation, Isolated, Pending Release.
FirewallStatus *string `json:"firewall_status,omitempty"`
}
HuntressMatchAttributes Attribute conditions to match when approving agents
type IdentityProvider ¶ added in v0.62.0
type IdentityProvider struct {
// ClientId OAuth2 client ID
ClientId string `json:"client_id"`
// Id Identity provider ID
Id *string `json:"id,omitempty"`
// Issuer OIDC issuer URL
Issuer string `json:"issuer"`
// Name Human-readable name for the identity provider
Name string `json:"name"`
// Type Type of identity provider
Type IdentityProviderType `json:"type"`
}
IdentityProvider defines model for IdentityProvider.
type IdentityProviderRequest ¶ added in v0.62.0
type IdentityProviderRequest struct {
// ClientId OAuth2 client ID
ClientId string `json:"client_id"`
// ClientSecret OAuth2 client secret
ClientSecret string `json:"client_secret"`
// Issuer OIDC issuer URL
Issuer string `json:"issuer"`
// Name Human-readable name for the identity provider
Name string `json:"name"`
// Type Type of identity provider
Type IdentityProviderType `json:"type"`
}
IdentityProviderRequest defines model for IdentityProviderRequest.
type IdentityProviderType ¶ added in v0.62.0
type IdentityProviderType string
IdentityProviderType Type of identity provider
const ( IdentityProviderTypeEntra IdentityProviderType = "entra" IdentityProviderTypeGoogle IdentityProviderType = "google" IdentityProviderTypeMicrosoft IdentityProviderType = "microsoft" IdentityProviderTypeOidc IdentityProviderType = "oidc" IdentityProviderTypeOkta IdentityProviderType = "okta" IdentityProviderTypePocketid IdentityProviderType = "pocketid" IdentityProviderTypeZitadel IdentityProviderType = "zitadel" )
Defines values for IdentityProviderType.
type IdpIntegrationSyncLog ¶ added in v0.65.0
type IdpIntegrationSyncLog struct {
// Id The unique identifier for the sync log
Id int64 `json:"id"`
// Level The log level
Level string `json:"level"`
// Message Log message
Message string `json:"message"`
// Timestamp Timestamp of when the log was created
Timestamp time.Time `json:"timestamp"`
}
IdpIntegrationSyncLog Represents a synchronization log entry for an integration
type IngressPeer ¶
type IngressPeer struct {
AvailablePorts AvailablePorts `json:"available_ports"`
// Connected Indicates if an ingress peer is connected to the management server
Connected bool `json:"connected"`
// Enabled Indicates if an ingress peer is enabled
Enabled bool `json:"enabled"`
// Fallback Indicates if an ingress peer can be used as a fallback if no ingress peer can be found in the region of the forwarded peer
Fallback bool `json:"fallback"`
// Id ID of the ingress peer
Id string `json:"id"`
// IngressIp Ingress IP address of the ingress peer where the traffic arrives
IngressIp string `json:"ingress_ip"`
// PeerId ID of the peer that is used as an ingress peer
PeerId string `json:"peer_id"`
// Region Region of the ingress peer
Region string `json:"region"`
}
IngressPeer defines model for IngressPeer.
type IngressPeerCreateRequest ¶
type IngressPeerCreateRequest struct {
// Enabled Defines if an ingress peer is enabled
Enabled bool `json:"enabled"`
// Fallback Defines if an ingress peer can be used as a fallback if no ingress peer can be found in the region of the forwarded peer
Fallback bool `json:"fallback"`
// PeerId ID of the peer that is used as an ingress peer
PeerId string `json:"peer_id"`
}
IngressPeerCreateRequest defines model for IngressPeerCreateRequest.
type IngressPeerUpdateRequest ¶
type IngressPeerUpdateRequest struct {
// Enabled Defines if an ingress peer is enabled
Enabled bool `json:"enabled"`
// Fallback Defines if an ingress peer can be used as a fallback if no ingress peer can be found in the region of the forwarded peer
Fallback bool `json:"fallback"`
}
IngressPeerUpdateRequest defines model for IngressPeerUpdateRequest.
type IngressPortAllocation ¶
type IngressPortAllocation struct {
// Enabled Indicates if an ingress port allocation is enabled
Enabled bool `json:"enabled"`
// Id ID of the ingress port allocation
Id string `json:"id"`
// IngressIp Ingress IP address of the ingress peer where the traffic arrives
IngressIp string `json:"ingress_ip"`
// IngressPeerId ID of the ingress peer that forwards the ports
IngressPeerId string `json:"ingress_peer_id"`
// Name Name of the ingress port allocation
Name string `json:"name"`
// PortRangeMappings List of port ranges that are allowed to be used by the ingress peer
PortRangeMappings []IngressPortAllocationPortMapping `json:"port_range_mappings"`
// Region Region of the ingress peer
Region string `json:"region"`
}
IngressPortAllocation defines model for IngressPortAllocation.
type IngressPortAllocationPortMapping ¶
type IngressPortAllocationPortMapping struct {
// IngressEnd The ending port of the range of ingress ports mapped to the forwarded ports
IngressEnd int `json:"ingress_end"`
// IngressStart The starting port of the range of ingress ports mapped to the forwarded ports
IngressStart int `json:"ingress_start"`
// Protocol Protocol accepted by the ports
Protocol IngressPortAllocationPortMappingProtocol `json:"protocol"`
// TranslatedEnd The ending port of the translated range of forwarded ports
TranslatedEnd int `json:"translated_end"`
// TranslatedStart The starting port of the translated range of forwarded ports
TranslatedStart int `json:"translated_start"`
}
IngressPortAllocationPortMapping defines model for IngressPortAllocationPortMapping.
type IngressPortAllocationPortMappingProtocol ¶
type IngressPortAllocationPortMappingProtocol string
IngressPortAllocationPortMappingProtocol Protocol accepted by the ports
const ( IngressPortAllocationPortMappingProtocolTcp IngressPortAllocationPortMappingProtocol = "tcp" IngressPortAllocationPortMappingProtocolTcpudp IngressPortAllocationPortMappingProtocol = "tcp/udp" IngressPortAllocationPortMappingProtocolUdp IngressPortAllocationPortMappingProtocol = "udp" )
Defines values for IngressPortAllocationPortMappingProtocol.
type IngressPortAllocationRequest ¶
type IngressPortAllocationRequest struct {
DirectPort *IngressPortAllocationRequestDirectPort `json:"direct_port,omitempty"`
// Enabled Indicates if an ingress port allocation is enabled
Enabled bool `json:"enabled"`
// Name Name of the ingress port allocation
Name string `json:"name"`
// PortRanges List of port ranges that are forwarded by the ingress peer
PortRanges *[]IngressPortAllocationRequestPortRange `json:"port_ranges,omitempty"`
}
IngressPortAllocationRequest defines model for IngressPortAllocationRequest.
type IngressPortAllocationRequestDirectPort ¶
type IngressPortAllocationRequestDirectPort struct {
// Count The number of ports to be forwarded
Count int `json:"count"`
// Protocol The protocol accepted by the port
Protocol IngressPortAllocationRequestDirectPortProtocol `json:"protocol"`
}
IngressPortAllocationRequestDirectPort defines model for IngressPortAllocationRequestDirectPort.
type IngressPortAllocationRequestDirectPortProtocol ¶
type IngressPortAllocationRequestDirectPortProtocol string
IngressPortAllocationRequestDirectPortProtocol The protocol accepted by the port
const ( IngressPortAllocationRequestDirectPortProtocolTcp IngressPortAllocationRequestDirectPortProtocol = "tcp" IngressPortAllocationRequestDirectPortProtocolTcpudp IngressPortAllocationRequestDirectPortProtocol = "tcp/udp" IngressPortAllocationRequestDirectPortProtocolUdp IngressPortAllocationRequestDirectPortProtocol = "udp" )
Defines values for IngressPortAllocationRequestDirectPortProtocol.
type IngressPortAllocationRequestPortRange ¶
type IngressPortAllocationRequestPortRange struct {
// End The ending port of the range of forwarded ports
End int `json:"end"`
// Protocol The protocol accepted by the port range
Protocol IngressPortAllocationRequestPortRangeProtocol `json:"protocol"`
// Start The starting port of the range of forwarded ports
Start int `json:"start"`
}
IngressPortAllocationRequestPortRange defines model for IngressPortAllocationRequestPortRange.
type IngressPortAllocationRequestPortRangeProtocol ¶
type IngressPortAllocationRequestPortRangeProtocol string
IngressPortAllocationRequestPortRangeProtocol The protocol accepted by the port range
const ( IngressPortAllocationRequestPortRangeProtocolTcp IngressPortAllocationRequestPortRangeProtocol = "tcp" IngressPortAllocationRequestPortRangeProtocolTcpudp IngressPortAllocationRequestPortRangeProtocol = "tcp/udp" IngressPortAllocationRequestPortRangeProtocolUdp IngressPortAllocationRequestPortRangeProtocol = "udp" )
Defines values for IngressPortAllocationRequestPortRangeProtocol.
type InstanceStatus ¶ added in v0.62.0
type InstanceStatus struct {
// SetupRequired Indicates whether the instance requires initial setup
SetupRequired bool `json:"setup_required"`
}
InstanceStatus Instance status information
type InstanceVersionInfo ¶ added in v0.64.2
type InstanceVersionInfo struct {
// DashboardAvailableVersion The latest available version of the dashboard (from GitHub releases)
DashboardAvailableVersion *string `json:"dashboard_available_version,omitempty"`
// ManagementAvailableVersion The latest available version of the management server (from GitHub releases)
ManagementAvailableVersion *string `json:"management_available_version,omitempty"`
// ManagementCurrentVersion The current running version of the management server
ManagementCurrentVersion string `json:"management_current_version"`
// ManagementUpdateAvailable Indicates if a newer management version is available
ManagementUpdateAvailable bool `json:"management_update_available"`
}
InstanceVersionInfo Version information for NetBird components
type IntegrationResponse ¶ added in v0.65.0
type IntegrationResponse struct {
// AccountId The identifier of the account this integration belongs to.
AccountId *string `json:"account_id,omitempty"`
// Config Configuration for the integration. Sensitive keys (like API keys, secret keys) are masked with '****' in responses, as indicated by the GetIntegration handler logic.
Config *map[string]string `json:"config,omitempty"`
// CreatedAt Timestamp of when the integration was created.
CreatedAt *time.Time `json:"created_at,omitempty"`
// Enabled Whether the integration is currently active.
Enabled *bool `json:"enabled,omitempty"`
// Id The unique numeric identifier for the integration.
Id *int64 `json:"id,omitempty"`
// Platform The event streaming platform.
Platform *IntegrationResponsePlatform `json:"platform,omitempty"`
// UpdatedAt Timestamp of when the integration was last updated.
UpdatedAt *time.Time `json:"updated_at,omitempty"`
}
IntegrationResponse Represents an event streaming integration.
type IntegrationResponsePlatform ¶ added in v0.65.0
type IntegrationResponsePlatform string
IntegrationResponsePlatform The event streaming platform.
const ( IntegrationResponsePlatformDatadog IntegrationResponsePlatform = "datadog" IntegrationResponsePlatformFirehose IntegrationResponsePlatform = "firehose" IntegrationResponsePlatformGenericHttp IntegrationResponsePlatform = "generic_http" IntegrationResponsePlatformS3 IntegrationResponsePlatform = "s3" )
Defines values for IntegrationResponsePlatform.
type InvoicePDFResponse ¶ added in v0.65.0
type InvoicePDFResponse struct {
// Url URL to redirect the user to invoice.
Url string `json:"url"`
}
InvoicePDFResponse defines model for InvoicePDFResponse.
type InvoiceResponse ¶ added in v0.65.0
type InvoiceResponse struct {
// Id The Stripe invoice id
Id string `json:"id"`
// PeriodEnd The end date of the invoice period.
PeriodEnd time.Time `json:"period_end"`
// PeriodStart The start date of the invoice period.
PeriodStart time.Time `json:"period_start"`
// Type The invoice type
Type InvoiceResponseType `json:"type"`
}
InvoiceResponse defines model for InvoiceResponse.
type InvoiceResponseType ¶ added in v0.65.0
type InvoiceResponseType string
InvoiceResponseType The invoice type
const ( InvoiceResponseTypeAccount InvoiceResponseType = "account" InvoiceResponseTypeTenants InvoiceResponseType = "tenants" )
Defines values for InvoiceResponseType.
type JobRequest ¶ added in v0.64.0
type JobRequest struct {
Workload WorkloadRequest `json:"workload"`
}
JobRequest defines model for JobRequest.
type JobResponse ¶ added in v0.64.0
type JobResponse struct {
CompletedAt *time.Time `json:"completed_at"`
CreatedAt time.Time `json:"created_at"`
FailedReason *string `json:"failed_reason"`
Id string `json:"id"`
Status JobResponseStatus `json:"status"`
TriggeredBy string `json:"triggered_by"`
Workload WorkloadResponse `json:"workload"`
}
JobResponse defines model for JobResponse.
type JobResponseStatus ¶ added in v0.64.0
type JobResponseStatus string
JobResponseStatus defines model for JobResponse.Status.
const ( JobResponseStatusFailed JobResponseStatus = "failed" JobResponseStatusPending JobResponseStatus = "pending" JobResponseStatusSucceeded JobResponseStatus = "succeeded" )
Defines values for JobResponseStatus.
type LinkAuthConfig ¶ added in v0.65.0
type LinkAuthConfig struct {
// Enabled Whether link auth is enabled
Enabled bool `json:"enabled"`
}
LinkAuthConfig defines model for LinkAuthConfig.
type Location ¶
type Location struct {
// CityName Commonly used English name of the city
CityName *CityName `json:"city_name,omitempty"`
// CountryCode 2-letter ISO 3166-1 alpha-2 code that represents the country
CountryCode CountryCode `json:"country_code"`
}
Location Describe geographical location information
type MinKernelVersionCheck ¶
type MinKernelVersionCheck struct {
// MinKernelVersion Minimum acceptable version
MinKernelVersion string `json:"min_kernel_version"`
}
MinKernelVersionCheck Posture check with the kernel version
type MinVersionCheck ¶
type MinVersionCheck struct {
// MinVersion Minimum acceptable version
MinVersion string `json:"min_version"`
}
MinVersionCheck Posture check for the version of operating system
type NBVersionCheck ¶
type NBVersionCheck = MinVersionCheck
NBVersionCheck Posture check for the version of operating system
type Nameserver ¶
type Nameserver struct {
// Ip Nameserver IP
Ip string `json:"ip"`
// NsType Nameserver Type
NsType NameserverNsType `json:"ns_type"`
// Port Nameserver Port
Port int `json:"port"`
}
Nameserver defines model for Nameserver.
type NameserverGroup ¶
type NameserverGroup struct {
// Description Description of the nameserver group
Description string `json:"description"`
// Domains Match domain list. It should be empty only if primary is true.
Domains []string `json:"domains"`
// Enabled Nameserver group status
Enabled bool `json:"enabled"`
// Groups Distribution group IDs that defines group of peers that will use this nameserver group
Groups []string `json:"groups"`
// Id Nameserver group ID
Id string `json:"id"`
// Name Name of nameserver group name
Name string `json:"name"`
// Nameservers Nameserver list
Nameservers []Nameserver `json:"nameservers"`
// Primary Defines if a nameserver group is primary that resolves all domains. It should be true only if domains list is empty.
Primary bool `json:"primary"`
// SearchDomainsEnabled Search domain status for match domains. It should be true only if domains list is not empty.
SearchDomainsEnabled bool `json:"search_domains_enabled"`
}
NameserverGroup defines model for NameserverGroup.
type NameserverGroupRequest ¶
type NameserverGroupRequest struct {
// Description Description of the nameserver group
Description string `json:"description"`
// Domains Match domain list. It should be empty only if primary is true.
Domains []string `json:"domains"`
// Enabled Nameserver group status
Enabled bool `json:"enabled"`
// Groups Distribution group IDs that defines group of peers that will use this nameserver group
Groups []string `json:"groups"`
// Name Name of nameserver group name
Name string `json:"name"`
// Nameservers Nameserver list
Nameservers []Nameserver `json:"nameservers"`
// Primary Defines if a nameserver group is primary that resolves all domains. It should be true only if domains list is empty.
Primary bool `json:"primary"`
// SearchDomainsEnabled Search domain status for match domains. It should be true only if domains list is not empty.
SearchDomainsEnabled bool `json:"search_domains_enabled"`
}
NameserverGroupRequest defines model for NameserverGroupRequest.
type NameserverNsType ¶
type NameserverNsType string
NameserverNsType Nameserver Type
const (
NameserverNsTypeUdp NameserverNsType = "udp"
)
Defines values for NameserverNsType.
type Network ¶
type Network struct {
// Description Network description
Description *string `json:"description,omitempty"`
// Id Network ID
Id string `json:"id"`
// Name Network name
Name string `json:"name"`
// Policies List of policy IDs associated with the network
Policies []string `json:"policies"`
// Resources List of network resource IDs associated with the network
Resources []string `json:"resources"`
// Routers List of router IDs associated with the network
Routers []string `json:"routers"`
// RoutingPeersCount Count of routing peers associated with the network
RoutingPeersCount int `json:"routing_peers_count"`
}
Network defines model for Network.
type NetworkRequest ¶
type NetworkRequest struct {
// Description Network description
Description *string `json:"description,omitempty"`
// Name Network name
Name string `json:"name"`
}
NetworkRequest defines model for NetworkRequest.
type NetworkResource ¶
type NetworkResource struct {
// Address Network resource address (either a direct host like 1.1.1.1 or 1.1.1.1/32, or a subnet like 192.168.178.0/24, or domains like example.com and *.example.com)
Address string `json:"address"`
// Description Network resource description
Description *string `json:"description,omitempty"`
// Enabled Network resource status
Enabled bool `json:"enabled"`
// Groups Groups that the resource belongs to
Groups []GroupMinimum `json:"groups"`
// Id Network Resource ID
Id string `json:"id"`
// Name Network resource name
Name string `json:"name"`
// Type Network resource type based of the address
Type NetworkResourceType `json:"type"`
}
NetworkResource defines model for NetworkResource.
type NetworkResourceMinimum ¶
type NetworkResourceMinimum struct {
// Address Network resource address (either a direct host like 1.1.1.1 or 1.1.1.1/32, or a subnet like 192.168.178.0/24, or domains like example.com and *.example.com)
Address string `json:"address"`
// Description Network resource description
Description *string `json:"description,omitempty"`
// Enabled Network resource status
Enabled bool `json:"enabled"`
// Name Network resource name
Name string `json:"name"`
}
NetworkResourceMinimum defines model for NetworkResourceMinimum.
type NetworkResourceRequest ¶
type NetworkResourceRequest struct {
// Address Network resource address (either a direct host like 1.1.1.1 or 1.1.1.1/32, or a subnet like 192.168.178.0/24, or domains like example.com and *.example.com)
Address string `json:"address"`
// Description Network resource description
Description *string `json:"description,omitempty"`
// Enabled Network resource status
Enabled bool `json:"enabled"`
// Groups Group IDs containing the resource
Groups []string `json:"groups"`
// Name Network resource name
Name string `json:"name"`
}
NetworkResourceRequest defines model for NetworkResourceRequest.
type NetworkResourceType ¶
type NetworkResourceType string
NetworkResourceType Network resource type based of the address
const ( NetworkResourceTypeDomain NetworkResourceType = "domain" NetworkResourceTypeHost NetworkResourceType = "host" NetworkResourceTypeSubnet NetworkResourceType = "subnet" )
Defines values for NetworkResourceType.
type NetworkRouter ¶
type NetworkRouter struct {
// Enabled Network router status
Enabled bool `json:"enabled"`
// Id Network Router Id
Id string `json:"id"`
// Masquerade Indicate if peer should masquerade traffic to this route's prefix
Masquerade bool `json:"masquerade"`
// Metric Route metric number. Lowest number has higher priority
Metric int `json:"metric"`
// Peer Peer Identifier associated with route. This property can not be set together with `peer_groups`
Peer *string `json:"peer,omitempty"`
// PeerGroups Peers Group Identifier associated with route. This property can not be set together with `peer`
PeerGroups *[]string `json:"peer_groups,omitempty"`
}
NetworkRouter defines model for NetworkRouter.
type NetworkRouterRequest ¶
type NetworkRouterRequest struct {
// Enabled Network router status
Enabled bool `json:"enabled"`
// Masquerade Indicate if peer should masquerade traffic to this route's prefix
Masquerade bool `json:"masquerade"`
// Metric Route metric number. Lowest number has higher priority
Metric int `json:"metric"`
// Peer Peer Identifier associated with route. This property can not be set together with `peer_groups`
Peer *string `json:"peer,omitempty"`
// PeerGroups Peers Group Identifier associated with route. This property can not be set together with `peer`
PeerGroups *[]string `json:"peer_groups,omitempty"`
}
NetworkRouterRequest defines model for NetworkRouterRequest.
type NetworkTrafficEndpoint ¶
type NetworkTrafficEndpoint struct {
// Address IP address (and possibly port) in string form.
Address string `json:"address"`
// DnsLabel DNS label/name if available.
DnsLabel *string `json:"dns_label"`
GeoLocation NetworkTrafficLocation `json:"geo_location"`
// Id ID of this endpoint (e.g., peer ID or resource ID).
Id string `json:"id"`
// Name Name is the name of the endpoint object (e.g., a peer name).
Name string `json:"name"`
// Os Operating system of the peer, if applicable.
Os *string `json:"os"`
// Type Type of the endpoint object (e.g., UNKNOWN, PEER, HOST_RESOURCE).
Type string `json:"type"`
}
NetworkTrafficEndpoint defines model for NetworkTrafficEndpoint.
type NetworkTrafficEvent ¶
type NetworkTrafficEvent struct {
Destination NetworkTrafficEndpoint `json:"destination"`
// Direction Direction of the traffic (e.g. DIRECTION_UNKNOWN, INGRESS, EGRESS).
Direction string `json:"direction"`
// Events List of events that are correlated to this flow (e.g., start, end).
Events []NetworkTrafficSubEvent `json:"events"`
// FlowId FlowID is the ID of the connection flow. Not unique because it can be the same for multiple events (e.g., start and end of the connection).
FlowId string `json:"flow_id"`
Icmp NetworkTrafficICMP `json:"icmp"`
Policy NetworkTrafficPolicy `json:"policy"`
// Protocol Protocol is the protocol of the traffic (e.g. 1 = ICMP, 6 = TCP, 17 = UDP, etc.).
Protocol int `json:"protocol"`
// ReporterId ID of the reporter of the event (e.g., the peer that reported the event).
ReporterId string `json:"reporter_id"`
// RxBytes Number of bytes received.
RxBytes int `json:"rx_bytes"`
// RxPackets Number of packets received.
RxPackets int `json:"rx_packets"`
Source NetworkTrafficEndpoint `json:"source"`
// TxBytes Number of bytes transmitted.
TxBytes int `json:"tx_bytes"`
// TxPackets Number of packets transmitted.
TxPackets int `json:"tx_packets"`
User NetworkTrafficUser `json:"user"`
}
NetworkTrafficEvent defines model for NetworkTrafficEvent.
type NetworkTrafficEventsResponse ¶
type NetworkTrafficEventsResponse struct {
// Data List of network traffic events
Data []NetworkTrafficEvent `json:"data"`
// Page Current page number
Page int `json:"page"`
// PageSize Number of items per page
PageSize int `json:"page_size"`
// TotalPages Total number of pages available
TotalPages int `json:"total_pages"`
// TotalRecords Total number of event records available
TotalRecords int `json:"total_records"`
}
NetworkTrafficEventsResponse defines model for NetworkTrafficEventsResponse.
type NetworkTrafficICMP ¶
type NetworkTrafficICMP struct {
// Code ICMP code (if applicable).
Code int `json:"code"`
// Type ICMP type (if applicable).
Type int `json:"type"`
}
NetworkTrafficICMP defines model for NetworkTrafficICMP.
type NetworkTrafficLocation ¶
type NetworkTrafficLocation struct {
// CityName Name of the city (if known).
CityName string `json:"city_name"`
// CountryCode ISO country code (if known).
CountryCode string `json:"country_code"`
}
NetworkTrafficLocation defines model for NetworkTrafficLocation.
type NetworkTrafficPolicy ¶
type NetworkTrafficPolicy struct {
// Id ID of the policy that allowed this event.
Id string `json:"id"`
// Name Name of the policy that allowed this event.
Name string `json:"name"`
}
NetworkTrafficPolicy defines model for NetworkTrafficPolicy.
type NetworkTrafficSubEvent ¶
type NetworkTrafficSubEvent struct {
// Timestamp Timestamp of the event as sent by the peer.
Timestamp time.Time `json:"timestamp"`
// Type Type of the event (e.g., TYPE_UNKNOWN, TYPE_START, TYPE_END, TYPE_DROP).
Type string `json:"type"`
}
NetworkTrafficSubEvent defines model for NetworkTrafficSubEvent.
type NetworkTrafficUser ¶
type NetworkTrafficUser struct {
// Email Email of the user who initiated the event (if any).
Email string `json:"email"`
// Id UserID is the ID of the user that initiated the event (can be empty as not every event is user-initiated).
Id string `json:"id"`
// Name Name of the user who initiated the event (if any).
Name string `json:"name"`
}
NetworkTrafficUser defines model for NetworkTrafficUser.
type OSVersionCheck ¶
type OSVersionCheck struct {
// Android Posture check for the version of operating system
Android *MinVersionCheck `json:"android,omitempty"`
// Darwin Posture check for the version of operating system
Darwin *MinVersionCheck `json:"darwin,omitempty"`
// Ios Posture check for the version of operating system
Ios *MinVersionCheck `json:"ios,omitempty"`
// Linux Posture check with the kernel version
Linux *MinKernelVersionCheck `json:"linux,omitempty"`
// Windows Posture check with the kernel version
Windows *MinKernelVersionCheck `json:"windows,omitempty"`
}
OSVersionCheck Posture check for the version of operating system
type PINAuthConfig ¶ added in v0.65.0
type PINAuthConfig struct {
// Enabled Whether PIN auth is enabled
Enabled bool `json:"enabled"`
// Pin PIN value
Pin string `json:"pin"`
}
PINAuthConfig defines model for PINAuthConfig.
type PasswordAuthConfig ¶ added in v0.65.0
type PasswordAuthConfig struct {
// Enabled Whether password auth is enabled
Enabled bool `json:"enabled"`
// Password Auth password
Password string `json:"password"`
}
PasswordAuthConfig defines model for PasswordAuthConfig.
type PasswordChangeRequest ¶ added in v0.64.0
type PasswordChangeRequest struct {
// NewPassword The new password to set
NewPassword string `json:"new_password"`
// OldPassword The current password
OldPassword string `json:"old_password"`
}
PasswordChangeRequest defines model for PasswordChangeRequest.
type Peer ¶
type Peer struct {
// ApprovalRequired (Cloud only) Indicates whether peer needs approval
ApprovalRequired bool `json:"approval_required"`
// CityName Commonly used English name of the city
CityName CityName `json:"city_name"`
// Connected Peer to Management connection status
Connected bool `json:"connected"`
// ConnectionIp Peer's public connection IP address
ConnectionIp string `json:"connection_ip"`
// CountryCode 2-letter ISO 3166-1 alpha-2 code that represents the country
CountryCode CountryCode `json:"country_code"`
// CreatedAt Peer creation date (UTC)
CreatedAt time.Time `json:"created_at"`
// DisapprovalReason (Cloud only) Reason why the peer requires approval
DisapprovalReason *string `json:"disapproval_reason,omitempty"`
// DnsLabel Peer's DNS label is the parsed peer name for domain resolution. It is used to form an FQDN by appending the account's domain to the peer label. e.g. peer-dns-label.netbird.cloud
DnsLabel string `json:"dns_label"`
// Ephemeral Indicates whether the peer is ephemeral or not
Ephemeral bool `json:"ephemeral"`
// ExtraDnsLabels Extra DNS labels added to the peer
ExtraDnsLabels []string `json:"extra_dns_labels"`
// GeonameId Unique identifier from the GeoNames database for a specific geographical location.
GeonameId int `json:"geoname_id"`
// Groups Groups that the peer belongs to
Groups []GroupMinimum `json:"groups"`
// Hostname Hostname of the machine
Hostname string `json:"hostname"`
// Id Peer ID
Id string `json:"id"`
// InactivityExpirationEnabled Indicates whether peer inactivity expiration has been enabled or not
InactivityExpirationEnabled bool `json:"inactivity_expiration_enabled"`
// Ip Peer's IP address
Ip string `json:"ip"`
// KernelVersion Peer's operating system kernel version
KernelVersion string `json:"kernel_version"`
// LastLogin Last time this peer performed log in (authentication). E.g., user authenticated.
LastLogin time.Time `json:"last_login"`
// LastSeen Last time peer connected to Netbird's management service
LastSeen time.Time `json:"last_seen"`
LocalFlags *PeerLocalFlags `json:"local_flags,omitempty"`
// LoginExpirationEnabled Indicates whether peer login expiration has been enabled or not
LoginExpirationEnabled bool `json:"login_expiration_enabled"`
// LoginExpired Indicates whether peer's login expired or not
LoginExpired bool `json:"login_expired"`
// Name Peer's hostname
Name string `json:"name"`
// Os Peer's operating system and version
Os string `json:"os"`
// SerialNumber System serial number
SerialNumber string `json:"serial_number"`
// SshEnabled Indicates whether SSH server is enabled on this peer
SshEnabled bool `json:"ssh_enabled"`
// UiVersion Peer's desktop UI version
UiVersion string `json:"ui_version"`
// UserId User ID of the user that enrolled this peer
UserId string `json:"user_id"`
// Version Peer's daemon or cli version
Version string `json:"version"`
}
Peer defines model for Peer.
type PeerBatch ¶
type PeerBatch struct {
// AccessiblePeersCount Number of accessible peers
AccessiblePeersCount int `json:"accessible_peers_count"`
// ApprovalRequired (Cloud only) Indicates whether peer needs approval
ApprovalRequired bool `json:"approval_required"`
// CityName Commonly used English name of the city
CityName CityName `json:"city_name"`
// Connected Peer to Management connection status
Connected bool `json:"connected"`
// ConnectionIp Peer's public connection IP address
ConnectionIp string `json:"connection_ip"`
// CountryCode 2-letter ISO 3166-1 alpha-2 code that represents the country
CountryCode CountryCode `json:"country_code"`
// CreatedAt Peer creation date (UTC)
CreatedAt time.Time `json:"created_at"`
// DisapprovalReason (Cloud only) Reason why the peer requires approval
DisapprovalReason *string `json:"disapproval_reason,omitempty"`
// DnsLabel Peer's DNS label is the parsed peer name for domain resolution. It is used to form an FQDN by appending the account's domain to the peer label. e.g. peer-dns-label.netbird.cloud
DnsLabel string `json:"dns_label"`
// Ephemeral Indicates whether the peer is ephemeral or not
Ephemeral bool `json:"ephemeral"`
// ExtraDnsLabels Extra DNS labels added to the peer
ExtraDnsLabels []string `json:"extra_dns_labels"`
// GeonameId Unique identifier from the GeoNames database for a specific geographical location.
GeonameId int `json:"geoname_id"`
// Groups Groups that the peer belongs to
Groups []GroupMinimum `json:"groups"`
// Hostname Hostname of the machine
Hostname string `json:"hostname"`
// Id Peer ID
Id string `json:"id"`
// InactivityExpirationEnabled Indicates whether peer inactivity expiration has been enabled or not
InactivityExpirationEnabled bool `json:"inactivity_expiration_enabled"`
// Ip Peer's IP address
Ip string `json:"ip"`
// KernelVersion Peer's operating system kernel version
KernelVersion string `json:"kernel_version"`
// LastLogin Last time this peer performed log in (authentication). E.g., user authenticated.
LastLogin time.Time `json:"last_login"`
// LastSeen Last time peer connected to Netbird's management service
LastSeen time.Time `json:"last_seen"`
LocalFlags *PeerLocalFlags `json:"local_flags,omitempty"`
// LoginExpirationEnabled Indicates whether peer login expiration has been enabled or not
LoginExpirationEnabled bool `json:"login_expiration_enabled"`
// LoginExpired Indicates whether peer's login expired or not
LoginExpired bool `json:"login_expired"`
// Name Peer's hostname
Name string `json:"name"`
// Os Peer's operating system and version
Os string `json:"os"`
// SerialNumber System serial number
SerialNumber string `json:"serial_number"`
// SshEnabled Indicates whether SSH server is enabled on this peer
SshEnabled bool `json:"ssh_enabled"`
// UiVersion Peer's desktop UI version
UiVersion string `json:"ui_version"`
// UserId User ID of the user that enrolled this peer
UserId string `json:"user_id"`
// Version Peer's daemon or cli version
Version string `json:"version"`
}
PeerBatch defines model for PeerBatch.
type PeerLocalFlags ¶ added in v0.61.0
type PeerLocalFlags struct {
// BlockInbound Indicates whether inbound traffic is blocked on this peer
BlockInbound *bool `json:"block_inbound,omitempty"`
// BlockLanAccess Indicates whether LAN access is blocked on this peer when used as a routing peer
BlockLanAccess *bool `json:"block_lan_access,omitempty"`
// DisableClientRoutes Indicates whether client routes are disabled on this peer or not
DisableClientRoutes *bool `json:"disable_client_routes,omitempty"`
// DisableDns Indicates whether DNS management is disabled on this peer or not
DisableDns *bool `json:"disable_dns,omitempty"`
// DisableFirewall Indicates whether firewall management is disabled on this peer or not
DisableFirewall *bool `json:"disable_firewall,omitempty"`
// DisableServerRoutes Indicates whether server routes are disabled on this peer or not
DisableServerRoutes *bool `json:"disable_server_routes,omitempty"`
// LazyConnectionEnabled Indicates whether lazy connection is enabled on this peer
LazyConnectionEnabled *bool `json:"lazy_connection_enabled,omitempty"`
// RosenpassEnabled Indicates whether Rosenpass is enabled on this peer
RosenpassEnabled *bool `json:"rosenpass_enabled,omitempty"`
// RosenpassPermissive Indicates whether Rosenpass is in permissive mode or not
RosenpassPermissive *bool `json:"rosenpass_permissive,omitempty"`
// ServerSshAllowed Indicates whether SSH access this peer is allowed or not
ServerSshAllowed *bool `json:"server_ssh_allowed,omitempty"`
}
PeerLocalFlags defines model for PeerLocalFlags.
type PeerMinimum ¶
type PeerMinimum struct {
// Id Peer ID
Id string `json:"id"`
// Name Peer's hostname
Name string `json:"name"`
}
PeerMinimum defines model for PeerMinimum.
type PeerNetworkRangeCheck ¶
type PeerNetworkRangeCheck struct {
// Action Action to take upon policy match
Action PeerNetworkRangeCheckAction `json:"action"`
// Ranges List of peer network ranges in CIDR notation
Ranges []string `json:"ranges"`
}
PeerNetworkRangeCheck Posture check for allow or deny access based on peer local network addresses
type PeerNetworkRangeCheckAction ¶
type PeerNetworkRangeCheckAction string
PeerNetworkRangeCheckAction Action to take upon policy match
const ( PeerNetworkRangeCheckActionAllow PeerNetworkRangeCheckAction = "allow" PeerNetworkRangeCheckActionDeny PeerNetworkRangeCheckAction = "deny" )
Defines values for PeerNetworkRangeCheckAction.
type PeerRequest ¶
type PeerRequest struct {
// ApprovalRequired (Cloud only) Indicates whether peer needs approval
ApprovalRequired *bool `json:"approval_required,omitempty"`
InactivityExpirationEnabled bool `json:"inactivity_expiration_enabled"`
// Ip Peer's IP address
Ip *string `json:"ip,omitempty"`
LoginExpirationEnabled bool `json:"login_expiration_enabled"`
Name string `json:"name"`
SshEnabled bool `json:"ssh_enabled"`
}
PeerRequest defines model for PeerRequest.
type PeerTemporaryAccessRequest ¶ added in v0.59.0
type PeerTemporaryAccessRequest struct {
// Name Peer's hostname
Name string `json:"name"`
// Rules List of temporary access rules
Rules []string `json:"rules"`
// WgPubKey Peer's WireGuard public key
WgPubKey string `json:"wg_pub_key"`
}
PeerTemporaryAccessRequest defines model for PeerTemporaryAccessRequest.
type PeerTemporaryAccessResponse ¶ added in v0.59.0
type PeerTemporaryAccessResponse struct {
// Id Peer ID
Id string `json:"id"`
// Name Peer's hostname
Name string `json:"name"`
// Rules List of temporary access rules
Rules []string `json:"rules"`
}
PeerTemporaryAccessResponse defines model for PeerTemporaryAccessResponse.
type PersonalAccessToken ¶
type PersonalAccessToken struct {
// CreatedAt Date the token was created
CreatedAt time.Time `json:"created_at"`
// CreatedBy User ID of the user who created the token
CreatedBy string `json:"created_by"`
// ExpirationDate Date the token expires
ExpirationDate time.Time `json:"expiration_date"`
// Id ID of a token
Id string `json:"id"`
// LastUsed Date the token was last used
LastUsed *time.Time `json:"last_used,omitempty"`
// Name Name of the token
Name string `json:"name"`
}
PersonalAccessToken defines model for PersonalAccessToken.
type PersonalAccessTokenGenerated ¶
type PersonalAccessTokenGenerated struct {
PersonalAccessToken PersonalAccessToken `json:"personal_access_token"`
// PlainToken Plain text representation of the generated token
PlainToken string `json:"plain_token"`
}
PersonalAccessTokenGenerated defines model for PersonalAccessTokenGenerated.
type PersonalAccessTokenRequest ¶
type PersonalAccessTokenRequest struct {
// ExpiresIn Expiration in days
ExpiresIn int `json:"expires_in"`
// Name Name of the token
Name string `json:"name"`
}
PersonalAccessTokenRequest defines model for PersonalAccessTokenRequest.
type Policy ¶
type Policy struct {
// Description Policy friendly description
Description *string `json:"description,omitempty"`
// Enabled Policy status
Enabled bool `json:"enabled"`
// Id Policy ID
Id *string `json:"id,omitempty"`
// Name Policy name identifier
Name string `json:"name"`
// Rules Policy rule object for policy UI editor
Rules []PolicyRule `json:"rules"`
// SourcePostureChecks Posture checks ID's applied to policy source groups
SourcePostureChecks []string `json:"source_posture_checks"`
}
Policy defines model for Policy.
type PolicyCreate ¶
type PolicyCreate struct {
// Description Policy friendly description
Description *string `json:"description,omitempty"`
// Enabled Policy status
Enabled bool `json:"enabled"`
// Name Policy name identifier
Name string `json:"name"`
// Rules Policy rule object for policy UI editor
Rules []PolicyRuleUpdate `json:"rules"`
// SourcePostureChecks Posture checks ID's applied to policy source groups
SourcePostureChecks *[]string `json:"source_posture_checks,omitempty"`
}
PolicyCreate defines model for PolicyCreate.
type PolicyMinimum ¶
type PolicyMinimum struct {
// Description Policy friendly description
Description *string `json:"description,omitempty"`
// Enabled Policy status
Enabled bool `json:"enabled"`
// Name Policy name identifier
Name string `json:"name"`
}
PolicyMinimum defines model for PolicyMinimum.
type PolicyRule ¶
type PolicyRule struct {
// Action Policy rule accept or drops packets
Action PolicyRuleAction `json:"action"`
// AuthorizedGroups Map of user group ids to a list of local users
AuthorizedGroups *map[string][]string `json:"authorized_groups,omitempty"`
// Bidirectional Define if the rule is applicable in both directions, sources, and destinations.
Bidirectional bool `json:"bidirectional"`
// Description Policy rule friendly description
Description *string `json:"description,omitempty"`
DestinationResource *Resource `json:"destinationResource,omitempty"`
// Destinations Policy rule destination group IDs
Destinations *[]GroupMinimum `json:"destinations,omitempty"`
// Enabled Policy rule status
Enabled bool `json:"enabled"`
// Id Policy rule ID
Id *string `json:"id,omitempty"`
// Name Policy rule name identifier
Name string `json:"name"`
// PortRanges Policy rule affected ports ranges list
PortRanges *[]RulePortRange `json:"port_ranges,omitempty"`
// Ports Policy rule affected ports
Ports *[]string `json:"ports,omitempty"`
// Protocol Policy rule type of the traffic
Protocol PolicyRuleProtocol `json:"protocol"`
SourceResource *Resource `json:"sourceResource,omitempty"`
// Sources Policy rule source group IDs
Sources *[]GroupMinimum `json:"sources,omitempty"`
}
PolicyRule defines model for PolicyRule.
type PolicyRuleAction ¶
type PolicyRuleAction string
PolicyRuleAction Policy rule accept or drops packets
const ( PolicyRuleActionAccept PolicyRuleAction = "accept" PolicyRuleActionDrop PolicyRuleAction = "drop" )
Defines values for PolicyRuleAction.
type PolicyRuleMinimum ¶
type PolicyRuleMinimum struct {
// Action Policy rule accept or drops packets
Action PolicyRuleMinimumAction `json:"action"`
// AuthorizedGroups Map of user group ids to a list of local users
AuthorizedGroups *map[string][]string `json:"authorized_groups,omitempty"`
// Bidirectional Define if the rule is applicable in both directions, sources, and destinations.
Bidirectional bool `json:"bidirectional"`
// Description Policy rule friendly description
Description *string `json:"description,omitempty"`
// Enabled Policy rule status
Enabled bool `json:"enabled"`
// Name Policy rule name identifier
Name string `json:"name"`
// PortRanges Policy rule affected ports ranges list
PortRanges *[]RulePortRange `json:"port_ranges,omitempty"`
// Ports Policy rule affected ports
Ports *[]string `json:"ports,omitempty"`
// Protocol Policy rule type of the traffic
Protocol PolicyRuleMinimumProtocol `json:"protocol"`
}
PolicyRuleMinimum defines model for PolicyRuleMinimum.
type PolicyRuleMinimumAction ¶
type PolicyRuleMinimumAction string
PolicyRuleMinimumAction Policy rule accept or drops packets
const ( PolicyRuleMinimumActionAccept PolicyRuleMinimumAction = "accept" PolicyRuleMinimumActionDrop PolicyRuleMinimumAction = "drop" )
Defines values for PolicyRuleMinimumAction.
type PolicyRuleMinimumProtocol ¶
type PolicyRuleMinimumProtocol string
PolicyRuleMinimumProtocol Policy rule type of the traffic
const ( PolicyRuleMinimumProtocolAll PolicyRuleMinimumProtocol = "all" PolicyRuleMinimumProtocolIcmp PolicyRuleMinimumProtocol = "icmp" PolicyRuleMinimumProtocolNetbirdSsh PolicyRuleMinimumProtocol = "netbird-ssh" PolicyRuleMinimumProtocolTcp PolicyRuleMinimumProtocol = "tcp" PolicyRuleMinimumProtocolUdp PolicyRuleMinimumProtocol = "udp" )
Defines values for PolicyRuleMinimumProtocol.
type PolicyRuleProtocol ¶
type PolicyRuleProtocol string
PolicyRuleProtocol Policy rule type of the traffic
const ( PolicyRuleProtocolAll PolicyRuleProtocol = "all" PolicyRuleProtocolIcmp PolicyRuleProtocol = "icmp" PolicyRuleProtocolNetbirdSsh PolicyRuleProtocol = "netbird-ssh" PolicyRuleProtocolTcp PolicyRuleProtocol = "tcp" PolicyRuleProtocolUdp PolicyRuleProtocol = "udp" )
Defines values for PolicyRuleProtocol.
type PolicyRuleUpdate ¶
type PolicyRuleUpdate struct {
// Action Policy rule accept or drops packets
Action PolicyRuleUpdateAction `json:"action"`
// AuthorizedGroups Map of user group ids to a list of local users
AuthorizedGroups *map[string][]string `json:"authorized_groups,omitempty"`
// Bidirectional Define if the rule is applicable in both directions, sources, and destinations.
Bidirectional bool `json:"bidirectional"`
// Description Policy rule friendly description
Description *string `json:"description,omitempty"`
DestinationResource *Resource `json:"destinationResource,omitempty"`
// Destinations Policy rule destination group IDs
Destinations *[]string `json:"destinations,omitempty"`
// Enabled Policy rule status
Enabled bool `json:"enabled"`
// Id Policy rule ID
Id *string `json:"id,omitempty"`
// Name Policy rule name identifier
Name string `json:"name"`
// PortRanges Policy rule affected ports ranges list
PortRanges *[]RulePortRange `json:"port_ranges,omitempty"`
// Ports Policy rule affected ports
Ports *[]string `json:"ports,omitempty"`
// Protocol Policy rule type of the traffic
Protocol PolicyRuleUpdateProtocol `json:"protocol"`
SourceResource *Resource `json:"sourceResource,omitempty"`
// Sources Policy rule source group IDs
Sources *[]string `json:"sources,omitempty"`
}
PolicyRuleUpdate defines model for PolicyRuleUpdate.
type PolicyRuleUpdateAction ¶
type PolicyRuleUpdateAction string
PolicyRuleUpdateAction Policy rule accept or drops packets
const ( PolicyRuleUpdateActionAccept PolicyRuleUpdateAction = "accept" PolicyRuleUpdateActionDrop PolicyRuleUpdateAction = "drop" )
Defines values for PolicyRuleUpdateAction.
type PolicyRuleUpdateProtocol ¶
type PolicyRuleUpdateProtocol string
PolicyRuleUpdateProtocol Policy rule type of the traffic
const ( PolicyRuleUpdateProtocolAll PolicyRuleUpdateProtocol = "all" PolicyRuleUpdateProtocolIcmp PolicyRuleUpdateProtocol = "icmp" PolicyRuleUpdateProtocolNetbirdSsh PolicyRuleUpdateProtocol = "netbird-ssh" PolicyRuleUpdateProtocolTcp PolicyRuleUpdateProtocol = "tcp" PolicyRuleUpdateProtocolUdp PolicyRuleUpdateProtocol = "udp" )
Defines values for PolicyRuleUpdateProtocol.
type PolicyUpdate ¶
type PolicyUpdate struct {
// Description Policy friendly description
Description *string `json:"description,omitempty"`
// Enabled Policy status
Enabled bool `json:"enabled"`
// Name Policy name identifier
Name string `json:"name"`
// Rules Policy rule object for policy UI editor
Rules []PolicyRuleUpdate `json:"rules"`
// SourcePostureChecks Posture checks ID's applied to policy source groups
SourcePostureChecks *[]string `json:"source_posture_checks,omitempty"`
}
PolicyUpdate defines model for PolicyUpdate.
type PortalResponse ¶ added in v0.65.0
type PortalResponse struct {
// SessionId The unique identifier for the customer portal session.
SessionId string `json:"session_id"`
// Url URL to redirect the user to the customer portal.
Url string `json:"url"`
}
PortalResponse defines model for PortalResponse.
type PostApiDnsNameserversJSONRequestBody ¶
type PostApiDnsNameserversJSONRequestBody = NameserverGroupRequest
PostApiDnsNameserversJSONRequestBody defines body for PostApiDnsNameservers for application/json ContentType.
type PostApiDnsZonesJSONRequestBody ¶ added in v0.63.0
type PostApiDnsZonesJSONRequestBody = ZoneRequest
PostApiDnsZonesJSONRequestBody defines body for PostApiDnsZones for application/json ContentType.
type PostApiDnsZonesZoneIdRecordsJSONRequestBody ¶ added in v0.63.0
type PostApiDnsZonesZoneIdRecordsJSONRequestBody = DNSRecordRequest
PostApiDnsZonesZoneIdRecordsJSONRequestBody defines body for PostApiDnsZonesZoneIdRecords for application/json ContentType.
type PostApiGroupsJSONRequestBody ¶
type PostApiGroupsJSONRequestBody = GroupRequest
PostApiGroupsJSONRequestBody defines body for PostApiGroups for application/json ContentType.
type PostApiIdentityProvidersJSONRequestBody ¶ added in v0.62.0
type PostApiIdentityProvidersJSONRequestBody = IdentityProviderRequest
PostApiIdentityProvidersJSONRequestBody defines body for PostApiIdentityProviders for application/json ContentType.
type PostApiIngressPeersJSONRequestBody ¶
type PostApiIngressPeersJSONRequestBody = IngressPeerCreateRequest
PostApiIngressPeersJSONRequestBody defines body for PostApiIngressPeers for application/json ContentType.
type PostApiIntegrationsBillingAwsMarketplaceActivateJSONBody ¶ added in v0.65.0
type PostApiIntegrationsBillingAwsMarketplaceActivateJSONBody struct {
// PlanTier The plan tier to activate the subscription for.
PlanTier string `json:"plan_tier"`
}
PostApiIntegrationsBillingAwsMarketplaceActivateJSONBody defines parameters for PostApiIntegrationsBillingAwsMarketplaceActivate.
type PostApiIntegrationsBillingAwsMarketplaceActivateJSONRequestBody ¶ added in v0.65.0
type PostApiIntegrationsBillingAwsMarketplaceActivateJSONRequestBody PostApiIntegrationsBillingAwsMarketplaceActivateJSONBody
PostApiIntegrationsBillingAwsMarketplaceActivateJSONRequestBody defines body for PostApiIntegrationsBillingAwsMarketplaceActivate for application/json ContentType.
type PostApiIntegrationsBillingAwsMarketplaceEnrichJSONBody ¶ added in v0.65.0
type PostApiIntegrationsBillingAwsMarketplaceEnrichJSONBody struct {
// AwsUserId The AWS user ID.
AwsUserId string `json:"aws_user_id"`
}
PostApiIntegrationsBillingAwsMarketplaceEnrichJSONBody defines parameters for PostApiIntegrationsBillingAwsMarketplaceEnrich.
type PostApiIntegrationsBillingAwsMarketplaceEnrichJSONRequestBody ¶ added in v0.65.0
type PostApiIntegrationsBillingAwsMarketplaceEnrichJSONRequestBody PostApiIntegrationsBillingAwsMarketplaceEnrichJSONBody
PostApiIntegrationsBillingAwsMarketplaceEnrichJSONRequestBody defines body for PostApiIntegrationsBillingAwsMarketplaceEnrich for application/json ContentType.
type PostApiIntegrationsBillingCheckoutJSONBody ¶ added in v0.65.0
type PostApiIntegrationsBillingCheckoutJSONBody struct {
// BaseURL The base URL for the redirect after checkout.
BaseURL string `json:"baseURL"`
// EnableTrial Enables a 14-day trial for the account.
EnableTrial *bool `json:"enableTrial,omitempty"`
// PriceID The Price ID for checkout.
PriceID string `json:"priceID"`
}
PostApiIntegrationsBillingCheckoutJSONBody defines parameters for PostApiIntegrationsBillingCheckout.
type PostApiIntegrationsBillingCheckoutJSONRequestBody ¶ added in v0.65.0
type PostApiIntegrationsBillingCheckoutJSONRequestBody PostApiIntegrationsBillingCheckoutJSONBody
PostApiIntegrationsBillingCheckoutJSONRequestBody defines body for PostApiIntegrationsBillingCheckout for application/json ContentType.
type PostApiIntegrationsMspTenantsIdSubscriptionJSONBody ¶ added in v0.65.0
type PostApiIntegrationsMspTenantsIdSubscriptionJSONBody struct {
// PriceID The Price ID to change the subscription to.
PriceID string `json:"priceID"`
}
PostApiIntegrationsMspTenantsIdSubscriptionJSONBody defines parameters for PostApiIntegrationsMspTenantsIdSubscription.
type PostApiIntegrationsMspTenantsIdSubscriptionJSONRequestBody ¶ added in v0.65.0
type PostApiIntegrationsMspTenantsIdSubscriptionJSONRequestBody PostApiIntegrationsMspTenantsIdSubscriptionJSONBody
PostApiIntegrationsMspTenantsIdSubscriptionJSONRequestBody defines body for PostApiIntegrationsMspTenantsIdSubscription for application/json ContentType.
type PostApiIntegrationsMspTenantsIdUnlinkJSONBody ¶ added in v0.65.0
type PostApiIntegrationsMspTenantsIdUnlinkJSONBody struct {
// Owner The new owners user ID.
Owner string `json:"owner"`
}
PostApiIntegrationsMspTenantsIdUnlinkJSONBody defines parameters for PostApiIntegrationsMspTenantsIdUnlink.
type PostApiIntegrationsMspTenantsIdUnlinkJSONRequestBody ¶ added in v0.65.0
type PostApiIntegrationsMspTenantsIdUnlinkJSONRequestBody PostApiIntegrationsMspTenantsIdUnlinkJSONBody
PostApiIntegrationsMspTenantsIdUnlinkJSONRequestBody defines body for PostApiIntegrationsMspTenantsIdUnlink for application/json ContentType.
type PostApiIntegrationsMspTenantsJSONRequestBody ¶ added in v0.65.0
type PostApiIntegrationsMspTenantsJSONRequestBody = CreateTenantRequest
PostApiIntegrationsMspTenantsJSONRequestBody defines body for PostApiIntegrationsMspTenants for application/json ContentType.
type PostApiNetworksJSONRequestBody ¶
type PostApiNetworksJSONRequestBody = NetworkRequest
PostApiNetworksJSONRequestBody defines body for PostApiNetworks for application/json ContentType.
type PostApiNetworksNetworkIdResourcesJSONRequestBody ¶
type PostApiNetworksNetworkIdResourcesJSONRequestBody = NetworkResourceRequest
PostApiNetworksNetworkIdResourcesJSONRequestBody defines body for PostApiNetworksNetworkIdResources for application/json ContentType.
type PostApiNetworksNetworkIdRoutersJSONRequestBody ¶
type PostApiNetworksNetworkIdRoutersJSONRequestBody = NetworkRouterRequest
PostApiNetworksNetworkIdRoutersJSONRequestBody defines body for PostApiNetworksNetworkIdRouters for application/json ContentType.
type PostApiPeersPeerIdIngressPortsJSONRequestBody ¶
type PostApiPeersPeerIdIngressPortsJSONRequestBody = IngressPortAllocationRequest
PostApiPeersPeerIdIngressPortsJSONRequestBody defines body for PostApiPeersPeerIdIngressPorts for application/json ContentType.
type PostApiPeersPeerIdJobsJSONRequestBody ¶ added in v0.64.0
type PostApiPeersPeerIdJobsJSONRequestBody = JobRequest
PostApiPeersPeerIdJobsJSONRequestBody defines body for PostApiPeersPeerIdJobs for application/json ContentType.
type PostApiPeersPeerIdTemporaryAccessJSONRequestBody ¶ added in v0.59.0
type PostApiPeersPeerIdTemporaryAccessJSONRequestBody = PeerTemporaryAccessRequest
PostApiPeersPeerIdTemporaryAccessJSONRequestBody defines body for PostApiPeersPeerIdTemporaryAccess for application/json ContentType.
type PostApiPoliciesJSONRequestBody ¶
type PostApiPoliciesJSONRequestBody = PolicyUpdate
PostApiPoliciesJSONRequestBody defines body for PostApiPolicies for application/json ContentType.
type PostApiPostureChecksJSONRequestBody ¶
type PostApiPostureChecksJSONRequestBody = PostureCheckUpdate
PostApiPostureChecksJSONRequestBody defines body for PostApiPostureChecks for application/json ContentType.
type PostApiReverseProxiesDomainsJSONRequestBody ¶ added in v0.65.0
type PostApiReverseProxiesDomainsJSONRequestBody = ReverseProxyDomainRequest
PostApiReverseProxiesDomainsJSONRequestBody defines body for PostApiReverseProxiesDomains for application/json ContentType.
type PostApiReverseProxiesServicesJSONRequestBody ¶ added in v0.65.0
type PostApiReverseProxiesServicesJSONRequestBody = ServiceRequest
PostApiReverseProxiesServicesJSONRequestBody defines body for PostApiReverseProxiesServices for application/json ContentType.
type PostApiRoutesJSONRequestBody ¶
type PostApiRoutesJSONRequestBody = RouteRequest
PostApiRoutesJSONRequestBody defines body for PostApiRoutes for application/json ContentType.
type PostApiSetupJSONRequestBody ¶ added in v0.62.0
type PostApiSetupJSONRequestBody = SetupRequest
PostApiSetupJSONRequestBody defines body for PostApiSetup for application/json ContentType.
type PostApiSetupKeysJSONRequestBody ¶
type PostApiSetupKeysJSONRequestBody = CreateSetupKeyRequest
PostApiSetupKeysJSONRequestBody defines body for PostApiSetupKeys for application/json ContentType.
type PostApiUsersInvitesInviteIdRegenerateJSONRequestBody ¶ added in v0.64.2
type PostApiUsersInvitesInviteIdRegenerateJSONRequestBody = UserInviteRegenerateRequest
PostApiUsersInvitesInviteIdRegenerateJSONRequestBody defines body for PostApiUsersInvitesInviteIdRegenerate for application/json ContentType.
type PostApiUsersInvitesJSONRequestBody ¶ added in v0.64.2
type PostApiUsersInvitesJSONRequestBody = UserInviteCreateRequest
PostApiUsersInvitesJSONRequestBody defines body for PostApiUsersInvites for application/json ContentType.
type PostApiUsersInvitesTokenAcceptJSONRequestBody ¶ added in v0.64.2
type PostApiUsersInvitesTokenAcceptJSONRequestBody = UserInviteAcceptRequest
PostApiUsersInvitesTokenAcceptJSONRequestBody defines body for PostApiUsersInvitesTokenAccept for application/json ContentType.
type PostApiUsersJSONRequestBody ¶
type PostApiUsersJSONRequestBody = UserCreateRequest
PostApiUsersJSONRequestBody defines body for PostApiUsers for application/json ContentType.
type PostApiUsersUserIdTokensJSONRequestBody ¶
type PostApiUsersUserIdTokensJSONRequestBody = PersonalAccessTokenRequest
PostApiUsersUserIdTokensJSONRequestBody defines body for PostApiUsersUserIdTokens for application/json ContentType.
type PostureCheck ¶
type PostureCheck struct {
// Checks List of objects that perform the actual checks
Checks Checks `json:"checks"`
// Description Posture check friendly description
Description *string `json:"description,omitempty"`
// Id Posture check ID
Id string `json:"id"`
// Name Posture check unique name identifier
Name string `json:"name"`
}
PostureCheck defines model for PostureCheck.
type PostureCheckUpdate ¶
type PostureCheckUpdate struct {
// Checks List of objects that perform the actual checks
Checks *Checks `json:"checks,omitempty"`
// Description Posture check friendly description
Description string `json:"description"`
// Name Posture check name identifier
Name string `json:"name"`
}
PostureCheckUpdate defines model for PostureCheckUpdate.
type Price ¶ added in v0.65.0
type Price struct {
// Currency Currency code for this price.
Currency string `json:"currency"`
// Price Price amount in minor units (e.g., cents).
Price int `json:"price"`
// PriceId Unique identifier for the price.
PriceId string `json:"price_id"`
// Unit Unit of measurement for this price (e.g., per user).
Unit string `json:"unit"`
}
Price defines model for Price.
type Process ¶
type Process struct {
// LinuxPath Path to the process executable file in a Linux operating system
LinuxPath *string `json:"linux_path,omitempty"`
// MacPath Path to the process executable file in a Mac operating system
MacPath *string `json:"mac_path,omitempty"`
// WindowsPath Path to the process executable file in a Windows operating system
WindowsPath *string `json:"windows_path,omitempty"`
}
Process Describes the operational activity within a peer's system.
type ProcessCheck ¶
type ProcessCheck struct {
Processes []Process `json:"processes"`
}
ProcessCheck Posture Check for binaries exist and are running in the peer’s system
type Product ¶ added in v0.65.0
type Product struct {
// Description Detailed description of the product.
Description string `json:"description"`
// Features List of features provided by the product.
Features []string `json:"features"`
// Free Indicates whether the product is free or not.
Free bool `json:"free"`
// Name Name of the product.
Name string `json:"name"`
// Prices List of prices for the product in different currencies
Prices []Price `json:"prices"`
}
Product defines model for Product.
type ProxyAccessLog ¶ added in v0.65.0
type ProxyAccessLog struct {
// AuthMethodUsed Authentication method used (e.g., password, pin, oidc)
AuthMethodUsed *string `json:"auth_method_used,omitempty"`
// CityName City name from geolocation
CityName *string `json:"city_name,omitempty"`
// CountryCode Country code from geolocation
CountryCode *string `json:"country_code,omitempty"`
// DurationMs Duration of the request in milliseconds
DurationMs int `json:"duration_ms"`
// Host Host header of the request
Host string `json:"host"`
// Id Unique identifier for the access log entry
Id string `json:"id"`
// Method HTTP method of the request
Method string `json:"method"`
// Path Path of the request
Path string `json:"path"`
// Reason Reason for the request result (e.g., authentication failure)
Reason *string `json:"reason,omitempty"`
// ServiceId ID of the service that handled the request
ServiceId string `json:"service_id"`
// SourceIp Source IP address of the request
SourceIp *string `json:"source_ip,omitempty"`
// StatusCode HTTP status code returned
StatusCode int `json:"status_code"`
// Timestamp Timestamp when the request was made
Timestamp time.Time `json:"timestamp"`
// UserId ID of the authenticated user, if applicable
UserId *string `json:"user_id,omitempty"`
}
ProxyAccessLog defines model for ProxyAccessLog.
type ProxyAccessLogsResponse ¶ added in v0.65.0
type ProxyAccessLogsResponse struct {
// Data List of proxy access log entries
Data []ProxyAccessLog `json:"data"`
// Page Current page number
Page int `json:"page"`
// PageSize Number of items per page
PageSize int `json:"page_size"`
// TotalPages Total number of pages available
TotalPages int `json:"total_pages"`
// TotalRecords Total number of log records available
TotalRecords int `json:"total_records"`
}
ProxyAccessLogsResponse defines model for ProxyAccessLogsResponse.
type ProxyCluster ¶ added in v0.65.0
type ProxyCluster struct {
// Address Cluster address used for CNAME targets
Address string `json:"address"`
// ConnectedProxies Number of proxy nodes connected in this cluster
ConnectedProxies int `json:"connected_proxies"`
}
ProxyCluster A proxy cluster represents a group of proxy nodes serving the same address
type PutApiAccountsAccountIdJSONRequestBody ¶
type PutApiAccountsAccountIdJSONRequestBody = AccountRequest
PutApiAccountsAccountIdJSONRequestBody defines body for PutApiAccountsAccountId for application/json ContentType.
type PutApiDnsNameserversNsgroupIdJSONRequestBody ¶
type PutApiDnsNameserversNsgroupIdJSONRequestBody = NameserverGroupRequest
PutApiDnsNameserversNsgroupIdJSONRequestBody defines body for PutApiDnsNameserversNsgroupId for application/json ContentType.
type PutApiDnsSettingsJSONRequestBody ¶
type PutApiDnsSettingsJSONRequestBody = DNSSettings
PutApiDnsSettingsJSONRequestBody defines body for PutApiDnsSettings for application/json ContentType.
type PutApiDnsZonesZoneIdJSONRequestBody ¶ added in v0.63.0
type PutApiDnsZonesZoneIdJSONRequestBody = ZoneRequest
PutApiDnsZonesZoneIdJSONRequestBody defines body for PutApiDnsZonesZoneId for application/json ContentType.
type PutApiDnsZonesZoneIdRecordsRecordIdJSONRequestBody ¶ added in v0.63.0
type PutApiDnsZonesZoneIdRecordsRecordIdJSONRequestBody = DNSRecordRequest
PutApiDnsZonesZoneIdRecordsRecordIdJSONRequestBody defines body for PutApiDnsZonesZoneIdRecordsRecordId for application/json ContentType.
type PutApiGroupsGroupIdJSONRequestBody ¶
type PutApiGroupsGroupIdJSONRequestBody = GroupRequest
PutApiGroupsGroupIdJSONRequestBody defines body for PutApiGroupsGroupId for application/json ContentType.
type PutApiIdentityProvidersIdpIdJSONRequestBody ¶ added in v0.62.0
type PutApiIdentityProvidersIdpIdJSONRequestBody = IdentityProviderRequest
PutApiIdentityProvidersIdpIdJSONRequestBody defines body for PutApiIdentityProvidersIdpId for application/json ContentType.
type PutApiIngressPeersIngressPeerIdJSONRequestBody ¶
type PutApiIngressPeersIngressPeerIdJSONRequestBody = IngressPeerUpdateRequest
PutApiIngressPeersIngressPeerIdJSONRequestBody defines body for PutApiIngressPeersIngressPeerId for application/json ContentType.
type PutApiIntegrationsBillingSubscriptionJSONBody ¶ added in v0.65.0
type PutApiIntegrationsBillingSubscriptionJSONBody struct {
// PlanTier The plan tier to change the subscription to.
PlanTier *string `json:"plan_tier,omitempty"`
// PriceID The Price ID to change the subscription to.
PriceID *string `json:"priceID,omitempty"`
}
PutApiIntegrationsBillingSubscriptionJSONBody defines parameters for PutApiIntegrationsBillingSubscription.
type PutApiIntegrationsBillingSubscriptionJSONRequestBody ¶ added in v0.65.0
type PutApiIntegrationsBillingSubscriptionJSONRequestBody PutApiIntegrationsBillingSubscriptionJSONBody
PutApiIntegrationsBillingSubscriptionJSONRequestBody defines body for PutApiIntegrationsBillingSubscription for application/json ContentType.
type PutApiIntegrationsMspTenantsIdInviteJSONBody ¶ added in v0.65.0
type PutApiIntegrationsMspTenantsIdInviteJSONBody struct {
// Value Accept or decline the invitation.
Value PutApiIntegrationsMspTenantsIdInviteJSONBodyValue `json:"value"`
}
PutApiIntegrationsMspTenantsIdInviteJSONBody defines parameters for PutApiIntegrationsMspTenantsIdInvite.
type PutApiIntegrationsMspTenantsIdInviteJSONBodyValue ¶ added in v0.65.0
type PutApiIntegrationsMspTenantsIdInviteJSONBodyValue string
PutApiIntegrationsMspTenantsIdInviteJSONBodyValue defines parameters for PutApiIntegrationsMspTenantsIdInvite.
const ( PutApiIntegrationsMspTenantsIdInviteJSONBodyValueAccept PutApiIntegrationsMspTenantsIdInviteJSONBodyValue = "accept" PutApiIntegrationsMspTenantsIdInviteJSONBodyValueDecline PutApiIntegrationsMspTenantsIdInviteJSONBodyValue = "decline" )
Defines values for PutApiIntegrationsMspTenantsIdInviteJSONBodyValue.
type PutApiIntegrationsMspTenantsIdInviteJSONRequestBody ¶ added in v0.65.0
type PutApiIntegrationsMspTenantsIdInviteJSONRequestBody PutApiIntegrationsMspTenantsIdInviteJSONBody
PutApiIntegrationsMspTenantsIdInviteJSONRequestBody defines body for PutApiIntegrationsMspTenantsIdInvite for application/json ContentType.
type PutApiIntegrationsMspTenantsIdJSONRequestBody ¶ added in v0.65.0
type PutApiIntegrationsMspTenantsIdJSONRequestBody = UpdateTenantRequest
PutApiIntegrationsMspTenantsIdJSONRequestBody defines body for PutApiIntegrationsMspTenantsId for application/json ContentType.
type PutApiNetworksNetworkIdJSONRequestBody ¶
type PutApiNetworksNetworkIdJSONRequestBody = NetworkRequest
PutApiNetworksNetworkIdJSONRequestBody defines body for PutApiNetworksNetworkId for application/json ContentType.
type PutApiNetworksNetworkIdResourcesResourceIdJSONRequestBody ¶
type PutApiNetworksNetworkIdResourcesResourceIdJSONRequestBody = NetworkResourceRequest
PutApiNetworksNetworkIdResourcesResourceIdJSONRequestBody defines body for PutApiNetworksNetworkIdResourcesResourceId for application/json ContentType.
type PutApiNetworksNetworkIdRoutersRouterIdJSONRequestBody ¶
type PutApiNetworksNetworkIdRoutersRouterIdJSONRequestBody = NetworkRouterRequest
PutApiNetworksNetworkIdRoutersRouterIdJSONRequestBody defines body for PutApiNetworksNetworkIdRoutersRouterId for application/json ContentType.
type PutApiPeersPeerIdIngressPortsAllocationIdJSONRequestBody ¶
type PutApiPeersPeerIdIngressPortsAllocationIdJSONRequestBody = IngressPortAllocationRequest
PutApiPeersPeerIdIngressPortsAllocationIdJSONRequestBody defines body for PutApiPeersPeerIdIngressPortsAllocationId for application/json ContentType.
type PutApiPeersPeerIdJSONRequestBody ¶
type PutApiPeersPeerIdJSONRequestBody = PeerRequest
PutApiPeersPeerIdJSONRequestBody defines body for PutApiPeersPeerId for application/json ContentType.
type PutApiPoliciesPolicyIdJSONRequestBody ¶
type PutApiPoliciesPolicyIdJSONRequestBody = PolicyCreate
PutApiPoliciesPolicyIdJSONRequestBody defines body for PutApiPoliciesPolicyId for application/json ContentType.
type PutApiPostureChecksPostureCheckIdJSONRequestBody ¶
type PutApiPostureChecksPostureCheckIdJSONRequestBody = PostureCheckUpdate
PutApiPostureChecksPostureCheckIdJSONRequestBody defines body for PutApiPostureChecksPostureCheckId for application/json ContentType.
type PutApiReverseProxiesServicesServiceIdJSONRequestBody ¶ added in v0.65.0
type PutApiReverseProxiesServicesServiceIdJSONRequestBody = ServiceRequest
PutApiReverseProxiesServicesServiceIdJSONRequestBody defines body for PutApiReverseProxiesServicesServiceId for application/json ContentType.
type PutApiRoutesRouteIdJSONRequestBody ¶
type PutApiRoutesRouteIdJSONRequestBody = RouteRequest
PutApiRoutesRouteIdJSONRequestBody defines body for PutApiRoutesRouteId for application/json ContentType.
type PutApiSetupKeysKeyIdJSONRequestBody ¶
type PutApiSetupKeysKeyIdJSONRequestBody = SetupKeyRequest
PutApiSetupKeysKeyIdJSONRequestBody defines body for PutApiSetupKeysKeyId for application/json ContentType.
type PutApiUsersUserIdJSONRequestBody ¶
type PutApiUsersUserIdJSONRequestBody = UserRequest
PutApiUsersUserIdJSONRequestBody defines body for PutApiUsersUserId for application/json ContentType.
type PutApiUsersUserIdPasswordJSONRequestBody ¶ added in v0.64.0
type PutApiUsersUserIdPasswordJSONRequestBody = PasswordChangeRequest
PutApiUsersUserIdPasswordJSONRequestBody defines body for PutApiUsersUserIdPassword for application/json ContentType.
type Resource ¶
type Resource struct {
// Id ID of the resource
Id string `json:"id"`
Type ResourceType `json:"type"`
}
Resource defines model for Resource.
type ResourceType ¶
type ResourceType string
ResourceType defines model for ResourceType.
const ( ResourceTypeDomain ResourceType = "domain" ResourceTypeHost ResourceType = "host" ResourceTypePeer ResourceType = "peer" ResourceTypeSubnet ResourceType = "subnet" )
Defines values for ResourceType.
type ReverseProxyDomain ¶ added in v0.65.0
type ReverseProxyDomain struct {
// Domain Domain name
Domain string `json:"domain"`
// Id Domain ID
Id string `json:"id"`
// TargetCluster The proxy cluster this domain is validated against (only for custom domains)
TargetCluster *string `json:"target_cluster,omitempty"`
// Type Type of Reverse Proxy Domain
Type ReverseProxyDomainType `json:"type"`
// Validated Whether the domain has been validated
Validated bool `json:"validated"`
}
ReverseProxyDomain defines model for ReverseProxyDomain.
type ReverseProxyDomainRequest ¶ added in v0.65.0
type ReverseProxyDomainRequest struct {
// Domain Domain name
Domain string `json:"domain"`
// TargetCluster The proxy cluster this domain should be validated against
TargetCluster string `json:"target_cluster"`
}
ReverseProxyDomainRequest defines model for ReverseProxyDomainRequest.
type ReverseProxyDomainType ¶ added in v0.65.0
type ReverseProxyDomainType string
ReverseProxyDomainType Type of Reverse Proxy Domain
const ( ReverseProxyDomainTypeCustom ReverseProxyDomainType = "custom" ReverseProxyDomainTypeFree ReverseProxyDomainType = "free" )
Defines values for ReverseProxyDomainType.
type Route ¶
type Route struct {
// AccessControlGroups Access control group identifier associated with route.
AccessControlGroups *[]string `json:"access_control_groups,omitempty"`
// Description Route description
Description string `json:"description"`
// Domains Domain list to be dynamically resolved. Max of 32 domains can be added per route configuration. Conflicts with network
Domains *[]string `json:"domains,omitempty"`
// Enabled Route status
Enabled bool `json:"enabled"`
// Groups Group IDs containing routing peers
Groups []string `json:"groups"`
// Id Route Id
Id string `json:"id"`
// KeepRoute Indicate if the route should be kept after a domain doesn't resolve that IP anymore
KeepRoute bool `json:"keep_route"`
// Masquerade Indicate if peer should masquerade traffic to this route's prefix
Masquerade bool `json:"masquerade"`
// Metric Route metric number. Lowest number has higher priority
Metric int `json:"metric"`
// Network Network range in CIDR format, Conflicts with domains
Network *string `json:"network,omitempty"`
// NetworkId Route network identifier, to group HA routes
NetworkId string `json:"network_id"`
// NetworkType Network type indicating if it is a domain route or a IPv4/IPv6 route
NetworkType string `json:"network_type"`
// Peer Peer Identifier associated with route. This property can not be set together with `peer_groups`
Peer *string `json:"peer,omitempty"`
// PeerGroups Peers Group Identifier associated with route. This property can not be set together with `peer`
PeerGroups *[]string `json:"peer_groups,omitempty"`
// SkipAutoApply Indicate if this exit node route (0.0.0.0/0) should skip auto-application for client routing
SkipAutoApply *bool `json:"skip_auto_apply,omitempty"`
}
Route defines model for Route.
type RouteRequest ¶
type RouteRequest struct {
// AccessControlGroups Access control group identifier associated with route.
AccessControlGroups *[]string `json:"access_control_groups,omitempty"`
// Description Route description
Description string `json:"description"`
// Domains Domain list to be dynamically resolved. Max of 32 domains can be added per route configuration. Conflicts with network
Domains *[]string `json:"domains,omitempty"`
// Enabled Route status
Enabled bool `json:"enabled"`
// Groups Group IDs containing routing peers
Groups []string `json:"groups"`
// KeepRoute Indicate if the route should be kept after a domain doesn't resolve that IP anymore
KeepRoute bool `json:"keep_route"`
// Masquerade Indicate if peer should masquerade traffic to this route's prefix
Masquerade bool `json:"masquerade"`
// Metric Route metric number. Lowest number has higher priority
Metric int `json:"metric"`
// Network Network range in CIDR format, Conflicts with domains
Network *string `json:"network,omitempty"`
// NetworkId Route network identifier, to group HA routes
NetworkId string `json:"network_id"`
// Peer Peer Identifier associated with route. This property can not be set together with `peer_groups`
Peer *string `json:"peer,omitempty"`
// PeerGroups Peers Group Identifier associated with route. This property can not be set together with `peer`
PeerGroups *[]string `json:"peer_groups,omitempty"`
// SkipAutoApply Indicate if this exit node route (0.0.0.0/0) should skip auto-application for client routing
SkipAutoApply *bool `json:"skip_auto_apply,omitempty"`
}
RouteRequest defines model for RouteRequest.
type RulePortRange ¶
type RulePortRange struct {
// End The ending port of the range
End int `json:"end"`
// Start The starting port of the range
Start int `json:"start"`
}
RulePortRange Policy rule affected ports range
type ScimIntegration ¶ added in v0.65.0
type ScimIntegration struct {
// AuthToken SCIM API token (full on creation, masked otherwise)
AuthToken string `json:"auth_token"`
// Enabled Indicates whether the integration is enabled
Enabled bool `json:"enabled"`
// GroupPrefixes List of start_with string patterns for groups to sync
GroupPrefixes []string `json:"group_prefixes"`
// Id The unique identifier for the integration
Id int64 `json:"id"`
// LastSyncedAt Timestamp of when the integration was last synced
LastSyncedAt time.Time `json:"last_synced_at"`
// Provider Name of the SCIM identity provider
Provider string `json:"provider"`
// UserGroupPrefixes List of start_with string patterns for groups which users to sync
UserGroupPrefixes []string `json:"user_group_prefixes"`
}
ScimIntegration Represents a SCIM IDP integration
type ScimTokenResponse ¶ added in v0.65.0
type ScimTokenResponse struct {
// AuthToken The newly generated SCIM API token
AuthToken string `json:"auth_token"`
}
ScimTokenResponse Response containing the regenerated SCIM token
type SentinelOneMatchAttributes ¶ added in v0.65.0
type SentinelOneMatchAttributes struct {
// ActiveThreats The maximum allowed number of active threats on the agent
ActiveThreats *int `json:"active_threats,omitempty"`
// EncryptedApplications Whether disk encryption is enabled on the agent
EncryptedApplications *bool `json:"encrypted_applications,omitempty"`
// FirewallEnabled Whether the agent firewall is enabled
FirewallEnabled *bool `json:"firewall_enabled,omitempty"`
// Infected Whether the agent is currently flagged as infected
Infected *bool `json:"infected,omitempty"`
// IsActive Whether the agent has been recently active and reporting
IsActive *bool `json:"is_active,omitempty"`
// IsUpToDate Whether the agent is running the latest available version
IsUpToDate *bool `json:"is_up_to_date,omitempty"`
// NetworkStatus The current network connectivity status of the device
NetworkStatus *SentinelOneMatchAttributesNetworkStatus `json:"network_status,omitempty"`
// OperationalState The current operational state of the agent
OperationalState *string `json:"operational_state,omitempty"`
}
SentinelOneMatchAttributes Attribute conditions to match when approving agents
type SentinelOneMatchAttributesNetworkStatus ¶ added in v0.65.0
type SentinelOneMatchAttributesNetworkStatus string
SentinelOneMatchAttributesNetworkStatus The current network connectivity status of the device
const ( SentinelOneMatchAttributesNetworkStatusConnected SentinelOneMatchAttributesNetworkStatus = "connected" SentinelOneMatchAttributesNetworkStatusDisconnected SentinelOneMatchAttributesNetworkStatus = "disconnected" SentinelOneMatchAttributesNetworkStatusQuarantined SentinelOneMatchAttributesNetworkStatus = "quarantined" )
Defines values for SentinelOneMatchAttributesNetworkStatus.
type Service ¶ added in v0.65.0
type Service struct {
Auth ServiceAuthConfig `json:"auth"`
// Domain Domain for the service
Domain string `json:"domain"`
// Enabled Whether the service is enabled
Enabled bool `json:"enabled"`
// Id Service ID
Id string `json:"id"`
Meta ServiceMeta `json:"meta"`
// Name Service name
Name string `json:"name"`
// PassHostHeader When true, the original client Host header is passed through to the backend instead of being rewritten to the backend's address
PassHostHeader *bool `json:"pass_host_header,omitempty"`
// ProxyCluster The proxy cluster handling this service (derived from domain)
ProxyCluster *string `json:"proxy_cluster,omitempty"`
// RewriteRedirects When true, Location headers in backend responses are rewritten to replace the backend address with the public-facing domain
RewriteRedirects *bool `json:"rewrite_redirects,omitempty"`
// Targets List of target backends for this service
Targets []ServiceTarget `json:"targets"`
}
Service defines model for Service.
type ServiceAuthConfig ¶ added in v0.65.0
type ServiceAuthConfig struct {
BearerAuth *BearerAuthConfig `json:"bearer_auth,omitempty"`
LinkAuth *LinkAuthConfig `json:"link_auth,omitempty"`
PasswordAuth *PasswordAuthConfig `json:"password_auth,omitempty"`
PinAuth *PINAuthConfig `json:"pin_auth,omitempty"`
}
ServiceAuthConfig defines model for ServiceAuthConfig.
type ServiceMeta ¶ added in v0.65.0
type ServiceMeta struct {
// CertificateIssuedAt Timestamp when the certificate was issued (empty if not yet issued)
CertificateIssuedAt *time.Time `json:"certificate_issued_at,omitempty"`
// CreatedAt Timestamp when the service was created
CreatedAt time.Time `json:"created_at"`
// Status Current status of the service
Status ServiceMetaStatus `json:"status"`
}
ServiceMeta defines model for ServiceMeta.
type ServiceMetaStatus ¶ added in v0.65.0
type ServiceMetaStatus string
ServiceMetaStatus Current status of the service
const ( ServiceMetaStatusActive ServiceMetaStatus = "active" ServiceMetaStatusCertificateFailed ServiceMetaStatus = "certificate_failed" ServiceMetaStatusCertificatePending ServiceMetaStatus = "certificate_pending" ServiceMetaStatusError ServiceMetaStatus = "error" ServiceMetaStatusPending ServiceMetaStatus = "pending" ServiceMetaStatusTunnelNotCreated ServiceMetaStatus = "tunnel_not_created" )
Defines values for ServiceMetaStatus.
type ServiceRequest ¶ added in v0.65.0
type ServiceRequest struct {
Auth ServiceAuthConfig `json:"auth"`
// Domain Domain for the service
Domain string `json:"domain"`
// Enabled Whether the service is enabled
Enabled bool `json:"enabled"`
// Name Service name
Name string `json:"name"`
// PassHostHeader When true, the original client Host header is passed through to the backend instead of being rewritten to the backend's address
PassHostHeader *bool `json:"pass_host_header,omitempty"`
// RewriteRedirects When true, Location headers in backend responses are rewritten to replace the backend address with the public-facing domain
RewriteRedirects *bool `json:"rewrite_redirects,omitempty"`
// Targets List of target backends for this service
Targets []ServiceTarget `json:"targets"`
}
ServiceRequest defines model for ServiceRequest.
type ServiceTarget ¶ added in v0.65.0
type ServiceTarget struct {
// Enabled Whether this target is enabled
Enabled bool `json:"enabled"`
// Host Backend ip or domain for this target
Host *string `json:"host,omitempty"`
// Path URL path prefix for this target
Path *string `json:"path,omitempty"`
// Port Backend port for this target. Use 0 or omit to use the scheme default (80 for http, 443 for https).
Port int `json:"port"`
// Protocol Protocol to use when connecting to the backend
Protocol ServiceTargetProtocol `json:"protocol"`
// TargetId Target ID
TargetId string `json:"target_id"`
// TargetType Target type (e.g., "peer", "resource")
TargetType ServiceTargetTargetType `json:"target_type"`
}
ServiceTarget defines model for ServiceTarget.
type ServiceTargetProtocol ¶ added in v0.65.0
type ServiceTargetProtocol string
ServiceTargetProtocol Protocol to use when connecting to the backend
const ( ServiceTargetProtocolHttp ServiceTargetProtocol = "http" ServiceTargetProtocolHttps ServiceTargetProtocol = "https" )
Defines values for ServiceTargetProtocol.
type ServiceTargetTargetType ¶ added in v0.65.0
type ServiceTargetTargetType string
ServiceTargetTargetType Target type (e.g., "peer", "resource")
const ( ServiceTargetTargetTypePeer ServiceTargetTargetType = "peer" ServiceTargetTargetTypeResource ServiceTargetTargetType = "resource" )
Defines values for ServiceTargetTargetType.
type SetupKey ¶
type SetupKey struct {
// AllowExtraDnsLabels Allow extra DNS labels to be added to the peer
AllowExtraDnsLabels bool `json:"allow_extra_dns_labels"`
// AutoGroups List of group IDs to auto-assign to peers registered with this key
AutoGroups []string `json:"auto_groups"`
// Ephemeral Indicate that the peer will be ephemeral or not
Ephemeral bool `json:"ephemeral"`
// Expires Setup Key expiration date
Expires time.Time `json:"expires"`
// Id Setup Key ID
Id string `json:"id"`
// Key Setup Key as secret
Key string `json:"key"`
// LastUsed Setup key last usage date
LastUsed time.Time `json:"last_used"`
// Name Setup key name identifier
Name string `json:"name"`
// Revoked Setup key revocation status
Revoked bool `json:"revoked"`
// State Setup key status, "valid", "overused","expired" or "revoked"
State string `json:"state"`
// Type Setup key type, one-off for single time usage and reusable
Type string `json:"type"`
// UpdatedAt Setup key last update date
UpdatedAt time.Time `json:"updated_at"`
// UsageLimit A number of times this key can be used. The value of 0 indicates the unlimited usage.
UsageLimit int `json:"usage_limit"`
// UsedTimes Usage count of setup key
UsedTimes int `json:"used_times"`
// Valid Setup key validity status
Valid bool `json:"valid"`
}
SetupKey defines model for SetupKey.
type SetupKeyBase ¶
type SetupKeyBase struct {
// AllowExtraDnsLabels Allow extra DNS labels to be added to the peer
AllowExtraDnsLabels bool `json:"allow_extra_dns_labels"`
// AutoGroups List of group IDs to auto-assign to peers registered with this key
AutoGroups []string `json:"auto_groups"`
// Ephemeral Indicate that the peer will be ephemeral or not
Ephemeral bool `json:"ephemeral"`
// Expires Setup Key expiration date
Expires time.Time `json:"expires"`
// Id Setup Key ID
Id string `json:"id"`
// LastUsed Setup key last usage date
LastUsed time.Time `json:"last_used"`
// Name Setup key name identifier
Name string `json:"name"`
// Revoked Setup key revocation status
Revoked bool `json:"revoked"`
// State Setup key status, "valid", "overused","expired" or "revoked"
State string `json:"state"`
// Type Setup key type, one-off for single time usage and reusable
Type string `json:"type"`
// UpdatedAt Setup key last update date
UpdatedAt time.Time `json:"updated_at"`
// UsageLimit A number of times this key can be used. The value of 0 indicates the unlimited usage.
UsageLimit int `json:"usage_limit"`
// UsedTimes Usage count of setup key
UsedTimes int `json:"used_times"`
// Valid Setup key validity status
Valid bool `json:"valid"`
}
SetupKeyBase defines model for SetupKeyBase.
type SetupKeyClear ¶
type SetupKeyClear struct {
// AllowExtraDnsLabels Allow extra DNS labels to be added to the peer
AllowExtraDnsLabels bool `json:"allow_extra_dns_labels"`
// AutoGroups List of group IDs to auto-assign to peers registered with this key
AutoGroups []string `json:"auto_groups"`
// Ephemeral Indicate that the peer will be ephemeral or not
Ephemeral bool `json:"ephemeral"`
// Expires Setup Key expiration date
Expires time.Time `json:"expires"`
// Id Setup Key ID
Id string `json:"id"`
// Key Setup Key as plain text
Key string `json:"key"`
// LastUsed Setup key last usage date
LastUsed time.Time `json:"last_used"`
// Name Setup key name identifier
Name string `json:"name"`
// Revoked Setup key revocation status
Revoked bool `json:"revoked"`
// State Setup key status, "valid", "overused","expired" or "revoked"
State string `json:"state"`
// Type Setup key type, one-off for single time usage and reusable
Type string `json:"type"`
// UpdatedAt Setup key last update date
UpdatedAt time.Time `json:"updated_at"`
// UsageLimit A number of times this key can be used. The value of 0 indicates the unlimited usage.
UsageLimit int `json:"usage_limit"`
// UsedTimes Usage count of setup key
UsedTimes int `json:"used_times"`
// Valid Setup key validity status
Valid bool `json:"valid"`
}
SetupKeyClear defines model for SetupKeyClear.
type SetupKeyRequest ¶
type SetupKeyRequest struct {
// AutoGroups List of group IDs to auto-assign to peers registered with this key
AutoGroups []string `json:"auto_groups"`
// Revoked Setup key revocation status
Revoked bool `json:"revoked"`
}
SetupKeyRequest defines model for SetupKeyRequest.
type SetupRequest ¶ added in v0.62.0
type SetupRequest struct {
// Email Email address for the admin user
Email string `json:"email"`
// Name Display name for the admin user (defaults to email if not provided)
Name string `json:"name"`
// Password Password for the admin user (minimum 8 characters)
Password string `json:"password"`
}
SetupRequest Request to set up the initial admin user
type SetupResponse ¶ added in v0.62.0
type SetupResponse struct {
// Email Email address of the created user
Email string `json:"email"`
// UserId The ID of the created user
UserId string `json:"user_id"`
}
SetupResponse Response after successful instance setup
type Subscription ¶ added in v0.65.0
type Subscription struct {
// Active Indicates whether the subscription is active or not.
Active bool `json:"active"`
// Currency Currency code of the subscription.
Currency string `json:"currency"`
// Features List of features included in the subscription.
Features *[]string `json:"features,omitempty"`
// PlanTier The tier of the plan for the subscription.
PlanTier string `json:"plan_tier"`
// Price Price amount in minor units (e.g., cents).
Price int `json:"price"`
// PriceId Unique identifier for the price of the subscription.
PriceId string `json:"price_id"`
// Provider The provider of the subscription.
Provider string `json:"provider"`
// RemainingTrial The remaining time for the trial period, in seconds.
RemainingTrial *int `json:"remaining_trial,omitempty"`
// UpdatedAt The date and time when the subscription was last updated.
UpdatedAt time.Time `json:"updated_at"`
}
Subscription defines model for Subscription.
type TenantGroupResponse ¶ added in v0.65.0
type TenantGroupResponse struct {
// Id The Group ID
Id string `json:"id"`
// Role The Role name
Role string `json:"role"`
}
TenantGroupResponse defines model for TenantGroupResponse.
type TenantResponse ¶ added in v0.65.0
type TenantResponse struct {
// ActivatedAt The date and time when the tenant was activated.
ActivatedAt *time.Time `json:"activated_at,omitempty"`
// CreatedAt The date and time when the tenant was created.
CreatedAt time.Time `json:"created_at"`
// DnsChallenge The DNS challenge to set in a TXT record
DnsChallenge string `json:"dns_challenge"`
// Domain The tenant account domain
Domain string `json:"domain"`
// Groups MSP users Groups that can access the Tenant and Roles to assume
Groups []TenantGroupResponse `json:"groups"`
// Id The updated MSP tenant account ID
Id string `json:"id"`
// InvitedAt The date and time when the existing tenant was invited.
InvitedAt *time.Time `json:"invited_at,omitempty"`
// Name The name for the MSP tenant
Name string `json:"name"`
// Status The status of the tenant
Status TenantResponseStatus `json:"status"`
// UpdatedAt The date and time when the tenant was last updated.
UpdatedAt time.Time `json:"updated_at"`
}
TenantResponse defines model for TenantResponse.
type TenantResponseStatus ¶ added in v0.65.0
type TenantResponseStatus string
TenantResponseStatus The status of the tenant
const ( TenantResponseStatusActive TenantResponseStatus = "active" TenantResponseStatusExisting TenantResponseStatus = "existing" TenantResponseStatusInvited TenantResponseStatus = "invited" TenantResponseStatusPending TenantResponseStatus = "pending" )
Defines values for TenantResponseStatus.
type UpdateEDRIntegrationJSONRequestBody ¶ added in v0.65.0
type UpdateEDRIntegrationJSONRequestBody = EDRIntuneRequest
UpdateEDRIntegrationJSONRequestBody defines body for UpdateEDRIntegration for application/json ContentType.
type UpdateFalconEDRIntegrationJSONRequestBody ¶ added in v0.65.0
type UpdateFalconEDRIntegrationJSONRequestBody = EDRFalconRequest
UpdateFalconEDRIntegrationJSONRequestBody defines body for UpdateFalconEDRIntegration for application/json ContentType.
type UpdateHuntressEDRIntegrationJSONRequestBody ¶ added in v0.65.0
type UpdateHuntressEDRIntegrationJSONRequestBody = EDRHuntressRequest
UpdateHuntressEDRIntegrationJSONRequestBody defines body for UpdateHuntressEDRIntegration for application/json ContentType.
type UpdateIntegrationJSONRequestBody ¶ added in v0.65.0
type UpdateIntegrationJSONRequestBody = CreateIntegrationRequest
UpdateIntegrationJSONRequestBody defines body for UpdateIntegration for application/json ContentType.
type UpdateSCIMIntegrationJSONRequestBody ¶ added in v0.65.0
type UpdateSCIMIntegrationJSONRequestBody = UpdateScimIntegrationRequest
UpdateSCIMIntegrationJSONRequestBody defines body for UpdateSCIMIntegration for application/json ContentType.
type UpdateScimIntegrationRequest ¶ added in v0.65.0
type UpdateScimIntegrationRequest struct {
// Enabled Indicates whether the integration is enabled
Enabled *bool `json:"enabled,omitempty"`
// GroupPrefixes List of start_with string patterns for groups to sync
GroupPrefixes *[]string `json:"group_prefixes,omitempty"`
// UserGroupPrefixes List of start_with string patterns for groups which users to sync
UserGroupPrefixes *[]string `json:"user_group_prefixes,omitempty"`
}
UpdateScimIntegrationRequest Request payload for updating an SCIM IDP integration
type UpdateSentinelOneEDRIntegrationJSONRequestBody ¶ added in v0.65.0
type UpdateSentinelOneEDRIntegrationJSONRequestBody = EDRSentinelOneRequest
UpdateSentinelOneEDRIntegrationJSONRequestBody defines body for UpdateSentinelOneEDRIntegration for application/json ContentType.
type UpdateTenantRequest ¶ added in v0.65.0
type UpdateTenantRequest struct {
// Groups MSP users Groups that can access the Tenant and Roles to assume
Groups []TenantGroupResponse `json:"groups"`
// Name The name for the MSP tenant
Name string `json:"name"`
}
UpdateTenantRequest defines model for UpdateTenantRequest.
type UsageStats ¶ added in v0.65.0
type UsageStats struct {
// ActivePeers Number of active peers.
ActivePeers int64 `json:"active_peers"`
// ActiveUsers Number of active users.
ActiveUsers int64 `json:"active_users"`
// TotalPeers Total number of peers.
TotalPeers int64 `json:"total_peers"`
// TotalUsers Total number of users.
TotalUsers int64 `json:"total_users"`
}
UsageStats defines model for UsageStats.
type User ¶
type User struct {
// AutoGroups Group IDs to auto-assign to peers registered by this user
AutoGroups []string `json:"auto_groups"`
// Email User's email address
Email string `json:"email"`
// Id User ID
Id string `json:"id"`
// IdpId Identity provider ID (connector ID) that the user authenticated with. Only populated for users with Dex-encoded user IDs.
IdpId *string `json:"idp_id,omitempty"`
// IsBlocked Is true if this user is blocked. Blocked users can't use the system
IsBlocked bool `json:"is_blocked"`
// IsCurrent Is true if authenticated user is the same as this user
IsCurrent *bool `json:"is_current,omitempty"`
// IsServiceUser Is true if this user is a service user
IsServiceUser *bool `json:"is_service_user,omitempty"`
// Issued How user was issued by API or Integration
Issued *string `json:"issued,omitempty"`
// LastLogin Last time this user performed a login to the dashboard
LastLogin *time.Time `json:"last_login,omitempty"`
// Name User's name from idp provider
Name string `json:"name"`
// Password User's password. Only present when user is created (create user endpoint is called) and only when IdP supports user creation with password.
Password *string `json:"password,omitempty"`
// PendingApproval Is true if this user requires approval before being activated. Only applicable for users joining via domain matching when user_approval_required is enabled.
PendingApproval bool `json:"pending_approval"`
Permissions *UserPermissions `json:"permissions,omitempty"`
// Role User's NetBird account role
Role string `json:"role"`
// Status User's status
Status UserStatus `json:"status"`
}
User defines model for User.
type UserCreateRequest ¶
type UserCreateRequest struct {
// AutoGroups Group IDs to auto-assign to peers registered by this user
AutoGroups []string `json:"auto_groups"`
// Email User's Email to send invite to
Email *string `json:"email,omitempty"`
// IsServiceUser Is true if this user is a service user
IsServiceUser bool `json:"is_service_user"`
// Name User's full name
Name *string `json:"name,omitempty"`
// Role User's NetBird account role
Role string `json:"role"`
}
UserCreateRequest defines model for UserCreateRequest.
type UserInvite ¶ added in v0.64.2
type UserInvite struct {
// AutoGroups Group IDs to auto-assign to peers registered by this user
AutoGroups []string `json:"auto_groups"`
// CreatedAt Invite creation time
CreatedAt time.Time `json:"created_at"`
// Email User's email address
Email string `json:"email"`
// Expired Whether the invite has expired
Expired bool `json:"expired"`
// ExpiresAt Invite expiration time
ExpiresAt time.Time `json:"expires_at"`
// Id Invite ID
Id string `json:"id"`
// InviteToken The invite link to be shared with the user. Only returned when the invite is created or regenerated.
InviteToken *string `json:"invite_token,omitempty"`
// Name User's full name
Name string `json:"name"`
// Role User's NetBird account role
Role string `json:"role"`
}
UserInvite A user invite
type UserInviteAcceptRequest ¶ added in v0.64.2
type UserInviteAcceptRequest struct {
// Password The password the user wants to set. Must be at least 8 characters long and contain at least one uppercase letter, one digit, and one special character (any character that is not a letter or digit, including spaces).
Password string `json:"password"`
}
UserInviteAcceptRequest Request to accept an invite and set password
type UserInviteAcceptResponse ¶ added in v0.64.2
type UserInviteAcceptResponse struct {
// Success Whether the invite was accepted successfully
Success bool `json:"success"`
}
UserInviteAcceptResponse Response after accepting an invite
type UserInviteCreateRequest ¶ added in v0.64.2
type UserInviteCreateRequest struct {
// AutoGroups Group IDs to auto-assign to peers registered by this user
AutoGroups []string `json:"auto_groups"`
// Email User's email address
Email string `json:"email"`
// ExpiresIn Invite expiration time in seconds (default 72 hours)
ExpiresIn *int `json:"expires_in,omitempty"`
// Name User's full name
Name string `json:"name"`
// Role User's NetBird account role
Role string `json:"role"`
}
UserInviteCreateRequest Request to create a user invite link
type UserInviteInfo ¶ added in v0.64.2
type UserInviteInfo struct {
// Email User's email address
Email string `json:"email"`
// ExpiresAt Invite expiration time
ExpiresAt time.Time `json:"expires_at"`
// InvitedBy Name of the user who sent the invite
InvitedBy string `json:"invited_by"`
// Name User's full name
Name string `json:"name"`
// Valid Whether the invite is still valid (not expired)
Valid bool `json:"valid"`
}
UserInviteInfo Public information about an invite
type UserInviteRegenerateRequest ¶ added in v0.64.2
type UserInviteRegenerateRequest struct {
// ExpiresIn Invite expiration time in seconds (default 72 hours)
ExpiresIn *int `json:"expires_in,omitempty"`
}
UserInviteRegenerateRequest Request to regenerate an invite link
type UserInviteRegenerateResponse ¶ added in v0.64.2
type UserInviteRegenerateResponse struct {
// InviteExpiresAt New invite expiration time
InviteExpiresAt time.Time `json:"invite_expires_at"`
// InviteToken The new invite token
InviteToken string `json:"invite_token"`
}
UserInviteRegenerateResponse Response after regenerating an invite
type UserPermissions ¶
type UserPermissions struct {
// IsRestricted Indicates whether this User's Peers view is restricted
IsRestricted bool `json:"is_restricted"`
Modules map[string]map[string]bool `json:"modules"`
}
UserPermissions defines model for UserPermissions.
type UserRequest ¶
type UserRequest struct {
// AutoGroups Group IDs to auto-assign to peers registered by this user
AutoGroups []string `json:"auto_groups"`
// IsBlocked If set to true then user is blocked and can't use the system
IsBlocked bool `json:"is_blocked"`
// Role User's NetBird account role
Role string `json:"role"`
}
UserRequest defines model for UserRequest.
type UserStatus ¶
type UserStatus string
UserStatus User's status
const ( UserStatusActive UserStatus = "active" UserStatusBlocked UserStatus = "blocked" UserStatusInvited UserStatus = "invited" )
Defines values for UserStatus.
type WorkloadRequest ¶ added in v0.64.0
type WorkloadRequest struct {
// contains filtered or unexported fields
}
WorkloadRequest defines model for WorkloadRequest.
func (WorkloadRequest) AsBundleWorkloadRequest ¶ added in v0.64.0
func (t WorkloadRequest) AsBundleWorkloadRequest() (BundleWorkloadRequest, error)
AsBundleWorkloadRequest returns the union data inside the WorkloadRequest as a BundleWorkloadRequest
func (WorkloadRequest) Discriminator ¶ added in v0.64.0
func (t WorkloadRequest) Discriminator() (string, error)
func (*WorkloadRequest) FromBundleWorkloadRequest ¶ added in v0.64.0
func (t *WorkloadRequest) FromBundleWorkloadRequest(v BundleWorkloadRequest) error
FromBundleWorkloadRequest overwrites any union data inside the WorkloadRequest as the provided BundleWorkloadRequest
func (WorkloadRequest) MarshalJSON ¶ added in v0.64.0
func (t WorkloadRequest) MarshalJSON() ([]byte, error)
func (*WorkloadRequest) MergeBundleWorkloadRequest ¶ added in v0.64.0
func (t *WorkloadRequest) MergeBundleWorkloadRequest(v BundleWorkloadRequest) error
MergeBundleWorkloadRequest performs a merge with any union data inside the WorkloadRequest, using the provided BundleWorkloadRequest
func (*WorkloadRequest) UnmarshalJSON ¶ added in v0.64.0
func (t *WorkloadRequest) UnmarshalJSON(b []byte) error
func (WorkloadRequest) ValueByDiscriminator ¶ added in v0.64.0
func (t WorkloadRequest) ValueByDiscriminator() (interface{}, error)
type WorkloadResponse ¶ added in v0.64.0
type WorkloadResponse struct {
// contains filtered or unexported fields
}
WorkloadResponse defines model for WorkloadResponse.
func (WorkloadResponse) AsBundleWorkloadResponse ¶ added in v0.64.0
func (t WorkloadResponse) AsBundleWorkloadResponse() (BundleWorkloadResponse, error)
AsBundleWorkloadResponse returns the union data inside the WorkloadResponse as a BundleWorkloadResponse
func (WorkloadResponse) Discriminator ¶ added in v0.64.0
func (t WorkloadResponse) Discriminator() (string, error)
func (*WorkloadResponse) FromBundleWorkloadResponse ¶ added in v0.64.0
func (t *WorkloadResponse) FromBundleWorkloadResponse(v BundleWorkloadResponse) error
FromBundleWorkloadResponse overwrites any union data inside the WorkloadResponse as the provided BundleWorkloadResponse
func (WorkloadResponse) MarshalJSON ¶ added in v0.64.0
func (t WorkloadResponse) MarshalJSON() ([]byte, error)
func (*WorkloadResponse) MergeBundleWorkloadResponse ¶ added in v0.64.0
func (t *WorkloadResponse) MergeBundleWorkloadResponse(v BundleWorkloadResponse) error
MergeBundleWorkloadResponse performs a merge with any union data inside the WorkloadResponse, using the provided BundleWorkloadResponse
func (*WorkloadResponse) UnmarshalJSON ¶ added in v0.64.0
func (t *WorkloadResponse) UnmarshalJSON(b []byte) error
func (WorkloadResponse) ValueByDiscriminator ¶ added in v0.64.0
func (t WorkloadResponse) ValueByDiscriminator() (interface{}, error)
type WorkloadType ¶ added in v0.64.0
type WorkloadType string
WorkloadType Identifies the type of workload the job will execute. Currently only `"bundle"` is supported.
const (
WorkloadTypeBundle WorkloadType = "bundle"
)
Defines values for WorkloadType.
type Zone ¶ added in v0.63.0
type Zone struct {
// DistributionGroups Group IDs that defines groups of peers that will resolve this zone
DistributionGroups []string `json:"distribution_groups"`
// Domain Zone domain (FQDN)
Domain string `json:"domain"`
// EnableSearchDomain Enable this zone as a search domain
EnableSearchDomain bool `json:"enable_search_domain"`
// Enabled Zone status
Enabled bool `json:"enabled"`
// Id Zone ID
Id string `json:"id"`
// Name Zone name identifier
Name string `json:"name"`
// Records DNS records associated with this zone
Records []DNSRecord `json:"records"`
}
Zone defines model for Zone.
type ZoneRequest ¶ added in v0.63.0
type ZoneRequest struct {
// DistributionGroups Group IDs that defines groups of peers that will resolve this zone
DistributionGroups []string `json:"distribution_groups"`
// Domain Zone domain (FQDN)
Domain string `json:"domain"`
// EnableSearchDomain Enable this zone as a search domain
EnableSearchDomain bool `json:"enable_search_domain"`
// Enabled Zone status
Enabled *bool `json:"enabled,omitempty"`
// Name Zone name identifier
Name string `json:"name"`
}
ZoneRequest defines model for ZoneRequest.