api

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Oct 22, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	Token   *string
	Graphql *graphql.Client
}

Wiz API Client

func CreateClient

func CreateClient(ctx context.Context, config ClientConfig) (*Client, error)

func (*Client) DoRequest

func (client *Client) DoRequest(req *graphql.Request, responseData interface{}) error

execute graphql request

type ClientConfig

type ClientConfig struct {
	Token *string
	Url   *string
}

type CloudConfigRule

type CloudConfigRule struct {
	BuiltIn                 bool                               `json:"builtin"`
	CloudProvider           string                             `json:"cloudProvider"`
	Control                 []CloudConfigRuleQueryControl      `json:"control"`
	CreatedAt               string                             `json:"createdAt"`
	CreatedBy               CloudConfigRuleQueryUser           `json:"createdBy"`
	Description             string                             `json:"description"`
	Enabled                 bool                               `json:"enabled"`
	FunctionAsControl       bool                               `json:"functionAsControl"`
	HasAutoRemediation      bool                               `json:"hasAutoRemediation"`
	Id                      string                             `json:"id"`
	Name                    string                             `json:"name"`
	RemediationInstructions string                             `json:"remediationInstructions"`
	ScopeAccounts           []CloudConfigRuleQuerySubscription `json:"scopeAccounts"`
	ServiceType             string                             `json:"serviceType"`
	Severity                string                             `json:"severity"`
	ShortId                 string                             `json:"shortId"`
	SupportsNrt             bool                               `json:"supportsNRT"`
	TargetNativeTypes       []string                           `json:"targetNativeTypes"`
	UpdatedAt               string                             `json:"updatedAt"`
}

Cloud configuration rule object

type CloudConfigRuleConnection

type CloudConfigRuleConnection struct {
	Nodes      []CloudConfigRule `json:"nodes"`
	PageInfo   PageInfo          `json:"pageInfo"`
	TotalCount int               `json:"totalCount"`
}

Relay-style node for the cloud configuration rule

type CloudConfigRuleQueryControl

type CloudConfigRuleQueryControl struct {
	Id string `json:"id"`
}

Control information

type CloudConfigRuleQuerySubscription

type CloudConfigRuleQuerySubscription struct {
	Id string `json:"id"`
}

Cloud account information

type CloudConfigRuleQueryUser

type CloudConfigRuleQueryUser struct {
	Id string `json:"id"`
}

User information

type ConfigurationFinding

type ConfigurationFinding struct {
	AnalyzedAt       string                                `json:"analyzedAt"`
	Id               string                                `json:"id"`
	Remediation      string                                `json:"remediation"`
	ResolutionReason string                                `json:"resolutionReason"`
	Resource         ConfigurationFindingResource          `json:"resource"`
	Result           string                                `json:"result"`
	Rule             ConfigurationFindingQueryRule         `json:"rule"`
	Severity         string                                `json:"severity"`
	Status           string                                `json:"status"`
	Subscription     ConfigurationFindingQuerySubscription `json:"subscription"`
}

Configuration finding object

type ConfigurationFindingConnection

type ConfigurationFindingConnection struct {
	Nodes      []ConfigurationFinding `json:"nodes"`
	PageInfo   PageInfo               `json:"pageInfo"`
	TotalCount int                    `json:"totalCount"`
}

Relay-style node for cloud configuration findings

type ConfigurationFindingQueryRule

type ConfigurationFindingQueryRule struct {
	Id string `json:"id"`
}

Cloud configuration rule information

type ConfigurationFindingQuerySubscription

type ConfigurationFindingQuerySubscription struct {
	Id string `json:"id"`
}

Subscription information

type ConfigurationFindingResource

type ConfigurationFindingResource struct {
	CloudPlatform string                                     `json:"analyzedAt,omitempty"`
	Id            string                                     `json:"id,omitempty"`
	Name          string                                     `json:"name,omitempty"`
	NativeType    string                                     `json:"nativeType,omitempty"`
	Projects      []ConfigurationFindingResourceQueryProject `json:"projects,omitempty"`
	Region        string                                     `json:"region,omitempty"`
	Status        string                                     `json:"status,omitempty"`
	Tags          []ResourceTag                              `json:"tags,omitempty"`
	Type          string                                     `json:"type,omitempty"`
}

Configuration finding resource object

type ConfigurationFindingResourceQueryProject

type ConfigurationFindingResourceQueryProject struct {
	Id string `json:"id"`
}

Project information

type Control

type Control struct {
	CreatedAt                         string                      `json:"createdAt"`
	CreatedBy                         ControlQueryUser            `json:"createdBy"`
	Description                       string                      `json:"description"`
	Enabled                           bool                        `json:"enabled"`
	EnabledForHBI                     bool                        `json:"enabledForHBI"`
	EnabledForLBI                     bool                        `json:"enabledForLBI"`
	EnabledForMBI                     bool                        `json:"enabledForMBI"`
	EnabledForUnattributed            bool                        `json:"enabledForUnattributed"`
	HasAutoRemediation                bool                        `json:"hasAutoRemediation"`
	Id                                string                      `json:"id"`
	LastRunAt                         string                      `json:"lastRunAt"`
	LastRunError                      string                      `json:"lastRunError"`
	LastSuccessfulRunAt               string                      `json:"lastSuccessfulRunAt"`
	Name                              string                      `json:"name"`
	Query                             interface{}                 `json:"query"`
	ResolutionRecommendation          string                      `json:"resolutionRecommendation"`
	ResolutionRecommendationPlainText string                      `json:"resolutionRecommendationPlainText"`
	ScopedProject                     ControlQueryProject         `json:"scopeProject"`
	Severity                          string                      `json:"severity"`
	SourceCloudConfigurationRule      ControlQueryCloudConfigRule `json:"sourceCloudConfigurationRule"`
	SupportsNRT                       bool                        `json:"supportsNRT"`
	Tags                              []string                    `json:"tags"`
	Type                              string                      `json:"type"`
}

