v2

package
v1.59.0 Latest Latest
Warning

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

Go to latest
Published: Jul 29, 2025 License: MPL-2.0 Imports: 23 Imported by: 0

Documentation

Overview

Package v2 implements a client for Sysdig API

Index

Constants

View Source
const (
	GetMePath                  = "/api/users/me"
	UserAgentHeader            = "User-Agent"
	AuthorizationHeader        = "Authorization"
	ContentTypeHeader          = "Content-Type"
	SysdigProviderHeader       = "Sysdig-Provider"
	SysdigProviderHeaderValue  = "Terraform"
	SysdigUserAgentHeaderValue = "SysdigTerraform"
	ContentTypeJSON            = "application/json"
	ContentTypeFormURLEncoded  = "x-www-form-urlencoded"
	SysdigProductHeader        = "X-Sysdig-Product"
)
View Source
const (
	RuleTypeContainer           = "CONTAINER"
	RuleTypeFalco               = "FALCO"
	RuleTypeFilesystem          = "FILESYSTEM"
	RuleTypeNetwork             = "NETWORK"
	RuleTypeProcess             = "PROCESS"
	RuleTypeSyscall             = "SYSCALL"
	RuleTypeStatefulSequence    = "STATEFUL_SEQUENCE"
	RuleTypeStatefulUniqPercent = "STATEFUL_UNIQ_PERCENT"
	RuleTypeStatefulCount       = "STATEFUL_COUNT"
)

Variables

View Source
var ErrAlertV2NotFound = errors.New("alert not found")
View Source
var ErrCustomRoleNotFound = errors.New("custom role not found")
View Source
var ErrGroupMappingConfigNotFound = errors.New("group mapping configuration not found")
View Source
var ErrGroupMappingNotFound = errors.New("group mapping not found")
View Source
var ErrIPFilterNotFound = errors.New("IP filter not found")
View Source
var ErrInhibitionRuleNotFound = errors.New("inhibition rule not found")
View Source
var ErrNotificationChannelNotFound = errors.New("notification channel not found")
View Source
var ErrSilenceRuleNotFound = errors.New("silence rule not found")
View Source
var ErrTeamServiceAccountNotFound = errors.New("team service account not found")

Functions

func Marshal

func Marshal[T any](data T) (io.Reader, error)

func Unmarshal

func Unmarshal[T any](data io.Reader) (T, error)

Types

type AWSMLRuleDetails added in v1.23.0

type AWSMLRuleDetails struct {
	RuleType              ElementType                 `json:"ruleType" yaml:"ruleType"`
	AnomalousConsoleLogin *MLRuleThresholdAndSeverity `json:"anomalousConsoleLogin" yaml:"anomalousConsoleLogin"`
	Details               `json:"-"`
}

func (AWSMLRuleDetails) GetRuleType added in v1.23.0

func (p AWSMLRuleDetails) GetRuleType() ElementType

type AccepetPostureRiskRequest added in v1.38.0

type AccepetPostureRiskRequest struct {
	AcceptanceID string `json:"id"`
	ControlName  string `json:"controlName"`
	ZoneName     string `json:"zoneName"`
	Description  string `json:"description"`
	Filter       string `json:"filter"`
	Reason       string `json:"reason"`
	ExpiresAt    string `json:"expiresAt"`
}

type AcceptPostureRisk added in v1.38.0

type AcceptPostureRisk struct {
	AcceptanceID    string `json:"id"`
	ControlName     string `json:"controlName"`
	ZoneName        string `json:"zoneName"`
	Description     string `json:"description"`
	Filter          string `json:"filter"`
	Reason          string `json:"reason"`
	ExpiresAt       string `json:"expiresAt"`
	AcceeptanceDate string `json:"acceptanceDate"`
	UserName        string `json:"username"`
	Type            string `json:"type"`
	IsExpired       bool   `json:"isExpired"`
	IsSystem        bool   `json:"isSystem"`
	AcceptPeriod    string `json:"acceptPeriod"`
}

type AcceptPostureRiskResponse added in v1.38.0

type AcceptPostureRiskResponse struct {
	Data AcceptPostureRisk `json:"data"`
}

type AcceptVulnerabilityRisk added in v1.45.0

type AcceptVulnerabilityRisk struct {
	ID             string                           `json:"id"`
	EntityType     EntityType                       `json:"entityType"`
	EntityValue    string                           `json:"entityValue"`
	Reason         ReasonType                       `json:"reason"`
	Description    string                           `json:"description"`
	ExpirationDate string                           `json:"expirationDate,omitempty"`
	Status         StatusType                       `json:"status"`
	CreatedAt      time.Time                        `json:"createdAt,omitempty"`
	UpdatedAt      time.Time                        `json:"updatedAt,omitempty"`
	CreatedBy      string                           `json:"createdBy,omitempty"`
	UpdatedBy      string                           `json:"updatedBy,omitempty"`
	Context        []AcceptVulnerabilityRiskContext `json:"context"`
	Stages         []StageType                      `json:"stages,omitempty"`
}

type AcceptVulnerabilityRiskContext added in v1.45.0

type AcceptVulnerabilityRiskContext struct {
	ContextType  ContextType `json:"contextType"`
	ContextValue string      `json:"contextValue"`
}

type AcceptVulnerabilityRiskRequest added in v1.45.0

type AcceptVulnerabilityRiskRequest struct {
	EntityType     EntityType                       `json:"entityType"`
	EntityValue    string                           `json:"entityValue"`
	Reason         ReasonType                       `json:"reason"`
	Description    string                           `json:"description"`
	ExpirationDate string                           `json:"expirationDate,omitempty"`
	Context        []AcceptVulnerabilityRiskContext `json:"context"`
	Stages         []StageType                      `json:"stages,omitempty"`
}

type Action added in v1.4.1

type Action struct {
	AfterEventNs         int     `json:"afterEventNs,omitempty"`
	BeforeEventNs        int     `json:"beforeEventNs,omitempty"`
	Name                 string  `json:"name,omitempty"`
	Filter               string  `json:"filter,omitempty"`
	StorageType          string  `json:"storageType,omitempty"`
	BucketName           string  `json:"bucketName,omitempty"`
	Folder               string  `json:"folder,omitempty"`
	IsLimitedToContainer bool    `json:"isLimitedToContainer"`
	Type                 string  `json:"type"`
	Msg                  *string `json:"msg,omitempty"`
}

type AdvancedQueries added in v1.5.0

type AdvancedQueries struct {
	Enabled     bool        `json:"enabled"`
	DisplayInfo DisplayInfo `json:"displayInfo"`
	Format      Format      `json:"format"`
	Query       string      `json:"query"`
	ID          int         `json:"id"`
	ParentPanel *Panels     `json:"-"`
}

func NewPromqlQuery added in v1.5.0

func NewPromqlQuery(query string, parentPanel *Panels, displayInfo DisplayInfo) *AdvancedQueries

func (*AdvancedQueries) Enable added in v1.5.0

func (q *AdvancedQueries) Enable(val bool) *AdvancedQueries

func (*AdvancedQueries) WithDataFormat added in v1.5.0

func (q *AdvancedQueries) WithDataFormat(f *Format) *AdvancedQueries

func (*AdvancedQueries) WithDataRateFormat added in v1.5.0

func (q *AdvancedQueries) WithDataRateFormat(f *Format) *AdvancedQueries

func (*AdvancedQueries) WithNumberFormat added in v1.5.0

func (q *AdvancedQueries) WithNumberFormat(f *Format) *AdvancedQueries

func (*AdvancedQueries) WithNumberRateFormat added in v1.5.0

func (q *AdvancedQueries) WithNumberRateFormat(f *Format) *AdvancedQueries

func (*AdvancedQueries) WithPercentFormat added in v1.5.0

func (q *AdvancedQueries) WithPercentFormat(f *Format) *AdvancedQueries

func (*AdvancedQueries) WithTimeFormat added in v1.5.0

func (q *AdvancedQueries) WithTimeFormat(f *Format) *AdvancedQueries

type AgentAccessKey added in v1.23.6

type AgentAccessKey struct {
	ID             int               `json:"id,omitempty"`
	Reservation    int               `json:"agentReservation,omitempty"`
	Limit          int               `json:"agentLimit,omitempty"`
	TeamID         int               `json:"teamId,omitempty"`
	AgentAccessKey string            `json:"accessKey,omitempty"`
	Metadata       map[string]string `json:"metadata,omitempty"`
	Enabled        bool              `json:"isEnabled"`
	DateCreated    string            `json:"dateCreated,omitempty"`
	DateDisabled   string            `json:"dateDisabled,omitempty"`
}

type AgentAccessKeyInterface added in v1.23.6

type AgentAccessKeyInterface interface {
	Base
	GetAgentAccessKeyByID(ctx context.Context, id string) (*AgentAccessKey, error)
	CreateAgentAccessKey(ctx context.Context, agentAccessKey *AgentAccessKey) (*AgentAccessKey, error)
	DeleteAgentAccessKey(ctx context.Context, id string) error
	UpdateAgentAccessKey(ctx context.Context, agentAccessKey *AgentAccessKey, id string) (*AgentAccessKey, error)
}

type AgentAccessKeyReadWrapper added in v1.23.6

type AgentAccessKeyReadWrapper struct {
	CustomerAccessKey []AgentAccessKey `json:"customerAccessKeys"`
}

type AgentAccessKeyWriteWrapper added in v1.23.6

type AgentAccessKeyWriteWrapper struct {
	CustomerAccessKey AgentAccessKey `json:"customerAccessKey"`
}

type Alert added in v1.4.0

type Alert struct {
	ID                     int                 `json:"id,omitempty"`
	Version                int                 `json:"version,omitempty"`
	Type                   string              `json:"type"`
	Name                   string              `json:"name"`
	Description            string              `json:"description"`
	Enabled                bool                `json:"enabled"`
	GroupName              string              `json:"groupName,omitempty"`
	NotificationChannelIds []int               `json:"notificationChannelIds"`
	Filter                 string              `json:"filter"`
	Severity               int                 `json:"severity"`
	Timespan               *int                `json:"timespan,omitempty"`
	Duration               *int                `json:"duration,omitempty"`
	CustomNotification     *CustomNotification `json:"customNotification"`
	TeamID                 int                 `json:"teamId,omitempty"`
	AutoCreated            bool                `json:"autoCreated"`
	SysdigCapture          *SysdigCapture      `json:"sysdigCapture"`
	RateOfChange           bool                `json:"rateOfChange,omitempty"`
	ReNotifyMinutes        int                 `json:"reNotifyMinutes"`
	ReNotify               bool                `json:"reNotify"`
	Valid                  bool                `json:"valid"`
	SeverityLabel          string              `json:"severityLabel,omitempty"`
	SegmentBy              []string            `json:"segmentBy"`
	SegmentCondition       *SegmentCondition   `json:"segmentCondition"`
	Criteria               *Criteria           `json:"criteria,omitempty"`
	Monitor                []*Monitor          `json:"monitor,omitempty"`
	Condition              string              `json:"condition"`
	SeverityLevel          int                 `json:"severityLevel,omitempty"`
}

type AlertInterface added in v1.4.0

type AlertInterface interface {
	Base
	CreateAlert(ctx context.Context, alert Alert) (Alert, error)
	GetAlertByID(ctx context.Context, alertID int) (Alert, error)
	UpdateAlert(ctx context.Context, alert Alert) (Alert, error)
	DeleteAlertByID(ctx context.Context, alertID int) error
}

type AlertLabelDescriptorV2 added in v1.6.0

type AlertLabelDescriptorV2 struct {
	ID       string `json:"id"`
	PublicID string `json:"publicId,omitempty"`
}

type AlertLinkV2 added in v1.6.0

type AlertLinkV2 struct {
	Type string `json:"type,omitempty"`
	ID   string `json:"id,omitempty"`
	Href string `json:"href,omitempty"`
}

type AlertLinkV2Type added in v1.6.0

type AlertLinkV2Type string
const (
	AlertLinkV2TypeDashboard AlertLinkV2Type = "dashboard"
	AlertLinkV2TypeRunbook   AlertLinkV2Type = "runbook"
)

type AlertMetricDescriptorV2 added in v1.6.0

type AlertMetricDescriptorV2 struct {
	ID string `json:"id"`
}

type AlertScopeV2 added in v1.6.0

type AlertScopeV2 struct {
	Expressions []ScopeExpressionV2 `json:"expressions,omitempty"`
}

type AlertV2Change added in v1.12.0

type AlertV2Change struct {
	AlertV2Common
	Config                                   AlertV2ConfigChange `json:"config"`
	UnreportedAlertNotificationsRetentionSec *int                `json:"unreportedAlertNotificationsRetentionSec"`
}

type AlertV2ChangeInterface added in v1.12.0

type AlertV2ChangeInterface interface {
	Base
	CreateAlertV2Change(ctx context.Context, alert AlertV2Change) (AlertV2Change, error)
	UpdateAlertV2Change(ctx context.Context, alert AlertV2Change) (AlertV2Change, error)
	GetAlertV2ChangeByID(ctx context.Context, alertID int) (AlertV2Change, error)
	DeleteAlertV2Change(ctx context.Context, alertID int) error
}

type AlertV2Common added in v1.6.0

type AlertV2Common struct {
	ID                            int                           `json:"id,omitempty"`
	Version                       int                           `json:"version,omitempty"`
	Name                          string                        `json:"name"`
	Description                   string                        `json:"description,omitempty"`
	Type                          string                        `json:"type"`
	Group                         string                        `json:"group,omitempty"`
	Severity                      string                        `json:"severity"`
	TeamID                        int                           `json:"teamId,omitempty"`
	Enabled                       bool                          `json:"enabled"`
	NotificationChannelConfigList []NotificationChannelConfigV2 `json:"notificationChannelConfigList"`
	CustomNotificationTemplate    *CustomNotificationTemplateV2 `json:"customNotificationTemplate,omitempty"`
	CaptureConfig                 *CaptureConfigV2              `json:"captureConfig,omitempty"`
	Links                         []AlertLinkV2                 `json:"links"`
	Labels                        map[string]any                `json:"labels,omitempty"`
}

type AlertV2ConfigChange added in v1.12.0

type AlertV2ConfigChange struct {
	ScopedSegmentedConfig

	ConditionOperator        string   `json:"conditionOperator"`
	Threshold                float64  `json:"threshold"`
	WarningConditionOperator string   `json:"warningConditionOperator,omitempty"`
	WarningThreshold         *float64 `json:"warningThreshold,omitempty"`

	GroupAggregation string                  `json:"groupAggregation"`
	TimeAggregation  string                  `json:"timeAggregation"`
	Metric           AlertMetricDescriptorV2 `json:"metric"`

	ShorterRangeSec int `json:"shorterRangeSec"`
	LongerRangeSec  int `json:"longerRangeSec"`
}

type AlertV2ConfigDowntime added in v1.6.0

type AlertV2ConfigDowntime struct {
	ScopedSegmentedConfig

	ConditionOperator string  `json:"conditionOperator"`
	Threshold         float64 `json:"threshold"`

	GroupAggregation string                  `json:"groupAggregation"`
	TimeAggregation  string                  `json:"timeAggregation"`
	Metric           AlertMetricDescriptorV2 `json:"metric"`

	Range int `json:"range"`
}

type AlertV2ConfigEvent added in v1.6.0

type AlertV2ConfigEvent struct {
	ScopedSegmentedConfig

	ConditionOperator        string   `json:"conditionOperator"`
	Threshold                float64  `json:"threshold"`
	WarningConditionOperator string   `json:"warningConditionOperator,omitempty"`
	WarningThreshold         *float64 `json:"warningThreshold,omitempty"`

	Filter string   `json:"filter"`
	Tags   []string `json:"tags"`

	Range int `json:"range"`
}

type AlertV2ConfigFormBasedPrometheus added in v1.12.0

type AlertV2ConfigFormBasedPrometheus struct {
	ScopedSegmentedConfig

	Query                    string   `json:"query"`
	ConditionOperator        string   `json:"conditionOperator"`
	Threshold                float64  `json:"threshold"`
	WarningConditionOperator string   `json:"warningConditionOperator,omitempty"`
	WarningThreshold         *float64 `json:"warningThreshold,omitempty"`
	NoDataBehaviour          string   `json:"noDataBehaviour"`

	Duration int `json:"duration"`
}

type AlertV2ConfigGroupOutlier added in v1.20.0

type AlertV2ConfigGroupOutlier struct {
	ScopedSegmentedConfig

	Algorithm       string  `json:"algorithm"`
	MadThreshold    float64 `json:"madThreshold,omitempty"`
	MadTolerance    float64 `json:"madTolerance,omitempty"`
	DbscanTolerance float64 `json:"dbscanTolerance,omitempty"`

	GroupAggregation string                  `json:"groupAggregation"`
	TimeAggregation  string                  `json:"timeAggregation"`
	Metric           AlertMetricDescriptorV2 `json:"metric"`
	NoDataBehaviour  string                  `json:"noDataBehaviour"`

	ObservationWindow int `json:"observationWindow"`
}

type AlertV2ConfigMetric added in v1.6.0

type AlertV2ConfigMetric struct {
	ScopedSegmentedConfig

	ConditionOperator        string   `json:"conditionOperator"`
	Threshold                float64  `json:"threshold"`
	WarningConditionOperator string   `json:"warningConditionOperator,omitempty"`
	WarningThreshold         *float64 `json:"warningThreshold,omitempty"`

	GroupAggregation string                  `json:"groupAggregation"`
	TimeAggregation  string                  `json:"timeAggregation"`
	Metric           AlertMetricDescriptorV2 `json:"metric"`
	NoDataBehaviour  string                  `json:"noDataBehaviour"`

	Range    int `json:"range"`
	Duration int `json:"duration"`
}

