Documentation ¶
Overview ¶
Package api provides primitives to interact with the openapi HTTP API.
Code generated by github.com/deepmap/oapi-codegen version v1.11.1-0.20220912230023-4a1477f6a8ba DO NOT EDIT.
Index ¶
- Constants
- type AccessiblePeer
- type Account
- type AccountExtraSettings
- type AccountRequest
- type AccountSettings
- type Checks
- type City
- type CityName
- type Country
- type CountryCode
- type CreateSetupKeyRequest
- type DNSSettings
- type Event
- type EventActivityCode
- type GeoLocationCheck
- type GeoLocationCheckAction
- type GetApiUsersParams
- type Group
- type GroupIssued
- type GroupMinimum
- type GroupMinimumIssued
- type GroupRequest
- type Location
- type MinKernelVersionCheck
- type MinVersionCheck
- type NBVersionCheck
- type Nameserver
- type NameserverGroup
- type NameserverGroupRequest
- type NameserverNsType
- type OSVersionCheck
- type Peer
- type PeerBatch
- type PeerMinimum
- type PeerNetworkRangeCheck
- type PeerNetworkRangeCheckAction
- type PeerRequest
- type PersonalAccessToken
- type PersonalAccessTokenGenerated
- type PersonalAccessTokenRequest
- type Policy
- type PolicyMinimum
- type PolicyRule
- type PolicyRuleAction
- type PolicyRuleMinimum
- type PolicyRuleMinimumAction
- type PolicyRuleMinimumProtocol
- type PolicyRuleProtocol
- type PolicyRuleUpdate
- type PolicyRuleUpdateAction
- type PolicyRuleUpdateProtocol
- type PolicyUpdate
- type PostApiDnsNameserversJSONRequestBody
- type PostApiGroupsJSONRequestBody
- type PostApiPoliciesJSONRequestBody
- type PostApiPostureChecksJSONRequestBody
- type PostApiRoutesJSONRequestBody
- type PostApiSetupKeysJSONRequestBody
- type PostApiUsersJSONRequestBody
- type PostApiUsersUserIdTokensJSONRequestBody
- type PostureCheck
- type PostureCheckUpdate
- type Process
- type ProcessCheck
- type PutApiAccountsAccountIdJSONRequestBody
- type PutApiDnsNameserversNsgroupIdJSONRequestBody
- type PutApiDnsSettingsJSONRequestBody
- type PutApiGroupsGroupIdJSONRequestBody
- type PutApiPeersPeerIdJSONRequestBody
- type PutApiPoliciesPolicyIdJSONRequestBody
- type PutApiPostureChecksPostureCheckIdJSONRequestBody
- type PutApiRoutesRouteIdJSONRequestBody
- type PutApiSetupKeysKeyIdJSONRequestBody
- type PutApiUsersUserIdJSONRequestBody
- type Route
- type RouteRequest
- type RulePortRange
- type SetupKey
- type SetupKeyRequest
- type User
- type UserCreateRequest
- type UserPermissions
- type UserPermissionsDashboardView
- type UserRequest
- type UserStatus
Constants ¶
const ( BearerAuthScopes = "BearerAuth.Scopes" TokenAuthScopes = "TokenAuth.Scopes" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AccessiblePeer ¶ added in v0.24.3
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 ¶ added in v0.14.0
type Account struct { // Id Account ID Id string `json:"id"` Settings AccountSettings `json:"settings"` }
Account defines model for Account.
type AccountExtraSettings ¶ added in v0.24.4
type AccountExtraSettings struct { // 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,omitempty"` }
AccountExtraSettings defines model for AccountExtraSettings.
type AccountRequest ¶ added in v0.21.0
type AccountRequest struct {
Settings AccountSettings `json:"settings"`
}
AccountRequest defines model for AccountRequest.
type AccountSettings ¶ added in v0.14.0
type AccountSettings struct { 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"` // 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"` }
AccountSettings defines model for AccountSettings.
type Checks ¶ added in v0.26.0
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 ¶ added in v0.26.0
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 CityName ¶ added in v0.26.0
type CityName = string
CityName Commonly used English name of the city
type Country ¶ added in v0.26.0
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 ¶ added in v0.26.0
type CountryCode = string
CountryCode 2-letter ISO 3166-1 alpha-2 code that represents the country
type CreateSetupKeyRequest ¶ added in v0.28.7
type CreateSetupKeyRequest struct { // 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 DNSSettings ¶ added in v0.12.0
type DNSSettings struct { // DisabledManagementGroups Groups whose DNS management is disabled DisabledManagementGroups []string `json:"disabled_management_groups"` }
DNSSettings defines model for DNSSettings.
type Event ¶ added in v0.12.0
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 ¶ added in v0.12.0
type EventActivityCode string
EventActivityCode The string code of the activity that occurred during the event
const ( EventActivityCodeAccountCreate EventActivityCode = "account.create" EventActivityCodeAccountSettingPeerLoginExpirationDisable EventActivityCode = "account.setting.peer.login.expiration.disable" EventActivityCodeAccountSettingPeerLoginExpirationEnable EventActivityCode = "account.setting.peer.login.expiration.enable" EventActivityCodeAccountSettingPeerLoginExpirationUpdate EventActivityCode = "account.setting.peer.login.expiration.update" EventActivityCodeDnsSettingDisabledManagementGroupAdd EventActivityCode = "dns.setting.disabled.management.group.add" EventActivityCodeDnsSettingDisabledManagementGroupDelete EventActivityCode = "dns.setting.disabled.management.group.delete" EventActivityCodeGroupAdd EventActivityCode = "group.add" EventActivityCodeGroupUpdate EventActivityCode = "group.update" EventActivityCodeNameserverGroupAdd EventActivityCode = "nameserver.group.add" EventActivityCodeNameserverGroupDelete EventActivityCode = "nameserver.group.delete" EventActivityCodeNameserverGroupUpdate EventActivityCode = "nameserver.group.update" EventActivityCodePeerLoginExpirationDisable EventActivityCode = "peer.login.expiration.disable" EventActivityCodePeerLoginExpirationEnable EventActivityCode = "peer.login.expiration.enable" EventActivityCodePeerLoginExpire EventActivityCode = "peer.login.expire" EventActivityCodePeerRename EventActivityCode = "peer.rename" EventActivityCodePeerSshDisable EventActivityCode = "peer.ssh.disable" EventActivityCodePeerSshEnable EventActivityCode = "peer.ssh.enable" EventActivityCodePersonalAccessTokenCreate EventActivityCode = "personal.access.token.create" EventActivityCodePersonalAccessTokenDelete EventActivityCode = "personal.access.token.delete" EventActivityCodePolicyAdd EventActivityCode = "policy.add" EventActivityCodePolicyDelete EventActivityCode = "policy.delete" EventActivityCodePolicyUpdate EventActivityCode = "policy.update" EventActivityCodeRouteAdd EventActivityCode = "route.add" EventActivityCodeRouteDelete EventActivityCode = "route.delete" EventActivityCodeRouteUpdate EventActivityCode = "route.update" EventActivityCodeRuleAdd EventActivityCode = "rule.add" EventActivityCodeRuleDelete EventActivityCode = "rule.delete" EventActivityCodeRuleUpdate EventActivityCode = "rule.update" EventActivityCodeServiceUserCreate EventActivityCode = "service.user.create" EventActivityCodeServiceUserDelete EventActivityCode = "service.user.delete" EventActivityCodeSetupkeyAdd EventActivityCode = "setupkey.add" EventActivityCodeSetupkeyGroupAdd EventActivityCode = "setupkey.group.add" EventActivityCodeSetupkeyGroupDelete EventActivityCode = "setupkey.group.delete" EventActivityCodeSetupkeyOveruse EventActivityCode = "setupkey.overuse" EventActivityCodeSetupkeyPeerAdd EventActivityCode = "setupkey.peer.add" EventActivityCodeSetupkeyRevoke EventActivityCode = "setupkey.revoke" EventActivityCodeSetupkeyUpdate EventActivityCode = "setupkey.update" EventActivityCodeUserBlock EventActivityCode = "user.block" EventActivityCodeUserGroupAdd EventActivityCode = "user.group.add" EventActivityCodeUserGroupDelete EventActivityCode = "user.group.delete" EventActivityCodeUserInvite EventActivityCode = "user.invite" EventActivityCodeUserJoin EventActivityCode = "user.join" EventActivityCodeUserPeerAdd EventActivityCode = "user.peer.add" EventActivityCodeUserPeerDelete EventActivityCode = "user.peer.delete" EventActivityCodeUserPeerLogin EventActivityCode = "user.peer.login" EventActivityCodeUserRoleUpdate EventActivityCode = "user.role.update" EventActivityCodeUserUnblock EventActivityCode = "user.unblock" )
Defines values for EventActivityCode.
type GeoLocationCheck ¶ added in v0.26.0
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 ¶ added in v0.26.0
type GeoLocationCheckAction string
GeoLocationCheckAction Action to take upon policy match
const ( GeoLocationCheckActionAllow GeoLocationCheckAction = "allow" GeoLocationCheckActionDeny GeoLocationCheckAction = "deny" )
Defines values for GeoLocationCheckAction.
type GetApiUsersParams ¶ added in v0.17.0
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 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"` }
Group defines model for Group.
type GroupIssued ¶ added in v0.26.4
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"` }
GroupMinimum defines model for GroupMinimum.
type GroupMinimumIssued ¶ added in v0.26.4
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 ¶ added in v0.20.5
type GroupRequest struct { // Name Group name identifier Name string `json:"name"` // Peers List of peers ids Peers *[]string `json:"peers,omitempty"` }
GroupRequest defines model for GroupRequest.
type Location ¶ added in v0.26.0
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 ¶ added in v0.26.0
type MinKernelVersionCheck struct { // MinKernelVersion Minimum acceptable version MinKernelVersion string `json:"min_kernel_version"` }
MinKernelVersionCheck Posture check with the kernel version
type MinVersionCheck ¶ added in v0.26.0
type MinVersionCheck struct { // MinVersion Minimum acceptable version MinVersion string `json:"min_version"` }
MinVersionCheck Posture check for the version of operating system
type NBVersionCheck ¶ added in v0.26.0
type NBVersionCheck = MinVersionCheck
NBVersionCheck Posture check for the version of operating system
type Nameserver ¶ added in v0.9.8
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 ¶ added in v0.9.8
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 ¶ added in v0.9.8
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 ¶ added in v0.9.8
type NameserverNsType string
NameserverNsType Nameserver Type
const (
NameserverNsTypeUdp NameserverNsType = "udp"
)
Defines values for NameserverNsType.
type OSVersionCheck ¶ added in v0.26.0
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 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"` // 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"` // 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"` // 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 ¶ added in v0.24.3
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"` // 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"` // 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"` // 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 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 ¶ added in v0.26.1
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 ¶ added in v0.26.1
type PeerNetworkRangeCheckAction string
PeerNetworkRangeCheckAction Action to take upon policy match
const ( PeerNetworkRangeCheckActionAllow PeerNetworkRangeCheckAction = "allow" PeerNetworkRangeCheckActionDeny PeerNetworkRangeCheckAction = "deny" )
Defines values for PeerNetworkRangeCheckAction.
type PeerRequest ¶ added in v0.20.5
type PeerRequest struct { // ApprovalRequired (Cloud only) Indicates whether peer needs approval ApprovalRequired *bool `json:"approval_required,omitempty"` InactivityExpirationEnabled bool `json:"inactivity_expiration_enabled"` LoginExpirationEnabled bool `json:"login_expiration_enabled"` Name string `json:"name"` SshEnabled bool `json:"ssh_enabled"` }
PeerRequest defines model for PeerRequest.
type PersonalAccessToken ¶ added in v0.14.6
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 ¶ added in v0.14.6
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 ¶ added in v0.14.6
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 ¶ added in v0.14.5
type Policy struct { // Description Policy friendly description Description string `json:"description"` // 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 PolicyMinimum ¶ added in v0.14.5
type PolicyMinimum struct { // Description Policy friendly description Description string `json:"description"` // Enabled Policy status Enabled bool `json:"enabled"` // Id Policy ID Id *string `json:"id,omitempty"` // Name Policy name identifier Name string `json:"name"` }
PolicyMinimum defines model for PolicyMinimum.
type PolicyRule ¶ added in v0.14.5
type PolicyRule struct { // Action Policy rule accept or drops packets Action PolicyRuleAction `json:"action"` // 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"` // Destinations Policy rule destination group IDs Destinations []GroupMinimum `json:"destinations"` // 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"` // Sources Policy rule source group IDs Sources []GroupMinimum `json:"sources"` }
PolicyRule defines model for PolicyRule.
type PolicyRuleAction ¶ added in v0.14.5
type PolicyRuleAction string
PolicyRuleAction Policy rule accept or drops packets
const ( PolicyRuleActionAccept PolicyRuleAction = "accept" PolicyRuleActionDrop PolicyRuleAction = "drop" )
Defines values for PolicyRuleAction.
type PolicyRuleMinimum ¶ added in v0.21.0
type PolicyRuleMinimum struct { // Action Policy rule accept or drops packets Action PolicyRuleMinimumAction `json:"action"` // 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"` // 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 PolicyRuleMinimumProtocol `json:"protocol"` }
PolicyRuleMinimum defines model for PolicyRuleMinimum.
type PolicyRuleMinimumAction ¶ added in v0.21.0
type PolicyRuleMinimumAction string
PolicyRuleMinimumAction Policy rule accept or drops packets
const ( PolicyRuleMinimumActionAccept PolicyRuleMinimumAction = "accept" PolicyRuleMinimumActionDrop PolicyRuleMinimumAction = "drop" )
Defines values for PolicyRuleMinimumAction.
type PolicyRuleMinimumProtocol ¶ added in v0.21.0
type PolicyRuleMinimumProtocol string
PolicyRuleMinimumProtocol Policy rule type of the traffic
const ( PolicyRuleMinimumProtocolAll PolicyRuleMinimumProtocol = "all" PolicyRuleMinimumProtocolIcmp PolicyRuleMinimumProtocol = "icmp" PolicyRuleMinimumProtocolTcp PolicyRuleMinimumProtocol = "tcp" PolicyRuleMinimumProtocolUdp PolicyRuleMinimumProtocol = "udp" )
Defines values for PolicyRuleMinimumProtocol.
type PolicyRuleProtocol ¶ added in v0.21.0
type PolicyRuleProtocol string
PolicyRuleProtocol Policy rule type of the traffic
const ( PolicyRuleProtocolAll PolicyRuleProtocol = "all" PolicyRuleProtocolIcmp PolicyRuleProtocol = "icmp" PolicyRuleProtocolTcp PolicyRuleProtocol = "tcp" PolicyRuleProtocolUdp PolicyRuleProtocol = "udp" )
Defines values for PolicyRuleProtocol.
type PolicyRuleUpdate ¶ added in v0.21.0
type PolicyRuleUpdate struct { // Action Policy rule accept or drops packets Action PolicyRuleUpdateAction `json:"action"` // 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"` // Destinations Policy rule destination group IDs Destinations []string `json:"destinations"` // 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"` // Sources Policy rule source group IDs Sources []string `json:"sources"` }
PolicyRuleUpdate defines model for PolicyRuleUpdate.
type PolicyRuleUpdateAction ¶ added in v0.21.0
type PolicyRuleUpdateAction string
PolicyRuleUpdateAction Policy rule accept or drops packets
const ( PolicyRuleUpdateActionAccept PolicyRuleUpdateAction = "accept" PolicyRuleUpdateActionDrop PolicyRuleUpdateAction = "drop" )
Defines values for PolicyRuleUpdateAction.
type PolicyRuleUpdateProtocol ¶ added in v0.21.0
type PolicyRuleUpdateProtocol string
PolicyRuleUpdateProtocol Policy rule type of the traffic
const ( PolicyRuleUpdateProtocolAll PolicyRuleUpdateProtocol = "all" PolicyRuleUpdateProtocolIcmp PolicyRuleUpdateProtocol = "icmp" PolicyRuleUpdateProtocolTcp PolicyRuleUpdateProtocol = "tcp" PolicyRuleUpdateProtocolUdp PolicyRuleUpdateProtocol = "udp" )
Defines values for PolicyRuleUpdateProtocol.
type PolicyUpdate ¶ added in v0.21.0
type PolicyUpdate struct { // Description Policy friendly description Description string `json:"description"` // 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 []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 PostApiDnsNameserversJSONRequestBody ¶ added in v0.9.8
type PostApiDnsNameserversJSONRequestBody = NameserverGroupRequest
PostApiDnsNameserversJSONRequestBody defines body for PostApiDnsNameservers for application/json ContentType.
type PostApiGroupsJSONRequestBody ¶
type PostApiGroupsJSONRequestBody = GroupRequest
PostApiGroupsJSONRequestBody defines body for PostApiGroups for application/json ContentType.
type PostApiPoliciesJSONRequestBody ¶ added in v0.14.5
type PostApiPoliciesJSONRequestBody = PolicyUpdate
PostApiPoliciesJSONRequestBody defines body for PostApiPolicies for application/json ContentType.
type PostApiPostureChecksJSONRequestBody ¶ added in v0.26.0
type PostApiPostureChecksJSONRequestBody = PostureCheckUpdate
PostApiPostureChecksJSONRequestBody defines body for PostApiPostureChecks for application/json ContentType.
type PostApiRoutesJSONRequestBody ¶ added in v0.8.9
type PostApiRoutesJSONRequestBody = RouteRequest
PostApiRoutesJSONRequestBody defines body for PostApiRoutes for application/json ContentType.
type PostApiSetupKeysJSONRequestBody ¶
type PostApiSetupKeysJSONRequestBody = CreateSetupKeyRequest
PostApiSetupKeysJSONRequestBody defines body for PostApiSetupKeys for application/json ContentType.
type PostApiUsersJSONRequestBody ¶ added in v0.9.8
type PostApiUsersJSONRequestBody = UserCreateRequest
PostApiUsersJSONRequestBody defines body for PostApiUsers for application/json ContentType.
type PostApiUsersUserIdTokensJSONRequestBody ¶ added in v0.14.6
type PostApiUsersUserIdTokensJSONRequestBody = PersonalAccessTokenRequest
PostApiUsersUserIdTokensJSONRequestBody defines body for PostApiUsersUserIdTokens for application/json ContentType.
type PostureCheck ¶ added in v0.26.0
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 ¶ added in v0.26.0
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 Process ¶ added in v0.28.0
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 ¶ added in v0.28.0
type ProcessCheck struct {
Processes []Process `json:"processes"`
}
ProcessCheck Posture Check for binaries exist and are running in the peer’s system
type PutApiAccountsAccountIdJSONRequestBody ¶ added in v0.19.0
type PutApiAccountsAccountIdJSONRequestBody = AccountRequest
PutApiAccountsAccountIdJSONRequestBody defines body for PutApiAccountsAccountId for application/json ContentType.
type PutApiDnsNameserversNsgroupIdJSONRequestBody ¶ added in v0.19.0
type PutApiDnsNameserversNsgroupIdJSONRequestBody = NameserverGroupRequest
PutApiDnsNameserversNsgroupIdJSONRequestBody defines body for PutApiDnsNameserversNsgroupId for application/json ContentType.
type PutApiDnsSettingsJSONRequestBody ¶ added in v0.12.0
type PutApiDnsSettingsJSONRequestBody = DNSSettings
PutApiDnsSettingsJSONRequestBody defines body for PutApiDnsSettings for application/json ContentType.
type PutApiGroupsGroupIdJSONRequestBody ¶ added in v0.19.0
type PutApiGroupsGroupIdJSONRequestBody = GroupRequest
PutApiGroupsGroupIdJSONRequestBody defines body for PutApiGroupsGroupId for application/json ContentType.
type PutApiPeersPeerIdJSONRequestBody ¶ added in v0.19.0
type PutApiPeersPeerIdJSONRequestBody = PeerRequest
PutApiPeersPeerIdJSONRequestBody defines body for PutApiPeersPeerId for application/json ContentType.
type PutApiPoliciesPolicyIdJSONRequestBody ¶ added in v0.19.0
type PutApiPoliciesPolicyIdJSONRequestBody = PolicyUpdate
PutApiPoliciesPolicyIdJSONRequestBody defines body for PutApiPoliciesPolicyId for application/json ContentType.
type PutApiPostureChecksPostureCheckIdJSONRequestBody ¶ added in v0.26.0
type PutApiPostureChecksPostureCheckIdJSONRequestBody = PostureCheckUpdate
PutApiPostureChecksPostureCheckIdJSONRequestBody defines body for PutApiPostureChecksPostureCheckId for application/json ContentType.
type PutApiRoutesRouteIdJSONRequestBody ¶ added in v0.19.0
type PutApiRoutesRouteIdJSONRequestBody = RouteRequest
PutApiRoutesRouteIdJSONRequestBody defines body for PutApiRoutesRouteId for application/json ContentType.
type PutApiSetupKeysKeyIdJSONRequestBody ¶ added in v0.19.0
type PutApiSetupKeysKeyIdJSONRequestBody = SetupKeyRequest
PutApiSetupKeysKeyIdJSONRequestBody defines body for PutApiSetupKeysKeyId for application/json ContentType.
type PutApiUsersUserIdJSONRequestBody ¶ added in v0.19.0
type PutApiUsersUserIdJSONRequestBody = UserRequest
PutApiUsersUserIdJSONRequestBody defines body for PutApiUsersUserId for application/json ContentType.
type Route ¶ added in v0.8.9
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"` }
Route defines model for Route.
type RouteRequest ¶ added in v0.8.9
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"` }
RouteRequest defines model for RouteRequest.
type RulePortRange ¶ added in v0.30.0
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 SetupKey ¶
type SetupKey struct { // 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 value 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 SetupKeyRequest ¶
type SetupKeyRequest struct { // 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, 0 will mean the key never expires ExpiresIn int `json:"expires_in"` // Name Setup Key name Name string `json:"name"` // Revoked Setup key revocation status Revoked bool `json:"revoked"` // 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"` }
SetupKeyRequest defines model for SetupKeyRequest.
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"` // 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"` 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 ¶ added in v0.9.8
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 UserPermissions ¶ added in v0.26.4
type UserPermissions struct { // DashboardView User's permission to view the dashboard DashboardView *UserPermissionsDashboardView `json:"dashboard_view,omitempty"` }
UserPermissions defines model for UserPermissions.
type UserPermissionsDashboardView ¶ added in v0.26.4
type UserPermissionsDashboardView string
UserPermissionsDashboardView User's permission to view the dashboard
const ( UserPermissionsDashboardViewBlocked UserPermissionsDashboardView = "blocked" UserPermissionsDashboardViewFull UserPermissionsDashboardView = "full" UserPermissionsDashboardViewLimited UserPermissionsDashboardView = "limited" )
Defines values for UserPermissionsDashboardView.
type UserRequest ¶ added in v0.9.4
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 ¶ added in v0.9.8
type UserStatus string
UserStatus User's status
const ( UserStatusActive UserStatus = "active" UserStatusBlocked UserStatus = "blocked" UserStatusInvited UserStatus = "invited" )
Defines values for UserStatus.