Control object

type ControlConnection

type ControlConnection struct {
	Nodes      []Control `json:"nodes"`
	PageInfo   PageInfo  `json:"pageInfo"`
	TotalCount int       `json:"totalCount"`
}

Relay-style node for the control

type ControlQueryCloudConfigRule

type ControlQueryCloudConfigRule struct {
	Id string `json:"id"`
}

Cloud configuration rule object

type ControlQueryProject

type ControlQueryProject struct {
	Id string `json:"id"`
}

Project object

type ControlQueryUser

type ControlQueryUser struct {
	Id string `json:"id"`
}

User object

type DateFilter

type DateFilter struct {
	After  string
	Before string
}

type GetCloudConfigRuleResponse

type GetCloudConfigRuleResponse struct {
	CloudConfigRule CloudConfigRule `json:"cloudConfigurationRule"`
}

GetCloudConfigRuleResponse is returned by GetCloudConfigRule on success

func GetCloudConfigRule

func GetCloudConfigRule(
	ctx context.Context,
	client *Client,
	id string,
) (*GetCloudConfigRuleResponse, error)

GetCloudConfigRule returns a specific CSPM rule that matches the ID

@param ctx context for configuration

@param client the API client

@param id unique identifier of the resource

type GetConfigurationFindingResponse

type GetConfigurationFindingResponse struct {
	ConfigurationFinding ConfigurationFinding `json:"configurationFinding"`
}

GetConfigurationFindingResponse is returned by GetConfigurationFinding on success

func GetConfigurationFinding

func GetConfigurationFinding(
	ctx context.Context,
	client *Client,
	id string,
) (*GetConfigurationFindingResponse, error)

GetConfigurationFinding returns a specific finding that matches the ID

@param ctx context for configuration

@param client the API client

@param id unique identifier of the resource

type GetControlResponse

type GetControlResponse struct {
	Control Control `json:"control"`
}

GetControlResponse is returned by GetControl on success

func GetControl

func GetControl(
	ctx context.Context,
	client *Client,
	id string,
) (*GetControlResponse, error)

GetControl returns a specific user that matches the ID

@param ctx context for configuration

@param client the API client

@param id unique identifier of the resource

type GetIssueResponse

type GetIssueResponse struct {
	Issue Issue `json:"issue"`
}

GetIssueResponse is returned by GetIssue on success

func GetIssue

func GetIssue(
	ctx context.Context,
	client *Client,
	id string,
) (*GetIssueResponse, error)

GetIssue returns a specific issue that matches the ID

@param ctx context for configuration

@param client the API client

@param id unique identifier of the resource

type GetProjectResponse

type GetProjectResponse struct {
	Project Project `json:"project"`
}

GetProjectResponse is returned by GetProject on success

func GetProject

func GetProject(
	ctx context.Context,
	client *Client,
	id string,
) (*GetProjectResponse, error)

GetProject returns a specific project that matches the ID

@param ctx context for configuration

@param client the API client

@param id unique identifier of the resource

type GetSecurityCategoryResponse

type GetSecurityCategoryResponse struct {
	SecurityCategory SecurityCategory `json:"securityCategory"`
}

GetSecurityCategoryResponse is returned by GetSecurityCategory on success

func GetSecurityCategory

func GetSecurityCategory(
	ctx context.Context,
	client *Client,
	id string,
) (*GetSecurityCategoryResponse, error)

GetSecurityCategory returns a specific security category that matches the ID

@param ctx context for configuration

@param client the API client

@param id unique identifier of the resource

type GetSecurityFrameworkResponse

type GetSecurityFrameworkResponse struct {
	SecurityFramework SecurityFramework `json:"securityFramework"`
}

GetSecurityFrameworkResponse is returned by GetSecurityFramework on success

func GetSecurityFramework

func GetSecurityFramework(
	ctx context.Context,
	client *Client,
	id string,
) (*GetSecurityFrameworkResponse, error)

GetSecurityFramework returns a specific security framework that matches the ID

@param ctx context for configuration

@param client the API client

@param id unique identifier of the resource

type GetServiceAccountResponse

type GetServiceAccountResponse struct {
	ServiceAccount ServiceAccount `json:"serviceAccount"`
}

GetServiceAccountResponse is returned by GetServiceAccount on success

func GetServiceAccount

func GetServiceAccount(
	ctx context.Context,
	client *Client,
	id string,
) (*GetServiceAccountResponse, error)

GetServiceAccount returns a specific service account that matches the ID

