Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AssetDiscoverer ¶
AssetDiscoverer is used to discover assets in a buffered manner.
type Discoverer ¶
type Discoverer interface { // DiscoverAssets returns AssetDiscoverer. // It is the responsibility of DiscoverAssets to feed the AssetDiscoverer channel with assets, and to close the channel when done. // In addition, any error should be reported on the AssetDiscoverer error part. DiscoverAssets(ctx context.Context) AssetDiscoverer }
type Estimator ¶
type Estimator interface { // Estimate returns Estimation containing asset scan estimation data according to the AssetScanTemplate. // The cost estimation takes into account all the resources that are being used during a scan, and includes a detailed bill of the cost of each resource. // If AssetScanTemplate contains several input paths to scan, the cost will be calculated for each input and will be summed up to a total cost. // When exists, the scan size and scan time will be taken from the AssetScanStats. Otherwise, they will be estimated base on lab tests and Asset volume size. Estimate(context.Context, apitypes.AssetScanStats, *apitypes.Asset, *apitypes.AssetScanTemplate) (*apitypes.Estimation, error) }
Estimator estimates asset scans cost, time and size without running any asset scan.
type FatalError ¶
type FatalError struct {
Err error
}
func FatalErrorf ¶
func FatalErrorf(tmpl string, parts ...interface{}) FatalError
func (FatalError) Error ¶
func (e FatalError) Error() string
func (FatalError) RetryAfter ¶
func (e FatalError) RetryAfter() time.Duration
func (FatalError) Retryable ¶
func (e FatalError) Retryable() bool
func (FatalError) Unwrap ¶
func (e FatalError) Unwrap() error
type Provider ¶
type Provider interface { // Kind returns apitypes.CloudProvider Kind() apitypes.CloudProvider Discoverer Estimator Scanner }
type RetryableError ¶
func RetryableErrorf ¶
func RetryableErrorf(d time.Duration, tmpl string, parts ...interface{}) RetryableError
func (RetryableError) Error ¶
func (e RetryableError) Error() string
func (RetryableError) RetryAfter ¶
func (e RetryableError) RetryAfter() time.Duration
func (RetryableError) Retryable ¶
func (e RetryableError) Retryable() bool
func (RetryableError) Unwrap ¶
func (e RetryableError) Unwrap() error
type ScanJobConfig ¶
type ScanJobConfig struct { ScannerImage string // Scanner Container Image to use containing the vmclarity-cli and tools ScannerCLIConfig string // Scanner CLI config yaml (families config yaml) VMClarityAddress string // The backend address for the scanner CLI to export too ScanMetadata apitypes.ScannerInstanceCreationConfig apitypes.Asset }
type ScanMetadata ¶
type Scanner ¶
type Scanner interface { // RunAssetScan is a non-blocking call which takes a ScanJobConfig and creates resources for performing Scan. // It may return FatalError or RetryableError to indicate if the error is permanent or transient. // It is expected to return RetryableError in case the resources are not ready or are still being created. // It must return nil if all the resources are created and ready. // It also must be idempotent. RunAssetScan(context.Context, *ScanJobConfig) error // RemoveAssetScan is a non-blocking call which takes a ScanJobConfig and remove resources created for Scan. // It may return FatalError or RetryableError to indicate if the error is permanent or transient. // It is expected to return RetryableError in case the resources are still being deleted. // It must return nil if all the resources are deleted. // It also must be idempotent. RemoveAssetScan(context.Context, *ScanJobConfig) error }
type SimpleAssetDiscoverer ¶
func NewSimpleAssetDiscoverer ¶
func NewSimpleAssetDiscoverer() *SimpleAssetDiscoverer
func (*SimpleAssetDiscoverer) Chan ¶
func (ad *SimpleAssetDiscoverer) Chan() chan apitypes.AssetType
func (*SimpleAssetDiscoverer) Err ¶
func (ad *SimpleAssetDiscoverer) Err() error
Click to show internal directories.
Click to hide internal directories.