mirror of
https://github.com/netbirdio/netbird.git
synced 2026-04-22 10:16:38 +00:00
Merge remote-tracking branch 'origin/main' into feat/byod-proxy
# Conflicts: # management/internals/modules/reverseproxy/domain/manager/manager.go # management/internals/modules/reverseproxy/proxy/manager.go # management/internals/modules/reverseproxy/proxy/manager/manager.go # management/internals/modules/reverseproxy/proxy/manager_mock.go # management/internals/shared/grpc/proxy.go # management/server/store/sql_store.go # proxy/management_integration_test.go
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -9,6 +9,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/oapi-codegen/runtime"
|
||||
openapi_types "github.com/oapi-codegen/runtime/types"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -16,6 +17,24 @@ const (
|
||||
TokenAuthScopes = "TokenAuth.Scopes"
|
||||
)
|
||||
|
||||
// Defines values for CreateAzureIntegrationRequestHost.
|
||||
const (
|
||||
CreateAzureIntegrationRequestHostMicrosoftCom CreateAzureIntegrationRequestHost = "microsoft.com"
|
||||
CreateAzureIntegrationRequestHostMicrosoftUs CreateAzureIntegrationRequestHost = "microsoft.us"
|
||||
)
|
||||
|
||||
// Valid indicates whether the value is a known member of the CreateAzureIntegrationRequestHost enum.
|
||||
func (e CreateAzureIntegrationRequestHost) Valid() bool {
|
||||
switch e {
|
||||
case CreateAzureIntegrationRequestHostMicrosoftCom:
|
||||
return true
|
||||
case CreateAzureIntegrationRequestHostMicrosoftUs:
|
||||
return true
|
||||
default:
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
// Defines values for CreateIntegrationRequestPlatform.
|
||||
const (
|
||||
CreateIntegrationRequestPlatformDatadog CreateIntegrationRequestPlatform = "datadog"
|
||||
@@ -664,6 +683,24 @@ func (e NetworkResourceType) Valid() bool {
|
||||
}
|
||||
}
|
||||
|
||||
// Defines values for NotificationChannelType.
|
||||
const (
|
||||
NotificationChannelTypeEmail NotificationChannelType = "email"
|
||||
NotificationChannelTypeWebhook NotificationChannelType = "webhook"
|
||||
)
|
||||
|
||||
// Valid indicates whether the value is a known member of the NotificationChannelType enum.
|
||||
func (e NotificationChannelType) Valid() bool {
|
||||
switch e {
|
||||
case NotificationChannelTypeEmail:
|
||||
return true
|
||||
case NotificationChannelTypeWebhook:
|
||||
return true
|
||||
default:
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
// Defines values for PeerNetworkRangeCheckAction.
|
||||
const (
|
||||
PeerNetworkRangeCheckActionAllow PeerNetworkRangeCheckAction = "allow"
|
||||
@@ -1450,6 +1487,39 @@ type AvailablePorts struct {
|
||||
Udp int `json:"udp"`
|
||||
}
|
||||
|
||||
// AzureIntegration defines model for AzureIntegration.
|
||||
type AzureIntegration struct {
|
||||
// ClientId Azure AD application (client) ID
|
||||
ClientId string `json:"client_id"`
|
||||
|
||||
// ConnectorId DEX connector ID for embedded IDP setups
|
||||
ConnectorId *string `json:"connector_id,omitempty"`
|
||||
|
||||
// Enabled 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"`
|
||||
|
||||
// Host Azure host domain for the Graph API
|
||||
Host string `json:"host"`
|
||||
|
||||
// Id The unique identifier for the integration
|
||||
Id int64 `json:"id"`
|
||||
|
||||
// LastSyncedAt Timestamp of the last synchronization
|
||||
LastSyncedAt time.Time `json:"last_synced_at"`
|
||||
|
||||
// SyncInterval Sync interval in seconds
|
||||
SyncInterval int `json:"sync_interval"`
|
||||
|
||||
// TenantId Azure AD tenant ID
|
||||
TenantId string `json:"tenant_id"`
|
||||
|
||||
// UserGroupPrefixes List of start_with string patterns for groups which users to sync
|
||||
UserGroupPrefixes []string `json:"user_group_prefixes"`
|
||||
}
|
||||
|
||||
// BearerAuthConfig defines model for BearerAuthConfig.
|
||||
type BearerAuthConfig struct {
|
||||
// DistributionGroups List of group IDs that can use bearer auth
|
||||
@@ -1557,6 +1627,57 @@ type Country struct {
|
||||
// CountryCode 2-letter ISO 3166-1 alpha-2 code that represents the country
|
||||
type CountryCode = string
|
||||
|
||||
// CreateAzureIntegrationRequest defines model for CreateAzureIntegrationRequest.
|
||||
type CreateAzureIntegrationRequest struct {
|
||||
// ClientId Azure AD application (client) ID
|
||||
ClientId string `json:"client_id"`
|
||||
|
||||
// ClientSecret Base64-encoded Azure AD client secret
|
||||
ClientSecret string `json:"client_secret"`
|
||||
|
||||
// ConnectorId DEX connector ID for embedded IDP setups
|
||||
ConnectorId *string `json:"connector_id,omitempty"`
|
||||
|
||||
// GroupPrefixes List of start_with string patterns for groups to sync
|
||||
GroupPrefixes *[]string `json:"group_prefixes,omitempty"`
|
||||
|
||||
// Host Azure host domain for the Graph API
|
||||
Host CreateAzureIntegrationRequestHost `json:"host"`
|
||||
|
||||
// SyncInterval Sync interval in seconds (minimum 300). Defaults to 300 if not specified.
|
||||
SyncInterval *int `json:"sync_interval,omitempty"`
|
||||
|
||||
// TenantId Azure AD tenant ID
|
||||
TenantId string `json:"tenant_id"`
|
||||
|
||||
// UserGroupPrefixes List of start_with string patterns for groups which users to sync
|
||||
UserGroupPrefixes *[]string `json:"user_group_prefixes,omitempty"`
|
||||
}
|
||||
|
||||
// CreateAzureIntegrationRequestHost Azure host domain for the Graph API
|
||||
type CreateAzureIntegrationRequestHost string
|
||||
|
||||
// CreateGoogleIntegrationRequest defines model for CreateGoogleIntegrationRequest.
|
||||
type CreateGoogleIntegrationRequest struct {
|
||||
// ConnectorId DEX connector ID for embedded IDP setups
|
||||
ConnectorId *string `json:"connector_id,omitempty"`
|
||||
|
||||
// CustomerId Customer ID from Google Workspace Account Settings
|
||||
CustomerId string `json:"customer_id"`
|
||||
|
||||
// GroupPrefixes List of start_with string patterns for groups to sync
|
||||
GroupPrefixes *[]string `json:"group_prefixes,omitempty"`
|
||||
|
||||
// ServiceAccountKey Base64-encoded Google service account key
|
||||
ServiceAccountKey string `json:"service_account_key"`
|
||||
|
||||
// SyncInterval Sync interval in seconds (minimum 300). Defaults to 300 if not specified.
|
||||
SyncInterval *int `json:"sync_interval,omitempty"`
|
||||
|
||||
// UserGroupPrefixes List of start_with string patterns for groups which users to sync
|
||||
UserGroupPrefixes *[]string `json:"user_group_prefixes,omitempty"`
|
||||
}
|
||||
|
||||
// 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 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.
|
||||
@@ -1572,8 +1693,26 @@ type CreateIntegrationRequest struct {
|
||||
// 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.
|
||||
type CreateIntegrationRequestPlatform string
|
||||
|
||||
// CreateScimIntegrationRequest Request payload for creating an SCIM IDP integration
|
||||
// CreateOktaScimIntegrationRequest defines model for CreateOktaScimIntegrationRequest.
|
||||
type CreateOktaScimIntegrationRequest struct {
|
||||
// ConnectionName The Okta enterprise connection name on Auth0
|
||||
ConnectionName string `json:"connection_name"`
|
||||
|
||||
// ConnectorId DEX connector ID for embedded IDP setups
|
||||
ConnectorId *string `json:"connector_id,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"`
|
||||
}
|
||||
|
||||
// CreateScimIntegrationRequest defines model for CreateScimIntegrationRequest.
|
||||
type CreateScimIntegrationRequest struct {
|
||||
// ConnectorId DEX connector ID for embedded IDP setups
|
||||
ConnectorId *string `json:"connector_id,omitempty"`
|
||||
|
||||
// GroupPrefixes List of start_with string patterns for groups to sync
|
||||
GroupPrefixes *[]string `json:"group_prefixes,omitempty"`
|
||||
|
||||
@@ -1725,6 +1864,63 @@ type EDRFalconResponse struct {
|
||||
ZtaScoreThreshold int `json:"zta_score_threshold"`
|
||||
}
|
||||
|
||||
// EDRFleetDMRequest Request payload for creating or updating a FleetDM EDR integration
|
||||
type EDRFleetDMRequest struct {
|
||||
// ApiToken FleetDM API token
|
||||
ApiToken string `json:"api_token"`
|
||||
|
||||
// ApiUrl FleetDM server URL
|
||||
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 FleetDM hosts. Most attributes work with FleetDM's free/open-source version. Premium-only attributes are marked accordingly
|
||||
MatchAttributes FleetDMMatchAttributes `json:"match_attributes"`
|
||||
}
|
||||
|
||||
// EDRFleetDMResponse Represents a FleetDM EDR integration configuration
|
||||
type EDRFleetDMResponse struct {
|
||||
// AccountId The identifier of the account this integration belongs to.
|
||||
AccountId string `json:"account_id"`
|
||||
|
||||
// ApiUrl FleetDM server URL
|
||||
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 FleetDM hosts. Most attributes work with FleetDM's free/open-source version. Premium-only attributes are marked accordingly
|
||||
MatchAttributes FleetDMMatchAttributes `json:"match_attributes"`
|
||||
|
||||
// UpdatedAt Timestamp of when the integration was last updated.
|
||||
UpdatedAt time.Time `json:"updated_at"`
|
||||
}
|
||||
|
||||
// EDRHuntressRequest Request payload for creating or updating a EDR Huntress integration
|
||||
type EDRHuntressRequest struct {
|
||||
// ApiKey Huntress API key
|
||||
@@ -1893,6 +2089,12 @@ type EDRSentinelOneResponse struct {
|
||||
UpdatedAt time.Time `json:"updated_at"`
|
||||
}
|
||||
|
||||
// EmailTarget Target configuration for email notification channels.
|
||||
type EmailTarget struct {
|
||||
// Emails List of email addresses to send notifications to.
|
||||
Emails []openapi_types.Email `json:"emails"`
|
||||
}
|
||||
|
||||
// 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 ErrorResponse struct {
|
||||
// Message A human-readable error message.
|
||||
@@ -1932,6 +2134,24 @@ type Event struct {
|
||||
// EventActivityCode The string code of the activity that occurred during the event
|
||||
type EventActivityCode string
|
||||
|
||||
// FleetDMMatchAttributes Attribute conditions to match when approving FleetDM hosts. Most attributes work with FleetDM's free/open-source version. Premium-only attributes are marked accordingly
|
||||
type FleetDMMatchAttributes struct {
|
||||
// DiskEncryptionEnabled Whether disk encryption (FileVault/BitLocker) must be enabled on the host
|
||||
DiskEncryptionEnabled *bool `json:"disk_encryption_enabled,omitempty"`
|
||||
|
||||
// FailingPoliciesCountMax Maximum number of allowed failing policies. Use 0 to require all policies to pass
|
||||
FailingPoliciesCountMax *int `json:"failing_policies_count_max,omitempty"`
|
||||
|
||||
// RequiredPolicies List of FleetDM policy IDs that must be passing on the host. If any of these policies is failing, the host is non-compliant
|
||||
RequiredPolicies *[]int `json:"required_policies,omitempty"`
|
||||
|
||||
// StatusOnline Whether the host must be online (recently seen by Fleet)
|
||||
StatusOnline *bool `json:"status_online,omitempty"`
|
||||
|
||||
// VulnerableSoftwareCountMax Maximum number of allowed vulnerable software on the host
|
||||
VulnerableSoftwareCountMax *int `json:"vulnerable_software_count_max,omitempty"`
|
||||
}
|
||||
|
||||
// GeoLocationCheck Posture check for geo location
|
||||
type GeoLocationCheck struct {
|
||||
// Action Action to take upon policy match
|
||||
@@ -1947,6 +2167,33 @@ type GeoLocationCheckAction string
|
||||
// GetTenantsResponse defines model for GetTenantsResponse.
|
||||
type GetTenantsResponse = []TenantResponse
|
||||
|
||||
// GoogleIntegration defines model for GoogleIntegration.
|
||||
type GoogleIntegration struct {
|
||||
// ConnectorId DEX connector ID for embedded IDP setups
|
||||
ConnectorId *string `json:"connector_id,omitempty"`
|
||||
|
||||
// CustomerId Customer ID from Google Workspace
|
||||
CustomerId string `json:"customer_id"`
|
||||
|
||||
// Enabled 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 the last synchronization
|
||||
LastSyncedAt time.Time `json:"last_synced_at"`
|
||||
|
||||
// SyncInterval Sync interval in seconds
|
||||
SyncInterval int `json:"sync_interval"`
|
||||
|
||||
// UserGroupPrefixes List of start_with string patterns for groups which users to sync
|
||||
UserGroupPrefixes []string `json:"user_group_prefixes"`
|
||||
}
|
||||
|
||||
// Group defines model for Group.
|
||||
type Group struct {
|
||||
// Id Group ID
|
||||
@@ -2238,6 +2485,12 @@ type InstanceVersionInfo struct {
|
||||
ManagementUpdateAvailable bool `json:"management_update_available"`
|
||||
}
|
||||
|
||||
// IntegrationEnabled defines model for IntegrationEnabled.
|
||||
type IntegrationEnabled struct {
|
||||
// Enabled Whether the integration is enabled
|
||||
Enabled *bool `json:"enabled,omitempty"`
|
||||
}
|
||||
|
||||
// IntegrationResponse Represents an event streaming integration.
|
||||
type IntegrationResponse struct {
|
||||
// AccountId The identifier of the account this integration belongs to.
|
||||
@@ -2265,6 +2518,18 @@ type IntegrationResponse struct {
|
||||
// IntegrationResponsePlatform The event streaming platform.
|
||||
type IntegrationResponsePlatform string
|
||||
|
||||
// IntegrationSyncFilters defines model for IntegrationSyncFilters.
|
||||
type IntegrationSyncFilters struct {
|
||||
// ConnectorId DEX connector ID for embedded IDP setups
|
||||
ConnectorId *string `json:"connector_id,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"`
|
||||
}
|
||||
|
||||
// InvoicePDFResponse defines model for InvoicePDFResponse.
|
||||
type InvoicePDFResponse struct {
|
||||
// Url URL to redirect the user to invoice.
|
||||
@@ -2666,6 +2931,67 @@ type NetworkTrafficUser struct {
|
||||
Name string `json:"name"`
|
||||
}
|
||||
|
||||
// NotificationChannelRequest Request body for creating or updating a notification channel.
|
||||
type NotificationChannelRequest struct {
|
||||
// Enabled Whether this notification channel is active.
|
||||
Enabled bool `json:"enabled"`
|
||||
|
||||
// EventTypes List of activity event type codes this channel subscribes to.
|
||||
EventTypes []NotificationEventType `json:"event_types"`
|
||||
|
||||
// Target Channel-specific target configuration. The shape depends on the `type` field:
|
||||
// - `email`: requires an `EmailTarget` object
|
||||
// - `webhook`: requires a `WebhookTarget` object
|
||||
Target *NotificationChannelRequest_Target `json:"target,omitempty"`
|
||||
|
||||
// Type The type of notification channel.
|
||||
Type NotificationChannelType `json:"type"`
|
||||
}
|
||||
|
||||
// NotificationChannelRequest_Target Channel-specific target configuration. The shape depends on the `type` field:
|
||||
// - `email`: requires an `EmailTarget` object
|
||||
// - `webhook`: requires a `WebhookTarget` object
|
||||
type NotificationChannelRequest_Target struct {
|
||||
union json.RawMessage
|
||||
}
|
||||
|
||||
// NotificationChannelResponse A notification channel configuration.
|
||||
type NotificationChannelResponse struct {
|
||||
// Enabled Whether this notification channel is active.
|
||||
Enabled bool `json:"enabled"`
|
||||
|
||||
// EventTypes List of activity event type codes this channel subscribes to.
|
||||
EventTypes []NotificationEventType `json:"event_types"`
|
||||
|
||||
// Id Unique identifier of the notification channel.
|
||||
Id *string `json:"id,omitempty"`
|
||||
|
||||
// Target Channel-specific target configuration. The shape depends on the `type` field:
|
||||
// - `email`: an `EmailTarget` object
|
||||
// - `webhook`: a `WebhookTarget` object
|
||||
Target *NotificationChannelResponse_Target `json:"target,omitempty"`
|
||||
|
||||
// Type The type of notification channel.
|
||||
Type NotificationChannelType `json:"type"`
|
||||
}
|
||||
|
||||
// NotificationChannelResponse_Target Channel-specific target configuration. The shape depends on the `type` field:
|
||||
// - `email`: an `EmailTarget` object
|
||||
// - `webhook`: a `WebhookTarget` object
|
||||
type NotificationChannelResponse_Target struct {
|
||||
union json.RawMessage
|
||||
}
|
||||
|
||||
// NotificationChannelType The type of notification channel.
|
||||
type NotificationChannelType string
|
||||
|
||||
// NotificationEventType An activity event type code. See `GET /api/integrations/notifications/types` for the full list
|
||||
// of supported event types and their human-readable descriptions.
|
||||
type NotificationEventType = string
|
||||
|
||||
// NotificationTypeEntry A map of event type codes to their human-readable descriptions.
|
||||
type NotificationTypeEntry map[string]string
|
||||
|
||||
// OSVersionCheck Posture check for the version of operating system
|
||||
type OSVersionCheck struct {
|
||||
// Android Posture check for the version of operating system
|
||||
@@ -2684,6 +3010,30 @@ type OSVersionCheck struct {
|
||||
Windows *MinKernelVersionCheck `json:"windows,omitempty"`
|
||||
}
|
||||
|
||||
// OktaScimIntegration defines model for OktaScimIntegration.
|
||||
type OktaScimIntegration struct {
|
||||
// AuthToken SCIM API token (full on creation/regeneration, masked on retrieval)
|
||||
AuthToken string `json:"auth_token"`
|
||||
|
||||
// ConnectorId DEX connector ID for embedded IDP setups
|
||||
ConnectorId *string `json:"connector_id,omitempty"`
|
||||
|
||||
// Enabled 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 the last synchronization
|
||||
LastSyncedAt time.Time `json:"last_synced_at"`
|
||||
|
||||
// UserGroupPrefixes List of start_with string patterns for groups which users to sync
|
||||
UserGroupPrefixes []string `json:"user_group_prefixes"`
|
||||
}
|
||||
|
||||
// PINAuthConfig defines model for PINAuthConfig.
|
||||
type PINAuthConfig struct {
|
||||
// Enabled Whether PIN auth is enabled
|
||||
@@ -3571,12 +3921,15 @@ type RulePortRange struct {
|
||||
Start int `json:"start"`
|
||||
}
|
||||
|
||||
// ScimIntegration Represents a SCIM IDP integration
|
||||
// ScimIntegration defines model for ScimIntegration.
|
||||
type ScimIntegration struct {
|
||||
// AuthToken SCIM API token (full on creation, masked otherwise)
|
||||
AuthToken string `json:"auth_token"`
|
||||
|
||||
// Enabled Indicates whether the integration is enabled
|
||||
// ConnectorId DEX connector ID for embedded IDP setups
|
||||
ConnectorId *string `json:"connector_id,omitempty"`
|
||||
|
||||
// Enabled Whether the integration is enabled
|
||||
Enabled bool `json:"enabled"`
|
||||
|
||||
// GroupPrefixes List of start_with string patterns for groups to sync
|
||||
@@ -3588,6 +3941,9 @@ type ScimIntegration struct {
|
||||
// LastSyncedAt Timestamp of when the integration was last synced
|
||||
LastSyncedAt time.Time `json:"last_synced_at"`
|
||||
|
||||
// Prefix The connection prefix used for the SCIM provider
|
||||
Prefix string `json:"prefix"`
|
||||
|
||||
// Provider Name of the SCIM identity provider
|
||||
Provider string `json:"provider"`
|
||||
|
||||
@@ -3670,6 +4026,9 @@ type Service struct {
|
||||
|
||||
// Targets List of target backends for this service
|
||||
Targets []ServiceTarget `json:"targets"`
|
||||
|
||||
// Terminated Whether the service has been terminated. Terminated services cannot be updated. Services that violate the Terms of Service will be terminated.
|
||||
Terminated *bool `json:"terminated,omitempty"`
|
||||
}
|
||||
|
||||
// ServiceMode Service mode. "http" for L7 reverse proxy, "tcp"/"udp"/"tls" for L4 passthrough.
|
||||
@@ -3989,6 +4348,11 @@ type Subscription struct {
|
||||
UpdatedAt time.Time `json:"updated_at"`
|
||||
}
|
||||
|
||||
// SyncResult Response for a manual sync trigger
|
||||
type SyncResult struct {
|
||||
Result *string `json:"result,omitempty"`
|
||||
}
|
||||
|
||||
// TenantGroupResponse defines model for TenantGroupResponse.
|
||||
type TenantGroupResponse struct {
|
||||
// Id The Group ID
|
||||
@@ -4034,14 +4398,86 @@ type TenantResponse struct {
|
||||
// TenantResponseStatus The status of the tenant
|
||||
type TenantResponseStatus string
|
||||
|
||||
// UpdateScimIntegrationRequest Request payload for updating an SCIM IDP integration
|
||||
type UpdateScimIntegrationRequest struct {
|
||||
// Enabled Indicates whether the integration is enabled
|
||||
// UpdateAzureIntegrationRequest defines model for UpdateAzureIntegrationRequest.
|
||||
type UpdateAzureIntegrationRequest struct {
|
||||
// ClientId Azure AD application (client) ID
|
||||
ClientId *string `json:"client_id,omitempty"`
|
||||
|
||||
// ClientSecret Base64-encoded Azure AD client secret
|
||||
ClientSecret *string `json:"client_secret,omitempty"`
|
||||
|
||||
// ConnectorId DEX connector ID for embedded IDP setups
|
||||
ConnectorId *string `json:"connector_id,omitempty"`
|
||||
|
||||
// Enabled 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"`
|
||||
|
||||
// SyncInterval Sync interval in seconds (minimum 300)
|
||||
SyncInterval *int `json:"sync_interval,omitempty"`
|
||||
|
||||
// TenantId Azure AD tenant ID
|
||||
TenantId *string `json:"tenant_id,omitempty"`
|
||||
|
||||
// UserGroupPrefixes List of start_with string patterns for groups which users to sync
|
||||
UserGroupPrefixes *[]string `json:"user_group_prefixes,omitempty"`
|
||||
}
|
||||
|
||||
// UpdateGoogleIntegrationRequest defines model for UpdateGoogleIntegrationRequest.
|
||||
type UpdateGoogleIntegrationRequest struct {
|
||||
// ConnectorId DEX connector ID for embedded IDP setups
|
||||
ConnectorId *string `json:"connector_id,omitempty"`
|
||||
|
||||
// CustomerId Customer ID from Google Workspace Account Settings
|
||||
CustomerId *string `json:"customer_id,omitempty"`
|
||||
|
||||
// Enabled 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"`
|
||||
|
||||
// ServiceAccountKey Base64-encoded Google service account key
|
||||
ServiceAccountKey *string `json:"service_account_key,omitempty"`
|
||||
|
||||
// SyncInterval Sync interval in seconds (minimum 300)
|
||||
SyncInterval *int `json:"sync_interval,omitempty"`
|
||||
|
||||
// UserGroupPrefixes List of start_with string patterns for groups which users to sync
|
||||
UserGroupPrefixes *[]string `json:"user_group_prefixes,omitempty"`
|
||||
}
|
||||
|
||||
// UpdateOktaScimIntegrationRequest defines model for UpdateOktaScimIntegrationRequest.
|
||||
type UpdateOktaScimIntegrationRequest struct {
|
||||
// ConnectorId DEX connector ID for embedded IDP setups
|
||||
ConnectorId *string `json:"connector_id,omitempty"`
|
||||
|
||||
// Enabled 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 defines model for UpdateScimIntegrationRequest.
|
||||
type UpdateScimIntegrationRequest struct {
|
||||
// ConnectorId DEX connector ID for embedded IDP setups
|
||||
ConnectorId *string `json:"connector_id,omitempty"`
|
||||
|
||||
// Enabled 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"`
|
||||
|
||||
// Prefix The connection prefix used for the SCIM provider
|
||||
Prefix *string `json:"prefix,omitempty"`
|
||||
|
||||
// UserGroupPrefixes List of start_with string patterns for groups which users to sync
|
||||
UserGroupPrefixes *[]string `json:"user_group_prefixes,omitempty"`
|
||||
}
|
||||
@@ -4249,6 +4685,16 @@ type UserRequest struct {
|
||||
Role string `json:"role"`
|
||||
}
|
||||
|
||||
// WebhookTarget Target configuration for webhook notification channels.
|
||||
type WebhookTarget struct {
|
||||
// Headers Custom HTTP headers sent with each webhook request.
|
||||
// Values are write-only; in GET responses all values are masked.
|
||||
Headers *map[string]string `json:"headers,omitempty"`
|
||||
|
||||
// Url The webhook endpoint URL to send notifications to.
|
||||
Url string `json:"url"`
|
||||
}
|
||||
|
||||
// WorkloadRequest defines model for WorkloadRequest.
|
||||
type WorkloadRequest struct {
|
||||
union json.RawMessage
|
||||
@@ -4551,6 +4997,12 @@ type PostApiIngressPeersJSONRequestBody = IngressPeerCreateRequest
|
||||
// PutApiIngressPeersIngressPeerIdJSONRequestBody defines body for PutApiIngressPeersIngressPeerId for application/json ContentType.
|
||||
type PutApiIngressPeersIngressPeerIdJSONRequestBody = IngressPeerUpdateRequest
|
||||
|
||||
// CreateAzureIntegrationJSONRequestBody defines body for CreateAzureIntegration for application/json ContentType.
|
||||
type CreateAzureIntegrationJSONRequestBody = CreateAzureIntegrationRequest
|
||||
|
||||
// UpdateAzureIntegrationJSONRequestBody defines body for UpdateAzureIntegration for application/json ContentType.
|
||||
type UpdateAzureIntegrationJSONRequestBody = UpdateAzureIntegrationRequest
|
||||
|
||||
// PostApiIntegrationsBillingAwsMarketplaceActivateJSONRequestBody defines body for PostApiIntegrationsBillingAwsMarketplaceActivate for application/json ContentType.
|
||||
type PostApiIntegrationsBillingAwsMarketplaceActivateJSONRequestBody PostApiIntegrationsBillingAwsMarketplaceActivateJSONBody
|
||||
|
||||
@@ -4569,6 +5021,12 @@ type CreateFalconEDRIntegrationJSONRequestBody = EDRFalconRequest
|
||||
// UpdateFalconEDRIntegrationJSONRequestBody defines body for UpdateFalconEDRIntegration for application/json ContentType.
|
||||
type UpdateFalconEDRIntegrationJSONRequestBody = EDRFalconRequest
|
||||
|
||||
// CreateFleetDMEDRIntegrationJSONRequestBody defines body for CreateFleetDMEDRIntegration for application/json ContentType.
|
||||
type CreateFleetDMEDRIntegrationJSONRequestBody = EDRFleetDMRequest
|
||||
|
||||
// UpdateFleetDMEDRIntegrationJSONRequestBody defines body for UpdateFleetDMEDRIntegration for application/json ContentType.
|
||||
type UpdateFleetDMEDRIntegrationJSONRequestBody = EDRFleetDMRequest
|
||||
|
||||
// CreateHuntressEDRIntegrationJSONRequestBody defines body for CreateHuntressEDRIntegration for application/json ContentType.
|
||||
type CreateHuntressEDRIntegrationJSONRequestBody = EDRHuntressRequest
|
||||
|
||||
@@ -4587,6 +5045,12 @@ type CreateSentinelOneEDRIntegrationJSONRequestBody = EDRSentinelOneRequest
|
||||
// UpdateSentinelOneEDRIntegrationJSONRequestBody defines body for UpdateSentinelOneEDRIntegration for application/json ContentType.
|
||||
type UpdateSentinelOneEDRIntegrationJSONRequestBody = EDRSentinelOneRequest
|
||||
|
||||
// CreateGoogleIntegrationJSONRequestBody defines body for CreateGoogleIntegration for application/json ContentType.
|
||||
type CreateGoogleIntegrationJSONRequestBody = CreateGoogleIntegrationRequest
|
||||
|
||||
// UpdateGoogleIntegrationJSONRequestBody defines body for UpdateGoogleIntegration for application/json ContentType.
|
||||
type UpdateGoogleIntegrationJSONRequestBody = UpdateGoogleIntegrationRequest
|
||||
|
||||
// PostApiIntegrationsMspTenantsJSONRequestBody defines body for PostApiIntegrationsMspTenants for application/json ContentType.
|
||||
type PostApiIntegrationsMspTenantsJSONRequestBody = CreateTenantRequest
|
||||
|
||||
@@ -4602,6 +5066,18 @@ type PostApiIntegrationsMspTenantsIdSubscriptionJSONRequestBody PostApiIntegrati
|
||||
// PostApiIntegrationsMspTenantsIdUnlinkJSONRequestBody defines body for PostApiIntegrationsMspTenantsIdUnlink for application/json ContentType.
|
||||
type PostApiIntegrationsMspTenantsIdUnlinkJSONRequestBody PostApiIntegrationsMspTenantsIdUnlinkJSONBody
|
||||
|
||||
// CreateNotificationChannelJSONRequestBody defines body for CreateNotificationChannel for application/json ContentType.
|
||||
type CreateNotificationChannelJSONRequestBody = NotificationChannelRequest
|
||||
|
||||
// UpdateNotificationChannelJSONRequestBody defines body for UpdateNotificationChannel for application/json ContentType.
|
||||
type UpdateNotificationChannelJSONRequestBody = NotificationChannelRequest
|
||||
|
||||
// CreateOktaScimIntegrationJSONRequestBody defines body for CreateOktaScimIntegration for application/json ContentType.
|
||||
type CreateOktaScimIntegrationJSONRequestBody = CreateOktaScimIntegrationRequest
|
||||
|
||||
// UpdateOktaScimIntegrationJSONRequestBody defines body for UpdateOktaScimIntegration for application/json ContentType.
|
||||
type UpdateOktaScimIntegrationJSONRequestBody = UpdateOktaScimIntegrationRequest
|
||||
|
||||
// CreateSCIMIntegrationJSONRequestBody defines body for CreateSCIMIntegration for application/json ContentType.
|
||||
type CreateSCIMIntegrationJSONRequestBody = CreateScimIntegrationRequest
|
||||
|
||||
@@ -4701,6 +5177,130 @@ type PutApiUsersUserIdPasswordJSONRequestBody = PasswordChangeRequest
|
||||
// PostApiUsersUserIdTokensJSONRequestBody defines body for PostApiUsersUserIdTokens for application/json ContentType.
|
||||
type PostApiUsersUserIdTokensJSONRequestBody = PersonalAccessTokenRequest
|
||||
|
||||
// AsEmailTarget returns the union data inside the NotificationChannelRequest_Target as a EmailTarget
|
||||
func (t NotificationChannelRequest_Target) AsEmailTarget() (EmailTarget, error) {
|
||||
var body EmailTarget
|
||||
err := json.Unmarshal(t.union, &body)
|
||||
return body, err
|
||||
}
|
||||
|
||||
// FromEmailTarget overwrites any union data inside the NotificationChannelRequest_Target as the provided EmailTarget
|
||||
func (t *NotificationChannelRequest_Target) FromEmailTarget(v EmailTarget) error {
|
||||
b, err := json.Marshal(v)
|
||||
t.union = b
|
||||
return err
|
||||
}
|
||||
|
||||
// MergeEmailTarget performs a merge with any union data inside the NotificationChannelRequest_Target, using the provided EmailTarget
|
||||
func (t *NotificationChannelRequest_Target) MergeEmailTarget(v EmailTarget) error {
|
||||
b, err := json.Marshal(v)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
merged, err := runtime.JSONMerge(t.union, b)
|
||||
t.union = merged
|
||||
return err
|
||||
}
|
||||
|
||||
// AsWebhookTarget returns the union data inside the NotificationChannelRequest_Target as a WebhookTarget
|
||||
func (t NotificationChannelRequest_Target) AsWebhookTarget() (WebhookTarget, error) {
|
||||
var body WebhookTarget
|
||||
err := json.Unmarshal(t.union, &body)
|
||||
return body, err
|
||||
}
|
||||
|
||||
// FromWebhookTarget overwrites any union data inside the NotificationChannelRequest_Target as the provided WebhookTarget
|
||||
func (t *NotificationChannelRequest_Target) FromWebhookTarget(v WebhookTarget) error {
|
||||
b, err := json.Marshal(v)
|
||||
t.union = b
|
||||
return err
|
||||
}
|
||||
|
||||
// MergeWebhookTarget performs a merge with any union data inside the NotificationChannelRequest_Target, using the provided WebhookTarget
|
||||
func (t *NotificationChannelRequest_Target) MergeWebhookTarget(v WebhookTarget) error {
|
||||
b, err := json.Marshal(v)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
merged, err := runtime.JSONMerge(t.union, b)
|
||||
t.union = merged
|
||||
return err
|
||||
}
|
||||
|
||||
func (t NotificationChannelRequest_Target) MarshalJSON() ([]byte, error) {
|
||||
b, err := t.union.MarshalJSON()
|
||||
return b, err
|
||||
}
|
||||
|
||||
func (t *NotificationChannelRequest_Target) UnmarshalJSON(b []byte) error {
|
||||
err := t.union.UnmarshalJSON(b)
|
||||
return err
|
||||
}
|
||||
|
||||
// AsEmailTarget returns the union data inside the NotificationChannelResponse_Target as a EmailTarget
|
||||
func (t NotificationChannelResponse_Target) AsEmailTarget() (EmailTarget, error) {
|
||||
var body EmailTarget
|
||||
err := json.Unmarshal(t.union, &body)
|
||||
return body, err
|
||||
}
|
||||
|
||||
// FromEmailTarget overwrites any union data inside the NotificationChannelResponse_Target as the provided EmailTarget
|
||||
func (t *NotificationChannelResponse_Target) FromEmailTarget(v EmailTarget) error {
|
||||
b, err := json.Marshal(v)
|
||||
t.union = b
|
||||
return err
|
||||
}
|
||||
|
||||
// MergeEmailTarget performs a merge with any union data inside the NotificationChannelResponse_Target, using the provided EmailTarget
|
||||
func (t *NotificationChannelResponse_Target) MergeEmailTarget(v EmailTarget) error {
|
||||
b, err := json.Marshal(v)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
merged, err := runtime.JSONMerge(t.union, b)
|
||||
t.union = merged
|
||||
return err
|
||||
}
|
||||
|
||||
// AsWebhookTarget returns the union data inside the NotificationChannelResponse_Target as a WebhookTarget
|
||||
func (t NotificationChannelResponse_Target) AsWebhookTarget() (WebhookTarget, error) {
|
||||
var body WebhookTarget
|
||||
err := json.Unmarshal(t.union, &body)
|
||||
return body, err
|
||||
}
|
||||
|
||||
// FromWebhookTarget overwrites any union data inside the NotificationChannelResponse_Target as the provided WebhookTarget
|
||||
func (t *NotificationChannelResponse_Target) FromWebhookTarget(v WebhookTarget) error {
|
||||
b, err := json.Marshal(v)
|
||||
t.union = b
|
||||
return err
|
||||
}
|
||||
|
||||
// MergeWebhookTarget performs a merge with any union data inside the NotificationChannelResponse_Target, using the provided WebhookTarget
|
||||
func (t *NotificationChannelResponse_Target) MergeWebhookTarget(v WebhookTarget) error {
|
||||
b, err := json.Marshal(v)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
merged, err := runtime.JSONMerge(t.union, b)
|
||||
t.union = merged
|
||||
return err
|
||||
}
|
||||
|
||||
func (t NotificationChannelResponse_Target) MarshalJSON() ([]byte, error) {
|
||||
b, err := t.union.MarshalJSON()
|
||||
return b, err
|
||||
}
|
||||
|
||||
func (t *NotificationChannelResponse_Target) UnmarshalJSON(b []byte) error {
|
||||
err := t.union.UnmarshalJSON(b)
|
||||
return err
|
||||
}
|
||||
|
||||
// AsBundleWorkloadRequest returns the union data inside the WorkloadRequest as a BundleWorkloadRequest
|
||||
func (t WorkloadRequest) AsBundleWorkloadRequest() (BundleWorkloadRequest, error) {
|
||||
var body BundleWorkloadRequest
|
||||
|
||||
Reference in New Issue
Block a user