@param ctx context for configuration

@param client the API client

@param id unique identifier of the resource

type GetSubscriptionResponse

type GetSubscriptionResponse struct {
	Subscription Subscription `json:"cloudAccount"`
}

GetSubscriptionResponse is returned by GetSubscription on success

func GetSubscription

func GetSubscription(
	ctx context.Context,
	client *Client,
	id string,
) (*GetSubscriptionResponse, error)

GetSubscription returns a specific subscription that matches the ID

@param ctx context for configuration

@param client the API client

@param id unique identifier of the resource

type GetUserResponse

type GetUserResponse struct {
	User User `json:"user"`
}

GetUserResponse is returned by GetUser on success

func GetUser

func GetUser(
	ctx context.Context,
	client *Client,
	id string,
) (*GetUserResponse, error)

GetUser returns a specific user that matches the ID

@param ctx context for configuration

@param client the API client

@param id unique identifier of the resource

type GetVulnerabilityFindingResponse

type GetVulnerabilityFindingResponse struct {
	VulnerabilityFinding VulnerabilityFinding `json:"vulnerabilityFinding"`
}

GetVulnerabilityFindingResponse is returned by GetVulnerabilityFinding on success

func GetVulnerabilityFinding

func GetVulnerabilityFinding(
	ctx context.Context,
	client *Client,
	id string,
) (*GetVulnerabilityFindingResponse, error)

GetVulnerabilityFinding returns a specific vulnerability finding that matches the ID

@param ctx context for configuration

@param client the API client

@param id unique identifier of the resource

type GraphEntity

type GraphEntity struct {
	Id   string `json:"id"`
	Name string `json:"name"`
}

The graph object

type Issue

type Issue struct {
	Control            IssueQueryControl     `json:"control"`
	CreatedAt          string                `json:"createdAt"`
	Description        string                `json:"description"`
	DueAt              string                `json:"dueAt"`
	Entity             GraphEntity           `json:"entity"`
	Id                 string                `json:"id"`
	Notes              []IssueNote           `json:"notes"`
	Projects           []IssueQueryProject   `json:"projects"`
	RejectionExpiredAt string                `json:"rejectionExpiredAt"`
	ResolutionReason   string                `json:"resolutionReason"`
	ResolvedAt         string                `json:"resolvedAt"`
	ServiceTickets     []IssueServiceTickets `json:"serviceTickets"`
	Severity           string                `json:"severity"`
	Status             string                `json:"status"`
	StatusChangedAt    string                `json:"statusChangedAt"`
	UpdatedAt          string                `json:"updatedAt"`
}

Issue object

type IssueConnection

type IssueConnection struct {
	Nodes      []Issue  `json:"nodes"`
	PageInfo   PageInfo `json:"pageInfo"`
	TotalCount int      `json:"totalCount"`
}

Relay-style node for the issue

type IssueFilter

type IssueFilter struct {
	// Filter Issues created before/after provided date.
	CreatedAt DateFilter

	// Filter issues using any of securityFramework | securitySubCategory | securityCategory.
	FrameworkCategory string

	// The control severity.
	//
	// Possible values are: INFORMATIONAL, LOW, MEDIUM, HIGH, CRITICAL.
	Severity string

	// Filter issues created by specific control ID.
	SourceControl string

	// The issue status.
	//
	// Possible values are: OPEN, IN_PROGRESS, RESOLVED, REJECTED.
	Status string

	// Filter issues by resolution reason.
	//
	// Possible values are: OBJECT_DELETED, ISSUE_FIXED, CONTROL_CHANGED, CONTROL_DISABLED, CONTROL_DELETED, FALSE_POSITIVE, EXCEPTION, WONT_FIX.
	ResolutionReason string
}

Issue filter object

type IssueNote

type IssueNote struct {
	CreatedAt      string                   `json:"createdAt,omitempty"`
	Id             string                   `json:"id,omitempty"`
	ServiceAccount IssueQueryServiceAccount `json:"serviceAccount,omitempty"`
	Text           string                   `json:"text,omitempty"`
	UpdatedAt      string                   `json:"updatedAt,omitempty"`
	User           IssueQueryUser           `json:"user,omitempty"`
}

Issue note object

type IssueQueryAutomationAction

type IssueQueryAutomationAction struct {
	Id string `json:"id"`
}

Automation action information

type IssueQueryControl

type IssueQueryControl struct {
	Id string `json:"id"`
}

Control information

type IssueQueryIntegration

type IssueQueryIntegration struct {
	Id string `json:"id"`
}

Integration information

type IssueQueryProject

type IssueQueryProject struct {
	Id   string `json:"id"`
	Name string `json:"name"`
}

Project information

type IssueQueryServiceAccount

type IssueQueryServiceAccount struct {
	Id string `json:"id"`
}

Service account information

type IssueQueryUser

type IssueQueryUser struct {
	Id   string `json:"id"`
	Name string `json:"name"`
}

User information

type IssueServiceTickets

type IssueServiceTickets struct {
	Action      IssueQueryAutomationAction `json:"action,omitempty"`
	ExternalId  string                     `json:"externalId,omitempty"`
	Id          string                     `json:"id,omitempty"`
	Integration IssueQueryIntegration      `json:"integration,omitempty"`
	Name        string                     `json:"name,omitempty"`
	Project     IssueQueryProject          `json:"project,omitempty"`
	Url         string                     `json:"url,omitempty"`
}