type AlertV2ConfigPrometheus added in v1.6.0

type AlertV2ConfigPrometheus struct {
	Query            string `json:"query"`
	KeepFiringForSec *int   `json:"keepFiringForSec,omitempty"`

	Duration int `json:"duration"`
}

type AlertV2Downtime added in v1.6.0

type AlertV2Downtime struct {
	AlertV2Common
	Config                                   AlertV2ConfigDowntime `json:"config"`
	UnreportedAlertNotificationsRetentionSec *int                  `json:"unreportedAlertNotificationsRetentionSec"`
}

type AlertV2DowntimeInterface added in v1.6.0

type AlertV2DowntimeInterface interface {
	Base
	CreateAlertV2Downtime(ctx context.Context, alert AlertV2Downtime) (AlertV2Downtime, error)
	UpdateAlertV2Downtime(ctx context.Context, alert AlertV2Downtime) (AlertV2Downtime, error)
	GetAlertV2DowntimeByID(ctx context.Context, alertID int) (AlertV2Downtime, error)
	DeleteAlertV2Downtime(ctx context.Context, alertID int) error
}

type AlertV2Event added in v1.6.0

type AlertV2Event struct {
	AlertV2Common
	Config AlertV2ConfigEvent `json:"config"`
}

type AlertV2EventInterface added in v1.6.0

type AlertV2EventInterface interface {
	Base
	CreateAlertV2Event(ctx context.Context, alert AlertV2Event) (AlertV2Event, error)
	UpdateAlertV2Event(ctx context.Context, alert AlertV2Event) (AlertV2Event, error)
	GetAlertV2EventByID(ctx context.Context, alertID int) (AlertV2Event, error)
	DeleteAlertV2Event(ctx context.Context, alertID int) error
}

type AlertV2FormBasedPrometheus added in v1.12.0

type AlertV2FormBasedPrometheus struct {
	AlertV2Common
	Config                                   AlertV2ConfigFormBasedPrometheus `json:"config"`
	UnreportedAlertNotificationsRetentionSec *int                             `json:"unreportedAlertNotificationsRetentionSec"`
}

type AlertV2FormBasedPrometheusInterface added in v1.12.0

type AlertV2FormBasedPrometheusInterface interface {
	Base
	CreateAlertV2FormBasedPrometheus(ctx context.Context, alert AlertV2FormBasedPrometheus) (AlertV2FormBasedPrometheus, error)
	UpdateAlertV2FormBasedPrometheus(ctx context.Context, alert AlertV2FormBasedPrometheus) (AlertV2FormBasedPrometheus, error)
	GetAlertV2FormBasedPrometheusByID(ctx context.Context, alertID int) (AlertV2FormBasedPrometheus, error)
	DeleteAlertV2FormBasedPrometheus(ctx context.Context, alertID int) error
}

type AlertV2GroupOutlier added in v1.20.0

type AlertV2GroupOutlier struct {
	AlertV2Common
	Config                                   AlertV2ConfigGroupOutlier `json:"config"`
	UnreportedAlertNotificationsRetentionSec *int                      `json:"unreportedAlertNotificationsRetentionSec"`
}

type AlertV2GroupOutlierInterface added in v1.20.0

type AlertV2GroupOutlierInterface interface {
	Base
	CreateAlertV2GroupOutlier(ctx context.Context, alert AlertV2GroupOutlier) (AlertV2GroupOutlier, error)
	UpdateAlertV2GroupOutlier(ctx context.Context, alert AlertV2GroupOutlier) (AlertV2GroupOutlier, error)
	GetAlertV2GroupOutlierByID(ctx context.Context, alertID int) (AlertV2GroupOutlier, error)
	DeleteAlertV2GroupOutlier(ctx context.Context, alertID int) error
}

type AlertV2Metric added in v1.6.0

type AlertV2Metric struct {
	AlertV2Common
	Config                                   AlertV2ConfigMetric `json:"config"`
	UnreportedAlertNotificationsRetentionSec *int                `json:"unreportedAlertNotificationsRetentionSec"`
}

type AlertV2MetricInterface added in v1.6.0

type AlertV2MetricInterface interface {
	Base
	CreateAlertV2Metric(ctx context.Context, alert AlertV2Metric) (AlertV2Metric, error)
	UpdateAlertV2Metric(ctx context.Context, alert AlertV2Metric) (AlertV2Metric, error)
	GetAlertV2MetricByID(ctx context.Context, alertID int) (AlertV2Metric, error)
	DeleteAlertV2Metric(ctx context.Context, alertID int) error
}

type AlertV2Prometheus added in v1.6.0

type AlertV2Prometheus struct {
	AlertV2Common
	Config AlertV2ConfigPrometheus `json:"config"`
}

type AlertV2PrometheusInterface added in v1.6.0

type AlertV2PrometheusInterface interface {
	Base
	CreateAlertV2Prometheus(ctx context.Context, alert AlertV2Prometheus) (AlertV2Prometheus, error)
	UpdateAlertV2Prometheus(ctx context.Context, alert AlertV2Prometheus) (AlertV2Prometheus, error)
	GetAlertV2PrometheusByID(ctx context.Context, alertID int) (AlertV2Prometheus, error)
	DeleteAlertV2Prometheus(ctx context.Context, alertID int) error
}

type AlertV2Severity added in v1.6.0

type AlertV2Severity string
const (
	AlertV2SeverityHigh   AlertV2Severity = "high"
	AlertV2SeverityMedium AlertV2Severity = "medium"
	AlertV2SeverityLow    AlertV2Severity = "low"
	AlertV2SeverityInfo   AlertV2Severity = "info"
)

type AlertV2Type added in v1.6.0

type AlertV2Type string
const (
	AlertV2TypePrometheus          AlertV2Type = "PROMETHEUS"
	AlertV2TypeManual              AlertV2Type = "MANUAL"
	AlertV2TypeEvent               AlertV2Type = "EVENT"
	AlertV2TypeChange              AlertV2Type = "PERCENTAGE_OF_CHANGE"
	AlertV2TypeFormBasedPrometheus AlertV2Type = "FORM_BASED_PROMETHEUS"
	AlertV2TypeGroupOutlier        AlertV2Type = "GROUP_OUTLIERS"
	AlertV2TypeDowntime            AlertV2Type = "DOWNTIME"
)

type AxesConfiguration added in v1.5.0

type AxesConfiguration struct {
	Bottom Bottom `json:"bottom"`
	Left   Left   `json:"left"`
	Right  Right  `json:"right"`
}

type Base added in v1.3.0

type Base interface {
	CurrentTeamID(ctx context.Context) (int, error)
}

type Bottom added in v1.5.0

type Bottom struct {
	Enabled bool `json:"enabled"`
}

type Bundle added in v1.58.0

type Bundle struct {
	ID int64 `json:"id"`
}

type CaptureConfigV2 added in v1.6.0

type CaptureConfigV2 struct {
	DurationSec int    `json:"durationSec"`
	Storage     string `json:"storage"`
	Filter      string `json:"filter"`
	FileName    string `json:"fileName"`
	Enabled     bool   `json:"enabled"`
}

type Client

type Client struct {
	// contains filtered or unexported fields
}

func (*Client) CreateAgentAccessKey added in v1.23.6

func (c *Client) CreateAgentAccessKey(ctx context.Context, agentAccessKey *AgentAccessKey) (createdAccessKey *AgentAccessKey, err error)

func (*Client) CreateAlert added in v1.4.0

func (c *Client) CreateAlert(ctx context.Context, alert Alert) (createdAlert Alert, err error)

func (*Client) CreateAlertV2Change added in v1.12.0

func (c *Client) CreateAlertV2Change(ctx context.Context, alert AlertV2Change) (AlertV2Change, error)

func (*Client) CreateAlertV2Downtime added in v1.6.0

func (c *Client) CreateAlertV2Downtime(ctx context.Context, alert AlertV2Downtime) (AlertV2Downtime, error)

func (*Client) CreateAlertV2Event added in v1.6.0

func (c *Client) CreateAlertV2Event(ctx context.Context, alert AlertV2Event) (AlertV2Event, error)

func (*Client) CreateAlertV2FormBasedPrometheus added in v1.12.0

func (c *Client) CreateAlertV2FormBasedPrometheus(ctx context.Context, alert AlertV2FormBasedPrometheus) (AlertV2FormBasedPrometheus, error)

func (*Client) CreateAlertV2GroupOutlier added in v1.20.0

func (c *Client) CreateAlertV2GroupOutlier(ctx context.Context, alert AlertV2GroupOutlier) (AlertV2GroupOutlier, error)

func (*Client) CreateAlertV2Metric added in v1.6.0

func (c *Client) CreateAlertV2Metric(ctx context.Context, alert AlertV2Metric) (AlertV2Metric, error)

func (*Client) CreateAlertV2Prometheus added in v1.6.0

func (c *Client) CreateAlertV2Prometheus(ctx context.Context, alert AlertV2Prometheus) (createdAlert AlertV2Prometheus, err error)

func (*Client) CreateCloudAccountMonitor added in v1.4.2

func (c *Client) CreateCloudAccountMonitor(ctx context.Context, provider *CloudAccountMonitor) (createdProvider *CloudAccountMonitor, err error)

func (*Client) CreateCloudAccountMonitorForCost added in v1.41.0

func (c *Client) CreateCloudAccountMonitorForCost(ctx context.Context, provider *CloudAccountMonitorForCost) (createdProvider *CloudAccountCreatedForCost, err error)

func (*Client) CreateCloudAccountSecure added in v1.4.2

func (c *Client) CreateCloudAccountSecure(ctx context.Context, cloudAccount *CloudAccountSecure) (createdAccount *CloudAccountSecure, err error)

func (*Client) CreateCloudauthAccountComponentSecure added in v1.24.2

func (c *Client) CreateCloudauthAccountComponentSecure(ctx context.Context, accountID string, cloudAccountComponent *CloudauthAccountComponentSecure) (component *CloudauthAccountComponentSecure, errString string, err error)

func (*Client) CreateCloudauthAccountSecure added in v1.15.0

func (c *Client) CreateCloudauthAccountSecure(ctx context.Context, cloudAccount *CloudauthAccountSecure) (account *CloudauthAccountSecure, errStatus string, err error)

func (*Client) CreateCompositePolicy added in v1.23.0

func (c *Client) CreateCompositePolicy(ctx context.Context, policy PolicyRulesComposite) (policyComposite PolicyRulesComposite, err error)

func (*Client) CreateCustomRole added in v1.11.0

func (c *Client) CreateCustomRole(ctx context.Context, cr *CustomRole) (customRole *CustomRole, err error)

func (*Client) CreateDashboard added in v1.5.0

func (c *Client) CreateDashboard(ctx context.Context, dashboard *Dashboard) (createdDashboard *Dashboard, err error)

func (*Client) CreateDeprecatedScanningPolicy added in v1.57.0

func (c *Client) CreateDeprecatedScanningPolicy(ctx context.Context, scanningPolicy DeprecatedScanningPolicy) (policy DeprecatedScanningPolicy, err error)

func (*Client) CreateDeprecatedScanningPolicyAssignmentList added in v1.57.0

func (c *Client) CreateDeprecatedScanningPolicyAssignmentList(ctx context.Context, scanningPolicyAssignmentList DeprecatedScanningPolicyAssignmentList) (list DeprecatedScanningPolicyAssignmentList, err error)

func (*Client) CreateDeprecatedVulnerabilityException added in v1.57.0

func (c *Client) CreateDeprecatedVulnerabilityException(ctx context.Context, listID string, exception *DeprecatedVulnerabilityException) (createdException *DeprecatedVulnerabilityException, err error)

func (*Client) CreateDeprecatedVulnerabilityExceptionList added in v1.57.0

func (c *Client) CreateDeprecatedVulnerabilityExceptionList(ctx context.Context, list *DeprecatedVulnerabilityExceptionList) (createdList *DeprecatedVulnerabilityExceptionList, err error)

func (*Client) CreateGroupMapping added in v1.4.0

func (c *Client) CreateGroupMapping(ctx context.Context, gm *GroupMapping) (mapping *GroupMapping, err error)

func (*Client) CreateIPFilter added in v1.35.0

func (c *Client) CreateIPFilter(ctx context.Context, ipFilter *IPFilter) (createdFilter *IPFilter, err error)

func (*Client) CreateInhibitionRule added in v1.30.0

func (c *Client) CreateInhibitionRule(ctx context.Context, inhibitionRule InhibitionRule) (rule InhibitionRule, err error)

func (*Client) CreateList added in v1.4.1

func (c *Client) CreateList(ctx context.Context, list List) (createdList List, err error)

func (*Client) CreateMacro added in v1.4.1

func (c *Client) CreateMacro(ctx context.Context, macro Macro) (createdMacro Macro, err error)

func (*Client) CreateNotificationChannel added in v1.2.0

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

func (*Client) CreateOrUpdateCloudauthAccountFeatureSecure added in v1.24.4

func (c *Client) CreateOrUpdateCloudauthAccountFeatureSecure(ctx context.Context, accountID, featureType string, cloudAccountFeature *CloudauthAccountFeatureSecure) (feature *CloudauthAccountFeatureSecure, statusCode string, err error)

func (*Client) CreateOrUpdatePostureControl added in v1.31.0

func (c *Client) CreateOrUpdatePostureControl(ctx context.Context, p *SaveControlRequest) (control *PostureControl, status string, err error)

func (*Client) CreateOrUpdatePosturePolicy added in v1.25.0

func (c *Client) CreateOrUpdatePosturePolicy(ctx context.Context, p *CreatePosturePolicy) (policy *FullPosturePolicy, errString string, err error)

func (*Client) CreateOrUpdatePostureZone added in v1.10.0

func (c *Client) CreateOrUpdatePostureZone(ctx context.Context, r *PostureZoneRequest) (zone *PostureZone, errStatus string, err error)

func (*Client) CreateOrganizationSecure added in v1.15.0

func (c *Client) CreateOrganizationSecure(ctx context.Context, org *OrganizationSecure) (organization *OrganizationSecure, errString string, err error)

func (*Client) CreatePolicy added in v1.4.1

func (c *Client) CreatePolicy(ctx context.Context, policy Policy) (createdPolicy Policy, err error)

func (*Client) CreateRule added in v1.4.2

func (c *Client) CreateRule(ctx context.Context, rule Rule) (createdRule Rule, err error)

func (*Client) CreateSilenceRule added in v1.12.0

func (c *Client) CreateSilenceRule(ctx context.Context, silenceRule SilenceRule) (rule SilenceRule, err error)

func (*Client) CreateStatefulRule added in v1.49.0

func (c *Client) CreateStatefulRule(ctx context.Context, rule Rule) (createdRule Rule, err error)

func (*Client) CreateTeam

func (c *Client) CreateTeam(ctx context.Context, team Team) (createdTeam Team, err error)

func (*Client) CreateTeamServiceAccount added in v1.11.0

func (c *Client) CreateTeamServiceAccount(ctx context.Context, account *TeamServiceAccount) (teamAccount *TeamServiceAccount, err error)

func (*Client) CreateUser added in v1.4.0

func (c *Client) CreateUser(ctx context.Context, user *User) (createdUser *User, err error)

func (*Client) CreateVulnerabilityPolicy added in v1.58.0

func (c *Client) CreateVulnerabilityPolicy(ctx context.Context, vulnerabilityPolicy VulnerabilityPolicy) (policy VulnerabilityPolicy, err error)

func (*Client) CreateVulnerabilityRuleBundle added in v1.59.0

func (c *Client) CreateVulnerabilityRuleBundle(ctx context.Context, vulnerabilityRuleBundle VulnerabilityRuleBundle) (ruleBundle VulnerabilityRuleBundle, err error)

func (*Client) CreateZone added in v1.50.0

func (c *Client) CreateZone(ctx context.Context, zone *ZoneRequest) (createdZone *Zone, err error)

func (*Client) CurrentTeamID added in v1.3.0

func (c *Client) CurrentTeamID(ctx context.Context) (int, error)

func (*Client) DeleteAcceptancePostureRisk added in v1.38.0

func (c *Client) DeleteAcceptancePostureRisk(ctx context.Context, p *DeleteAcceptPostureRisk) (err error)

func (*Client) DeleteAcceptanceVulnerabilityRisk added in v1.45.0

func (c *Client) DeleteAcceptanceVulnerabilityRisk(ctx context.Context, id string) (err error)

func (*Client) DeleteAgentAccessKey added in v1.23.6

func (c *Client) DeleteAgentAccessKey(ctx context.Context, id string) (err error)

func (*Client) DeleteAgentAccessKeyURL added in v1.57.0

func (c *Client) DeleteAgentAccessKeyURL(id string) string

func (*Client) DeleteAlertByID added in v1.57.0

func (c *Client) DeleteAlertByID(ctx context.Context, alertID int) (err error)

func (*Client) DeleteAlertV2Change added in v1.12.0

func (c *Client) DeleteAlertV2Change(ctx context.Context, alertID int) error

func (*Client) DeleteAlertV2Downtime added in v1.6.0

func (c *Client) DeleteAlertV2Downtime(ctx context.Context, alertID int) error

func (*Client) DeleteAlertV2Event added in v1.6.0

func (c *Client) DeleteAlertV2Event(ctx context.Context, alertID int) error

func (*Client) DeleteAlertV2FormBasedPrometheus added in v1.12.0

func (c *Client) DeleteAlertV2FormBasedPrometheus(ctx context.Context, alertID int) error

func (*Client) DeleteAlertV2GroupOutlier added in v1.20.0

