Documentation
¶
Index ¶
- func ItemToIntegration(item *Integration) *models.SourceIntegration
- type DDB
- func (ddb *DDB) DeleteItem(integrationID string) error
- func (ddb *DDB) GetItem(integrationID string) (*Integration, error)
- func (ddb *DDB) ListS3SourcesWithBucket(ctx context.Context, bucket string) ([]models.SourceIntegration, error)
- func (ddb *DDB) PutItem(input *Integration) error
- func (ddb *DDB) ScanIntegrations(integrationType *string) ([]*Integration, error)
- func (ddb *DDB) UpdateStatus(integrationID string, status IntegrationStatus) error
- type Integration
- type IntegrationStatus
- type SqsConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ItemToIntegration ¶ added in v1.16.0
func ItemToIntegration(item *Integration) *models.SourceIntegration
Deprecated. This should not be exported but only be used by functions that directly interact with DynamoDB, in the ddb package. These functions should return our domain model `models.SourceIntegration`.
Types ¶
type DDB ¶
type DDB struct {
Client dynamodbiface.DynamoDBAPI
TableName string
}
DDB is a struct containing the DynamoDB client, and the table name to retrieve data.
func (*DDB) DeleteItem ¶ added in v1.3.0
DeleteItem deletes an integration from the database based on the integration ID
func (*DDB) GetItem ¶ added in v1.3.0
func (ddb *DDB) GetItem(integrationID string) (*Integration, error)
GetItem returns an integration by its ID
func (*DDB) ListS3SourcesWithBucket ¶ added in v1.16.0
func (*DDB) PutItem ¶ added in v1.3.0
func (ddb *DDB) PutItem(input *Integration) error
PutItem adds a source integration to the database
func (*DDB) ScanIntegrations ¶
func (ddb *DDB) ScanIntegrations(integrationType *string) ([]*Integration, error)
ScanIntegrations returns all enabled integrations based on type (if type is specified). It performs a DDB scan of the entire table with a filter expression.
func (*DDB) UpdateStatus ¶ added in v1.5.1
func (ddb *DDB) UpdateStatus(integrationID string, status IntegrationStatus) error
type Integration ¶ added in v1.5.1
type Integration struct {
CreatedAtTime time.Time `json:"createdAtTime,omitempty"`
CreatedBy string `json:"createdBy,omitempty"`
IntegrationID string `json:"integrationId,omitempty"`
IntegrationLabel string `json:"integrationLabel,omitempty"`
IntegrationType string `json:"integrationType,omitempty"`
AWSAccountID string `json:"awsAccountId,omitempty"`
RemediationEnabled *bool `json:"remediationEnabled,omitempty"`
CWEEnabled *bool `json:"cweEnabled,omitempty"`
LastScanStartTime *time.Time `json:"lastScanStartTime,omitempty"`
LastScanEndTime *time.Time `json:"lastScanEndTime,omitempty"`
LastScanErrorMessage string `json:"lastScanErrorMessage,omitempty"`
ScanIntervalMins int `json:"scanIntervalMins,omitempty"`
IntegrationStatus
// fields for configurable cloud security sources
Enabled *bool `json:"enabled"`
RegionIgnoreList []string `json:"regionIgnoreList"`
ResourceTypeIgnoreList []string `json:"resourceTypeIgnoreList"`
ResourceRegexIgnoreList []string `json:"resourceRegexIgnoreList"`
// fields specific for an s3 integration (plus AWSAccountID, StackName)
S3Bucket string `json:"s3Bucket,omitempty"`
S3PrefixLogTypes models.S3PrefixLogtypes `json:"s3PrefixLogTypes,omitempty"`
// Deprecated. Use S3PrefixLogTypes. Kept for backwards compatibility. Don't use omitempty to overwrite to empty during writes.
S3Prefix string `json:"s3Prefix"`
// Deprecated. Use S3PrefixLogTypes. Kept for backwards compatibility.Don't use omitempty to overwrite to empty during writes.
LogTypes []string `json:"logTypes" dynamodbav:",stringset"`
KmsKey string `json:"kmsKey,omitempty"`
StackName string `json:"stackName,omitempty"`
LogProcessingRole string `json:"logProcessingRole,omitempty"`
ManagedBucketNotifications bool `json:"managedBucketNotifications,omitempty"`
SqsConfig *SqsConfig `json:"sqsConfig,omitempty"`
// The Panther version in which this source was created.
PantherVersion string `json:"pantherVersion,omitempty"`
}
Integration represents an integration item as it is stored in DynamoDB.
type IntegrationStatus ¶ added in v1.5.1
type SqsConfig ¶ added in v1.6.0
type SqsConfig struct {
S3Bucket string `json:"s3Bucket,omitempty"`
LogProcessingRole string `json:"logProcessingRole,omitempty"`
LogTypes []string `json:"logTypes" dynamodbav:",stringset"`
AllowedPrincipalArns []string `json:"allowedPrincipalArns" dynamodbav:",stringset"`
AllowedSourceArns []string `json:"allowedSourceArns" dynamodbav:",stringset"`
QueueURL string `json:"queueUrl,omitempty"`
}