Service ticket object

type ListCloudConfigRulesRequestConfiguration

type ListCloudConfigRulesRequestConfiguration struct {
	// Optional - filter CSPM rules by to cloud provider.
	//
	// Possible values are: AWS, GCP, OCI, Alibaba, Azure, Kubernetes, OpenShift, vSphere.
	CloudProvider string

	// Optional - filter CSPM Rule by enabled status.
	Enabled *bool

	// When paginating forwards, the cursor to continue.
	EndCursor string

	// Optional - if true, all the rule that has auto remediation enabled will be returned.
	HasAutoRemediation *bool

	// The maximum number of results to return in a single call. To retrieve the
	// remaining results, make another call with the returned EndCursor value.
	//
	// Maximum limit is 500.
	Limit int

	// Optional - filter CSPM rules related by service type.
	//
	// Possible values: AKS, AWS, Alibaba, Azure, EKS, GCP, GKE, Kubernetes, OCI, OKE, vSphere.
	ServiceType string

	// Optional - filter CSPM Rule by severity.
	//
	// Possible values are: CRITICAL, HIGH, INFORMATIONAL, LOW, MEDIUM.
	Severity string

	// Optional - if true, rule with support of "near real time" updates will be returned.
	SupportsNRT *bool
}

Fields used to filter the cloud configuration rule response

type ListCloudConfigRulesResponse

type ListCloudConfigRulesResponse struct {
	CloudConfigRules CloudConfigRuleConnection `json:"cloudConfigurationRules"`
}

ListCloudConfigRulesResponse is returned by ListCloudConfigRules on success

func ListCloudConfigRules

func ListCloudConfigRules(
	ctx context.Context,
	client *Client,
	options *ListCloudConfigRulesRequestConfiguration,
) (*ListCloudConfigRulesResponse, error)

ListCloudConfigRules returns a paginated list of the cloud configuration rules

@param ctx context for configuration

@param client the API client

@param options the API parameters

type ListConfigurationFindingsRequestConfiguration

type ListConfigurationFindingsRequestConfiguration struct {
	// Optional - return findings detected within the given time range.
	AnalyzedAt DateFilter

	// When paginating forwards, the cursor to continue.
	EndCursor string

	// The maximum number of results to return in a single call. To retrieve the
	// remaining results, make another call with the returned EndCursor value.
	//
	// Maximum limit is 500.
	Limit int

	// Optional - filter findings by result.
	//
	// Possible values are: ERROR, FAIL, NOT_ASSESSED, PASS.
	Result string

	// Optional - filter findings generated by rule.
	RuleId string

	// Optional - filter findings by severity.
	//
	// Possible values: CRITICAL, HIGH, LOW, MEDIUM, NONE.
	Severity string

	// Optional - filter findings by status.
	//
	// Possible values: IN_PROGRESS, OPEN, REJECTED, RESOLVED.
	Status string
}

Fields used to filter the cloud configuration findings response

type ListConfigurationFindingsResponse

type ListConfigurationFindingsResponse struct {
	ConfigurationFindings ConfigurationFindingConnection `json:"configurationFindings"`
}

ListConfigurationFindingsResponse is returned by ListConfigurationFindings on success

func ListConfigurationFindings

func ListConfigurationFindings(
	ctx context.Context,
	client *Client,
	options *ListConfigurationFindingsRequestConfiguration,
) (*ListConfigurationFindingsResponse, error)

ListConfigurationFindings returns a paginated list of cloud configuration findings

@param ctx context for configuration

@param client the API client

@param options the API parameters

type ListControlsRequestConfiguration

type ListControlsRequestConfiguration struct {
	// Optional - filter controls which are enabled/disabled.
	Enabled *bool

	// When paginating forwards, the cursor to continue.
	EndCursor string

	// Optional - filter controls using any of securityFramework | securitySubCategory | securityCategory.
	FrameworkCategory string

	// Optional - filter controls which their related cloud configuration rule have auto remediation.
	HasAutoRemediation *bool

	// The maximum number of results to return in a single call. To retrieve the
	// remaining results, make another call with the returned EndCursor value.
	//
	// Maximum limit is 500.
	Limit int

	// Optional - filter controls by project ID.
	Project string

	// Optional - filter controls by severity.
	//
	// Possible values are: CRITICAL, HIGH, INFORMATIONAL, LOW, MEDIUM.
	Severity string

	// Optional - filter controls by type.
	//
	// Possible values are: CLOUD_CONFIGURATION, SECURITY_GRAPH.
	Type string
}

Fields used to filter the control response

type ListControlsResponse

type ListControlsResponse struct {
	Controls ControlConnection `json:"controls"`
}

ListControlsResponse is returned by ListControls on success

func ListControls

func ListControls(
	ctx context.Context,
	client *Client,
	options *ListControlsRequestConfiguration,
) (*ListControlsResponse, error)

ListControls returns a paginated list of the security controls

@param ctx context for configuration

@param client the API client

@param options the API parameters

type ListIssuesRequestConfiguration