func (c *Client) DeleteAlertV2GroupOutlier(ctx context.Context, alertID int) error

func (*Client) DeleteAlertV2Metric added in v1.6.0

func (c *Client) DeleteAlertV2Metric(ctx context.Context, alertID int) error

func (*Client) DeleteAlertV2Prometheus added in v1.6.0

func (c *Client) DeleteAlertV2Prometheus(ctx context.Context, alertID int) error

func (*Client) DeleteCloudAccountMonitor added in v1.4.2

func (c *Client) DeleteCloudAccountMonitor(ctx context.Context, id int) (err error)

func (*Client) DeleteCloudAccountSecure added in v1.4.2

func (c *Client) DeleteCloudAccountSecure(ctx context.Context, accountID string) (err error)

func (*Client) DeleteCloudauthAccountComponentSecure added in v1.24.2

func (c *Client) DeleteCloudauthAccountComponentSecure(ctx context.Context, accountID, componentType, componentInstance string) (errString string, err error)

func (*Client) DeleteCloudauthAccountFeatureSecure added in v1.24.4

func (c *Client) DeleteCloudauthAccountFeatureSecure(ctx context.Context, accountID, featureType string) (statusCode string, err error)

func (*Client) DeleteCloudauthAccountSecure added in v1.15.0

func (c *Client) DeleteCloudauthAccountSecure(ctx context.Context, accountID string) (errStatus string, err error)

func (*Client) DeleteCompositePolicy added in v1.23.0

func (c *Client) DeleteCompositePolicy(ctx context.Context, policyID int) (err error)

func (*Client) DeleteCustomRole added in v1.11.0

func (c *Client) DeleteCustomRole(ctx context.Context, id int) (err error)

func (*Client) DeleteDashboard added in v1.5.0

func (c *Client) DeleteDashboard(ctx context.Context, ID int) (err error)

func (*Client) DeleteDeprecatedScanningPolicyAssignmentList added in v1.57.0

func (c *Client) DeleteDeprecatedScanningPolicyAssignmentList(ctx context.Context, scanningPolicyAssignmentList DeprecatedScanningPolicyAssignmentList) (err error)

func (*Client) DeleteDeprecatedScanningPolicyByID added in v1.57.0

func (c *Client) DeleteDeprecatedScanningPolicyByID(ctx context.Context, scanningPolicyID string) (err error)

func (*Client) DeleteDeprecatedVulnerabilityException added in v1.57.0

func (c *Client) DeleteDeprecatedVulnerabilityException(ctx context.Context, listID string, exceptionID string) (err error)

func (*Client) DeleteDeprecatedVulnerabilityExceptionList added in v1.57.0

func (c *Client) DeleteDeprecatedVulnerabilityExceptionList(ctx context.Context, id string) (err error)

func (*Client) DeleteGroupMapping added in v1.4.0

func (c *Client) DeleteGroupMapping(ctx context.Context, id int) (err error)

func (*Client) DeleteIPFilter added in v1.35.0

func (c *Client) DeleteIPFilter(ctx context.Context, id int) (err error)

func (*Client) DeleteInhibitionRule added in v1.30.0

func (c *Client) DeleteInhibitionRule(ctx context.Context, id int) (err error)

func (*Client) DeleteList added in v1.4.1

func (c *Client) DeleteList(ctx context.Context, id int) (err error)

func (*Client) DeleteMacro added in v1.4.1

func (c *Client) DeleteMacro(ctx context.Context, id int) (err error)

func (*Client) DeleteNotificationChannel added in v1.2.0

func (c *Client) DeleteNotificationChannel(ctx context.Context, id int) (err error)

func (*Client) DeleteOrganizationSecure added in v1.15.0

func (c *Client) DeleteOrganizationSecure(ctx context.Context, orgID string) (errString string, err error)

func (*Client) DeletePolicy added in v1.4.1

func (c *Client) DeletePolicy(ctx context.Context, policyID int) (err error)

func (*Client) DeletePostureControlByID added in v1.57.0

func (c *Client) DeletePostureControlByID(ctx context.Context, id int64) (err error)

func (*Client) DeletePosturePolicy added in v1.26.0

func (c *Client) DeletePosturePolicy(ctx context.Context, id int64) (err error)

func (*Client) DeletePostureZone added in v1.10.0

func (c *Client) DeletePostureZone(ctx context.Context, id int) (err error)

func (*Client) DeleteRule added in v1.4.2

func (c *Client) DeleteRule(ctx context.Context, ruleID int) (err error)

func (*Client) DeleteSilenceRule added in v1.12.0

func (c *Client) DeleteSilenceRule(ctx context.Context, id int) (err error)

func (*Client) DeleteStatefulRule added in v1.49.0

func (c *Client) DeleteStatefulRule(ctx context.Context, ruleID int) (err error)

func (*Client) DeleteTeam

func (c *Client) DeleteTeam(ctx context.Context, id int) (err error)

func (*Client) DeleteTeamServiceAccount added in v1.11.0

func (c *Client) DeleteTeamServiceAccount(ctx context.Context, id int) (err error)

func (*Client) DeleteUser added in v1.4.0

func (c *Client) DeleteUser(ctx context.Context, id int) (err error)

func (*Client) DeleteVulnerabilityPolicyByID added in v1.58.0

func (c *Client) DeleteVulnerabilityPolicyByID(ctx context.Context, vulnerabilityPolicyID string) (err error)

func (*Client) DeleteVulnerabilityRuleBundleByID added in v1.59.0

func (c *Client) DeleteVulnerabilityRuleBundleByID(ctx context.Context, vulnerabilityRuleBundleID string) (err error)

func (*Client) DeleteZone added in v1.50.0

func (c *Client) DeleteZone(ctx context.Context, id int) (err error)

func (*Client) ErrorAndStatusFromResponse added in v1.15.0

func (c *Client) ErrorAndStatusFromResponse(response *http.Response) (string, error)

func (*Client) ErrorFromResponse

func (c *Client) ErrorFromResponse(response *http.Response) error

func (*Client) GetAcceptancePostureRisk added in v1.38.0

func (c *Client) GetAcceptancePostureRisk(ctx context.Context, id string) (risk *AcceptPostureRiskResponse, errString string, err error)

func (*Client) GetAcceptanceVulnerabilityRiskByID added in v1.57.0

func (c *Client) GetAcceptanceVulnerabilityRiskByID(ctx context.Context, id string) (risk *AcceptVulnerabilityRisk, statusCode int, err error)

func (*Client) GetAgentAccessKeyByID added in v1.23.6

func (c *Client) GetAgentAccessKeyByID(ctx context.Context, id string) (accessKey *AgentAccessKey, err error)

func (*Client) GetAgentlessScanningAssetsSecure added in v1.28.0

func (c *Client) GetAgentlessScanningAssetsSecure(ctx context.Context) (assets map[string]any, err error)

func (*Client) GetAlertByID added in v1.4.0

func (c *Client) GetAlertByID(ctx context.Context, alertID int) (alert Alert, err error)

func (*Client) GetAlertV2ChangeByID added in v1.57.0

func (c *Client) GetAlertV2ChangeByID(ctx context.Context, alertID int) (AlertV2Change, error)

func (*Client) GetAlertV2DowntimeByID added in v1.57.0

func (c *Client) GetAlertV2DowntimeByID(ctx context.Context, alertID int) (AlertV2Downtime, error)

func (*Client) GetAlertV2EventByID added in v1.57.0

func (c *Client) GetAlertV2EventByID(ctx context.Context, alertID int) (AlertV2Event, error)

func (*Client) GetAlertV2FormBasedPrometheusByID added in v1.57.0

func (c *Client) GetAlertV2FormBasedPrometheusByID(ctx context.Context, alertID int) (AlertV2FormBasedPrometheus, error)

func (*Client) GetAlertV2GroupOutlierByID added in v1.57.0

func (c *Client) GetAlertV2GroupOutlierByID(ctx context.Context, alertID int) (AlertV2GroupOutlier, error)

func (*Client) GetAlertV2MetricByID added in v1.57.0

func (c *Client) GetAlertV2MetricByID(ctx context.Context, alertID int) (AlertV2Metric, error)

func (*Client) GetAlertV2PrometheusByID added in v1.57.0

func (c *Client) GetAlertV2PrometheusByID(ctx context.Context, alertID int) (AlertV2Prometheus, error)

func (*Client) GetCloudAccountMonitorByID added in v1.57.0

func (c *Client) GetCloudAccountMonitorByID(ctx context.Context, id int) (account *CloudAccountMonitor, err error)

func (*Client) GetCloudAccountMonitorForCostByID added in v1.57.0

func (c *Client) GetCloudAccountMonitorForCostByID(ctx context.Context, id int) (provider *CloudAccountCostProvider, err error)

func (*Client) GetCloudAccountSecureByID added in v1.57.0

func (c *Client) GetCloudAccountSecureByID(ctx context.Context, accountID string) (cloudAccount *CloudAccountSecure, err error)

func (*Client) GetCloudIngestionAssetsSecure added in v1.33.0

func (c *Client) GetCloudIngestionAssetsSecure(ctx context.Context, provider, providerID, componentType string) (assets map[string]any, err error)

func (*Client) GetCloudauthAccountComponentSecure added in v1.24.2

func (c *Client) GetCloudauthAccountComponentSecure(ctx context.Context, accountID, componentType, componentInstance string) (component *CloudauthAccountComponentSecure, errString string, err error)

func (*Client) GetCloudauthAccountFeatureSecure added in v1.24.4

func (c *Client) GetCloudauthAccountFeatureSecure(ctx context.Context, accountID, featureType string) (feature *CloudauthAccountFeatureSecure, statusCode string, err error)

func (*Client) GetCloudauthAccountSecureByID added in v1.57.0

func (c *Client) GetCloudauthAccountSecureByID(ctx context.Context, accountID string) (account *CloudauthAccountSecure, errStatus string, err error)

func (*Client) GetCompositePolicyByID added in v1.23.0

func (c *Client) GetCompositePolicyByID(ctx context.Context, policyID int) (policyComposite PolicyRulesComposite, statusCode int, err error)

func (*Client) GetCurrentUser added in v1.4.0

func (c *Client) GetCurrentUser(ctx context.Context) (u *User, err error)

func (*Client) GetCustomRoleByID added in v1.57.0

func (c *Client) GetCustomRoleByID(ctx context.Context, id int) (customRole *CustomRole, err error)

func (*Client) GetCustomRoleByName added in v1.11.0

func (c *Client) GetCustomRoleByName(ctx context.Context, name string) (customRole *CustomRole, err error)

func (*Client) GetDashboardByID added in v1.57.0

func (c *Client) GetDashboardByID(ctx context.Context, ID int) (dashboard *Dashboard, err error)

func (*Client) GetDeprecatedScanningPolicyAssignmentList added in v1.57.0

func (c *Client) GetDeprecatedScanningPolicyAssignmentList(ctx context.Context) (list DeprecatedScanningPolicyAssignmentList, err error)

func (*Client) GetDeprecatedScanningPolicyByID added in v1.57.0

func (c *Client) GetDeprecatedScanningPolicyByID(ctx context.Context, scanningPolicyID string) (policy DeprecatedScanningPolicy, err error)

func (*Client) GetDeprecatedVulnerabilityExceptionByID added in v1.57.0

func (c *Client) GetDeprecatedVulnerabilityExceptionByID(ctx context.Context, listID string, exceptionID string) (exception *DeprecatedVulnerabilityException, err error)

func (*Client) GetDeprectedVulnerabilityExceptionListByID added in v1.57.0

func (c *Client) GetDeprectedVulnerabilityExceptionListByID(ctx context.Context, id string) (list *DeprecatedVulnerabilityExceptionList, err error)

func (*Client) GetGroupMapping added in v1.4.0

func (c *Client) GetGroupMapping(ctx context.Context, id int) (mapping *GroupMapping, err error)

func (*Client) GetGroupMappingConfig added in v1.8.0

func (c *Client) GetGroupMappingConfig(ctx context.Context) (mapping *GroupMappingConfig, err error)

func (*Client) GetIPFilterByID added in v1.57.0

func (c *Client) GetIPFilterByID(ctx context.Context, id int) (ipFilter *IPFilter, err error)

func (*Client) GetIPFilteringSettings added in v1.35.0

func (c *Client) GetIPFilteringSettings(ctx context.Context) (settings *IPFiltersSettings, err error)

func (*Client) GetIPFiltersSettingsURL added in v1.35.0

func (c *Client) GetIPFiltersSettingsURL() string

func (*Client) GetIdentityContext added in v1.10.0

func (c *Client) GetIdentityContext(ctx context.Context) (idx *IdentityContext, err error)

func (*Client) GetInhibitionRuleByID added in v1.57.0

func (c *Client) GetInhibitionRuleByID(ctx context.Context, id int) (rule InhibitionRule, err error)

func (*Client) GetListByID added in v1.4.1

func (c *Client) GetListByID(ctx context.Context, id int) (list List, err error)

func (*Client) GetMacroByID added in v1.4.1

func (c *Client) GetMacroByID(ctx context.Context, id int) (macro Macro, err error)

func (*Client) GetNotificationChannelByID added in v1.57.0

func (c *Client) GetNotificationChannelByID(ctx context.Context, id int) (nc NotificationChannel, err error)

func (*Client) GetNotificationChannelByName added in v1.2.0

func (c *Client) GetNotificationChannelByName(ctx context.Context, name string) (nc NotificationChannel, err error)

func (*Client) GetOrganizationSecure added in v1.15.0

func (c *Client) GetOrganizationSecure(ctx context.Context, orgID string) (organization *OrganizationSecure, errString string, err error)

func (*Client) GetPermissionsDependencies added in v1.11.0

func (c *Client) GetPermissionsDependencies(ctx context.Context, product Product, permissions []string) ([]Dependency, error)

func (*Client) GetPolicies added in v1.5.0

func (c *Client) GetPolicies(ctx context.Context) (policies []Policy, statusCode int, err error)

func (*Client) GetPolicyByID added in v1.4.1

func (c *Client) GetPolicyByID(ctx context.Context, policyID int) (policy Policy, statusCode int, err error)

func (*Client) GetPostureControlByID added in v1.57.0

func (c *Client) GetPostureControlByID(ctx context.Context, id int64) (control *PostureControl, err error)

func (*Client) GetPosturePolicyByID added in v1.57.0

func (c *Client) GetPosturePolicyByID(ctx context.Context, id int64) (policy *FullPosturePolicy, err error)

func (*Client) GetPostureZoneByID added in v1.57.0

func (c *Client) GetPostureZoneByID(ctx context.Context, id int) (zone *PostureZone, err error)

func (*Client) GetRuleByID added in v1.4.2

func (c *Client) GetRuleByID(ctx context.Context, ruleID int) (rule Rule, statusCode int, err error)

func (*Client) GetRuleGroup added in v1.7.0

func (c *Client) GetRuleGroup(ctx context.Context, ruleName string, ruleType string) (rules []Rule, err error)

func (*Client) GetSilenceRule added in v1.12.0

func (c *Client) GetSilenceRule(ctx context.Context, id int) (rule SilenceRule, err error)

func (*Client) GetStatefulRuleGroup added in v1.49.0

func (c *Client) GetStatefulRuleGroup(ctx context.Context, ruleName string, ruleType string) (rules []Rule, err error)

func (*Client) GetTeamByID added in v1.57.0

func (c *Client) GetTeamByID(ctx context.Context, id int) (team Team, err error)

func (*Client) GetTeamServiceAccountByID added in v1.11.0

func (c *Client) GetTeamServiceAccountByID(ctx context.Context, id int) (team *TeamServiceAccount, err error)

func (*Client) GetTenantExternalIDSecure added in v1.27.0

func (c *Client) GetTenantExternalIDSecure(ctx context.Context) (tenant string, err error)

func (*Client) GetTrustedAzureAppSecure added in v1.28.0

func (c *Client) GetTrustedAzureAppSecure(ctx context.Context, app string) (trusted map[string]string, err error)

func (*Client) GetTrustedCloudIdentitySecure added in v1.4.2

func (c *Client) GetTrustedCloudIdentitySecure(ctx context.Context, provider string) (identity string, err error)

func (*Client) GetTrustedCloudRegulationAssetsSecure added in v1.38.0

func (c *Client) GetTrustedCloudRegulationAssetsSecure(ctx context.Context, provider string) (assets map[string]string, err error)

func (*Client) GetTrustedOracleAppSecure added in v1.40.0

func (c *Client) GetTrustedOracleAppSecure(ctx context.Context, app string) (trustedApp map[string]string, err error)

func (*Client) GetUserByEmail added in v1.4.0

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

func (*Client) GetUserByID added in v1.57.0

func (c *Client) GetUserByID(ctx context.Context, id int) (user *User, error error)

func (*Client) GetUserByUsername added in v1.4.0

func (c *Client) GetUserByUsername(ctx context.Context, username string) (user *User, err error)

func (*Client) GetUserIDByEmail

func (c *Client) GetUserIDByEmail(ctx context.Context, userRoles []UserRoles) (modifiedUserRoles []UserRoles, err error)

func (*Client) GetVulnerabilityPolicyByID added in v1.58.0

func (c *Client) GetVulnerabilityPolicyByID(ctx context.Context, vulnerabilityPolicyID string) (policy VulnerabilityPolicy, err error)

func (*Client) GetVulnerabilityRuleBundleByID added in v1.59.0

func (c *Client) GetVulnerabilityRuleBundleByID(ctx context.Context, vulnerabilityRuleBundleID string) (ruleBundle VulnerabilityRuleBundle, err error)

func (*Client) GetZoneByID added in v1.57.0

