Documentation ¶
Overview ¶
Package jobs constists of all structs related to batch job requests and related functionality.
Index ¶
- type BatchJobExpire
- type BatchJobExpireFilter
- type BatchJobExpirePurge
- type BatchJobKV
- type BatchJobKeyRotateEncryption
- type BatchJobKeyRotateFlags
- type BatchJobKeyRotateV1
- type BatchJobNotification
- type BatchJobPrefix
- type BatchJobReplicateCredentials
- type BatchJobReplicateFlags
- type BatchJobReplicateResourceType
- type BatchJobReplicateSource
- type BatchJobReplicateTarget
- type BatchJobReplicateV1
- type BatchJobRequest
- type BatchJobRetry
- type BatchJobSize
- type BatchJobSizeFilter
- type BatchJobSnowball
- type BatchKeyRotateFilter
- type BatchKeyRotationType
- type BatchReplicateFilter
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BatchJobExpire ¶
type BatchJobExpire struct {
Line, Col int
APIVersion string `yaml:"apiVersion" json:"apiVersion"`
Bucket string `yaml:"bucket" json:"bucket"`
Prefix BatchJobPrefix `yaml:"prefix" json:"prefix"`
NotificationCfg BatchJobNotification `yaml:"notify" json:"notify"`
Retry BatchJobRetry `yaml:"retry" json:"retry"`
Rules []BatchJobExpireFilter `yaml:"rules" json:"rules"`
}
BatchJobExpire represents configuration parameters for a batch expiration job typically supplied in yaml form
type BatchJobExpireFilter ¶
type BatchJobExpireFilter struct {
Line, Col int
OlderThan xtime.Duration `yaml:"olderThan,omitempty" json:"olderThan"`
CreatedBefore *time.Time `yaml:"createdBefore,omitempty" json:"createdBefore"`
Tags []BatchJobKV `yaml:"tags,omitempty" json:"tags"`
Metadata []BatchJobKV `yaml:"metadata,omitempty" json:"metadata"`
Size BatchJobSizeFilter `yaml:"size" json:"size"`
Type string `yaml:"type" json:"type"`
Name string `yaml:"name" json:"name"`
Purge BatchJobExpirePurge `yaml:"purge" json:"purge"`
}
BatchJobExpireFilter holds all the filters currently supported for batch replication
type BatchJobExpirePurge ¶
type BatchJobExpirePurge struct {
Line, Col int
RetainVersions int `yaml:"retainVersions" json:"retainVersions"`
}
BatchJobExpirePurge type accepts non-negative versions to be retained
type BatchJobKV ¶
type BatchJobKV struct {
Line, Col int
Key string `yaml:"key" json:"key"`
Value string `yaml:"value" json:"value"`
}
BatchJobKV is a key-value data type which supports wildcard matching
type BatchJobKeyRotateEncryption ¶
type BatchJobKeyRotateEncryption struct { Type BatchKeyRotationType `yaml:"type" json:"type"` Key string `yaml:"key" json:"key"` Context string `yaml:"context" json:"context"` KmsContext map[string]string `msg:"-"` }
BatchJobKeyRotateEncryption defines key rotation encryption options passed
type BatchJobKeyRotateFlags ¶
type BatchJobKeyRotateFlags struct { Filter BatchKeyRotateFilter `yaml:"filter" json:"filter"` Notify BatchJobNotification `yaml:"notify" json:"notify"` Retry BatchJobRetry `yaml:"retry" json:"retry"` }
BatchJobKeyRotateFlags various configurations for replication job definition currently includes
type BatchJobKeyRotateV1 ¶
type BatchJobKeyRotateV1 struct { APIVersion string `yaml:"apiVersion" json:"apiVersion"` Flags BatchJobKeyRotateFlags `yaml:"flags" json:"flags"` Bucket string `yaml:"bucket" json:"bucket"` Prefix string `yaml:"prefix" json:"prefix"` Encryption BatchJobKeyRotateEncryption `yaml:"encryption" json:"encryption"` }
BatchJobKeyRotateV1 v1 of batch key rotation job
type BatchJobNotification ¶
type BatchJobNotification struct {
Line, Col int
Endpoint string `yaml:"endpoint" json:"endpoint"`
Token string `yaml:"token" json:"token"`
}
BatchJobNotification stores notification endpoint and token information. Used by batch jobs to notify of their status.
type BatchJobPrefix ¶
type BatchJobPrefix []string
BatchJobPrefix - to support prefix field yaml unmarshalling with string or slice of strings
type BatchJobReplicateCredentials ¶
type BatchJobReplicateCredentials struct { AccessKey string `xml:"AccessKeyId" json:"accessKey,omitempty" yaml:"accessKey"` SecretKey string `xml:"SecretAccessKey" json:"secretKey,omitempty" yaml:"secretKey"` SessionToken string `xml:"SessionToken" json:"sessionToken,omitempty" yaml:"sessionToken"` }
BatchJobReplicateCredentials access credentials for batch replication it may be either for target or source.
type BatchJobReplicateFlags ¶
type BatchJobReplicateFlags struct { Filter BatchReplicateFilter `yaml:"filter" json:"filter"` Notify BatchJobNotification `yaml:"notify" json:"notify"` Retry BatchJobRetry `yaml:"retry" json:"retry"` }
BatchJobReplicateFlags various configurations for replication job definition currently includes
type BatchJobReplicateResourceType ¶
type BatchJobReplicateResourceType string
BatchJobReplicateResourceType defines the type of batch jobs
type BatchJobReplicateSource ¶
type BatchJobReplicateSource struct { Type BatchJobReplicateResourceType `yaml:"type" json:"type"` Bucket string `yaml:"bucket" json:"bucket"` Prefix BatchJobPrefix `yaml:"prefix" json:"prefix"` Endpoint string `yaml:"endpoint" json:"endpoint"` Path string `yaml:"path" json:"path"` Creds BatchJobReplicateCredentials `yaml:"credentials" json:"credentials"` Snowball BatchJobSnowball `yaml:"snowball" json:"snowball"` }
BatchJobReplicateSource describes source element of the replication job that is the source of the data for the target
type BatchJobReplicateTarget ¶
type BatchJobReplicateTarget struct { Type BatchJobReplicateResourceType `yaml:"type" json:"type"` Bucket string `yaml:"bucket" json:"bucket"` Prefix string `yaml:"prefix" json:"prefix"` Endpoint string `yaml:"endpoint" json:"endpoint"` Path string `yaml:"path" json:"path"` Creds BatchJobReplicateCredentials `yaml:"credentials" json:"credentials"` }
BatchJobReplicateTarget describes target element of the replication job that receives the filtered data from source
type BatchJobReplicateV1 ¶
type BatchJobReplicateV1 struct { APIVersion string `yaml:"apiVersion" json:"apiVersion"` Flags BatchJobReplicateFlags `yaml:"flags" json:"flags"` Target BatchJobReplicateTarget `yaml:"target" json:"target"` Source BatchJobReplicateSource `yaml:"source" json:"source"` Clnt *miniogo.Core `msg:"-"` }
BatchJobReplicateV1 v1 of batch job replication
type BatchJobRequest ¶
type BatchJobRequest struct { ID string `yaml:"-" json:"name"` User string `yaml:"-" json:"user"` Started time.Time `yaml:"-" json:"started"` Replicate *BatchJobReplicateV1 `yaml:"replicate" json:"replicate"` KeyRotate *BatchJobKeyRotateV1 `yaml:"keyrotate" json:"keyrotate"` Expire *BatchJobExpire `yaml:"expire" json:"expire"` Ctx context.Context `msg:"-"` }
BatchJobRequest to start batch job
type BatchJobRetry ¶
type BatchJobRetry struct {
Line, Col int
Attempts int `yaml:"attempts" json:"attempts"` // number of retry attempts
Delay time.Duration `yaml:"delay" json:"delay"` // delay between each retries
}
BatchJobRetry stores retry configuration used in the event of failures.
type BatchJobSize ¶
type BatchJobSize int64
BatchJobSize supports humanized byte values in yaml files type BatchJobSize uint64
type BatchJobSizeFilter ¶
type BatchJobSizeFilter struct {
Line, Col int
UpperBound BatchJobSize `yaml:"lessThan" json:"lessThan"`
LowerBound BatchJobSize `yaml:"greaterThan" json:"greaterThan"`
}
BatchJobSizeFilter supports size based filters - LesserThan and GreaterThan
type BatchJobSnowball ¶
type BatchJobSnowball struct {
Line, Col int
Disable *bool `yaml:"disable" json:"disable"`
Batch *int `yaml:"batch" json:"batch"`
InMemory *bool `yaml:"inmemory" json:"inmemory"`
Compress *bool `yaml:"compress" json:"compress"`
SmallerThan *string `yaml:"smallerThan" json:"smallerThan"`
SkipErrs *bool `yaml:"skipErrs" json:"skipErrs"`
}
BatchJobSnowball describes the snowball feature when replicating objects from a local source to a remote target
type BatchKeyRotateFilter ¶
type BatchKeyRotateFilter struct { NewerThan time.Duration `yaml:"newerThan,omitempty" json:"newerThan"` OlderThan time.Duration `yaml:"olderThan,omitempty" json:"olderThan"` CreatedAfter time.Time `yaml:"createdAfter,omitempty" json:"createdAfter"` CreatedBefore time.Time `yaml:"createdBefore,omitempty" json:"createdBefore"` Tags []BatchJobKV `yaml:"tags,omitempty" json:"tags"` Metadata []BatchJobKV `yaml:"metadata,omitempty" json:"metadata"` KMSKeyID string `yaml:"kmskeyid" json:"kmskey"` }
BatchKeyRotateFilter holds all the filters currently supported for batch replication
type BatchKeyRotationType ¶
type BatchKeyRotationType string
BatchKeyRotationType defines key rotation type
type BatchReplicateFilter ¶
type BatchReplicateFilter struct { NewerThan xtime.Duration `yaml:"newerThan,omitempty" json:"newerThan"` OlderThan xtime.Duration `yaml:"olderThan,omitempty" json:"olderThan"` CreatedAfter time.Time `yaml:"createdAfter,omitempty" json:"createdAfter"` CreatedBefore time.Time `yaml:"createdBefore,omitempty" json:"createdBefore"` Tags []BatchJobKV `yaml:"tags,omitempty" json:"tags"` Metadata []BatchJobKV `yaml:"metadata,omitempty" json:"metadata"` }
BatchReplicateFilter holds all the filters currently supported for batch replication