type ListIssuesRequestConfiguration struct {
	// When paginating forwards, the cursor to continue.
	EndCursor string

	// Optional - filters object
	Filter *IssueFilter

	// The maximum number of results to return in a single call. To retrieve the
	// remaining results, make another call with the returned EndCursor value.
	//
	// Maximum limit is 500.
	Limit int
}

Fields used to filter the issue response

type ListIssuesResponse

type ListIssuesResponse struct {
	Issues IssueConnection `json:"issues"`
}

ListIssuesResponse is returned by ListIssues on success

func ListIssues

func ListIssues(
	ctx context.Context,
	client *Client,
	options *ListIssuesRequestConfiguration,
) (*ListIssuesResponse, error)

ListIssues returns a paginated list of all the issues

@param ctx context for configuration

@param client the API client

@param options the API parameters

type ListProjectsRequestConfiguration

type ListProjectsRequestConfiguration struct {
	// When paginating forwards, the cursor to continue.
	EndCursor string

	// The maximum number of results to return in a single call. To retrieve the
	// remaining results, make another call with the returned EndCursor value.
	//
	// Maximum limit is 100.
	Limit int
}

Fields used to filter the project response

type ListProjectsResponse

type ListProjectsResponse struct {
	Projects ProjectConnection `json:"projects"`
}

ListProjectsResponse is returned by ListProjects on success

func ListProjects

func ListProjects(
	ctx context.Context,
	client *Client,
	options *ListProjectsRequestConfiguration,
) (*ListProjectsResponse, error)

ListProjects returns a paginated list of the project

@param ctx context for configuration

@param client the API client

@param options the API parameters

type ListSecurityCategoriesRequestConfiguration

type ListSecurityCategoriesRequestConfiguration struct {
	// Optional - filter security categories of specific framework ID.
	FrameworkId string

	// When paginating forwards, the cursor to continue.
	EndCursor string

	// The maximum number of results to return in a single call. To retrieve the
	// remaining results, make another call with the returned EndCursor value.
	//
	// Maximum limit is 500.
	Limit int
}

Fields used to filter the security category response

type ListSecurityCategoriesResponse

type ListSecurityCategoriesResponse struct {
	SecurityCategories SecurityCategoryConnection `json:"securityCategories"`
}

ListSecurityCategoriesResponse is returned by ListSecurityCategories on success

func ListSecurityCategories

func ListSecurityCategories(
	ctx context.Context,
	client *Client,
	options *ListSecurityCategoriesRequestConfiguration,
) (*ListSecurityCategoriesResponse, error)

ListSecurityCategories returns a paginated list of security category

@param ctx context for configuration

@param client the API client

@param options the API parameters

type ListSecurityFrameworksRequestConfiguration

type ListSecurityFrameworksRequestConfiguration struct {
	// Optional - filter security frameworks which are enabled/disabled.
	Enabled *bool

	// When paginating forwards, the cursor to continue.
	EndCursor string

	// The maximum number of results to return in a single call. To retrieve the
	// remaining results, make another call with the returned EndCursor value.
	//
	// Maximum limit is 500.
	Limit int
}

Fields used to filter the security framework response

type ListSecurityFrameworksResponse

type ListSecurityFrameworksResponse struct {
	SecurityFrameworks SecurityFrameworkConnection `json:"securityFrameworks"`
}

ListSecurityFrameworksResponse is returned by ListSecurityFrameworks on success

func ListSecurityFrameworks

func ListSecurityFrameworks(
	ctx context.Context,
	client *Client,
	options *ListSecurityFrameworksRequestConfiguration,
) (*ListSecurityFrameworksResponse, error)

ListSecurityFrameworks returns a paginated list of compliance frameworks

@param ctx context for configuration

@param client the API client

@param options the API parameters

type ListServiceAccountsRequestConfiguration

type ListServiceAccountsRequestConfiguration struct {
	// When paginating forwards, the cursor to continue.
	EndCursor string

	// The maximum number of results to return in a single call. To retrieve the
	// remaining results, make another call with the returned EndCursor value.
	//
	// Maximum limit is 60.
	Limit int

	// Optional - the name of the service account.
	Name string

	// Optional - the service account authentication source.
	//
	// Possible values: LEGACY, MODERN. Default set to MODERN.
	Source string

	// Optional - the service account type.
	//
	// Possible values are: THIRD_PARTY, SENSOR, KUBERNETES_ADMISSION_CONTROLLER, BROKER.
	Type string
}

Fields used to filter the service account response

type ListServiceAccountsResponse

type ListServiceAccountsResponse struct {
	ServiceAccounts ServiceAccountConnection `json:"serviceAccounts"`
}

ListServiceAccountsResponse is returned by ListServiceAccounts on success

func ListServiceAccounts

func ListServiceAccounts(
	ctx context.Context,
	client *Client,
	options *ListServiceAccountsRequestConfiguration,
) (*ListServiceAccountsResponse, error)

ListServiceAccounts returns a paginated list of the service accounts

@param ctx context for configuration

@param client the API client

@param options the API parameters

type ListSubscriptionsRequestConfiguration