func (c *Client) GetZoneByID(ctx context.Context, id int) (zone *Zone, err error)

func (*Client) GetZones added in v1.50.0

func (c *Client) GetZones(ctx context.Context, name string) (zones []Zone, err error)

func (*Client) ListCompositePoliciesByNameAndType added in v1.57.0

func (c *Client) ListCompositePoliciesByNameAndType(ctx context.Context, policyType string, policyName string) (list []PolicyRulesComposite, statusCode int, err error)

ListCompositePoliciesByNameAndType is used in a data source to retrieve a policy by name and type. We must retrieve and iterate over all policies, as there is no endpoint to get a policy by name.

func (*Client) ListPosturePolicies added in v1.10.0

func (c *Client) ListPosturePolicies(ctx context.Context) (policies []PosturePolicy, err error)

func (*Client) ListTeams added in v1.53.0

func (c *Client) ListTeams(ctx context.Context) (teams []Team, err error)

func (*Client) SaveAcceptPostureRisk added in v1.38.0

func (c *Client) SaveAcceptPostureRisk(ctx context.Context, p *AccepetPostureRiskRequest) (risk *AcceptPostureRiskResponse, errString string, err error)

func (*Client) SaveAcceptVulnerabilityRisk added in v1.45.0

func (c *Client) SaveAcceptVulnerabilityRisk(ctx context.Context, p *AcceptVulnerabilityRiskRequest) (risk *AcceptVulnerabilityRisk, statusCode int, err error)

func (*Client) SendPoliciesToAgents added in v1.14.0

func (c *Client) SendPoliciesToAgents(ctx context.Context) (err error)

func (*Client) UpdateAcceptancePostureRisk added in v1.38.0

func (c *Client) UpdateAcceptancePostureRisk(ctx context.Context, p *UpdateAccepetPostureRiskRequest) (risk *AcceptPostureRisk, errString string, err error)

func (*Client) UpdateAcceptanceVulnerabilityRisk added in v1.45.0

func (c *Client) UpdateAcceptanceVulnerabilityRisk(ctx context.Context, p *UpdateAcceptVulnerabilityRiskRequest) (risk *AcceptVulnerabilityRisk, statusCode int, err error)

func (*Client) UpdateAgentAccessKey added in v1.23.6

func (c *Client) UpdateAgentAccessKey(ctx context.Context, agentAccessKey *AgentAccessKey, id string) (updatedAccessKey *AgentAccessKey, err error)

func (*Client) UpdateAlert added in v1.4.0

func (c *Client) UpdateAlert(ctx context.Context, alert Alert) (updatedAlert Alert, err error)

func (*Client) UpdateAlertV2Change added in v1.12.0

func (c *Client) UpdateAlertV2Change(ctx context.Context, alert AlertV2Change) (AlertV2Change, error)

func (*Client) UpdateAlertV2Downtime added in v1.6.0

func (c *Client) UpdateAlertV2Downtime(ctx context.Context, alert AlertV2Downtime) (AlertV2Downtime, error)

func (*Client) UpdateAlertV2Event added in v1.6.0

func (c *Client) UpdateAlertV2Event(ctx context.Context, alert AlertV2Event) (AlertV2Event, error)

func (*Client) UpdateAlertV2FormBasedPrometheus added in v1.12.0

func (c *Client) UpdateAlertV2FormBasedPrometheus(ctx context.Context, alert AlertV2FormBasedPrometheus) (AlertV2FormBasedPrometheus, error)

func (*Client) UpdateAlertV2GroupOutlier added in v1.20.0

func (c *Client) UpdateAlertV2GroupOutlier(ctx context.Context, alert AlertV2GroupOutlier) (AlertV2GroupOutlier, error)

func (*Client) UpdateAlertV2Metric added in v1.6.0

func (c *Client) UpdateAlertV2Metric(ctx context.Context, alert AlertV2Metric) (AlertV2Metric, error)

func (*Client) UpdateAlertV2Prometheus added in v1.6.0

func (c *Client) UpdateAlertV2Prometheus(ctx context.Context, alert AlertV2Prometheus) (AlertV2Prometheus, error)

func (*Client) UpdateCloudAccountMonitor added in v1.4.2

func (c *Client) UpdateCloudAccountMonitor(ctx context.Context, id int, provider *CloudAccountMonitor) (updatedProvider *CloudAccountMonitor, err error)

func (*Client) UpdateCloudAccountMonitorForCost added in v1.41.0

func (c *Client) UpdateCloudAccountMonitorForCost(ctx context.Context, provider *CloudAccountCostProvider) (updatedProvider *CloudAccountCostProvider, err error)

func (*Client) UpdateCloudAccountSecure added in v1.4.2

func (c *Client) UpdateCloudAccountSecure(ctx context.Context, accountID string, cloudAccount *CloudAccountSecure) (updatedAccount *CloudAccountSecure, err error)

func (*Client) UpdateCloudauthAccountComponentSecure added in v1.24.2

func (c *Client) UpdateCloudauthAccountComponentSecure(ctx context.Context, accountID, componentType, componentInstance string, cloudAccountComponent *CloudauthAccountComponentSecure) (component *CloudauthAccountComponentSecure, errString string, err error)

func (*Client) UpdateCloudauthAccountSecure added in v1.15.0

func (c *Client) UpdateCloudauthAccountSecure(ctx context.Context, accountID string, cloudAccount *CloudauthAccountSecure) (account *CloudauthAccountSecure, errString string, err error)

func (*Client) UpdateCompositePolicy added in v1.23.0

func (c *Client) UpdateCompositePolicy(ctx context.Context, policy PolicyRulesComposite) (policyComposite PolicyRulesComposite, err error)

func (*Client) UpdateCustomRole added in v1.11.0

func (c *Client) UpdateCustomRole(ctx context.Context, cr *CustomRole, id int) (customRole *CustomRole, err error)

func (*Client) UpdateDashboard added in v1.5.0

func (c *Client) UpdateDashboard(ctx context.Context, dashboard *Dashboard) (updatedDashboard *Dashboard, err error)

func (*Client) UpdateDeprecatedScanningPolicy added in v1.57.0

func (c *Client) UpdateDeprecatedScanningPolicy(ctx context.Context, scanningPolicy DeprecatedScanningPolicy) (policy DeprecatedScanningPolicy, err error)

func (*Client) UpdateDeprecatedVulnerabilityException added in v1.57.0

func (c *Client) UpdateDeprecatedVulnerabilityException(ctx context.Context, listID string, exception *DeprecatedVulnerabilityException) (updatedException *DeprecatedVulnerabilityException, err error)

func (*Client) UpdateDeprecatedVulnerabilityExceptionList added in v1.57.0

func (c *Client) UpdateDeprecatedVulnerabilityExceptionList(ctx context.Context, list *DeprecatedVulnerabilityExceptionList) (updatedList *DeprecatedVulnerabilityExceptionList, err error)

func (*Client) UpdateGroupMapping added in v1.4.0

func (c *Client) UpdateGroupMapping(ctx context.Context, gm *GroupMapping, id int) (mapping *GroupMapping, err error)

func (*Client) UpdateGroupMappingConfig added in v1.8.0

func (c *Client) UpdateGroupMappingConfig(ctx context.Context, gmc *GroupMappingConfig) (mapping *GroupMappingConfig, err error)

func (*Client) UpdateIPFilter added in v1.35.0

func (c *Client) UpdateIPFilter(ctx context.Context, ipFilter *IPFilter, id int) (updatedFilter *IPFilter, err error)

func (*Client) UpdateIPFilteringSettings added in v1.35.0

func (c *Client) UpdateIPFilteringSettings(ctx context.Context, ipFiltersSettings *IPFiltersSettings) (settings *IPFiltersSettings, err error)

func (*Client) UpdateInhibitionRule added in v1.30.0

func (c *Client) UpdateInhibitionRule(ctx context.Context, inhibitionRule InhibitionRule) (rule InhibitionRule, err error)

func (*Client) UpdateList added in v1.4.1

func (c *Client) UpdateList(ctx context.Context, list List) (updatedList List, err error)

func (*Client) UpdateMacro added in v1.4.1

func (c *Client) UpdateMacro(ctx context.Context, macro Macro) (updateMacro Macro, err error)

func (*Client) UpdateNotificationChannel added in v1.2.0

func (c *Client) UpdateNotificationChannel(ctx context.Context, channel NotificationChannel) (nc NotificationChannel, err error)

func (*Client) UpdateOrganizationSecure added in v1.15.0

func (c *Client) UpdateOrganizationSecure(ctx context.Context, orgID string, org *OrganizationSecure) (organization *OrganizationSecure, errString string, err error)

func (*Client) UpdatePolicy added in v1.4.1

func (c *Client) UpdatePolicy(ctx context.Context, policy Policy) (updatedPolicy Policy, err error)

func (*Client) UpdateRule added in v1.4.2

func (c *Client) UpdateRule(ctx context.Context, rule Rule) (updatedRule Rule, err error)

func (*Client) UpdateSilenceRule added in v1.12.0

func (c *Client) UpdateSilenceRule(ctx context.Context, silenceRule SilenceRule) (rule SilenceRule, err error)

func (*Client) UpdateStatefulRule added in v1.49.0

func (c *Client) UpdateStatefulRule(ctx context.Context, rule Rule) (updatedRule Rule, err error)

func (*Client) UpdateTeam

func (c *Client) UpdateTeam(ctx context.Context, team Team) (updatedTeam Team, err error)

func (*Client) UpdateTeamServiceAccount added in v1.11.0

func (c *Client) UpdateTeamServiceAccount(ctx context.Context, account *TeamServiceAccount, id int) (serviceAccount *TeamServiceAccount, err error)

func (*Client) UpdateUser added in v1.4.0

func (c *Client) UpdateUser(ctx context.Context, user *User) (updated *User, err error)

func (*Client) UpdateVulnerabilityPolicy added in v1.58.0

func (c *Client) UpdateVulnerabilityPolicy(ctx context.Context, vulnerabilityPolicy VulnerabilityPolicy) (policy VulnerabilityPolicy, err error)

func (*Client) UpdateVulnerabilityRuleBundle added in v1.59.0

func (c *Client) UpdateVulnerabilityRuleBundle(ctx context.Context, vulnerabilityRuleBundle VulnerabilityRuleBundle) (ruleBundle VulnerabilityRuleBundle, err error)

func (*Client) UpdateZone added in v1.50.0

func (c *Client) UpdateZone(ctx context.Context, zone *ZoneRequest) (updatedZone *Zone, err error)

type ClientOption

type ClientOption func(c *config)

func WithExtraHeaders

func WithExtraHeaders(headers map[string]string) ClientOption

func WithIBMAPIKey added in v1.1.0

func WithIBMAPIKey(key string) ClientOption

func WithIBMIamURL added in v1.1.0

func WithIBMIamURL(url string) ClientOption

func WithIBMInstanceID added in v1.1.0

func WithIBMInstanceID(instanceID string) ClientOption

func WithInsecure

func WithInsecure(insecure bool) ClientOption

func WithMonitorProduct added in v1.8.0

func WithMonitorProduct() ClientOption

func WithSecureProduct added in v1.8.0

func WithSecureProduct() ClientOption

func WithSkipPolicyV2Msg added in v1.14.0

func WithSkipPolicyV2Msg(skipPolicyV2Msg bool) ClientOption

func WithSysdigTeamID added in v1.3.0

func WithSysdigTeamID(teamID *int) ClientOption

func WithSysdigTeamName added in v1.3.0

func WithSysdigTeamName(teamName string) ClientOption

func WithToken

func WithToken(token string) ClientOption

func WithURL

func WithURL(url string) ClientOption

type CloudAccountCostProvider added in v1.41.0

type CloudAccountCostProvider struct {
	CustomerID      int                `json:"customerId"`
	ProviderID      string             `json:"providerId"`
	Provider        string             `json:"provider"`
	CredentialsID   string             `json:"credentialsId"`
	Feature         string             `json:"feature"`
	Config          CloudConfigForCost `json:"config"`
	Enabled         bool               `json:"enabled"`
	CredentialsType string             `json:"credentialsType"`
	RoleArn         string             `json:"roleArn"`
	ExternalID      string             `json:"externalId"`
}

type CloudAccountCostProviderWrapper added in v1.41.0

type CloudAccountCostProviderWrapper struct {
	CloudAccountCostProvider CloudAccountCostProvider `json:"item"`
}

type CloudAccountCreatedForCost added in v1.41.0

type CloudAccountCreatedForCost struct {
	ID              string `json:"id"`
	CustomerID      int    `json:"customerId"`
	ProviderID      string `json:"providerId"`
	Provider        string `json:"provider"`
	SkipFetch       bool   `json:"skipFetch"`
	IntegrationType string `json:"integrationType"`
	CredentialsType string `json:"credentialsType"`
	RoleArn         string `json:"roleArn"`
	ExternalID      string `json:"externalId"`
}

type CloudAccountCredentialsMonitor added in v1.4.2

type CloudAccountCredentialsMonitor struct {
	AccountID   string `json:"accountId"`
	RoleName    string `json:"roleName"`
	SecretKey   string `json:"key"`
	AccessKeyID string `json:"id"`
}

type CloudAccountMonitor added in v1.4.2

type CloudAccountMonitor struct {
	ID                int                            `json:"id"`
	Platform          string                         `json:"platform"`
	IntegrationType   string                         `json:"integrationType"`
	Credentials       CloudAccountCredentialsMonitor `json:"credentials"`
	AdditionalOptions string                         `json:"additionalOptions"`
}

type CloudAccountMonitorForCost added in v1.41.0

type CloudAccountMonitorForCost struct {
	Feature       string                         `json:"feature"`
	Platform      string                         `json:"platform"`
	Configuration CloudCostConfiguration         `json:"config"`
	Credentials   CloudAccountCredentialsMonitor `json:"credentials"`
}

type CloudAccountMonitorInterface added in v1.4.2

type CloudAccountMonitorInterface interface {
	Base
	CreateCloudAccountMonitor(ctx context.Context, provider *CloudAccountMonitor) (*CloudAccountMonitor, error)
	CreateCloudAccountMonitorForCost(ctx context.Context, provider *CloudAccountMonitorForCost) (*CloudAccountCreatedForCost, error)
	UpdateCloudAccountMonitor(ctx context.Context, id int, provider *CloudAccountMonitor) (*CloudAccountMonitor, error)
	UpdateCloudAccountMonitorForCost(ctx context.Context, provider *CloudAccountCostProvider) (*CloudAccountCostProvider, error)
	GetCloudAccountMonitorByID(ctx context.Context, id int) (*CloudAccountMonitor, error)
	GetCloudAccountMonitorForCostByID(ctx context.Context, id int) (*CloudAccountCostProvider, error)
	DeleteCloudAccountMonitor(ctx context.Context, id int) error
}

type CloudAccountSecure added in v1.4.2

type CloudAccountSecure struct {
	AccountID                    string `json:"accountId"`
	Provider                     string `json:"provider"`
	Alias                        string `json:"alias"`
	RoleAvailable                bool   `json:"roleAvailable"`
	RoleName                     string `json:"roleName"`
	ExternalID                   string `json:"externalId,omitempty"`
	WorkLoadIdentityAccountID    string `json:"workloadIdentityAccountId,omitempty"`
	WorkLoadIdentityAccountAlias string `json:"workLoadIdentityAccountAlias,omitempty"`
}

type CloudAccountSecureInterface added in v1.4.2

type CloudAccountSecureInterface interface {
	Base
	CreateCloudAccountSecure(ctx context.Context, cloudAccount *CloudAccountSecure) (*CloudAccountSecure, error)
	GetCloudAccountSecureByID(ctx context.Context, accountID string) (*CloudAccountSecure, error)
	DeleteCloudAccountSecure(ctx context.Context, accountID string) error
	UpdateCloudAccountSecure(ctx context.Context, accountID string, cloudAccount *CloudAccountSecure) (*CloudAccountSecure, error)
}

type CloudConfigForCost added in v1.41.0

type CloudConfigForCost struct {
	AthenaProjectID      string `json:"athenaProjectId"`
	AthenaBucketName     string `json:"athenaBucketName"`
	AthenaRegion         string `json:"athenaRegion"`
	AthenaDatabaseName   string `json:"athenaDatabaseName"`
	AthenaTableName      string `json:"athenaTableName"`
	AthenaWorkgroup      string `json:"athenaWorkgroup"`
	SpotPricesBucketName string `json:"spotPricesBucketName"`
	IntegrationType      string `json:"integrationType"`
}

type CloudCostConfiguration added in v1.41.0

type CloudCostConfiguration struct {
	AthenaBucketName     string `json:"athenaBucketName"`
	AthenaDatabaseName   string `json:"athenaDatabaseName"`
	AthenaRegion         string `json:"athenaRegion"`
	AthenaWorkgroup      string `json:"athenaWorkgroup"`
	AthenaTableName      string `json:"athenaTableName"`
	SpotPricesBucketName string `json:"spotPricesBucketName"`
}

type CloudauthAccountComponentSecure added in v1.24.2

type CloudauthAccountComponentSecure struct {
	cloudauth.AccountComponent
}

type CloudauthAccountComponentSecureInterface added in v1.24.2

type CloudauthAccountComponentSecureInterface interface {
	Base
	CreateCloudauthAccountComponentSecure(ctx context.Context, accountID string, cloudAccountComponent *CloudauthAccountComponentSecure) (*CloudauthAccountComponentSecure, string, error)
	GetCloudauthAccountComponentSecure(ctx context.Context, accountID, componentType, componentInstance string) (*CloudauthAccountComponentSecure, string, error)
	DeleteCloudauthAccountComponentSecure(ctx context.Context, accountID, componentType, componentInstance string) (string, error)
	UpdateCloudauthAccountComponentSecure(ctx context.Context, accountID, componentType, componentInstance string, cloudAccountComponent *CloudauthAccountComponentSecure) (*CloudauthAccountComponentSecure, string, error)
}

