parsedmarc.sink.aws
🔗
AwsBase
🔗
Bases: Sink
Base class for sinks using AWS
PARAMETER | DESCRIPTION |
---|---|
name |
profile name for this instance, ideally should be unqiue to easily idenfity this instance and any log messages it produces
TYPE:
|
config |
config for this instance |
cleanup
🔗
Perform cleanup on this source.
This method is called as a part of self.shutdown
.
Child classes can override this method to implement their own logic.
It is still recomended to call super().cleanup()
.
process_report
🔗
process_report(report: Report) -> None
Default method for processing reports.
Rather than directly processing reports, checks for methods matching a given report type and if it exists passes teh report to it. If no method exists for the given report does nothing.
Supported methods:
process_aggregate_report
process_forensic_report
setup
🔗
Perform setup actions to ensure this Sink is ready to produce.
Child classes can override this method to implement their own logic.
Child classes should
- check that
self._state == AppState.SHUTDOWN
- set
self._state = AppState.SETTING_UP
- do their setup actions
- if an error occurs set
self._state = AppState.SETUP_ERROR
- otherwise set
self._state = AppState.RUNNING
shutdown
🔗
validate_config
🔗
Validate the config of this instance
Child classes can override this method to implement their own logic.
It is still recomended to call super().validate_config()
.
S3
🔗
Bases: AwsBase
Stores reports in AWS S3 as JSON
New in 9.0.
PARAMETER | DESCRIPTION |
---|---|
name |
profile name for this instance, ideally should be unqiue to easily idenfity this instance and any log messages it produces
TYPE:
|
config |
config for this instance |
cleanup
🔗
Perform cleanup on this source.
This method is called as a part of self.shutdown
.
Child classes can override this method to implement their own logic.
It is still recomended to call super().cleanup()
.
process_report
🔗
process_report(report: Report) -> None
Default method for processing reports.
Rather than directly processing reports, checks for methods matching a given report type and if it exists passes teh report to it. If no method exists for the given report does nothing.
Supported methods:
process_aggregate_report
process_forensic_report
shutdown
🔗
validate_config
🔗
Validate the config of this instance
Child classes can override this method to implement their own logic.
It is still recomended to call super().validate_config()
.
S3Config
🔗
Bases: AwsConfig
S3 Config