type ListSubscriptionsRequestConfiguration struct {
	// Optional - filter subscriptions of specific cloud provider.
	//
	// Possible values are: AWS, GCP, OCI, Alibaba, Azure, Kubernetes, OpenShift, vSphere.
	CloudProvider string

	// When paginating forwards, the cursor to continue.
	EndCursor string

	// The maximum number of results to return in a single call. To retrieve the
	// remaining results, make another call with the returned EndCursor value.
	//
	// Maximum limit is 500.
	Limit int

	// Optional - filter subscriptions by it's status.
	//
	// Possible values: CONNECTED, DISABLED, DISCONNECTED, DISCOVERED, ERROR, INITIAL_SCANNING, PARTIALLY_CONNECTED.
	Status string
}

Fields used to filter the subscription response

type ListSubscriptionsResponse

type ListSubscriptionsResponse struct {
	Subscriptions SubscriptionConnection `json:"cloudAccounts"`
}

ListSubscriptionsResponse is returned by ListSubscriptions on success

func ListSubscriptions

func ListSubscriptions(
	ctx context.Context,
	client *Client,
	options *ListSubscriptionsRequestConfiguration,
) (*ListSubscriptionsResponse, error)

ListSubscriptions returns a paginated list of the cloud account subscriptions

@param ctx context for configuration

@param client the API client

@param options the API parameters

type ListUserRolesRequestConfiguration

type ListUserRolesRequestConfiguration struct {
	// When paginating forwards, the cursor to continue.
	EndCursor string

	// The maximum number of results to return in a single call. To retrieve the
	// remaining results, make another call with the returned EndCursor value.
	//
	// Maximum limit is 100.
	Limit int
}

type ListUserRolesResponse

type ListUserRolesResponse struct {
	UserRoles UserRoleConnection `json:"userRoles"`
}

ListUserRolesResponse is returned by ListUserRoles on success

func ListUserRoles

func ListUserRoles(
	ctx context.Context,
	client *Client,
	options *ListUserRolesRequestConfiguration,
) (*ListUserRolesResponse, error)

ListUserRoles returns a paginated list of the available user roles

@param ctx context for configuration

@param client the API client

@param options the API parameters

type ListUsersRequestConfiguration

type ListUsersRequestConfiguration struct {
	// Optional - filter by provider type.
	//
	// Possible values are: WIZ, SAML.
	AuthProviderType string

	// When paginating forwards, the cursor to continue.
	EndCursor string

	// The maximum number of results to return in a single call. To retrieve the
	// remaining results, make another call with the returned EndCursor value.
	//
	// Maximum limit is 100.
	Limit int
}

Fields used to filter the user response

type ListUsersResponse

type ListUsersResponse struct {
	Users UserConnection `json:"users"`
}

ListUsersResponse is returned by ListUsers on success

func ListUsers

func ListUsers(
	ctx context.Context,
	client *Client,
	options *ListUsersRequestConfiguration,
) (*ListUsersResponse, error)

ListUsers returns a paginated list of the portal users

@param ctx context for configuration

@param client the API client

@param options the API parameters

type ListVulnerabilityFindingsRequestConfiguration

type ListVulnerabilityFindingsRequestConfiguration struct {
	// Optional - return only vulnerability findings found via the specified detection method.
	//
	// Possible values are: PACKAGE, DEFAULT_PACKAGE, LIBRARY, CONFIG_FILE, OPEN_PORT, STARTUP_SERVICE, CONFIGURATION, CLONED_REPOSITORY, OS, ARTIFACTS_ON_DISK, WINDOWS_REGISTRY, INSTALLED_PROGRAM, WINDOWS_SERVICE, INSTALLED_PROGRAM_BY_SERVICE, FILE_PATH, UNKNOWN.
	DetectionMethod string

	// Optional - return only vulnerability findings for vulnerabilities with an available fix.
	HasFix *bool

	// When paginating forwards, the cursor to continue.
	EndCursor string

	// Optional - return only vulnerability findings for vulnerabilities with an available CISA KEV exploit.
	HasCisaKevExploit *bool

	// Optional - return only vulnerability findings for vulnerabilities with an available exploit.
	HasExploit *bool

	// The maximum number of results to return in a single call. To retrieve the
	// remaining results, make another call with the returned EndCursor value.
	//
	// Maximum limit is 5000.
	Limit int

	// Optional - filter by vulnerability vendor severity.
	//
	// Possible values are: NONE, LOW, MEDIUM, HIGH, CRITICAL.
	VendorSeverity string

	// Optional - filter by finding status.
	//
	// Possible values are: UNRESOLVED, RESOLVED, PASSED, IGNORED.
	Status string

	// Optional - return only vulnerability findings whose external ID matches.
	VulnerabilityExternalId string
}

Fields used to filter the vulnerability finding response

type ListVulnerabilityFindingsResponse

type ListVulnerabilityFindingsResponse struct {
	VulnerabilityFindings VulnerabilityFindingConnection `json:"vulnerabilityFindings"`
}

ListVulnerabilityFindingsResponse is returned by ListVulnerabilityFindings on success

func ListVulnerabilityFindings

func ListVulnerabilityFindings(
	ctx context.Context,
	client *Client,
	options *ListVulnerabilityFindingsRequestConfiguration,
) (*ListVulnerabilityFindingsResponse, error)