type CloudauthAccountFeatureSecure added in v1.24.4

type CloudauthAccountFeatureSecure struct {
	cloudauth.AccountFeature
}

type CloudauthAccountFeatureSecureInterface added in v1.24.4

type CloudauthAccountFeatureSecureInterface interface {
	Base
	CreateOrUpdateCloudauthAccountFeatureSecure(ctx context.Context, accountID, featureType string, cloudAccountFeature *CloudauthAccountFeatureSecure) (*CloudauthAccountFeatureSecure, string, error)
	GetCloudauthAccountFeatureSecure(ctx context.Context, accountID, featureType string) (*CloudauthAccountFeatureSecure, string, error)
	DeleteCloudauthAccountFeatureSecure(ctx context.Context, accountID, featureType string) (string, error)
}

type CloudauthAccountSecure added in v1.15.0

type CloudauthAccountSecure struct {
	cloudauth.CloudAccount
}

type CloudauthAccountSecureInterface added in v1.15.0

type CloudauthAccountSecureInterface interface {
	Base
	CreateCloudauthAccountSecure(ctx context.Context, cloudAccount *CloudauthAccountSecure) (*CloudauthAccountSecure, string, error)
	GetCloudauthAccountSecureByID(ctx context.Context, accountID string) (*CloudauthAccountSecure, string, error)
	DeleteCloudauthAccountSecure(ctx context.Context, accountID string) (string, error)
	UpdateCloudauthAccountSecure(ctx context.Context, accountID string, cloudAccount *CloudauthAccountSecure) (*CloudauthAccountSecure, string, error)
}

type CompositePolicyInterface added in v1.23.0

type CompositePolicyInterface interface {
	Base
	CreateCompositePolicy(ctx context.Context, policy PolicyRulesComposite) (PolicyRulesComposite, error)
	DeleteCompositePolicy(ctx context.Context, policyID int) error
	UpdateCompositePolicy(ctx context.Context, policy PolicyRulesComposite) (PolicyRulesComposite, error)
	GetCompositePolicyByID(ctx context.Context, policyID int) (PolicyRulesComposite, int, error)
	ListCompositePoliciesByNameAndType(ctx context.Context, policyType string, policyName string) ([]PolicyRulesComposite, int, error)
}

type Condition added in v1.4.2

type Condition struct {
	Condition  string `json:"condition"`
	Components []any  `json:"components"`
}

type Configuration added in v1.58.0

type Configuration struct {
	Scope string `json:"scope"`
}

type Containers added in v1.4.2

type Containers struct {
	Items      []string `json:"items"`
	MatchItems bool     `json:"matchItems"`
}

type ContextType added in v1.45.0

type ContextType string
const (
	ContextTypeImageName         ContextType = "imageName"
	ContextTypeImagePrefix       ContextType = "imagePrefix"
	ContextTypeImageSuffix       ContextType = "imageSuffix"
	ContextTypeImageNameContains ContextType = "imageNameContains"
	ContextTypeHostName          ContextType = "hostName"
	ContextTypeHostNameContains  ContextType = "hostNameContains"
	ContextTypePackageName       ContextType = "packageName"
	ContextTypePackageVersion    ContextType = "packageVersion"
)

type Control added in v1.25.0

type Control struct {
	Name   string `json:"name,omitempty"`
	Status bool   `json:"status,omitempty"`
}

type CreatePosturePolicy added in v1.25.0

type CreatePosturePolicy struct {
	ID                 string                    `json:"id,omitempty"`
	Name               string                    `json:"name,omitempty"`
	Description        string                    `json:"description,omitempty"`
	Type               string                    `json:"type,omitempty"`
	Link               string                    `json:"link,omitempty"`
	Version            string                    `json:"version,omitempty"`
	RequirementGroups  []CreateRequirementsGroup `json:"groups,omitempty"`
	MinKubeVersion     float64                   `json:"minKubeVersion,omitempty"`
	MaxKubeVersion     float64                   `json:"maxKubeVersion,omitempty"`
	IsActive           bool                      `json:"isActive,omitempty"`
	Platform           string                    `json:"platform,omitempty"`
	VersionConstraints []VersionConstraint       `json:"targets,omitempty"`
}

type CreateRequirement added in v1.25.0

type CreateRequirement struct {
	ID          string                     `json:"id,omitempty"`
	Name        string                     `json:"name,omitempty"`
	Description string                     `json:"description,omitempty"`
	Controls    []CreateRequirementControl `json:"controls,omitempty"`
}

type CreateRequirementControl added in v1.25.0

type CreateRequirementControl struct {
	Name    string `json:"name,omitempty"`
	Enabled bool   `json:"enabled,omitempty"`
}

type CreateRequirementsGroup added in v1.25.0

type CreateRequirementsGroup struct {
	ID           string                    `json:"id,omitempty"`
	Name         string                    `json:"name,omitempty"`
	Requirements []CreateRequirement       `json:"requirements,omitempty"`
	Description  string                    `json:"description,omitempty"`
	Folders      []CreateRequirementsGroup `json:"groups,omitempty"`
}

type Criteria added in v1.4.0

type Criteria struct {
	Text   string `json:"text"`
	Source string `json:"source"`
}

type CustomNotification added in v1.4.0

type CustomNotification struct {
	TitleTemplate  string `json:"titleTemplate"`
	UseNewTemplate bool   `json:"useNewTemplate"`
	PrependText    string `json:"prependText,omitempty"`
	AppendText     string `json:"appendText,omitempty"`
}

type CustomNotificationAdditionalField added in v1.57.0

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

type CustomNotificationTemplateV2 added in v1.6.0

type CustomNotificationTemplateV2 struct {
	Subject                      string                              `json:"subject"`
	PrependText                  string                              `json:"prependText"`
	AppendText                   string                              `json:"appendText"`
	AdditionalNotificationFields []CustomNotificationAdditionalField `json:"additionalNotificationFields,omitempty"`
}

type CustomRole added in v1.11.0

type CustomRole struct {
	ID                 int      `json:"id,omitempty"`
	Name               string   `json:"name"`
	Description        string   `json:"description,omitempty"`
	MonitorPermissions []string `json:"monitorPermissions,omitempty"`
	SecurePermissions  []string `json:"securePermissions,omitempty"`
}

type CustomRoleInterface added in v1.11.0

type CustomRoleInterface interface {
	Base
	CreateCustomRole(ctx context.Context, cr *CustomRole) (*CustomRole, error)
	UpdateCustomRole(ctx context.Context, cr *CustomRole, id int) (*CustomRole, error)
	DeleteCustomRole(ctx context.Context, id int) error
	GetCustomRoleByID(ctx context.Context, id int) (*CustomRole, error)
	GetCustomRoleByName(ctx context.Context, name string) (*CustomRole, error)
}

type CustomRolePermissionInterface added in v1.11.0

type CustomRolePermissionInterface interface {
	Base

	GetPermissionsDependencies(ctx context.Context, product Product, permissions []string) ([]Dependency, error)
}

type Dashboard added in v1.5.0

type Dashboard struct {
	Version                 int                    `json:"version,omitempty"`
	CustomerID              any                    `json:"customerId"`
	TeamID                  int                    `json:"teamId"`
	Schema                  int                    `json:"schema"`
	AutoCreated             bool                   `json:"autoCreated"`
	PublicToken             string                 `json:"publicToken"`
	ScopeExpressionList     []*ScopeExpressionList `json:"scopeExpressionList"`
	Layout                  []*Layout              `json:"layout"`
	TeamScope               any                    `json:"teamScope"`
	EventDisplaySettings    EventDisplaySettings   `json:"eventDisplaySettings"`
	ID                      int                    `json:"id,omitempty"`
	Name                    string                 `json:"name"`
	Description             string                 `json:"description"`
	Username                string                 `json:"username"`
	Shared                  bool                   `json:"shared"`
	SharingSettings         []*SharingOptions      `json:"sharingSettings"`
	Public                  bool                   `json:"public"`
	Favorite                bool                   `json:"favorite"`
	CreatedOn               int64                  `json:"createdOn"`
	ModifiedOn              int64                  `json:"modifiedOn"`
	Panels                  []*Panels              `json:"panels"`
	TeamScopeExpressionList []any                  `json:"teamScopeExpressionList"`
	CreatedOnDate           string                 `json:"createdOnDate"`
	ModifiedOnDate          string                 `json:"modifiedOnDate"`
	TeamSharingOptions      TeamSharingOptions     `json:"teamSharingOptions"`
	MinInterval             string                 `json:"minInterval"`
}

func NewDashboard added in v1.5.0

func NewDashboard(name, description string) *Dashboard

func (*Dashboard) AddPanels added in v1.5.0

func (db *Dashboard) AddPanels(panels ...*Panels)

func (*Dashboard) AsPublic added in v1.5.0

func (db *Dashboard) AsPublic(value bool) *Dashboard

type DashboardInterface added in v1.5.0

type DashboardInterface interface {
	GetDashboardByID(ctx context.Context, ID int) (*Dashboard, error)
	CreateDashboard(ctx context.Context, dashboard *Dashboard) (*Dashboard, error)
	UpdateDashboard(ctx context.Context, dashboard *Dashboard) (*Dashboard, error)
	DeleteDashboard(ctx context.Context, ID int) error
}

type DeleteAcceptPostureRisk added in v1.38.0

type DeleteAcceptPostureRisk struct {
	AcceptanceID string `json:"id"`
	Filter       string `json:"filter"`
}

type Dependencies added in v1.11.0

type Dependencies []Dependency

type Dependency added in v1.11.0

type Dependency struct {
	PermissionAuthority string   `json:"permissionAuthority"`
	Dependencies        []string `json:"dependencies"`
}

type DeprecatedScanningGate added in v1.57.0

type DeprecatedScanningGate struct {
	ID      string                        `json:"id,omitempty"`
	Gate    string                        `json:"gate"`
	Trigger string                        `json:"trigger"`
	Action  string                        `json:"action"`
	Params  []DeprecatedScanningGateParam `json:"params"`
}

type DeprecatedScanningGateParam added in v1.57.0

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

type DeprecatedScanningPolicy added in v1.57.0

type DeprecatedScanningPolicy struct {
	ID             string                   `json:"id,omitempty"`
	Version        string                   `json:"version,omitempty"`
	Name           string                   `json:"name"`
	Comment        string                   `json:"comment"`
	IsDefault      bool                     `json:"isDefault,omitempty"`
	PolicyBundleID string                   `json:"policyBundleId,omitempty"`
	Rules          []DeprecatedScanningGate `json:"rules"`
}

type DeprecatedScanningPolicyAssignment added in v1.57.0

type DeprecatedScanningPolicyAssignment struct {
	ID           string                                  `json:"id,omitempty"`
	Name         string                                  `json:"name"`
	Registry     string                                  `json:"registry"`
	Repository   string                                  `json:"repository"`
	Image        DeprecatedScanningPolicyAssignmentImage `json:"image"`
	PolicyIDs    []string                                `json:"policy_ids"`
	WhitelistIDs []string                                `json:"whitelist_ids"`
}

type DeprecatedScanningPolicyAssignmentImage added in v1.57.0

type DeprecatedScanningPolicyAssignmentImage struct {
	Type  string `json:"type"`
	Value string `json:"value"`
}

type DeprecatedScanningPolicyAssignmentInterface added in v1.57.0

type DeprecatedScanningPolicyAssignmentInterface interface {
	Base
	CreateDeprecatedScanningPolicyAssignmentList(ctx context.Context, scanningPolicyAssignmentRequest DeprecatedScanningPolicyAssignmentList) (DeprecatedScanningPolicyAssignmentList, error)
	DeleteDeprecatedScanningPolicyAssignmentList(ctx context.Context, scanningPolicyAssignmentList DeprecatedScanningPolicyAssignmentList) error
	GetDeprecatedScanningPolicyAssignmentList(ctx context.Context) (DeprecatedScanningPolicyAssignmentList, error)
}

type DeprecatedScanningPolicyAssignmentList added in v1.57.0

type DeprecatedScanningPolicyAssignmentList struct {
	Items          []DeprecatedScanningPolicyAssignment `json:"items"`
	PolicyBundleID string                               `json:"policyBundleId"`
}

type DeprecatedScanningPolicyInterface added in v1.57.0

type DeprecatedScanningPolicyInterface interface {
	Base
	CreateDeprecatedScanningPolicy(ctx context.Context, scanningPolicy DeprecatedScanningPolicy) (DeprecatedScanningPolicy, error)
	GetDeprecatedScanningPolicyByID(ctx context.Context, scanningPolicyID string) (DeprecatedScanningPolicy, error)
	UpdateDeprecatedScanningPolicy(ctx context.Context, scanningPolicy DeprecatedScanningPolicy) (DeprecatedScanningPolicy, error)
	DeleteDeprecatedScanningPolicyByID(ctx context.Context, scanningPolicyID string) error
}

type DeprecatedVulnerabilityException added in v1.57.0

type DeprecatedVulnerabilityException struct {
	ID             string `json:"id"`
	Gate           string `json:"gate"`
	TriggerID      string `json:"trigger_id"`
	Notes          string `json:"notes"`
	ExpirationDate *int   `json:"expiration_date,omitempty"`
	Enabled        bool   `json:"enabled"`
}

type DeprecatedVulnerabilityExceptionInterface added in v1.57.0

type DeprecatedVulnerabilityExceptionInterface interface {
	Base
	CreateDeprecatedVulnerabilityException(ctx context.Context, listID string, exception *DeprecatedVulnerabilityException) (*DeprecatedVulnerabilityException, error)
	GetDeprecatedVulnerabilityExceptionByID(ctx context.Context, listID string, exceptionID string) (*DeprecatedVulnerabilityException, error)
	DeleteDeprecatedVulnerabilityException(ctx context.Context, listID string, exceptionID string) error
	UpdateDeprecatedVulnerabilityException(ctx context.Context, listID string, exception *DeprecatedVulnerabilityException) (*DeprecatedVulnerabilityException, error)
}

type DeprecatedVulnerabilityExceptionList added in v1.57.0

type DeprecatedVulnerabilityExceptionList struct {
	ID      string `json:"id,omitempty"`
	Version string `json:"version"`
	Name    string `json:"name"`
	Comment string `json:"comment"`
}

type DeprecatedVulnerabilityExceptionListInterface added in v1.57.0

type DeprecatedVulnerabilityExceptionListInterface interface {
	Base
	CreateDeprecatedVulnerabilityExceptionList(ctx context.Context, list *DeprecatedVulnerabilityExceptionList) (*DeprecatedVulnerabilityExceptionList, error)
	GetDeprectedVulnerabilityExceptionListByID(ctx context.Context, id string) (*DeprecatedVulnerabilityExceptionList, error)
	DeleteDeprecatedVulnerabilityExceptionList(ctx context.Context, id string) error
	UpdateDeprecatedVulnerabilityExceptionList(ctx context.Context, list *DeprecatedVulnerabilityExceptionList) (*DeprecatedVulnerabilityExceptionList, error)
}

type Details added in v1.4.2

type Details struct {
	// Containers
	Containers *Containers `json:"containers,omitempty"`

	// Filesystems
	ReadWritePaths *ReadWritePaths `json:"readWritePaths,omitempty"`
	ReadPaths      *ReadPaths      `json:"readPaths,omitempty"`

	// Network
	AllOutbound    bool            `json:"allOutbound"`
	AllInbound     bool            `json:"allInbound"`
	TCPListenPorts *TCPListenPorts `json:"tcpListenPorts,omitempty"`
	UDPListenPorts *UDPListenPorts `json:"udpListenPorts,omitempty"`

	// Processes
	Processes *Processes `json:"processes,omitempty"`

	// Syscalls
	Syscalls *Syscalls `json:"syscalls,omitempty"`

	// Falco
	Append               *bool        `json:"append,omitempty"`
	Source               string       `json:"source,omitempty"`
	Output               string       `json:"output,omitempty"`
	Condition            *Condition   `json:"condition,omitempty"`
	Priority             string       `json:"priority,omitempty"`
	Exceptions           []*Exception `json:"exceptions,omitempty"`
	MinimumEngineVersion *int         `json:"minimumEngineVersion,omitempty"`

	RuleType string `json:"ruleType"`
}

type DisplayInfo added in v1.5.0

type DisplayInfo struct {
	DisplayName                   string `json:"displayName"`
	TimeSeriesDisplayNameTemplate string `json:"timeSeriesDisplayNameTemplate"`
	Type                          string `json:"type"`
	Color                         string `json:"color,omitempty"`
	LineWidth                     int    `json:"lineWidth,omitempty"`
}

type DriftRuleDetails added in v1.23.0

type DriftRuleDetails struct {
	RuleType                  ElementType            `json:"ruleType"`
	Exceptions                *RuntimePolicyRuleList `json:"exceptionList"`
	ProcessBasedExceptions    *RuntimePolicyRuleList `json:"allowlistProcess"`
	ProcessBasedDenylist      *RuntimePolicyRuleList `json:"denylistProcess"`
	ProhibitedBinaries        *RuntimePolicyRuleList `json:"prohibitedBinaries"`
	Mode                      string                 `json:"mode"`
	MountedVolumeDriftEnabled bool                   `json:"mountedVolumeDriftEnabled"`
	UseRegex                  bool                   `json:"useRegex"`
	Details                   `json:"-"`
}

func (DriftRuleDetails) GetRuleType added in v1.23.0

