Type_ |
string |
type of operation, one has to set it to 'backup' in case he wants this request to be considered as a backup one |
[default to null] |
StorageLocation |
string |
location where SSTables will be uploaded. A value of the storageLocation property has to have exact format which is 'protocol://bucket/clusterName/dcName/nodeName'. protocol is either 'gcp', 's3', 'azure', 'oracle' or 'file:/'. For global requests, clusterName, dcName and nodeName do not need to be specified, so location would look like 's3://my-bucket'. |
[default to null] |
CassandraDirectory |
string |
directory of Cassandra, by default it is /var/lib/cassandra, in this path, one expects there is 'data' directory |
[optional] [default to null] |
Duration |
string |
Based on this field, there will be throughtput per second computed based on what size data we want to upload we have. The formula is "size / duration". The lower the duration is, the higher throughput per second we will need and vice versa. This will influence e.g. responsiveness of a node to its business requests so one can control how much bandwidth is used for backup purposes in case a cluster is fully operational. The format of this field is "amount unit". 'unit' is just a (case-insensitive) java.util.concurrent.TimeUnit enum value. If not used, there will not be any restrictions as how fast an upload can be. |
[optional] [default to null] |
Bandwidth |
*DataRate |
|
[optional] [default to null] |
ConcurrentConnections |
int32 |
number of threads used for upload, there might be at most so many uploading threads at any given time, when not set, it defaults to 10 |
[optional] [default to null] |
SnapshotTag |
string |
name of snapshot to make so this snapshot will be uploaded to storage location. If not specified, the name of snapshot will be automatically generated and it will have name 'autosnap-milliseconds-since-epoch'. There is a schema version automatically appended to this string, as well as a timestamp what that snapshot was taken. Both information are necessary in order to be able to distinguish between two backups with same name done against same schema version - but they are done at different time. The end user does not have to specify schema nor timestamp, it will be resovled automatically. |
[optional] [default to null] |
Dc |
string |
name of datacenter to backup, nodes in the other datacenter(s) will not be involved |
[optional] [default to null] |
Entities |
string |
database entities to backup, it might be either only keyspaces or only tables (from different keyspaces if needed), e.g. 'k1,k2' if one wants to backup whole keyspaces and 'ks1.t1,ks2,t2' if one wants to backup tables. These formats can not be used together so 'k1,k2.t2' is invalid. If this field is empty, all keyspaces are backed up. |
[optional] [default to null] |
K8sNamespace |
string |
name of Kubernetes namespace to fetch Kubernetes secret for backups from, when not specified, it defaults to 'default' |
[optional] [default to null] |
K8sSecretName |
string |
name of Kubernetes secret from which credentials used for the communication to cloud storage providers are read, if not specified, secret name to be read will be automatically derived in form 'cassandra-backup-restore-secret-cluster-{name-of-cluster}'. These secrets are used only in case protocol in storageLocation is gcp, azure or s3. |
[optional] [default to null] |
GlobalRequest |
bool |
flag saying if this request is meant to be global or not, once a global backup request is submitted to Sidecar, it will coordinate backup for all other nodes in a cluster (including itself) so from a point of view of a caller, one might just backup whole cluster by one request and repeatedly query its status based on returned operation id. |
[optional] [default to null] |
Timeout |
int32 |
number of hours to wait until backup is considered failed if not finished already |
[optional] [default to null] |
MetadataDirective |
string |
Relevant during upload to S3-like bucket only. Specifies whether the metadata is copied from the source object or replaced with metadata provided in the request. Defaults to COPY. Consult com.amazonaws.services.s3.model.MetadatDirective for more information. |
[optional] [default to null] |
Insecure |
bool |
Relevant during upload to S3-like bucket only. If true, communication is done via HTTP instead of HTTPS. Defaults to false. |
[optional] [default to null] |
CreateMissingBucket |
bool |
Automatically creates a bucket if it does not exist. If a bucket does not exist, backup operation will fail. Defaults to false. |
[optional] [default to null] |
SkipBucketVerification |
bool |
Do not check the existence of a bucket. Some storage providers (e.g. S3) requires a special permissions to be able to list buckets or query their existence which might not be allowed. This flag will skip that check. Keep in mind that if that bucket does not exist, the whole backup operation will fail. |
[optional] [default to null] |
UploadClusterTopology |
bool |
If set, a cluster topology file will be uploaded alongside a backup, defaults to false. This flag is implicitly set to true if a request is global - coordinator node will upload this file every time but no other nodes will. |
[optional] [default to null] |
ProxySettings |
*ProxySettings |
|
[optional] [default to null] |
Retry |
*Retry |
|
[optional] [default to null] |
SkipRefreshing |
bool |
If set to true, refreshment of an object in a remote bucket (e.g. for s3) will be skipped. This might help upon backuping to specific s3 storage providers like Dell ECS storage. You will also skip versioning creating new versions when turned off as refreshment creates new version of files as a side effect. |
[optional] [default to null] |
Id |
string |
unique identifier of an operation, a random id is assigned to each operation after a request is submitted, from caller's perspective, an id is sent back as a response to his request so he can further query state of that operation, referencing id, by operations/{id} endpoint |
[default to null] |
State |
string |
state of an operation, operation might be in various states, PENDING - this operation is pending for being submitted. RUNNING - this operation is actively doing its job, COMPLETED - this operation has finished successfully, CANCELLED - this operation was interrupted while being run, FAILED - this operation has finished errorneously |
[default to null] |
Progress |
string |
float from 0.0 to 1.0, 1.0 telling that operation is completed, either successfully or with errors. |
[default to null] |
CreationTime |
time.Time |
timestamp telling when this operation was created on Sidecar's side |
[default to null] |
StartTime |
time.Time |
timestamp telling when this operation was started by Sidecar, if an operation is created, it does not necessarily mean that it will be started right away, in most cases it is the case but if e.g. ExecutorService is full on its working thread, an execution of an operation is postponed and start time is updated only after that |
[optional] [default to null] |
CompletionTime |
time.Time |
timestamp telling when an operation has finished, irrelevant of its result, an operation can be failed and it would still have this field populated. |
[optional] [default to null] |
Errors |
[]ErrorObject |
|
[optional] [default to null] |