ListVulnerabilityFindings returns a paginated list of the vulnerabilities detected on the cloud resources

@param ctx context for configuration

@param client the API client

@param options the API parameters

type PageInfo

type PageInfo struct {
	// When paginating forwards, the cursor to continue.
	EndCursor string `json:"endCursor"`

	// When paginating forwards, are there more items?
	HasNextPage bool `json:"hasNextPage"`
}

type Project

type Project struct {
	Archived               bool                      `json:"archived"`
	BusinessUnit           string                    `json:"businessUnit"`
	CloudAccountCount      int                       `json:"cloudAccountCount"`
	CloudOrganizationCount int                       `json:"cloudOrganizationCount"`
	Description            string                    `json:"description"`
	EntityCount            int                       `json:"entityCount"`
	Id                     string                    `json:"id"`
	Identifiers            []string                  `json:"identifiers"`
	KubernetesClusterCount int                       `json:"kubernetesClusterCount"`
	Name                   string                    `json:"name"`
	ProfileCompletion      int                       `json:"profileCompletion"`
	ProjectOwners          []ProjectOwner            `json:"projectOwners"`
	RepositoryCount        int                       `json:"repositoryCount"`
	ResourceTagLinks       []ProjectResourceTagLinks `json:"resourceTagLinks"`
	RiskProfile            ProjectRiskProfile        `json:"riskProfile"`
	SecurityScore          int                       `json:"securityScore"`
	Slug                   string                    `json:"slug"`
	TeamMemberCount        int                       `json:"teamMemberCount"`
	TechnologyCount        int                       `json:"technologyCount"`
	WorkloadCount          int                       `json:"workloadCount"`
}

Project object

type ProjectConnection

type ProjectConnection struct {
	Nodes      []Project `json:"nodes"`
	PageInfo   PageInfo  `json:"pageInfo"`
	TotalCount int       `json:"totalCount"`
}

Relay-style node for the project

type ProjectOwner

type ProjectOwner struct {
	Id string `json:"id"`
}

Owner information

type ProjectResourceTagLinks struct {
	Environment  string        `json:"environment"`
	ResourceTags []ResourceTag `json:"resourceTags"`
}

Project resource tags link object

type ProjectRiskProfile

type ProjectRiskProfile struct {
	BusinessImpact string `json:"businessImpact"`
}

Risk profile object

type ResourceTag

type ResourceTag struct {
	Key   string `json:"key"`
	Value string `json:"value"`
}

Resource tag object

type SecurityCategory

type SecurityCategory struct {
	Description   string                         `json:"description"`
	Framework     SecurityCategoryQueryFramework `json:"framework"`
	Id            string                         `json:"id"`
	Name          string                         `json:"name"`
	SubCategories []SecuritySubCategory          `json:"subCategories"`
}

Security category object

type SecurityCategoryConnection

type SecurityCategoryConnection struct {
	Nodes      []SecurityCategory `json:"nodes"`
	PageInfo   PageInfo           `json:"pageInfo"`
	TotalCount int                `json:"totalCount"`
}

Relay-style node for the security category

type SecurityCategoryQueryCategory

type SecurityCategoryQueryCategory struct {
	Id string `json:"id"`
}

type SecurityCategoryQueryFramework

type SecurityCategoryQueryFramework struct {
	Id string `json:"id"`
}

type SecurityFramework

type SecurityFramework struct {
	BuiltIn     bool                             `json:"builtin"`
	Categories  []SecurityFrameworkQueryCategory `json:"categories"`
	Description string                           `json:"description"`
	Enabled     bool                             `json:"enabled"`
	Id          string                           `json:"id"`
	Name        string                           `json:"name"`
	PolicyTypes []string                         `json:"policyTypes"`
}

Security framework object

type SecurityFrameworkConnection

type SecurityFrameworkConnection struct {
	Nodes      []SecurityFramework `json:"nodes"`
	PageInfo   PageInfo            `json:"pageInfo"`
	TotalCount int                 `json:"totalCount"`
}

Relay-style node for the security framework

type SecurityFrameworkQueryCategory

type SecurityFrameworkQueryCategory struct {
	Id string `json:"id"`
}

type SecuritySubCategory

type SecuritySubCategory struct {
	Description              string `json:"description"`
	Id                       string `json:"id"`
	ResolutionRecommendation string `json:"resolutionRecommendation"`
	Title                    string `json:"title"`
}

Security sub-category object

type ServiceAccount

type ServiceAccount struct {
	AssignedProjects     []ServiceAccountQueryProject `json:"assignedProjects"`
	AuthenticationSource string                       `json:"authenticationSource"`
	ClientId             string                       `json:"clientId"`
	CreatedAt            string                       `json:"createdAt"`
	Id                   string                       `json:"id"`
	LastRotatedAt        string                       `json:"lastRotatedAt"`
	Name                 string                       `json:"name"`
	Scopes               []string                     `json:"scopes"`
	Type                 string                       `json:"type"`
}

Service account object

type ServiceAccountConnection

type ServiceAccountConnection struct {
	Nodes      []ServiceAccount `json:"nodes"`
	PageInfo   PageInfo         `json:"pageInfo"`
	TotalCount int              `json:"totalCount"`
}