func (p DriftRuleDetails) GetRuleType() ElementType

type ElementType added in v1.23.0

type ElementType string

type EntityType added in v1.45.0

type EntityType string
const (
	EntityTypeImageName         EntityType = "imageName"
	EntityTypeImagePrefix       EntityType = "imagePrefix"
	EntityTypeImageSuffix       EntityType = "imageSuffix"
	EntityTypeImageNameContains EntityType = "imageNameContains"
	EntityTypeVulnerability     EntityType = "vulnerability"
	EntityTypeHostName          EntityType = "hostName"
	EntityTypeHostNameContains  EntityType = "hostNameContains"
	EntityTypePolicyRule        EntityType = "policyRule"
)

type EntryPoint

type EntryPoint struct {
	Module    string `json:"module"`
	Selection string `json:"selection,omitempty"`
}

type EventDisplaySettings added in v1.5.0

type EventDisplaySettings struct {
	Enabled     bool        `json:"enabled"`
	QueryParams QueryParams `json:"queryParams"`
}

type Exception added in v1.4.2

type Exception struct {
	Name   string `json:"name"`
	Fields any    `json:"fields,omitempty"`
	Comps  any    `json:"comps,omitempty"`
	Values any    `json:"values,omitempty"`
}

type FlexInt added in v1.23.0

type FlexInt int

type Format added in v1.5.0

type Format struct {
	Unit                 FormatUnit `json:"unit"`
	InputFormat          *string    `json:"inputFormat"`
	DisplayFormat        *string    `json:"displayFormat"`
	Decimals             *int       `json:"decimals"`
	YAxis                *string    `json:"yAxis"`
	MinInterval          *string    `json:"minInterval"`
	NullValueDisplayMode *string    `json:"nullValueDisplayMode"`
}

func NewDataFormat added in v1.18.1

func NewDataFormat() Format

func NewDataRateFormat added in v1.18.1

func NewDataRateFormat() Format

func NewFormat added in v1.5.0

func NewFormat(
	unit FormatUnit,
	inputFormat string,
	displayFormat string,
	decimals int,
	yAxis string,
	minInterval string,
	nullValueDisplayMode string,
) *Format

func NewNumberFormat added in v1.18.1

func NewNumberFormat() Format

func NewNumberRateFormat added in v1.18.1

func NewNumberRateFormat() Format

func NewPercentFormat added in v1.18.1

func NewPercentFormat() Format

func NewTimeFormat added in v1.18.1

func NewTimeFormat() Format

type FormatUnit added in v1.5.0

type FormatUnit string
const (
	FormatUnitPercentage FormatUnit = "%"
	FormatUnitData       FormatUnit = "byte"
	FormatUnitDataRate   FormatUnit = "byteRate"
	FormatUnitNumber     FormatUnit = "number"
	FormatUnitNumberRate FormatUnit = "numberRate"
	FormatUnitTime       FormatUnit = "relativeTime"
)

type FullPosturePolicy added in v1.26.0

type FullPosturePolicy struct {
	ID                 string              `json:"id,omitempty"`
	Name               string              `json:"name,omitempty"`
	Type               string              `json:"type,omitempty"`
	Description        string              `json:"description,omitempty"`
	Version            string              `json:"version,omitempty"`
	Link               string              `json:"link,omitempty"`
	Authors            string              `json:"authors,omitempty"`
	PublishedData      string              `json:"publishedDate,omitempty"`
	RequirementsGroup  []RequirementsGroup `json:"requirementFolders,omitempty"`
	MinKubeVersion     float64             `json:"minKubeVersion,omitempty"`
	MaxKubeVersion     float64             `json:"maxKubeVersion,omitempty"`
	IsCustom           bool                `json:"isCustom,omitempty"`
	IsActive           bool                `json:"isActive,omitempty"`
	Platform           string              `json:"platform,omitempty"`
	VersionConstraints []VersionConstraint `json:"targets,omitempty"`
}

type FullPosturePolicyResponse added in v1.26.0

type FullPosturePolicyResponse struct {
	Data FullPosturePolicy `json:"data"`
}

type GroupMapping added in v1.4.0

type GroupMapping struct {
	ID         int      `json:"id,omitempty"`
	GroupName  string   `json:"groupName,omitempty"`
	Role       string   `json:"role,omitempty"`
	SystemRole string   `json:"systemRole,omitempty"`
	TeamMap    *TeamMap `json:"teamMap,omitempty"`
	Weight     int      `json:"weight,omitempty"`
}

type GroupMappingConfig added in v1.8.0

type GroupMappingConfig struct {
	NoMappingStrategy             string `json:"noMappingStrategy"`
	DifferentTeamSameRoleStrategy string `json:"differentRolesSameTeamStrategy"`
}

type GroupMappingConfigInterface added in v1.8.0

type GroupMappingConfigInterface interface {
	Base
	UpdateGroupMappingConfig(ctx context.Context, gmc *GroupMappingConfig) (*GroupMappingConfig, error)
	GetGroupMappingConfig(ctx context.Context) (*GroupMappingConfig, error)
}

type GroupMappingInterface added in v1.4.0

type GroupMappingInterface interface {
	Base
	CreateGroupMapping(ctx context.Context, gm *GroupMapping) (*GroupMapping, error)
	UpdateGroupMapping(ctx context.Context, gm *GroupMapping, id int) (*GroupMapping, error)
	DeleteGroupMapping(ctx context.Context, id int) error
	GetGroupMapping(ctx context.Context, id int) (*GroupMapping, error)
}

type IAMTokenResponse added in v1.1.0

type IAMTokenResponse struct {
	AccessToken string `json:"access_token"`
	Expiration  int64  `json:"expiration"`
}

type IBMAccessToken added in v1.1.0

type IBMAccessToken string

type IBMCommon added in v1.1.0

type IBMCommon interface {
	Common
}

type IBMMonitor added in v1.1.0

type IBMMonitor interface {
	IBMCommon
	MonitorCommon
}

func NewIBMMonitor added in v1.1.0

func NewIBMMonitor(opts ...ClientOption) IBMMonitor

type IBMRequest added in v1.1.0

type IBMRequest struct {
	// contains filtered or unexported fields
}

func (*IBMRequest) CurrentTeamID added in v1.3.0

func (ir *IBMRequest) CurrentTeamID(ctx context.Context) (int, error)

func (*IBMRequest) Request added in v1.1.0

func (ir *IBMRequest) Request(ctx context.Context, method string, url string, payload io.Reader) (*http.Response, error)

type IBMSecure added in v1.8.0

type IBMSecure interface {
	IBMCommon
	SecureCommon
}

func NewIBMSecure added in v1.8.0

func NewIBMSecure(opts ...ClientOption) IBMSecure

type IPFilter added in v1.35.0

type IPFilter struct {
	ID          int    `json:"id,omitempty"`
	IPRange     string `json:"ipRange"`
	Note        string `json:"note,omitempty"`
	Enabled     bool   `json:"isEnabled"`
	LastUpdated string `json:"lastUpdated,omitempty"`
}

type IPFilteringSettingsInterface added in v1.35.0

type IPFilteringSettingsInterface interface {
	Base
	GetIPFilteringSettings(ctx context.Context) (*IPFiltersSettings, error)
	UpdateIPFilteringSettings(ctx context.Context, ipFiltersSettings *IPFiltersSettings) (*IPFiltersSettings, error)
}

type IPFiltersInterface added in v1.35.0

type IPFiltersInterface interface {
	Base
	GetIPFilterByID(ctx context.Context, id int) (*IPFilter, error)
	CreateIPFilter(ctx context.Context, ipFilter *IPFilter) (*IPFilter, error)
	UpdateIPFilter(ctx context.Context, ipFilter *IPFilter, id int) (*IPFilter, error)
	DeleteIPFilter(ctx context.Context, id int) error
}

type IPFiltersSettings added in v1.35.0

type IPFiltersSettings struct {
	IPFilteringEnabled bool `json:"isFilteringEnabled"`
}

type IdentityContext added in v1.10.0

type IdentityContext struct {
	IdentityType       string `json:"identityType"`
	CustomerID         int    `json:"customerId"`
	TeamID             int    `json:"teamId"`
	TeamName           string `json:"teamName"`
	UserID             int    `json:"userId"`
	Username           string `json:"username"`
	ServiceAccountID   int    `json:"serviceAccountId"`
	ServiceAccountName string `json:"serviceAccountName"`
}

type IdentityContextInterface added in v1.10.0

type IdentityContextInterface interface {
	GetIdentityContext(ctx context.Context) (*IdentityContext, error)
}

type InhibitionRule added in v1.30.0

type InhibitionRule struct {
	Name           string          `json:"name,omitempty"`
	Description    string          `json:"description,omitempty"`
	Enabled        bool            `json:"isEnabled"`
	SourceMatchers []LabelMatchers `json:"sourceMatchers"`
	TargetMatchers []LabelMatchers `json:"targetMatchers"`
	Equal          []string        `json:"equal,omitempty"`

	Version int `json:"version,omitempty"`
	ID      int `json:"id,omitempty"`
}

type InhibitionRuleInterface added in v1.30.0

type InhibitionRuleInterface interface {
	Base
	GetInhibitionRuleByID(ctx context.Context, id int) (InhibitionRule, error)
	CreateInhibitionRule(ctx context.Context, inhibitionRule InhibitionRule) (InhibitionRule, error)
	UpdateInhibitionRule(ctx context.Context, inhibitionRule InhibitionRule) (InhibitionRule, error)
	DeleteInhibitionRule(ctx context.Context, id int) error
}

type Items added in v1.4.1

type Items struct {
	Items []string `json:"items"`
}

type LabelDescriptorV3 added in v1.6.0

type LabelDescriptorV3 struct {
	ID       string `json:"id"`
	PublicID string `json:"publicId"`
}

type LabelMatchers added in v1.30.0

type LabelMatchers struct {
	LabelName string `json:"labelName"`
	Operator  string `json:"operator"`
	Value     string `json:"value"`
}

type Layout added in v1.5.0

type Layout struct {
	X       int `json:"x"`
	Y       int `json:"y"`
	W       int `json:"w"`
	H       int `json:"h"`
	PanelID int `json:"panelId"`
}

type Left added in v1.5.0

type Left struct {
	Enabled        bool    `json:"enabled"`
	DisplayName    any     `json:"displayName"`
	Unit           string  `json:"unit"`
	DisplayFormat  string  `json:"displayFormat"`
	Decimals       any     `json:"decimals"`
	MinValue       float64 `json:"minValue"`
	MaxValue       any     `json:"maxValue"`
	MinInputFormat string  `json:"minInputFormat"`
	MaxInputFormat string  `json:"maxInputFormat"`
	Scale          string  `json:"scale"`
}

type LegendConfiguration added in v1.5.0

type LegendConfiguration struct {
	Enabled     bool   `json:"enabled"`
	Position    string `json:"position"`
	Layout      string `json:"layout"`
	ShowCurrent bool   `json:"showCurrent"`
	Width       any    `json:"width"`
	Height      any    `json:"height"`
}

type Level added in v1.59.0

type Level string
const (
	Critical Level = "critical"
	High     Level = "high"
	Medium   Level = "medium"
)

type List added in v1.4.1

type List struct {
	Name    string `json:"name"`
	Items   Items  `json:"items"`
	Append  bool   `json:"append"`
	ID      int    `json:"id,omitempty"`
	Version int    `json:"version,omitempty"`
}

type ListInterface added in v1.4.1

type ListInterface interface {
	Base
	CreateList(ctx context.Context, list List) (List, error)
	GetListByID(ctx context.Context, id int) (List, error)
	UpdateList(ctx context.Context, list List) (List, error)
	DeleteList(ctx context.Context, id int) error
}

type MLRuleDetails added in v1.23.0

type MLRuleDetails struct {
	RuleType                ElementType                 `json:"ruleType" yaml:"ruleType"`
	AnomalyDetectionTrigger *MLRuleThresholdAndSeverity `json:"anomalyDetectionTrigger" yaml:"anomalyDetectionTrigger"`
	CryptominingTrigger     *MLRuleThresholdAndSeverity `json:"cryptominingTrigger" yaml:"cryptominingTrigger"`
	Details                 `json:"-"`
}

func (MLRuleDetails) GetRuleType added in v1.23.0

func (p MLRuleDetails) GetRuleType() ElementType

type MLRuleThresholdAndSeverity added in v1.23.0

type MLRuleThresholdAndSeverity struct {
	Enabled   bool    `json:"enabled" yaml:"enabled"`
	Threshold float64 `json:"threshold" yaml:"threshold"`
	Severity  float64 `json:"severity" yaml:"severity"`
}

type Macro added in v1.4.1

type Macro struct {
	ID                   int            `json:"id,omitempty"`
	Version              int            `json:"version,omitempty"`
	Name                 string         `json:"name"`
	Condition            MacroCondition `json:"condition"`
	Append               bool           `json:"append"`
	MinimumEngineVersion *int           `json:"minimumEngineVersion,omitempty"`
}

type MacroCondition added in v1.4.1

type MacroCondition struct {
	Condition string `json:"condition"`
}

type MacroInterface added in v1.4.1

type MacroInterface interface {
	Base
	CreateMacro(ctx context.Context, macro Macro) (Macro, error)
	GetMacroByID(ctx context.Context, id int) (Macro, error)
	UpdateMacro(ctx context.Context, macro Macro) (Macro, error)
	DeleteMacro(ctx context.Context, id int) error
}

type MalwareRuleDetails added in v1.23.0

type MalwareRuleDetails struct {
	RuleType         ElementType         `json:"ruleType"`
	UseManagedHashes bool                `json:"useManagedHashes"`
	UseYaraRules     bool                `json:"usePolymorphicRules"`
	AdditionalHashes map[string][]string `json:"additionalHashes"`
	IgnoreHashes     map[string][]string `json:"ignoreHashes"`
	UseRegex         bool                `json:"useRegex"`
	IgnorePaths      map[string][]string `json:"ignorePaths"`
	Details          `json:"-"`
}

func (MalwareRuleDetails) GetRuleType added in v1.23.0

func (p MalwareRuleDetails) GetRuleType() ElementType

type Monitor

type Monitor struct {
	Metric       string  `json:"metric"`
	StdDevFactor float64 `json:"stdDevFactor"`
}

type NamespaceFilters added in v1.1.0

type NamespaceFilters struct {
	IBMPlatformMetrics    *string `json:"ibmPlatformMetrics,omitempty"`
	PrometheusRemoteWrite *string `json:"prometheusRemoteWrite,omitempty"`
}

type NotificationChannel added in v1.2.0

type NotificationChannel struct {
	ID      int                        `json:"id,omitempty"`
	Version int                        `json:"version,omitempty"`
	Type    string                     `json:"type"`
	Name    string                     `json:"name"`
	Enabled bool                       `json:"enabled"`
	TeamID  *int                       `json:"teamId,omitempty"`
	Options NotificationChannelOptions `json:"options"`
}

type NotificationChannelConfigV2 added in v1.6.0

type NotificationChannelConfigV2 struct {
	ChannelID       int                          `json:"channelId,omitempty"`
	Type            string                       `json:"type,omitempty"`
	Name            string                       `json:"nam,omitempty"`
	Enabled         bool                         `json:"enabled,omitempty"`
	OverrideOptions NotificationChannelOptionsV2 `json:"overrideOptions"`
}

type NotificationChannelInterface added in v1.2.0

type NotificationChannelInterface interface {
	Base
	GetNotificationChannelByID(ctx context.Context, id int) (NotificationChannel, error)
	GetNotificationChannelByName(ctx context.Context, name string) (NotificationChannel, error)
	CreateNotificationChannel(ctx context.Context, channel NotificationChannel) (NotificationChannel, error)
	UpdateNotificationChannel(ctx context.Context, channel NotificationChannel) (NotificationChannel, error)
	DeleteNotificationChannel(ctx context.Context, id int) error
}

type NotificationChannelOptions added in v1.2.0

type NotificationChannelOptions struct {
	EmailRecipients          []string                                   `json:"emailRecipients,omitempty"`          // Type: email
	SnsTopicARNs             []string                                   `json:"snsTopicARNs,omitempty"`             // Type: SNS
	APIKey                   string                                     `json:"apiKey,omitempty"`                   // Type: VictorOps, ibm event function
	RoutingKey               string                                     `json:"routingKey,omitempty"`               // Type: VictorOps
	URL                      string                                     `json:"url,omitempty"`                      // Type: OpsGenie, Webhook, Slack, google chat, prometheus alert manager, custom webhook, ms teams
	Channel                  string                                     `json:"channel,omitempty"`                  // Type: Slack
	PrivateChannel           bool                                       `json:"privateChannel,omitempty"`           // Type: Slack
	PrivateChannelURL        string                                     `json:"privateChannelUrl,omitempty"`        // Type: Slack
	Account                  string                                     `json:"account,omitempty"`                  // Type: PagerDuty
	ServiceKey               string                                     `json:"serviceKey,omitempty"`               // Type: PagerDuty
	ServiceName              string                                     `json:"serviceName,omitempty"`              // Type: PagerDuty
	AdditionalHeaders        map[string]any                             `json:"additionalHeaders,omitempty"`        // Type: Webhook, prometheus alert manager, custom webhook, ibm function
	Region                   string                                     `json:"region,omitempty"`                   // Type: OpsGenie
	AllowInsecureConnections *bool                                      `json:"allowInsecureConnections,omitempty"` // Type: prometheus alert manager, custom webhook, Webhook
	TeamID                   int                                        `json:"teamId,omitempty"`                   // Type: team email
	HTTPMethod               string                                     `json:"httpMethod,omitempty"`               // Type: custom webhook
	MonitorTemplate          string                                     `json:"monitorTemplate,omitempty"`          // Type: custom webhook
	InstanceID               string                                     `json:"instanceId,omitempty"`               // Type: ibm event notification
	IbmFunctionType          string                                     `json:"ibmFunctionType,omitempty"`          // Type: ibm event function
	CustomData               map[string]any                             `json:"customData,omitempty"`               // Type: ibm function, Webhook
	TemplateConfiguration    []NotificationChannelTemplateConfiguration `json:"templateConfiguration,omitempty"`    // Type: slack, ms teams

	NotifyOnOk           bool `json:"notifyOnOk"`
	NotifyOnResolve      bool `json:"notifyOnResolve"`
	SendTestNotification bool `json:"sendTestNotification"`
}

