api

package
v1.15.2 Latest Latest
Warning

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

Go to latest
Published: Jan 27, 2021 License: AGPL-3.0 Imports: 37 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TemplateBucket = "panther-public-cloudformation-templates"

	LogAnalysisStackNameTemplate = "panther-log-analysis-setup-%s"
	CloudSecStackName            = "panther-cloudsec-setup"
)
View Source
const (
	LambdaName = "panther-source-api"
)

Variables

This section is empty.

Functions

func AddSourceAsLambdaTrigger added in v1.6.0

func AddSourceAsLambdaTrigger(integrationID string) error

func AllowExternalSnsTopicSubscription added in v1.3.0

func AllowExternalSnsTopicSubscription(accountID string) error

AllowExternalSnsTopicSubscription modifies the SQS Queue policy of the Log Processor to allow SNS topic from new account to subscribe to it

func AllowInputDataBucketSubscription added in v1.6.0

func AllowInputDataBucketSubscription() error

Some of the integrations send data to an S3 bucket managed by Panther. This bucket is a staging bucket where data are stored temporarily until Log Processor picks them up. This function updates the log processor SQS queue permissions to allow it to receive event notifications from that bucket.

func CreateSourceSqsQueue added in v1.6.0

func CreateSourceSqsQueue(integrationID string, allowedPrincipalArns []string, allowedSourceArns []string) error

Creates a source SQS queue The new queue will allow the provided AWS principals and Source ARNs to send data to it

func DeleteSourceSqsQueue added in v1.6.0

func DeleteSourceSqsQueue(integrationID string) error

Deletes a source SQS queue

func DisableExternalSnsTopicSubscription added in v1.3.0

func DisableExternalSnsTopicSubscription(accountID string) error

DisableExternalSnsTopicSubscription modifies the SQS Queue policy of the Log Processor so that SNS topics from that account cannot subscribe to the queue

func RemoveSourceFromLambdaTrigger added in v1.6.0

func RemoveSourceFromLambdaTrigger(integrationID string) error

func Setup added in v1.2.0

func Setup()

Setup parses the environment and constructs AWS and http clients on a cold Lambda start. All required environment variables must be present or this function will panic.

func SourceSqsQueueArn added in v1.6.0

func SourceSqsQueueArn(integrationID string) string

Returns the URL of an SQS queue source

func SourceSqsQueueURL added in v1.6.0

func SourceSqsQueueURL(integrationID string) string

Returns the URL of an SQS queue source

func UpdateSourceSqsQueue added in v1.6.0

func UpdateSourceSqsQueue(integrationID string, allowedPrincipalArns []string, allowedSourceArns []string) error

Updates Source SQS queue with new permissions

Types

type API

type API struct{}

API provides receiver methods for each route handler.

func (API) CheckIntegration

func (api API) CheckIntegration(input *models.CheckIntegrationInput) (*models.SourceIntegrationHealth, error)

CheckIntegration adds a set of new integrations in a batch.

func (API) DeleteIntegration

func (API) DeleteIntegration(input *models.DeleteIntegrationInput) error

DeleteIntegration deletes a specific integration.

func (API) FullScan added in v1.2.1

func (api API) FullScan(input *models.FullScanInput) error

FullScan schedules scans for each Resource type for each integration.

Each Resource type is sent within its own SQS message.

func (API) GetIntegrationTemplate

func (API) GetIntegrationTemplate(input *models.GetIntegrationTemplateInput) (*models.SourceIntegrationTemplate, error)

GetIntegrationTemplate generates a new satellite account CloudFormation template based on the given parameters.

func (API) ListIntegrations

func (API) ListIntegrations(
	input *models.ListIntegrationsInput) ([]*models.SourceIntegration, error)

ListIntegrations returns all enabled integrations.

func (*API) ListLogTypes added in v1.12.0

func (api *API) ListLogTypes(_ *models.ListLogTypesInput) (*models.ListLogTypesOutput, error)

ListLogTypes gets the current set of logTypes in use

func (API) PutIntegration

func (api API) PutIntegration(input *models.PutIntegrationInput) (newIntegration *models.SourceIntegration, err error)

PutIntegration adds a set of new integrations in a batch.

func (API) UpdateIntegrationLastScanEnd

func (API) UpdateIntegrationLastScanEnd(input *models.UpdateIntegrationLastScanEndInput) error

UpdateIntegrationLastScanEnd updates an integration when a scan ends.

func (API) UpdateIntegrationLastScanStart

func (API) UpdateIntegrationLastScanStart(input *models.UpdateIntegrationLastScanStartInput) error

UpdateIntegrationLastScanStart updates an integration when a new scan is started.

func (API) UpdateIntegrationSettings

func (api API) UpdateIntegrationSettings(input *models.UpdateIntegrationSettingsInput) (*models.SourceIntegration, error)

UpdateIntegrationSettings makes an update to an integration from the UI.

This endpoint updates attributes such as the behavior of the integration, or display information.

func (API) UpdateStatus added in v1.5.1

func (api API) UpdateStatus(input *models.UpdateStatusInput) error

It updates the status of an integration

Jump to

Keyboard shortcuts

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