integration

package
v0.8.5 Latest Latest
Warning

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

Go to latest
Published: Nov 20, 2024 License: MPL-2.0 Imports: 4 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var InboundIntegrations = []string{"okta_idp", "qualys", "tenable"}
View Source
var LicenseSuffix = []string{"license"}
View Source
var OutboundIntegrations = []string{"slack", "splunk", "amazon_sqs", "webhook", "microsoft_teams", "azure_service_bus_queue",
	"service_now", "pager_duty", "demisto", "google_cscc", "aws_security_hub", "aws_s3", "snowflake"}
View Source
var Suffix = []string{"integration"}

Functions

func Create

func Create(c pc.PrismaCloudClient, obj Integration, prismaIdRequired bool) error

Create adds an integration with the specified external system.

func Delete

func Delete(c pc.PrismaCloudClient, id string, prismaIdRequired bool) error

Delete removes the integration for the specified ID.

func GetPrismaId added in v0.5.1

func GetPrismaId(c pc.PrismaCloudClient) (string, error)

GetPrismaId returns prisma id.

func Identify

func Identify(c pc.PrismaCloudClient, name string, prismaIdRequired bool) (string, error)

Identify returns the ID for the given integration name.

func Types

func Types(c pc.PrismaCloudClient) ([]string, error)

Types returns a list of all supported integration types.

func Update

func Update(c pc.PrismaCloudClient, obj Integration, prismaIdRequired bool) error

Update modifies the specified integration.

Types

type AlertRule

type AlertRule struct {
	PolicyScanConfigId string `json:"policyScanConfigId"`
	Name               string `json:"name"`
}

type Details

type Details struct {
	StatusCode int    `json:"statusCode,omitempty"`
	Subject    string `json:"subject,omitempty"`
	Message    string `json:"i18nKey,omitempty"`
}
type Header struct {
	Key      string `json:"key"`
	Value    string `json:"value"`
	Secure   bool   `json:"secure"`
	ReadOnly bool   `json:"readOnly"`
}

type Integration

type Integration struct {
	Id                string            `json:"id,omitempty"`
	Name              string            `json:"name"`
	IntegrationType   string            `json:"integrationType"`
	IntegrationConfig IntegrationConfig `json:"integrationConfig"`
	Description       string            `json:"description"`
	Enabled           bool              `json:"enabled"`
	CreatedBy         string            `json:"createdBy,omitempty"`
	CreatedTs         int               `json:"createdTs,omitempty"`
	LastModifiedBy    string            `json:"lastModifiedBy,omitempty"`
	LastModifiedTs    int64             `json:"lastModifiedTs,omitempty"`
	Status            string            `json:"status,omitempty"`
	Reason            *Reason           `json:"reason"`
	Valid             bool              `json:"valid,omitempty"`
	AlertRules        []AlertRule       `json:"alertRules,omitempty"`
}

func Get

func Get(c pc.PrismaCloudClient, id string, prismaIdRequired bool) (Integration, error)

Get returns integration details for the specified ID.

func List

func List(c pc.PrismaCloudClient, t string, prismaIdRequired bool) ([]Integration, error)

List returns all your integrations, optionally filtered by type.

type IntegrationConfig

type IntegrationConfig struct {
	// Amazon SQS.
	QueueUrl string `json:"queueUrl,omitempty"`
	// RoleArn
	// ExternalId
	// AccessKey
	// SecretKey
	MoreInfo bool `json:"moreInfo,omitempty"`

	// Qualys.
	Login    string `json:"login,omitempty"`
	BaseUrl  string `json:"baseUrl,omitempty"`
	Password string `json:"password,omitempty"`

	// Service Now.
	HostUrl string `json:"hostUrl,omitempty"`
	// Login
	// Password
	Tables  []map[string]bool `json:"tables,omitempty"`
	Version string            `json:"version,omitempty"`

	// Webhook.
	Url     string   `json:"url,omitempty"`
	Headers []Header `json:"headers,omitempty"`

	// PagerDuty.
	IntegrationKey string `json:"integrationKey,omitempty"`
	AuthToken      string `json:"authToken,omitempty"`

	// Slack
	WebHookUrl string `json:"webhookUrl,omitempty"`

	// Google CSCC
	SourceId string `json:"sourceId,omitempty"`
	OrgId    string `json:"orgId,omitempty"`

	// Tenable
	AccessKey string `json:"accessKey,omitempty"`
	SecretKey string `json:"secretKey,omitempty"`

	// Cortex/demisto
	ApiKey string `json:"apiKey,omitempty"`

	// Okta
	Domain   string `json:"domain,omitempty"`
	ApiToken string `json:"apiToken,omitempty"`

	// Snowflake
	UserName             string `json:"username,omitempty"`
	PipeName             string `json:"pipename,omitempty"`
	PrivateKey           string `json:"privateKey,omitempty"`
	PassPhrase           string `json:"passphrase,omitempty"`
	StagingIntegrationID string `json:"stagingIntegrationId,omitempty"`

	// AWS security hub
	AccountId string   `json:"accountId,omitempty"`
	Regions   []Region `json:"regions,omitempty"`

	// Azure Service Bus Queue
	ConnectionString string `json:"connectionString,omitempty"`

	// Amazon S3
	S3Uri          string `json:"s3Uri,omitempty"`
	Region         string `json:"region,omitempty"`
	RoleArn        string `json:"roleArn,omitempty"`
	ExternalId     string `json:"externalId,omitempty"`
	RollUpInterval int    `json:"rollUpInterval,omitempty"`

	// Splunk
	SourceType string `json:"sourceType,omitempty"`
}

type LicenseInfo added in v0.5.1

type LicenseInfo struct {
	PrismaId string `json:"prismaId"`
}

type Reason

type Reason struct {
	LastUpdated int      `json:"lastUpdated,omitempty"`
	ErrorType   string   `json:"errorType,omitempty"`
	Message     string   `json:"message,omitempty"`
	Details     *Details `json:"details"`
}

type Region added in v0.4.2

type Region struct {
	Name          string `json:"name"`
	ApiIdentifier string `json:"apiIdentifier"`
	CloudType     string `json:"cloudType"`
	SdkId         string `json:"sdkId"`
}

Jump to

Keyboard shortcuts

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