type NotificationChannelOptionsV2 added in v1.6.0

type NotificationChannelOptionsV2 struct {
	NotifyOnAcknowledge        bool                          `json:"notifyOnAcknowledge,omitempty"`
	NotifyOnResolve            bool                          `json:"notifyOnResolve"`
	ReNotifyEverySec           *int                          `json:"reNotifyEverySec"`
	CustomNotificationTemplate *CustomNotificationTemplateV2 `json:"customNotificationTemplate,omitempty"`
	Thresholds                 []string                      `json:"thresholds"`
}

type NotificationChannelTemplateConfiguration added in v1.9.0

type NotificationChannelTemplateConfiguration struct {
	TemplateKey                   string                                            `json:"templateKey,omitempty"`
	TemplateConfigurationSections []NotificationChannelTemplateConfigurationSection `json:"templateConfigurationSections,omitempty"`
}

type NotificationChannelTemplateConfigurationSection added in v1.9.0

type NotificationChannelTemplateConfigurationSection struct {
	SectionName string `json:"sectionName,omitempty"`
	ShouldShow  bool   `json:"shouldShow"`
}

type NumberThresholdBase added in v1.5.0

type NumberThresholdBase struct {
	DisplayText string `json:"displayText"`
	Severity    string `json:"severity"`
}

type NumberThresholds added in v1.5.0

type NumberThresholds struct {
	Base   NumberThresholdBase `json:"base"`
	Values []any               `json:"values"`
}

type OnboardingSecureInterface added in v1.27.0

type OnboardingSecureInterface interface {
	Base
	GetTrustedCloudIdentitySecure(ctx context.Context, provider string) (string, error)
	GetTrustedAzureAppSecure(ctx context.Context, app string) (map[string]string, error)
	GetTenantExternalIDSecure(ctx context.Context) (string, error)
	GetAgentlessScanningAssetsSecure(ctx context.Context) (map[string]any, error)
	GetCloudIngestionAssetsSecure(ctx context.Context, provider, providerID, componentType string) (map[string]any, error)
	GetTrustedCloudRegulationAssetsSecure(ctx context.Context, provider string) (map[string]string, error)
	GetTrustedOracleAppSecure(ctx context.Context, app string) (map[string]string, error)
}

type OrganizationSecure added in v1.15.0

type OrganizationSecure struct {
	cloudauth.CloudOrganization
}

type OrganizationSecureInterface added in v1.15.0

type OrganizationSecureInterface interface {
	Base
	CreateOrganizationSecure(ctx context.Context, org *OrganizationSecure) (*OrganizationSecure, string, error)
	GetOrganizationSecure(ctx context.Context, orgID string) (*OrganizationSecure, string, error)
	DeleteOrganizationSecure(ctx context.Context, orgID string) (string, error)
	UpdateOrganizationSecure(ctx context.Context, orgID string, org *OrganizationSecure) (*OrganizationSecure, string, error)
}

type Package added in v1.59.0

type Package struct {
	Name    string `json:"name"`
	Version string `json:"version"`
}

type PanelType added in v1.5.0

type PanelType string
const (
	PanelTypeTimechart PanelType = "advancedTimechart"
	PanelTypeNumber    PanelType = "advancedNumber"
	PanelTypeText      PanelType = "text"
)

type Panels added in v1.5.0

type Panels struct {
	ID                     int                  `json:"id"`
	Name                   string               `json:"name"`
	Description            string               `json:"description"`
	AxesConfiguration      *AxesConfiguration   `json:"axesConfiguration,omitempty"`
	LegendConfiguration    *LegendConfiguration `json:"legendConfiguration,omitempty"`
	ApplyScopeToAll        bool                 `json:"applyScopeToAll,omitempty"`
	ApplySegmentationToAll bool                 `json:"applySegmentationToAll,omitempty"`
	AdvancedQueries        []*AdvancedQueries   `json:"advancedQueries,omitempty"`
	NumberThresholds       *NumberThresholds    `json:"numberThresholds,omitempty"`
	MarkdownSource         *string              `json:"markdownSource,omitempty"`
	PanelTitleVisible      bool                 `json:"panelTitleVisible"`
	TextAutosized          bool                 `json:"textAutosized"`
	TransparentBackground  bool                 `json:"transparentBackground"`
	Type                   PanelType            `json:"type"`
	// Just a helper to the client, the actual field is in Dashboard
	Layout *Layout `json:"-"`
}

func (*Panels) AddQueries added in v1.5.0

func (p *Panels) AddQueries(queries ...*AdvancedQueries) (*Panels, error)

func (*Panels) WithLayout added in v1.5.0

func (p *Panels) WithLayout(xPos, yPos, width, height int) (*Panels, error)

type Policy added in v1.4.1

type Policy struct {
	ID                     int           `json:"id,omitempty"`
	IsDefault              bool          `json:"isDefault"`
	Name                   string        `json:"name"`
	Description            string        `json:"description"`
	Severity               int           `json:"severity"`
	Enabled                bool          `json:"enabled"`
	RuleNames              []string      `json:"ruleNames"`
	Rules                  []*PolicyRule `json:"rules,omitempty"`
	Actions                []Action      `json:"actions"`
	Scope                  string        `json:"scope,omitempty"`
	Version                int           `json:"version,omitempty"`
	NotificationChannelIds []int         `json:"notificationChannelIds"`
	Type                   string        `json:"type"`
	Origin                 string        `json:"origin"`
	Runbook                string        `json:"runbook"`
	TemplateID             int           `json:"templateId"`
	TemplateVersion        string        `json:"templateVersion"`
}

type PolicyInterface added in v1.4.1

type PolicyInterface interface {
	Base
	CreatePolicy(ctx context.Context, policy Policy) (Policy, error)
	DeletePolicy(ctx context.Context, policyID int) error
	UpdatePolicy(ctx context.Context, policy Policy) (Policy, error)
	GetPolicyByID(ctx context.Context, policyID int) (Policy, int, error)
	GetPolicies(ctx context.Context) ([]Policy, int, error)
	SendPoliciesToAgents(ctx context.Context) error
}

type PolicyRule added in v1.5.0

type PolicyRule struct {
	Name    string `json:"ruleName"`
	Enabled bool   `json:"enabled"`
}

type PolicyRulesComposite added in v1.23.0

type PolicyRulesComposite struct {
	Policy *Policy              `json:"policy"`
	Rules  []*RuntimePolicyRule `json:"rules"`
}

type PostureAcceptRiskInterface added in v1.38.0

type PostureAcceptRiskInterface interface {
	Base
	SaveAcceptPostureRisk(ctx context.Context, p *AccepetPostureRiskRequest) (*AcceptPostureRiskResponse, string, error)
	GetAcceptancePostureRisk(ctx context.Context, id string) (*AcceptPostureRiskResponse, string, error)
	DeleteAcceptancePostureRisk(ctx context.Context, p *DeleteAcceptPostureRisk) error
	UpdateAcceptancePostureRisk(ctx context.Context, p *UpdateAccepetPostureRiskRequest) (*AcceptPostureRisk, string, error)
}

type PostureControl added in v1.31.0

type PostureControl struct {
	ID                 string `json:"id"`
	Name               string `json:"name"`
	Description        string `json:"description"`
	ResourceKind       string `json:"resourceKindDisplayName"`
	Severity           string `json:"severity"`
	Rego               string `json:"rego"`
	RemediationDetails string `json:"remediationDetails"`
}

type PostureControlInterface added in v1.31.0

type PostureControlInterface interface {
	Base
	CreateOrUpdatePostureControl(ctx context.Context, p *SaveControlRequest) (*PostureControl, string, error)
	GetPostureControlByID(ctx context.Context, id int64) (*PostureControl, error)
	DeletePostureControlByID(ctx context.Context, id int64) error
}

type PosturePolicy added in v1.10.0

type PosturePolicy struct {
	ID             string                  `json:"id,omitempty"`
	Name           string                  `json:"name,omitempty"`
	Type           int                     `json:"type,omitempty"`
	Kind           int                     `json:"kind,omitempty"`
	Description    string                  `json:"description,omitempty"`
	Version        string                  `json:"version,omitempty"`
	Link           string                  `json:"link,omitempty"`
	Authors        string                  `json:"authors,omitempty"`
	PublishedData  string                  `json:"publishedDate,omitempty"`
	MinKubeVersion float64                 `json:"minKubeVersion,omitempty"`
	MaxKubeVersion float64                 `json:"maxKubeVersion,omitempty"`
	IsCustom       bool                    `json:"isCustom,omitempty"`
	IsActive       bool                    `json:"isActive,omitempty"`
	Platform       string                  `json:"platform,omitempty"`
	Zones          []PosturePolicyZoneMeta `json:"zones,omitempty"`
}

type PosturePolicyInterface added in v1.10.0

type PosturePolicyInterface interface {
	Base
	ListPosturePolicies(ctx context.Context) ([]PosturePolicy, error)
	CreateOrUpdatePosturePolicy(ctx context.Context, p *CreatePosturePolicy) (*FullPosturePolicy, string, error)
	GetPosturePolicyByID(ctx context.Context, id int64) (*FullPosturePolicy, error)
	DeletePosturePolicy(ctx context.Context, id int64) error
}

type PosturePolicyResponse added in v1.25.0

type PosturePolicyResponse struct {
	Data PosturePolicy `json:"data"`
}

type PosturePolicyZoneMeta added in v1.10.0

type PosturePolicyZoneMeta struct {
	ID   string `json:"id"`
	Name string `json:"name"`
}

type PostureVulnerabilityAcceptRiskInterface added in v1.45.0

type PostureVulnerabilityAcceptRiskInterface interface {
	Base

	SaveAcceptVulnerabilityRisk(ctx context.Context, p *AcceptVulnerabilityRiskRequest) (*AcceptVulnerabilityRisk, int, error)
	GetAcceptanceVulnerabilityRiskByID(ctx context.Context, id string) (*AcceptVulnerabilityRisk, int, error)
	DeleteAcceptanceVulnerabilityRisk(ctx context.Context, id string) error
	UpdateAcceptanceVulnerabilityRisk(ctx context.Context, p *UpdateAcceptVulnerabilityRiskRequest) (*AcceptVulnerabilityRisk, int, error)
}

type PostureZone added in v1.10.0

type PostureZone struct {
	ID             string                  `json:"id"`
	Name           string                  `json:"name"`
	Description    string                  `json:"description"`
	Author         string                  `json:"author"`
	LastModifiedBy string                  `json:"lastModifiedBy"`
	LastUpdated    string                  `json:"lastUpdated"`
	IsSystem       bool                    `json:"isSystem"`
	Scopes         []PostureZoneScope      `json:"scopes"`
	Policies       []PostureZonePolicySlim `json:"policies"`
}

type PostureZoneInterface added in v1.10.0

type PostureZoneInterface interface {
	Base
	CreateOrUpdatePostureZone(ctx context.Context, z *PostureZoneRequest) (*PostureZone, string, error)
	GetPostureZoneByID(ctx context.Context, id int) (*PostureZone, error)
	DeletePostureZone(ctx context.Context, id int) error
}

type PostureZonePolicyListResponse added in v1.10.0

type PostureZonePolicyListResponse struct {
	Data []PosturePolicy `json:"data"`
}

type PostureZonePolicySlim added in v1.10.0

type PostureZonePolicySlim struct {
	ID   string `json:"id,omitempty"`
	Name string `json:"name"`
	Type int    `json:"type"`
	Kind int    `json:"kind"`
}

type PostureZoneRequest added in v1.10.0

type PostureZoneRequest struct {
	ID          string             `json:"id"`
	Name        string             `json:"name"`
	Description string             `json:"description"`
	PolicyIDs   []string           `json:"policyIds"`
	Scopes      []PostureZoneScope `json:"scopes"`
}

type PostureZoneResponse added in v1.10.0

type PostureZoneResponse struct {
	Data PostureZone `json:"data"`
}

type PostureZoneScope added in v1.10.0

type PostureZoneScope struct {
	ID         string `json:"id,omitempty"`
	TargetType string `json:"targetType"`
	Rules      string `json:"rules"`
}

type Processes added in v1.4.2

type Processes struct {
	Items      []string `json:"items"`
	MatchItems bool     `json:"matchItems"`
}

type Product added in v1.8.0

type Product string
const (
	MonitorProduct Product = "SDC"
	SecureProduct  Product = "SDS"
)

type QueryParams added in v1.5.0

type QueryParams struct {
	Severities    []any  `json:"severities"`
	AlertStatuses []any  `json:"alertStatuses"`
	Categories    []any  `json:"categories"`
	Filter        string `json:"filter"`
	TeamScope     bool   `json:"teamScope"`
}

type ReadPaths added in v1.4.2

type ReadPaths struct {
	Items      []string `json:"items"`
	MatchItems bool     `json:"matchItems"`
}

type ReadWritePaths added in v1.4.2

type ReadWritePaths struct {
	Items      []string `json:"items"`
	MatchItems bool     `json:"matchItems"`
}

type ReasonType added in v1.45.0

type ReasonType string
const (
	ReasonRiskTransferred ReasonType = "RiskTransferred"
	ReasonRiskAvoided     ReasonType = "RiskAvoided"
	ReasonRiskMitigated   ReasonType = "RiskMitigated"
	ReasonRiskOwned       ReasonType = "RiskOwned"
	ReasonRiskNotRelevant ReasonType = "RiskNotRelevant"
	ReasonCustom          ReasonType = "Custom"
)

func ReasonTypeFromString added in v1.45.0

func ReasonTypeFromString(value string) (ReasonType, error)

type Requester added in v0.7.3

type Requester interface {
	CurrentTeamID(ctx context.Context) (int, error)
	Request(ctx context.Context, method string, url string, payload io.Reader) (*http.Response, error)
}

type Requirement added in v1.25.0

type Requirement struct {
	ID                  string    `json:"id,omitempty"`
	Name                string    `json:"name,omitempty"`
	RequirementFolderID string    `json:"requirementFolderId,omitempty"`
	Description         string    `json:"description,omitempty"`
	Controls            []Control `json:"controls,omitempty"`
	Authors             string    `json:"authors,omitempty"`
}

type RequirementsGroup added in v1.25.0

type RequirementsGroup struct {
	ID                        string              `json:"id,omitempty"`
	Name                      string              `json:"name,omitempty"`
	Requirements              []Requirement       `json:"requirements,omitempty"`
	Description               string              `json:"description,omitempty"`
	Authors                   string              `json:"author,omitempty"`
	Folders                   []RequirementsGroup `json:"folders,omitempty"`
	RequirementFolderParentID string              `json:"requirementFolderParentId,omitempty"`
}
type Right struct {
	Enabled        bool    `json:"enabled"`
	DisplayName    any     `json:"displayName"`
	Unit           string  `json:"unit"`
	DisplayFormat  string  `json:"displayFormat"`
	Decimals       any     `json:"decimals"`
	MinValue       float64 `json:"minValue"`
	MaxValue       any     `json:"maxValue"`
	MinInputFormat string  `json:"minInputFormat"`
	MaxInputFormat string  `json:"maxInputFormat"`
	Scale          string  `json:"scale"`
}

type Rule added in v1.4.2

type Rule struct {
	ID          int      `json:"id,omitempty"`
	Name        string   `json:"name"`
	Description string   `json:"description,omitempty"`
	Tags        []string `json:"tags"`
	Details     Details  `json:"details"`
	Version     int      `json:"version,omitempty"`
}

type RuleInterface added in v1.4.2

type RuleInterface interface {
	Base
	CreateRule(ctx context.Context, rule Rule) (Rule, error)
	GetRuleByID(ctx context.Context, ruleID int) (Rule, int, error)
	UpdateRule(ctx context.Context, rule Rule) (Rule, error)
	DeleteRule(ctx context.Context, ruleID int) error
	GetRuleGroup(ctx context.Context, ruleName string, ruleType string) ([]Rule, error)
	CreateStatefulRule(ctx context.Context, rule Rule) (Rule, error)
	UpdateStatefulRule(ctx context.Context, rule Rule) (Rule, error)
	DeleteStatefulRule(ctx context.Context, ruleID int) error
	GetStatefulRuleGroup(ctx context.Context, ruleName string, ruleType string) ([]Rule, error)
}

type RuntimePolicyObjectOrigin added in v1.23.0

type RuntimePolicyObjectOrigin string // NOTE: This is an int in model_rules.go#L247

type RuntimePolicyRule added in v1.23.0

type RuntimePolicyRule struct {
	ID          *FlexInt                   `json:"id"`
	Name        string                     `json:"name"`
	Origin      *RuntimePolicyObjectOrigin `json:"origin"`
	VersionID   string                     `json:"versionId"`
	Filename    string                     `json:"filename"`
	Description string                     `json:"description"`
	Details     RuntimePolicyRuleDetails   `json:"details"`
	Tags        []string                   `json:"tags"`
	Version     *int                       `json:"version"`
	CreatedOn   int64                      `json:"createdOn"`
	ModifiedOn  int64                      `json:"modifiedOn"`
}