Relay-style node for the service account

type ServiceAccountQueryProject

type ServiceAccountQueryProject struct {
	Id string `json:"id"`
}

Assigned project information

type Subscription

type Subscription struct {
	CloudProvider       string                     `json:"cloudProvider"`
	ContainerCount      int                        `json:"containerCount"`
	ExternalId          string                     `json:"externalId"`
	Id                  string                     `json:"id"`
	LastScannedAt       string                     `json:"lastScannedAt"`
	LinkedProjects      []SubscriptionQueryProject `json:"linkedProjects"`
	Name                string                     `json:"name"`
	ResourceCount       int                        `json:"resourceCount"`
	Status              string                     `json:"status"`
	VirtualMachineCount int                        `json:"virtualMachineCount"`
}

Subscription object

type SubscriptionConnection

type SubscriptionConnection struct {
	Nodes      []Subscription `json:"nodes"`
	PageInfo   PageInfo       `json:"pageInfo"`
	TotalCount int            `json:"totalCount"`
}

Relay-style node for the subscription

type SubscriptionQueryProject

type SubscriptionQueryProject struct {
	Id string `json:"id"`
}

Assigned project information

type Tenant

type Tenant struct {
	Id string `json:"id"`
}

Tenant object

type User

type User struct {
	CreatedAt                 string             `json:"createdAt"`
	EffectiveAssignedProjects []UserQueryProject `json:"effectiveAssignedProjects"`
	Email                     string             `json:"email"`
	Id                        string             `json:"id"`
	IdentityProviderType      string             `json:"identityProviderType"`
	IpAddress                 string             `json:"ipAddress"`
	IsAnalyticsEnabled        bool               `json:"isAnalyticsEnabled"`
	IsSuspended               bool               `json:"isSuspended"`
	LastLoginAt               string             `json:"lastLoginAt"`
	Name                      string             `json:"name"`
	Role                      UserRole           `json:"role"`
	Tenant                    Tenant             `json:"tenant"`
}

User object

type UserConnection

type UserConnection struct {
	Nodes      []User   `json:"nodes"`
	PageInfo   PageInfo `json:"pageInfo"`
	TotalCount int      `json:"totalCount"`
}

Relay-style node for the user

type UserQueryProject

type UserQueryProject struct {
	Id string `json:"id"`
}

Assigned project information

type UserRole

type UserRole struct {
	Description     string   `json:"description"`
	Id              string   `json:"id"`
	IsProjectScoped bool     `json:"isProjectScoped"`
	Name            string   `json:"name"`
	Scopes          []string `json:"scopes"`
}

User role object

type UserRoleConnection

type UserRoleConnection struct {
	Nodes      []UserRole `json:"nodes"`
	PageInfo   PageInfo   `json:"pageInfo"`
	TotalCount int        `json:"totalCount"`
}

Relay-style node for the user-role

type VulnerabilityFinding

type VulnerabilityFinding struct {
	CVEDescription          string          `json:"CVEDescription"`
	CVSSSeverity            string          `json:"CVSSSeverity"`
	Description             string          `json:"description"`
	DetailedName            string          `json:"detailedName"`
	DetectionMethod         string          `json:"detectionMethod"`
	ExploitabilityScore     float64         `json:"exploitabilityScore"`
	FirstDetectedAt         string          `json:"firstDetectedAt"`
	FixedVersion            string          `json:"fixedVersion"`
	HasCisaKevExploit       bool            `json:"hasCisaKevExploit"`
	HasExploit              bool            `json:"hasExploit"`
	Id                      string          `json:"id"`
	ImpactScore             float64         `json:"impactScore"`
	LastDetectedAt          string          `json:"lastDetectedAt"`
	Link                    string          `json:"link"`
	LocationPath            string          `json:"locationPath"`
	Name                    string          `json:"name"`
	PortalUrl               string          `json:"portalUrl"`
	Remediation             string          `json:"remediation"`
	ResolutionReason        string          `json:"resolutionReason"`
	ResolvedAt              string          `json:"resolvedAt"`
	Score                   float64         `json:"score"`
	Severity                string          `json:"severity"`
	Status                  string          `json:"status"`
	Version                 string          `json:"version"`
	VulnerabilityExternalId string          `json:"vulnerabilityExternalId"`
	VulnerableAsset         VulnerableAsset `json:"vulnerableAsset"`
}

Vulnerability finding object

type VulnerabilityFindingConnection

type VulnerabilityFindingConnection struct {
	Nodes      []VulnerabilityFinding `json:"nodes"`
	PageInfo   PageInfo               `json:"pageInfo"`
	TotalCount int                    `json:"totalCount"`
}

Relay-style node for the vulnerability finding

type VulnerableAsset

type VulnerableAsset struct {
	CloudPlatform   string      `json:"cloudPlatform,omitempty"`
	Id              string      `json:"id,omitempty"`
	Name            string      `json:"name,omitempty"`
	OperatingSystem string      `json:"operatingSystem,omitempty"`
	SubscriptionId  string      `json:"subscriptionId,omitempty"`
	Tags            interface{} `json:"tags,omitempty"`
	Type            string      `json:"type,omitempty"`
}

Vulnerability asset object

Jump to

Keyboard shortcuts

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