func (*RuntimePolicyRule) UnmarshalJSON added in v1.23.0

func (r *RuntimePolicyRule) UnmarshalJSON(b []byte) error

type RuntimePolicyRuleDetails added in v1.23.0

type RuntimePolicyRuleDetails interface {
	GetRuleType() ElementType
}

type RuntimePolicyRuleList added in v1.23.0

type RuntimePolicyRuleList struct {
	Items      []string `json:"items"`
	MatchItems bool     `json:"matchItems"`
}

type SaveControlRequest added in v1.31.0

type SaveControlRequest struct {
	ID                 string `json:"id,omitempty"`
	Name               string `json:"name"`
	Description        string `json:"description"`
	ResourceKind       string `json:"resourceKind"`
	Severity           string `json:"severity"`
	Rego               string `json:"rego"`
	RemediationDetails string `json:"remediationDetails"`
}

type SaveControlResponse added in v1.31.0

type SaveControlResponse struct {
	Data PostureControl `json:"data"`
}

type ScopeExpressionList added in v1.5.0

type ScopeExpressionList struct {
	Operand     string   `json:"operand"`
	Operator    string   `json:"operator"`
	DisplayName string   `json:"displayName"`
	Value       []string `json:"value"`
	Descriptor  any      `json:"descriptor"`
	IsVariable  bool     `json:"isVariable"`
}

type ScopeExpressionV2 added in v1.6.0

type ScopeExpressionV2 struct {
	Operand    string                  `json:"operand"`
	Descriptor *AlertLabelDescriptorV2 `json:"descriptor,omitempty"`
	Operator   string                  `json:"operator"`
	Value      []string                `json:"value"`
}

type ScopedSegmentedConfig added in v1.6.0

type ScopedSegmentedConfig struct {
	Scope     *AlertScopeV2            `json:"scope,omitempty"`
	SegmentBy []AlertLabelDescriptorV2 `json:"segmentBy"`
}

type SegmentCondition added in v1.4.0

type SegmentCondition struct {
	Type string `json:"type"`
}

type SharingMember added in v1.5.0

type SharingMember struct {
	Type string `json:"type"`
	ID   int    `json:"id"`
}

type SharingOptions added in v1.5.0

type SharingOptions struct {
	Member SharingMember `json:"member"`
	Role   string        `json:"role"`
}

type SilenceRule added in v1.12.0

type SilenceRule struct {
	Name                   string `json:"name"`
	Enabled                bool   `json:"enabled"`
	StartTS                int64  `json:"startTs"`
	DurationInSec          int    `json:"durationInSec"`
	Scope                  string `json:"scope,omitempty"`
	AlertIds               []int  `json:"alertIds,omitempty"`
	NotificationChannelIds []int  `json:"notificationChannelIds,omitempty"`

	Version int `json:"version,omitempty"`
	ID      int `json:"id,omitempty"`
}

type SilenceRuleInterface added in v1.12.0

type SilenceRuleInterface interface {
	Base
	GetSilenceRule(ctx context.Context, id int) (SilenceRule, error)
	CreateSilenceRule(ctx context.Context, silenceRule SilenceRule) (SilenceRule, error)
	UpdateSilenceRule(ctx context.Context, silenceRule SilenceRule) (SilenceRule, error)
	DeleteSilenceRule(ctx context.Context, id int) error
}

type Stage added in v1.58.0

type Stage struct {
	Name          string          `json:"name"`
	Configuration []Configuration `json:"configuration,omitempty"`
}

type StageType added in v1.45.0

type StageType string

type StatusType added in v1.45.0

type StatusType string
const (
	StatusActive  StatusType = "active"
	StatusExpired StatusType = "expired"
)

type Syscalls added in v1.4.2

type Syscalls struct {
	Items      []string `json:"items"`
	MatchItems bool     `json:"matchItems"`
}

type SysdigCapture added in v1.4.0

type SysdigCapture struct {
	Name       string `json:"name"`
	Filters    string `json:"filters,omitempty"`
	Duration   int    `json:"duration"`
	Type       string `json:"type,omitempty"`
	BucketName string `json:"bucketName"`
	Folder     string `json:"folder,omitempty"`
	Enabled    bool   `json:"enabled"`
	StorageID  any    `json:"storageId,omitempty"`
}

type SysdigMonitor added in v1.1.0

type SysdigMonitor interface {
	SysdigCommon
	MonitorCommon

	CloudAccountMonitorInterface
}

func NewSysdigMonitor added in v1.1.0

func NewSysdigMonitor(opts ...ClientOption) SysdigMonitor

type SysdigRequest added in v0.7.3

type SysdigRequest struct {
	// contains filtered or unexported fields
}

func (*SysdigRequest) CurrentTeamID added in v1.3.0

func (sr *SysdigRequest) CurrentTeamID(ctx context.Context) (int, error)

func (*SysdigRequest) Request added in v0.7.3

func (sr *SysdigRequest) Request(ctx context.Context, method string, url string, payload io.Reader) (*http.Response, error)

type TCPListenPorts added in v1.4.2

type TCPListenPorts struct {
	Items      []string `json:"items"`
	MatchItems bool     `json:"matchItems"`
}

type Team

type Team struct {
	UserRoles           []UserRoles       `json:"userRoles,omitempty"`
	Description         string            `json:"description"`
	Name                string            `json:"name"`
	ID                  int               `json:"id,omitempty"`
	Version             int               `json:"version,omitempty"`
	Origin              string            `json:"origin,omitempty"`
	LastUpdated         int64             `json:"lastUpdated,omitempty"`
	EntryPoint          *EntryPoint       `json:"entryPoint,omitempty"`
	Theme               string            `json:"theme"`
	CustomerID          int               `json:"customerId,omitempty"`
	DateCreated         int64             `json:"dateCreated,omitempty"`
	Products            []string          `json:"products,omitempty"`
	Show                string            `json:"show,omitempty"`
	Immutable           bool              `json:"immutable,omitempty"`
	CanUseSysdigCapture *bool             `json:"canUseSysdigCapture,omitempty"`
	CanUseCustomEvents  *bool             `json:"canUseCustomEvents,omitempty"`
	CanUseAwsMetrics    *bool             `json:"canUseAwsMetrics,omitempty"`
	CanUseBeaconMetrics *bool             `json:"canUseBeaconMetrics,omitempty"`
	CanUseRapidResponse *bool             `json:"canUseRapidResponse,omitempty"`
	CanUseAgentCli      *bool             `json:"canUseAgentCli,omitempty"`
	UserCount           int               `json:"userCount,omitempty"`
	Filter              string            `json:"filter,omitempty"`
	NamespaceFilters    *NamespaceFilters `json:"namespaceFilters,omitempty"`
	DefaultTeam         bool              `json:"default,omitempty"`
	ZoneIDs             []int             `json:"zoneIds,omitempty"`
	AllZones            bool              `json:"allZones"`
}

type TeamInterface

type TeamInterface interface {
	Base
	GetUserIDByEmail(ctx context.Context, userRoles []UserRoles) ([]UserRoles, error)
	GetTeamByID(ctx context.Context, id int) (t Team, err error)
	CreateTeam(ctx context.Context, tRequest Team) (t Team, err error)
	UpdateTeam(ctx context.Context, tRequest Team) (t Team, err error)
	DeleteTeam(ctx context.Context, id int) error
	ListTeams(ctx context.Context) ([]Team, error)
}

type TeamMap added in v1.4.0

type TeamMap struct {
	AllTeams bool  `json:"allTeams"`
	TeamIDs  []int `json:"teamIds"`
}

type TeamServiceAccount added in v1.11.0

type TeamServiceAccount struct {
	ID             int    `json:"id,omitempty"`
	Name           string `json:"name"`
	SystemRole     string `json:"systemRole"`
	TeamID         int    `json:"teamId"`
	TeamRole       string `json:"teamRole"`
	DateCreated    int64  `json:"dateCreated,omitempty"`
	ExpirationDate int64  `json:"expirationDate"`
	APIKey         string `json:"apiKey,omitempty"`
}

type TeamServiceAccountInterface added in v1.11.0

type TeamServiceAccountInterface interface {
	Base
	GetTeamServiceAccountByID(ctx context.Context, id int) (*TeamServiceAccount, error)
	CreateTeamServiceAccount(ctx context.Context, account *TeamServiceAccount) (*TeamServiceAccount, error)
	UpdateTeamServiceAccount(ctx context.Context, account *TeamServiceAccount, id int) (*TeamServiceAccount, error)
	DeleteTeamServiceAccount(ctx context.Context, id int) error
}

type TeamSharingOptions added in v1.5.0

type TeamSharingOptions struct {
	Type          string `json:"type"`
	UserTeamsRole string `json:"userTeamsRole"`
	SelectedTeams []any  `json:"selectedTeams"`
}

type UDPListenPorts added in v1.4.2

type UDPListenPorts struct {
	Items      []string `json:"items"`
	MatchItems bool     `json:"matchItems"`
}

type UnixTimestamp added in v1.1.0

type UnixTimestamp int64

type UpdateAccepetPostureResponse added in v1.38.0

type UpdateAccepetPostureResponse struct {
	Acceptance AcceptPostureRisk `json:"riskAcceptance"`
}

type UpdateAccepetPostureRiskRequest added in v1.38.0

type UpdateAccepetPostureRiskRequest struct {
	AcceptanceID string                        `json:"id"`
	Acceptance   UpdateAcceptPostureRiskFields `json:"riskAcceptance"`
}

type UpdateAcceptPostureRiskFields added in v1.38.0

type UpdateAcceptPostureRiskFields struct {
	Description  string `json:"description"`
	Reason       string `json:"reason"`
	ExpiresAt    string `json:"expiresAt"`
	AcceptPeriod string `json:"acceptPeriod"`
}

type UpdateAcceptVulnerabilityRiskRequest added in v1.45.0

type UpdateAcceptVulnerabilityRiskRequest struct {
	ID             string     `json:"id"`
	ExpirationDate string     `json:"expirationDate,omitempty"`
	Reason         ReasonType `json:"reason"`
	Description    string     `json:"description"`
}

type User added in v1.3.0

type User struct {
	ID          int    `json:"id,omitempty"`
	Version     int    `json:"version,omitempty"`
	SystemRole  string `json:"systemRole,omitempty"`
	Email       string `json:"username"`
	FirstName   string `json:"firstName,omitempty"`
	LastName    string `json:"lastName,omitempty"`
	CurrentTeam *int   `json:"currentTeam"`
}

type UserInterface added in v1.4.0

type UserInterface interface {
	Base
	GetUserByID(ctx context.Context, id int) (*User, error)
	GetUserByUsername(ctx context.Context, username string) (*User, error)
	GetUserByEmail(ctx context.Context, email string) (*User, error)
	CreateUser(ctx context.Context, user *User) (*User, error)
	UpdateUser(ctx context.Context, user *User) (*User, error)
	DeleteUser(ctx context.Context, id int) error
	GetCurrentUser(ctx context.Context) (u *User, err error)
}

type UserRoles

type UserRoles struct {
	UserID int    `json:"userId"`
	Email  string `json:"userName,omitempty"`
	Role   string `json:"role"`
	Admin  bool   `json:"admin,omitempty"`
}

type VersionConstraint added in v1.34.0

type VersionConstraint struct {
	Platform   string  `json:"platform"`
	MinVersion float64 `json:"minVersion,omitempty"`
	MaxVersion float64 `json:"maxVersion,omitempty"`
}

type VulnerabilityPolicy added in v1.58.0

type VulnerabilityPolicy struct {
	Bundles     []Bundle `json:"bundles"`
	Description string   `json:"description"`
	Name        string   `json:"name"`
	Stages      []Stage  `json:"stages,omitempty"`
	ID          *int32   `json:"id,omitempty"`
	Identifier  *string  `json:"identifier,omitempty"`
}

type VulnerabilityPolicyClient added in v1.58.0

type VulnerabilityPolicyClient interface {
	CreateVulnerabilityPolicy(ctx context.Context, vulnerabilityPolicy VulnerabilityPolicy) (VulnerabilityPolicy, error)
	GetVulnerabilityPolicyByID(ctx context.Context, vulnerabilityPolicyID string) (VulnerabilityPolicy, error)
	UpdateVulnerabilityPolicy(ctx context.Context, vulnerabilityPolicy VulnerabilityPolicy) (VulnerabilityPolicy, error)
	DeleteVulnerabilityPolicyByID(ctx context.Context, vulnerabilityPolicyID string) error
}

type VulnerabilityRule added in v1.59.0

type VulnerabilityRule struct {
	ID         *string                      `json:"ruleId,omitempty"`
	Type       VulnerabilityRuleType        `json:"ruleType"`
	Predicates []VulnerabilityRulePredicate `json:"predicates"`
}

type VulnerabilityRuleBundle added in v1.59.0

type VulnerabilityRuleBundle struct {
	ID          *int                `json:"id,omitempty"`
	Name        string              `json:"name"`
	Identifier  *string             `json:"identifier,omitempty"`
	Description *string             `json:"description,omitempty"`
	Rules       []VulnerabilityRule `json:"rules"`
}

type VulnerabilityRuleBundleClient added in v1.59.0

type VulnerabilityRuleBundleClient interface {
	CreateVulnerabilityRuleBundle(ctx context.Context, vulnerabilityRuleBundle VulnerabilityRuleBundle) (VulnerabilityRuleBundle, error)
	GetVulnerabilityRuleBundleByID(ctx context.Context, vulnerabilityRuleBundleID string) (VulnerabilityRuleBundle, error)
	UpdateVulnerabilityRuleBundle(ctx context.Context, vulnerabilityRuleBundle VulnerabilityRuleBundle) (VulnerabilityRuleBundle, error)
	DeleteVulnerabilityRuleBundleByID(ctx context.Context, vulnerabilityRuleBundleID string) error
}

type VulnerabilityRulePredicate added in v1.59.0

type VulnerabilityRulePredicate struct {
	Type  string                           `json:"type"`
	Extra *VulnerabilityRulePredicateExtra `json:"extra,omitempty"`
}

type VulnerabilityRulePredicateExtra added in v1.59.0

type VulnerabilityRulePredicateExtra struct {
	Level    *Level    `json:"level,omitempty"`
	Age      *int      `json:"age,omitempty"`
	VulnIDS  []string  `json:"vulnIds,omitempty"`
	Value    *string   `json:"value,omitempty"`
	Packages []Package `json:"packages,omitempty"`
	Key      *string   `json:"key,omitempty"`
	User     *string   `json:"user,omitempty"`
	PkgType  *string   `json:"pkgType,omitempty"`
}

type VulnerabilityRuleType added in v1.59.0

type VulnerabilityRuleType string
const (
	VulnerabilityRuleTypeImageConfigCreationDate                   VulnerabilityRuleType = "imageConfigCreationDate"
	VulnerabilityRuleTypeImageConfigDefaultUser                    VulnerabilityRuleType = "imageConfigDefaultUser"
	VulnerabilityRuleTypeImageConfigEnvVariable                    VulnerabilityRuleType = "imageConfigEnvVariable"
	VulnerabilityRuleTypeImageConfigInstructionIsPkgManager        VulnerabilityRuleType = "imageConfigInstructionIsPkgManager"
	VulnerabilityRuleTypeImageConfigInstructionNotRecommended      VulnerabilityRuleType = "imageConfigInstructionNotRecommended"
	VulnerabilityRuleTypeImageConfigLabel                          VulnerabilityRuleType = "imageConfigLabel"
	VulnerabilityRuleTypeImageConfigSensitiveInformationAndSecrets VulnerabilityRuleType = "imageConfigSensitiveInformationAndSecrets"
	VulnerabilityRuleTypePkgDenyList                               VulnerabilityRuleType = "pkgDenyList"
	VulnerabilityRuleTypeVulnDenyList                              VulnerabilityRuleType = "vulnDenyList"
	VulnerabilityRuleTypeVulnSeverityAndThreats                    VulnerabilityRuleType = "vulnSeverityAndThreats"
)

type Zone added in v1.50.0

type Zone struct {
	ID             int         `json:"id"`
	Name           string      `json:"name"`
	Description    string      `json:"description,omitempty"`
	Author         string      `json:"author"`
	LastModifiedBy string      `json:"lastModifiedBy,omitempty"`
	LastUpdated    int64       `json:"lastUpdated,omitempty"`
	IsSystem       bool        `json:"isSystem"`
	Scopes         []ZoneScope `json:"scopes"`
}

type ZoneInterface added in v1.50.0

type ZoneInterface interface {
	Base
	GetZones(ctx context.Context, name string) ([]Zone, error)
	GetZoneByID(ctx context.Context, id int) (*Zone, error)
	CreateZone(ctx context.Context, zone *ZoneRequest) (*Zone, error)
	UpdateZone(ctx context.Context, zone *ZoneRequest) (*Zone, error)
	DeleteZone(ctx context.Context, id int) error
}

type ZoneRequest added in v1.50.0

type ZoneRequest struct {
	ID          int         `json:"id,omitempty"`
	Name        string      `json:"name"`
	Description string      `json:"description,omitempty"`
	Scopes      []ZoneScope `json:"scopes"`
}

type ZoneScope added in v1.50.0

type ZoneScope struct {
	ID         int    `json:"id,omitempty"`
	TargetType string `json:"targetType"`
	Rules      string `json:"rules"`
}

type ZonesWrapper added in v1.50.0

type ZonesWrapper struct {
	Zones []Zone `json:"data"`
}

Directories

Path Synopsis
cloudauth
go

Jump to

Keyboard shortcuts

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