model

package
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 23, 2024 License: Apache-2.0 Imports: 4 Imported by: 2

Documentation

Index

Constants

View Source
const (
	// Request parameter cannot be found.
	CodeParameterNotFound int64 = 1004
	// Required parameter is missing or empty.
	CodeMissingParameter int64 = 1005
	// Resource not found.
	CodeResourceNotFound int64 = 1019
	// Exceeding limit.
	CodeExceedingLimit int64 = 1031
	// Internal exception occurred.
	CodeInternalException int64 = 30024
	// Bucket already exists.
	CodeBucketAlreadyExists int64 = 40008
)

Error Codes.

Variables

This section is empty.

Functions

This section is empty.

Types

type AccountBillingInfo

type AccountBillingInfo struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"account_billing_objmt_info" json:"account_billing_objmt_info"`

	// AccountID IAM user account ID used for request
	AccountID string `xml:"account_id,omitempty"`

	// ConsistentTime metrics collection UTC timestamp (ISO 8601 format (2007-04-05T14:30:55Z))
	ConsistentTime string `xml:"consistent_time,omitempty"`

	// TotalLocalData total local logical capacity usage(local: objects + MPU + user-written metadata)
	TotalLocalData int64 `xml:"total_local_data,omitempty"`

	// TotalReplicaData total replica logical capacity usage (replicated: objects + MPU + user written metadata)
	TotalReplicaData int64 `xml:"total_replica_data,omitempty"`

	// HardQuotaInCount hard quota in count
	HardQuotaInCount int64 `xml:"hard_quota_in_count,omitempty"`

	// HardQuotaInGB hard quota in logical size
	HardQuotaInGB int64 `xml:"hard_quota_in_GB,omitempty"`

	// SoftQuotaInCount soft quota in count
	SoftQuotaInCount int64 `xml:"soft_quota_in_count,omitempty"`

	// SoftQuotaInGB soft quota in logical size
	SoftQuotaInGB int64 `xml:"soft_quota_in_GB,omitempty"`

	// TotalUserObjectMetric total object logical and physical size, count per user
	TotalUserObjectMetric []StorageClassBasedCountSize `xml:"total_user_object_metric>storage_class_counts,omitempty"`

	// TotalMPUMetric total MPU parts logical and physical size, count per user
	TotalMPUMetric []StorageClassBasedCountSize `xml:"total_mpu_metric>storage_class_counts,omitempty"`

	// TotalMPRMetric total MPR parts logical and physical size, count per user
	TotalMPRMetric []StorageClassBasedCountSize `xml:"total_mpr_metric>storage_class_counts,omitempty"`

	// TotalReplicaObjectMetric total replicated objects logical and physical size, count per user
	TotalReplicaObjectMetric []StorageClassBasedCountSize `xml:"total_replica_object_metric>storage_class_counts,omitempty"`

	// TotalUserMetadataMetric total object metadata logical and physical size, count per user
	TotalUserMetadataMetric []StorageClassBasedCountSize `xml:"total_user_metadata_metric>storage_class_counts,omitempty"`

	// TotalReplicaMetadataMetric total replicated object metadata logical and physical size, count per user
	TotalReplicaMetadataMetric []StorageClassBasedCountSize `xml:"total_replica_metadata_metric>storage_class_counts,omitempty"`

	// BucketBillingInfo metrics for the buckets managed by this account
	BucketBillingInfo []BucketBillingInfo `xml:"bucket_billing_info,omitempty"`
}

AccountBillingInfo contains latest billing metrics info for one user.

type AccountBillingInfoList

type AccountBillingInfoList struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"account_billing_objmt_infos" json:"account_billing_objmt_infos"`

	// Status metering collection request status
	Status string `xml:"status,omitempty" json:"status,omitempty"`

	// SizeUnit size unit of metric values
	SizeUnit string `xml:"size_unit,omitempty" json:"size_unit,omitempty"`

	// DateTime request time (ISO 8601 format (2020-01-27T14:30:55Z))
	DateTime string `xml:"date_time,omitempty" json:"date_time,omitempty"`

	// Info list of billing metrics objects for each user
	Info []AccountBillingInfo `xml:"account_billing_objmt_info" json:"account_billing_objmt_info"`
}

AccountBillingInfoList list of the billing info per users.

type AccountBillingSample

type AccountBillingSample struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"account_billing_objmt_sample" json:"account_billing_objmt_sample"`

	// AccountID IAM user account ID used for request
	AccountID string `xml:"account_id,omitempty"`

	// StartTime is a start of time window for data selection (ISO 8601 format (2020-01-27T14:30:55Z))
	StartTime string `xml:"start_time,omitempty"`

	// EndTime is an end of time window for data selection (ISO 8601 format (2020-01-27T14:30:55Z))
	EndTime string `xml:"end_time,omitempty"`

	// SampleTimeRange time window in UTC format
	SampleTimeRange int64 `xml:"sample_time_range,omitempty"`

	// ConsistentTime metrics collection UTC timestamp in ISO 8601 format (2007-04-05T14:30:55Z)
	ConsistentTime string `xml:"consistent_time,omitempty"`

	// AccountBillingInfo contains latest billing metrics info for the user
	AccountBillingInfo AccountBillingInfo `xml:"account_billing_objmt_info,omitempty"`

	// UserCreationDelta list of objects creation delta per storage classes
	UserCreationDelta []StorageClassBasedCountSize `xml:"user_creation_delta>storage_class_counts"`

	// UserDeletionDelta list of objects deletion delta per storage classes
	UserDeletionDelta []StorageClassBasedCountSize `xml:"user_deletion_delta>storage_class_counts"`

	// MpuCreateDelta list of MPU parts creation delta per storage classes
	MpuCreateDelta []StorageClassBasedCountSize `xml:"mpu_create_delta>storage_class_counts"`

	// MpuDeleteDelta list of MPU parts deletion delta per storage classes
	MpuDeleteDelta []StorageClassBasedCountSize `xml:"mpu_delete_delta>storage_class_counts"`

	// MprCreateDelta list of MPR parts creation delta per storage classes
	MprCreateDelta []StorageClassBasedCountSize `xml:"mpr_create_delta>storage_class_counts"`

	// MprDeleteDelta list of MPR parts deletion delta per storage classes
	MprDeleteDelta []StorageClassBasedCountSize `xml:"mpr_delete_delta>storage_class_counts"`

	// ReplicaCreationDelta list of replicated objects creation delta per storage classes
	ReplicaCreationDelta []StorageClassBasedCountSize `xml:"replica_creation_delta>storage_class_counts"`

	// ReplicaDeletionDelta list of replicated objects deletion delta per storage classes
	ReplicaDeletionDelta []StorageClassBasedCountSize `xml:"replica_deletion_delta>storage_class_counts"`

	// UserMetadataCreationDelta list of object metadata creation delta per storage classes
	UserMetadataCreationDelta []StorageClassBasedCountSize `xml:"user_metadata_create_delta>storage_class_counts"`

	// UserMetadataDeletionDelta list of object metadata deletion delta per storage classes
	UserMetadataDeletionDelta []StorageClassBasedCountSize `xml:"user_metadata_delete_delta>storage_class_counts"`

	// ReplicaMetadataCreationDelta list of object metadata creation delta per storage classes
	ReplicaMetadataCreationDelta []StorageClassBasedCountSize `xml:"replica_metadata_create_delta>storage_class_counts"`

	// ReplicaMetadataDeletionDelta list of object metadata deletion delta per storage classes
	ReplicaMetadataDeletionDelta []StorageClassBasedCountSize `xml:"replica_metadata_delete_delta>storage_class_counts"`

	// HardQuotaInCount hard quota in count
	HardQuotaInCount int64 `xml:"hard_quota_in_count,omitempty"`

	// HardQuotaInGB hard quota in logical size
	HardQuotaInGB int64 `xml:"hard_quota_in_GB,omitempty"`

	// SoftQuotaInCount soft quota in count
	SoftQuotaInCount int64 `xml:"soft_quota_in_count,omitempty"`

	// SoftQuotaInGB soft quota in logical size
	SoftQuotaInGB int64 `xml:"soft_quota_in_GB,omitempty"`

	// BucketBillingSample metrics for the buckets managed by this account
	BucketBillingSample []BucketBillingSample `xml:"bucket_billing_sample,omitempty"`
}

AccountBillingSample contains time range based billing metrics info for one user.

type AccountBillingSampleList

type AccountBillingSampleList struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"account_billing_objmt_samples" json:"account_billing_objmt_samples"`

	// Status metering collection request status
	Status string `xml:"status,omitempty" json:"status,omitempty"`

	// SizeUnit size unit of metric values
	SizeUnit string `xml:"size_unit,omitempty" json:"size_unit,omitempty"`

	// DateTime request time (ISO 8601 format (2020-01-27T14:30:55Z))
	DateTime string `xml:"date_time,omitempty" json:"date_time,omitempty"`

	// StartTime is a start of time window for data selection (ISO 8601 format (2020-01-27T14:30:55Z))
	StartTime string `xml:"start_time,omitempty" json:"start_time,omitempty"`

	// EndTime is an end of time window for data selection (ISO 8601 format (2020-01-27T14:30:55Z))
	EndTime string `xml:"end_time,omitempty" json:"end_time,omitempty"`

	// Samples list of time range based billing metrics objects for each user
	Samples []AccountBillingSample `json:"account_billing_objmt_sample" xml:"account_billing_objmt_sample"`
}

AccountBillingSampleList contains time range based billing metrics for users.

type AlertPolicies

type AlertPolicies struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `json:"alert_policies" xml:"alert_policies"`

	// Items is the list of alert policies
	Items []AlertPolicy `json:"alert_policy" xml:"alert_policy"`

	// MaxBuckets is the maximum number of alert policies requested in the listing
	MaxPolicies int `json:"MaxPolicies,omitempty" xml:"MaxPolicies"`

	// NextMarker is a reference object to receive the next set of alert policies
	NextMarker string `json:"next_marker,omitempty" xml:"next_marker,omitempty"`

	// Filter is a string query used to limit the returned alert policies in the
	// listing
	Filter string `json:"Filter,omitempty" xml:"Filter,omitempty"`

	// NextPageLink is a hyperlink to the next page in the alert policy listing
	NextPageLink string `json:"next_page_link,omitempty" xml:"next_page_link,omitempty"`
}

AlertPolicies is a list of alert policies.

type AlertPolicy

type AlertPolicy struct {
	XMLName              xml.Name             `xml:"alert_policy"`
	PolicyName           string               `json:"policyName" xml:"policyName"`
	MetricType           string               `json:"metricType" xml:"metricType"`
	MetricName           string               `json:"metricName" xml:"metricName"`
	CreatedBy            string               `json:"createdBy" xml:"createdBy"`
	IsEnabled            string               `json:"isEnabled" xml:"isEnabled"`
	IsPerInstanceMetric  string               `json:"isPerInstanceMetric" xml:"isPerInstanceMetric"`
	Period               int                  `json:"period" xml:"period"`
	PeriodUnits          string               `json:"periodUnits" xml:"periodUnits"`
	DatapointsToConsider int                  `json:"datapointsToConsider" xml:"datapointsToConsider"`
	DatapointsToAlert    int                  `json:"datapointsToAlert" xml:"datapointsToAlert"`
	Statistic            string               `json:"statistic" xml:"statistic"`
	Operator             string               `json:"operator" xml:"operator"`
	Condition            AlertPolicyCondition `json:"condition" xml:"condition"`
}

AlertPolicy implements the AlertPolicy API.

type AlertPolicyCondition

type AlertPolicyCondition struct {
	ThresholdUnits string `json:"thresholdUnits,omitempty" xml:"thresholdUnits,omitempty"`
	ThresholdValue string `json:"thresholdValue,omitempty" xml:"thresholdValue,omitempty"`
	SeverityType   string `json:"severityType,omitempty" xml:"severityType,omitempty"`
}

AlertPolicyCondition describes AlerPolicy.

type BlobUser

type BlobUser struct {
	UserID    string `json:"userid"`
	Namespace string `json:"namespace"`
}

BlobUser is an object user.

type Bucket

type Bucket struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"object_bucket"`

	// APIType is the object API type used by the bucket
	APIType string `json:"api_type,omitempty" xml:"api_type,omitempty"`

	// AuditDeleteExpiration is the amount of time to retain deletion audit
	// entries
	AuditDeleteExpiration int `json:"audit_delete_expiration,omitempty" xml:"audit_delete_expiration,omitempty"`

	// Created is the date and time that the bucket was created
	Created string `json:"created,omitempty" xml:"created,omitempty"`

	// ID is the id of the bucket scoped to the cluster instance
	ID string `json:"id,omitempty" xml:"id,omitempty"`

	// Name is the name of the cluster instance
	Name string `json:"name" xml:"name"`

	// EncryptionEnabled displays if this bucket is configured for encryption
	// at rest
	EncryptionEnabled bool `json:"is_encryption_enabled,omitempty" xml:"is_encryption_enabled,omitempty"`

	// SoftQuota is the warning quota level for the bucket
	SoftQuota string `json:"softquota,omitempty" xml:"softquota,omitempty"`

	// FSEnabled indicates if the bucket has file-system support enabled
	FSEnabled bool `json:"fs_access_enabled,omitempty" xml:"fs_access_enabled,omitempty"`

	// Locked indicates if the bucket is locked
	Locked bool `json:"locked,omitempty" xml:"locked,omitempty"`

	// ReplicationGroup is the replication group id of the bucket
	ReplicationGroup string `json:"vpool,omitempty" xml:"vpool,omitempty"`

	// Namespace is the namespace of the bucket
	Namespace string `json:"namespace,omitempty" xml:"namespace,omitempty"`

	// Owner is the s3 object user owner of the bucket
	Owner string `json:"owner,omitempty" xml:"owner,omitempty"`

	// StaleAllowed indicates if access to the bucket is allowed during an
	// outage
	StaleAllowed bool `json:"is_stale_allowed,omitempty" xml:"is_stale_allowed,omitempty"`

	// TSOReadOnly indicates if access to the bucket is allowed during an
	// outage
	TSOReadOnly bool `json:"is_tso_read_only,omitempty" xml:"is_tso_read_only,omitempty"`

	// DefaultRetention is the default retention period for objects in bucket
	DefaultRetention int64 `json:"default_retention,omitempty" xml:"default_retention,omitempty"`

	// BlockSize is the bucket size at which new object creations will be blocked
	BlockSize int64 `json:"block_size,omitempty" xml:"block_size,omitempty"`

	// BlockSizeCount is the bucket size, in counts, at which new object creations will be blocked
	BlockSizeCount int64 `json:"block_size_in_count,omitempty" xml:"block_size_in_count,omitempty"`

	// NotificationSize is the bucket size at which the users will be notified
	NotificationSize int64 `json:"notification_size,omitempty" xml:"notification_size,omitempty"`

	// NotificationSize is the bucket size, in counts, at which the users will be notified
	NotificationSizeCount int64 `json:"notification_size_in_count,omitempty" xml:"notification_size_in_count,omitempty"`

	// BlockSizeInput is the input of bucket size, support CreateBucket method
	BlockSizeInput int64 `json:"blockSize,omitempty" xml:"blockSize,omitempty"`

	// BlockSizeCountInput is the bucket size, in counts, at which new object creations will be blocked
	BlockSizeCountInput int64 `json:"blockSizeInCount,omitempty" xml:"blockSizeInCount,omitempty"`

	// NotificationSizeInput is the input of notification size, support CreateBucket method
	NotificationSizeInput int64 `json:"notificationSize,omitempty" xml:"notificationSize,omitempty"`

	// NotificationSizeCountInput is the bucket size, in counts, at which the users will be notified
	NotificationSizeCountInput int64 `json:"notificationSizeInCount,omitempty" xml:"notificationSizeInCount,omitempty"`

	// Tags is a list of arbitrary metadata keys and values applied to the
	// bucket
	Tags TagSet `json:"TagSet,omitempty" xml:"TagSet,omitempty"`

	// Retention is the default retention value for the bucket
	Retention int64 `json:"retention,omitempty" xml:"retention,omitempty"`

	// DefaultGroupFileReadPermission is a flag indicating the Read permission
	// for default group
	DefaultGroupFileReadPermission bool `json:"default_group_file_read_permission,omitempty" xml:"default_group_file_read_permission,omitempty"`

	// DefaultGroupFileWritePermission is a flag indicating the Execute permission
	// for default group
	DefaultGroupFileExecutePermission bool `json:"default_group_file_execute_permission,omitempty" xml:"default_group_file_execute_permission,omitempty"`

	// DefaultGroupFileExecutePermission is a flag indicating the Write permission
	// for default group
	DefaultGroupFileWritePermission bool `json:"default_group_file_write_permission,omitempty" xml:"default_group_file_write_permission,omitempty"`

	// DefaultGroupDirReadPermission is a flag indicating the Read permission
	// for default group
	DefaultGroupDirReadPermission bool `json:"default_group_dir_read_permission,omitempty" xml:"default_group_dir_read_permission,omitempty"`

	// DefaultGroupDirWritePermission is a flag indicating the Execute permission
	// for default group
	DefaultGroupDirExecutePermission bool `json:"default_group_dir_execute_permission,omitempty" xml:"default_group_dir_execute_permission,omitempty"`

	// DefaultGroupDirExecutePermission is a flag indicating the Write permission
	// for default group
	DefaultGroupDirWritePermission bool `json:"default_group_dir_write_permission,omitempty" xml:"default_group_dir_write_permission,omitempty"`

	// DefaultGroup is the bucket's default group
	DefaultGroup string `json:"default_group,omitempty" xml:"default_group,omitempty"`

	// SearchMetadata is the custom metadata for enabled for querying on the
	// bucket
	SearchMetadata `json:"search_metadata,omitempty" xml:"search_metadata,omitempty"`

	// MinMaxGovenor enforces minimum and maximum retention for bucket objects
	MinMaxGovenor `json:"min_max_govenor,omitempty" xml:"min_max_govenor,omitempty"`

	// StoragePolicy is the default storage policy of the bucket
	StoragePolicy string `json:"storagePolicy,omitempty" xml:"storage_policy,omitempty"`
}

Bucket is an object storage bucket.

type BucketBillingInfo

type BucketBillingInfo struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"bucket_billing_objmt_info" json:"bucket_billing_objmt_info"`

	// BucketName bucket name using for collecting metrics
	BucketName string `xml:"bucket_name,omitempty"`

	// CompressionRatio float value of compression ratio in bucket
	CompressionRatio float64 `xml:"compression_ratio,omitempty"`

	// ConsistentTime metrics collection UTC timestamp in ISO 8601 format (2007-04-05T14:30:55Z)
	ConsistentTime string `xml:"consistent_time,omitempty"`

	// HardQuotaInCount hard quota in count
	HardQuotaInCount int64 `xml:"hard_quota_in_count,omitempty"`

	// HardQuotaInGB hard quota in logical size
	HardQuotaInGB int64 `xml:"hard_quota_in_GB,omitempty"`

	// SoftQuotaInCount soft quota in count
	SoftQuotaInCount int64 `xml:"soft_quota_in_count,omitempty"`

	// SoftQuotaInGB soft quota in logical size
	SoftQuotaInGB int64 `xml:"soft_quota_in_GB,omitempty"`

	// ObjectDistribution metrics collection of objects grouped by size
	ObjectDistribution string `xml:"object_distribution,omitempty"`

	// TotalLocalData total local logical capacity usage(local: objects + MPU + user-written metadata)
	TotalLocalData int64 `xml:"total_local_data,omitempty"`

	// TotalReplicaData total replica logical capacity usage (replicated: objects + MPU + user written metadata)
	TotalReplicaData int64 `xml:"total_replica_data,omitempty"`

	// TotalUserObjectMetric total object logical and physical size, count per bucket
	TotalUserObjectMetric []StorageClassBasedCountSize `xml:"total_user_object_metric>storage_class_counts"`

	// TotalUserMetadataMetric total user metadata logical and physical size, count per bucket
	TotalUserMetadataMetric []StorageClassBasedCountSize `xml:"total_user_metadata_metric>storage_class_counts"`

	// TotalMPUMetric total MPU parts logical and physical size, count per bucket
	TotalMPUMetric []StorageClassBasedCountSize `xml:"total_mpu_metric>storage_class_counts"`

	// TotalMPRMetric total MPR parts logical and physical size, count per bucket
	TotalMPRMetric []StorageClassBasedCountSize `xml:"total_mpr_metric>storage_class_counts"`

	// TotalReplicaObjectMetric total replicated objects logical and physical size, count per bucket
	TotalReplicaObjectMetric []StorageClassBasedCountSize `xml:"total_replica_object_metric>storage_class_counts"`

	// TotalReplicaMetadataMetric total replicated object metadata logical and physical size, count per bucket
	TotalReplicaMetadataMetric []StorageClassBasedCountSize `xml:"total_replica_metadata_metric>storage_class_counts"`
}

BucketBillingInfo contains latest billing metrics info for one bucket.

type BucketBillingInfoList

type BucketBillingInfoList struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"bucket_billing_objmt_infos" json:"bucket_billing_objmt_infos"`

	// Status metering collection request status
	Status string `xml:"status,omitempty" json:"status,omitempty"`

	// SizeUnit size unit of metric values
	SizeUnit string `xml:"size_unit,omitempty" json:"size_unit,omitempty"`

	// DateTime request time (ISO 8601 format (2020-01-27T14:30:55Z))
	DateTime string `xml:"date_time,omitempty" json:"date_time,omitempty"`

	// Info list of billing metrics objects for each bucket
	Info []BucketBillingInfo `xml:"bucket_billing_objmt_info" json:"bucket_billing_objmt_info"`
}

BucketBillingInfoList list of the billing info per buckets.

type BucketBillingSample

type BucketBillingSample struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"bucket_billing_objmt_sample" json:"bucket_billing_objmt_sample"`

	// BucketName bucket name using for collecting metrics
	BucketName string `xml:"bucket_name,omitempty"`

	// SampleTimeRange time window in UTC format
	SampleTimeRange int64 `xml:"sample_time_range,omitempty"`

	// CrrThroughput Calculated by replicated object logical size/time range in seconds
	CrrThroughput int64 `xml:"crr_throughput,omitempty"`

	// HardQuotaInCount hard quota in count
	HardQuotaInCount int64 `xml:"hard_quota_in_count,omitempty"`

	// HardQuotaInGB hard quota in logical size
	HardQuotaInGB int64 `xml:"hard_quota_in_GB,omitempty"`

	// SoftQuotaInCount soft quota in count
	SoftQuotaInCount int64 `xml:"soft_quota_in_count,omitempty"`

	// SoftQuotaInGB soft quota in logical size
	SoftQuotaInGB int64 `xml:"soft_quota_in_GB,omitempty"`

	// ConsistentTime metrics collection UTC timestamp in ISO 8601 format (2007-04-05T14:30:55Z)
	ConsistentTime string `xml:"consistent_time,omitempty"`

	// BucketBillingInfo contains latest billing metrics info for the bucket
	BucketBillingInfo BucketBillingInfo `xml:"bucket_billing_objmt_info,omitempty"`

	// BucketBillingTags list of ingress nad egress billing values
	BucketBillingTags []BucketBillingTag `xml:"bucket_billing_tag,omitempty"`

	// UserCreationDelta list of objects creation delta per storage classes
	UserCreationDelta []StorageClassBasedCountSize `xml:"user_creation_delta>storage_class_counts"`

	// UserDeletionDelta list of objects deletion delta per storage classes
	UserDeletionDelta []StorageClassBasedCountSize `xml:"user_deletion_delta>storage_class_counts"`

	// MpuCreateDelta list of MPU parts creation delta per storage classes
	MpuCreateDelta []StorageClassBasedCountSize `xml:"mpu_create_delta>storage_class_counts"`

	// MpuDeleteDelta list of MPU parts deletion delta per storage classes
	MpuDeleteDelta []StorageClassBasedCountSize `xml:"mpu_delete_delta>storage_class_counts"`

	// MprCreateDelta list of MPU parts creation delta per storage classes
	MprCreateDelta []StorageClassBasedCountSize `xml:"mpr_create_delta>storage_class_counts"`

	// MprDeleteDelta list of MPU parts deletion delta per storage classes
	MprDeleteDelta []StorageClassBasedCountSize `xml:"mpr_delete_delta>storage_class_counts"`

	// ReplicaCreationDelta list of replicated objects creation delta per storage classes
	ReplicaCreationDelta []StorageClassBasedCountSize `xml:"replica_creation_delta>storage_class_counts"`

	// ReplicaDeletionDelta list of replicated objects deletion delta per storage classes
	ReplicaDeletionDelta []StorageClassBasedCountSize `xml:"replica_deletion_delta>storage_class_counts"`

	// UserMetadataCreationDelta list of object metadata creation delta per storage classes
	UserMetadataCreationDelta []StorageClassBasedCountSize `xml:"user_metadata_create_delta>storage_class_counts"`

	// UserMetadataDeletionDelta list of object metadata deletion delta per storage classes
	UserMetadataDeletionDelta []StorageClassBasedCountSize `xml:"user_metadata_delete_delta>storage_class_counts"`

	// ReplicaMetadataCreationDelta list of object metadata creation delta per storage classes
	ReplicaMetadataCreationDelta []StorageClassBasedCountSize `xml:"replica_metadata_create_delta>storage_class_counts"`

	// ReplicaMetadataDeletionDelta list of object metadata deletion delta per storage classes
	ReplicaMetadataDeletionDelta []StorageClassBasedCountSize `xml:"replica_metadata_delete_delta>storage_class_counts"`
}

BucketBillingSample contains time range based billing metrics info for one bucket.

type BucketBillingSampleList

type BucketBillingSampleList struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"bucket_billing_objmt_samples" json:"bucket_billing_objmt_samples"`

	// Status metering collection request status
	Status string `xml:"status,omitempty" json:"status,omitempty"`

	// SizeUnit size unit of metric values
	SizeUnit string `xml:"size_unit,omitempty" json:"size_unit,omitempty"`

	// DateTime request time (ISO 8601 format (2020-01-27T14:30:55Z))
	DateTime string `xml:"date_time,omitempty" json:"date_time,omitempty"`

	// StartTime is a start of time window for data selection (ISO 8601 format (2020-01-27T14:30:55Z))
	StartTime string `xml:"start_time,omitempty" json:"start_time,omitempty"`

	// EndTime is an end of time window for data selection (ISO 8601 format (2020-01-27T14:30:55Z))
	EndTime string `xml:"end_time,omitempty" json:"end_time,omitempty"`

	// Samples list of time range based billing metrics objects for each bucket
	Samples []BucketBillingSample `json:"bucket_billing_objmt_sample" xml:"bucket_billing_objmt_sample"`
}

BucketBillingSampleList contains time range based billing metrics for buckets.

type BucketBillingTag

type BucketBillingTag struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"bucket_billing_tag" json:"bucket_billing_tag"`

	// BucketName bucket name using for collecting metrics
	BucketName string `xml:"bucket_name,omitempty"`

	// Ingress size of ingress data in bucket
	Ingress int64 `xml:"ingress,omitempty"`

	// Egress size of ergess data in bucket
	Egress int64 `xml:"egress,omitempty"`
}

BucketBillingTag contains ingress and egress metrics for bucket.

type BucketCreate

type BucketCreate struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"object_bucket_create"`

	Bucket
}

BucketCreate is an object storage bucket with an alternate XML tag name.

type BucketInfo

type BucketInfo struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"bucket_info"`

	Bucket
}

BucketInfo is an object storage bucket with an alternate XML tag name.

type BucketList

type BucketList struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `json:"object_buckets" xml:"object_buckets"`

	// Items is the list of buckets in the list
	Items []Bucket `json:"object_bucket" xml:"object_bucket"`

	// MaxBuckets is the maximum number of buckets requested in the listing
	MaxBuckets int `json:"max_buckets,omitempty" xml:"MaxBuckets,omitempty"`

	// NextMarker is a reference object to receive the next set of buckets
	NextMarker string `json:"next_marker,omitempty" xml:"NextMarker,omitempty"`

	// Filter is a string query used to limit the returned buckets in the
	// listing
	Filter string `json:"Filter,omitempty" xml:"Filter,omitempty"`

	// NextPageLink is a hyperlink to the next page in the bucket listing
	NextPageLink string `json:"next_page_link,omitempty" xml:"NextPageLink,omitempty"`
}

BucketList is a list of object storage buckets.

type BucketPerfDataList

type BucketPerfDataList struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"bucket_perf_samples" json:"bucket_perf_samples"`

	// Status metering collection request status
	Status string `xml:"status,omitempty" json:"status,omitempty"`

	// SizeUnit size unit of metric values
	SizeUnit string `xml:"size_unit,omitempty" json:"size_unit,omitempty"`

	// DateTime request time (ISO 8601 format (2020-01-27T14:30:55Z))
	DateTime string `xml:"date_time,omitempty" json:"date_time,omitempty"`

	// StartTime is a start of time window for data selection (ISO 8601 format (2020-01-27T14:30:55Z))
	StartTime string `xml:"start_time,omitempty" json:"start_time,omitempty"`

	// EndTime is an end of time window for data selection (ISO 8601 format (2020-01-27T14:30:55Z))
	EndTime string `xml:"end_time,omitempty" json:"end_time,omitempty"`

	// Sample list of metrics per each bucket
	Samples []BucketPerfSample `xml:"bucket_perf_sample" json:"bucket_perf_sample" `
}

BucketPerfDataList time range based list of performance bucket billing metrics.

type BucketPerfSample

type BucketPerfSample struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"bucket_perf_sample" json:"bucket_perf_sample"`

	// SampleTimeRange time window in UTC format BucketName      string `xml:"bucket_name,omitempty"`
	SampleTimeRange int64 `xml:"sample_time_range,omitempty"`

	// ConsistentTime metrics collection UTC timestamp in ISO 8601 format (2007-04-05T14:30:55Z)
	ConsistentTime string `xml:"consistent_time,omitempty"`

	// IngressLatency ingress latency value for bucket in requested time window
	IngressLatency int64 `xml:"ingress_latency,omitempty"`

	// IngressBytes ingress bytes for bucket in requested time window
	IngressBytes int64 `xml:"ingress_bytes,omitempty"`

	// IngressCounts ingress objects count for bucket in requested time window
	IngressCounts int64 `xml:"ingress_counts,omitempty"`

	// EgressLatecy egress latency for bucket in requested time window
	EgressLatency int64 `xml:"egress_latency,omitempty"`

	// EgressBytes egress bytes for bucket in requested time window
	EgressBytes int64 `xml:"egress_bytes,omitempty"`

	// EgressCounts egress objects count for bucket in requested time window
	EgressCounts int64 `xml:"egress_counts,omitempty"`
}

BucketPerfSample time range based bucket performance billing metrics.

type BucketQuota

type BucketQuota struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"bucket_quota"`

	// Name is the name of the cluster instance
	BucketName string `json:"bucketname,omitempty" xml:"bucketname"`

	// Namespace is the namespace of the bucket
	Namespace string `json:"namespace,omitempty" xml:"namespace,omitempty"`

	// BlockSize is the bucket size at which new object creations will be blocked
	BlockSize int64 `json:"blockSize,omitempty" xml:"blockSize,omitempty"`

	// BlockSizeCount is the bucket size, in counts, at which new object creations will be blocked
	BlockSizeCount int64 `json:"blockSizeInCount,omitempty" xml:"blockSizeInCount,omitempty"`

	// NotificationSize is the bucket size at which the users will be notified
	NotificationSize int64 `json:"notificationSize,omitempty" xml:"notificationSize,omitempty"`

	// NotificationSize is the bucket size, in counts, at which the users will be notified
	NotificationSizeCount int64 `json:"notificationSizeInCount,omitempty" xml:"notificationSizeInCount,omitempty"`
}

BucketQuota is quota struct.

type BucketQuotaInfo

type BucketQuotaInfo struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"bucket_quota_details"`

	BucketQuota
}

BucketQuotaInfo is the struct of quota information.

type BucketQuotaUpdate

type BucketQuotaUpdate struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"bucket_quota_param"`

	BucketQuota
}

BucketQuotaUpdate is the struct of quota updating.

type BucketReplicationInfoList

type BucketReplicationInfoList struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"replication_info_list" json:"replication_info_list"`

	// Status metering collection request status
	Status string `xml:"status,omitempty" json:"status,omitempty"`

	// SizeUnit size unit of metric values
	SizeUnit string `xml:"size_unit,omitempty" json:"size_unit,omitempty"`

	// DateTime request time (ISO 8601 format (2020-01-27T14:30:55Z))
	DateTime string `xml:"date_time,omitempty" json:"date_time,omitempty"`

	// Info list of replication metrics per each bucket
	Info []ReplicationBillingInfo `xml:"replication_billing_info" json:"replication_billing_info"`
}

BucketReplicationInfoList list of latest bucket replication billing metrics.

type BucketReplicationSample

type BucketReplicationSample struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"bucket_replication_sample" json:"bucket_replication_sample"`

	// SourceBucket name of replication source bucket
	SourceBucket string `xml:"replication_source_destination>source_bucket,omitempty"`

	// DestinationBucket name of replication destination bucket
	DestinationBucket string `xml:"replication_source_destination>destination_bucket_arn,omitempty"`

	// SampleTimeRange time window in UTC format
	SampleTimeRange int64 `xml:"sample_time_range,omitempty"`

	// ConsistentTime metrics collection UTC timestamp (ISO 8601 format (2020-01-27T14:30:55Z))
	ConsistentTime string `xml:"consistent_time,omitempty"`

	ReplicationBillingInfo ReplicationBillingInfo `xml:"replication_billing_info,omitempty"`

	// PendingToReplicateDelta metrics of data pending replication per storage class
	PendingToReplicateDelta []StorageClassBasedCountSize `xml:"pending_to_replicate_delta>storage_class_counts,omitempty"`

	// ReplicatedDelta replicated data metrics per storage class
	ReplicatedDelta []StorageClassBasedCountSize `xml:"replicated_delta>storage_class_counts,omitempty"`

	// PendingToReplicateDelta metrics of data failed to replicate per storage class
	ReplicatedFailureDelta []StorageClassBasedCountSize `xml:"replicated_failure_delta>storage_class_counts,omitempty"`
}

BucketReplicationSample time range based replication billing metrics for one bucket.

type BucketReplicationSampleList

type BucketReplicationSampleList struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"bucket_replication_samples" json:"bucket_replication_samples"`

	// Status metering collection request status
	Status string `xml:"status,omitempty" json:"status,omitempty"`

	// SizeUnit size unit of metric values
	SizeUnit string `xml:"size_unit,omitempty" json:"size_unit,omitempty"`

	// DateTime request time (ISO 8601 format (2020-01-27T14:30:55Z))
	DateTime string `xml:"date_time,omitempty" json:"date_time,omitempty"`

	// StartTime is a start of time window for data selection (ISO 8601 format (2020-01-27T14:30:55Z))
	StartTime string `xml:"start_time,omitempty" json:"start_time,omitempty"`

	// EndTime is an end of time window for data selection (ISO 8601 format (2020-01-27T14:30:55Z))
	EndTime string `xml:"end_time,omitempty" json:"end_time,omitempty"`

	// Samples list of replication metrics per each bucket
	Samples []BucketReplicationSample `xml:"bucket_replication_sample,omitempty" json:"bucket_replication_sample,omitempty"`
}

BucketReplicationSampleList time range based list of bucket replication billing metrics.

type CRR

type CRR struct {
	XMLName xml.Name `xml:"ReplicationAdminConfiguration"`

	DestObjectScale string `xml:"destinationObjectScale"`

	DestObjectStore string `xml:"destinationObjectStore"`

	PauseStartMills int64 `xml:"pauseStartMills"`

	PauseEndMills int64 `xml:"pauseEndMills"`

	SuspendStartMills int64 `xml:"suspendStartMills"`

	ThrottleBandwidth int `xml:"throttleBandwidth"`
}

CRR is Cross Region Replication.

type CRRControlParameters

type CRRControlParameters struct {
	XMLName xml.Name `xml:"CRRControlParameters"`

	SuspendStartMills int64 `xml:"suspendStartMills,omitempty"`

	PauseStartMills int64 `xml:"pauseStartMills,omitempty"`

	PauseEndMills int64 `xml:"pauseEndMills,omitempty"`

	ThrottleBandwidth int `xml:"throttleBandwidth,omitempty"`
}

CRRControlParameters represents parameters for Cross Region Replication.

type Error

type Error struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"error"`

	// Code is the error code returned by the management API
	Code int64 `xml:"code" json:"code"`

	// Description is a human readable description of the error
	Description string `xml:"description" json:"description"`

	// Details are additional error information
	Details string `xml:"details" json:"details"`

	// Retryable signifies if a request returning an error of this type should
	// be retried
	Retryable bool `xml:"retryable" json:"retryable"`
}

Error implements custom error.

func (Error) Error

func (err Error) Error() string

Error is a method that allows us to use the Error model as go error.

func (Error) Is

func (err Error) Is(target error) bool

Is compare errors status.

func (Error) StatusCode

func (err Error) StatusCode() int64

StatusCode is there so we can reference the Code field in Is method.

type FederatedObjectStore

type FederatedObjectStore struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"ReplicationStoreInfo"`

	CRRConfigured bool `xml:"CRRConfigured"`

	ObjectScaleID string `xml:"ObjectScaleId"`

	ObjectStoreID string `xml:"ObjectStoreId"`

	ObjectStoreName string `xml:"ObjectStoreName"`

	ReplicationStatus string `xml:"ReplicationStatus"`

	ObjectStoreRTO int64 `xml:"ObjectStoreRTO,omitempty"`

	FailedData int64 `xml:"FailedData,omitempty"`

	CRRControlParameters CRRControlParameters `xml:"CRRControlParameters"`
}

FederatedObjectStore is an ObjectStore which is Federated.

type FederatedObjectStoreList

type FederatedObjectStoreList struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"ReplicationInfo"`

	// Items is the list of federated object stores in the list
	Items []FederatedObjectStore `xml:"ReplicationStoreInfo"`
}

FederatedObjectStoreList is a list of federated object stores.

type Link struct {
	// HREF is the hyperlink reference
	HREF string `json:"href" xml:"href"`

	// Rel is the relationship between the link references
	Rel string `json:"rel" xml:"rel"`
}

Link is a HTTP hyperlink.

type Metadata

type Metadata struct {
	// Type is the metadata key type
	Type string `json:"type" xml:"type"`

	// Name is the metadata key name
	Name string `json:"name" xml:"name"`

	// Datatype is the data type of the metadata value
	Datatype string `json:"datatype" xml:"datatype"`
}

Metadata defines the fields that can be searched upon.

type MinMaxGovenor

type MinMaxGovenor struct {
	// EnforceRetention indicates if retention should be enforced for this
	// min-max-govenor
	EnforceRetention bool `json:"enforce_retention" xml:"enforce_retention"`

	// MinimumFixedRetention  is the minimum fixed retention for objects within
	// a bucket
	MinimumFixedRetention int64 `json:"minimum_fixed_retention" xml:"minimum_fixed_retention"`

	// MinimumVariableRetention  is the minimum variable retention for objects
	// within a bucket
	MinimumVariableRetention int64 `json:"minimum_variable_retention" xml:"minimum_variable_retention"`

	// MaximumFixedRetention  is the maximum fixed retention for objects within
	// a bucket
	MaximumFixedRetention int64 `json:"maximum_fixed_retention" xml:"maximum_fixed_retention"`

	// MaximumVariableRetention  is the maximum variable retention for objects
	// within a bucket
	MaximumVariableRetention int64 `json:"maximum_variable_retention" xml:"maximum_variable_retention"`

	// Link is the hyperlink to this resource
	Link `json:"link" xml:"link"`

	// Inactive indicates if the bucket has been placed into an inactive state,
	// typically prior to deletion
	Inactive bool `json:"inactive" xml:"inactive"`

	// Global indicates if the resource is global
	Global bool `json:"global" xml:"global"`

	// Remote indicates if the resource is remote to the current API instance
	Remote bool `json:"remote" xml:"remote"`

	// Internal indicates if the resource is an internal resource
	Internal bool `json:"internal" xml:"internal"`

	// VDCLink is a link from a bucket to a VDC
	VDCLink `json:"vdc" xml:"vdc"`
}

MinMaxGovenor enforces minimum and maximum retention for bucket objects.

type ObjectUserInfo

type ObjectUserInfo struct {
	Namespace string   `json:"namespace"`
	Name      string   `json:"name"`
	Locked    bool     `json:"locked"`
	Created   string   `json:"created"`
	Tags      []string `json:"tags"`
}

ObjectUserInfo contains information about an object user.

type ObjectUserList

type ObjectUserList struct {
	BlobUser []BlobUser `json:"blobuser"`
}

ObjectUserList contains an array of object users.

type ObjectUserSecret

type ObjectUserSecret struct {
	SecretKey1          string `json:"secret_key_1"`
	KeyTimestamp1       string `json:"key_timestamp_1"`
	KeyExpiryTimestamp1 string `json:"key_expiry_timestamp_1"`
	SecretKey2          string `json:"secret_key_2"`
	KeyTimestamp2       string `json:"key_timestamp_2"`
	KeyExpiryTimestamp2 string `json:"key_expiry_timestamp_2"`
	Link                Link   `json:"link"`
}

ObjectUserSecret contains information about object user's secrets.

type ObjectUserSecretKeyCreateReq

type ObjectUserSecretKeyCreateReq struct {
	SecretKey          string `json:"secretkey"`
	Namespace          string `json:"namespace"`
	ExistingKeyExpTime string `json:"existing_key_expiry_time_mins,omitempty"`
}

ObjectUserSecretKeyCreateReq to marshal ObjectUserSecretKey create req.

type ObjectUserSecretKeyCreateRes

type ObjectUserSecretKeyCreateRes struct {
	SecretKey          string `json:"secret_key"`
	KeyTimeStamp       string `json:"key_timestamp"`
	KeyExpiryTimestamp string `json:"key_expiry_timestamp"`
	Link               Link   `json:"link"`
}

ObjectUserSecretKeyCreateRes to unmarshal ObjectUserSecretKey create resp.

type ObjectUserSecretKeyDeleteReq

type ObjectUserSecretKeyDeleteReq struct {
	SecretKey string `json:"secret_key"`
	Namespace string `json:"namespace"`
}

ObjectUserSecretKeyDeleteReq to marshal ObjectUserSecretKey delete req.

type RKELoginRequest

type RKELoginRequest struct {
	Username string `json:"username"`
	Password string `json:"password"`
}

RKELoginRequest is a model of login request body, posted to /mgmt/auth/login on RKE platform.

type RKELoginResponse

type RKELoginResponse struct {
	AccessToken      string `json:"access_token"`
	AccessExpiresIn  int    `json:"expires_in"`
	RefreshToken     string `json:"refresh_token"`
	RefreshExpiresIn int    `json:"refresh_expires_in"`
}

RKELoginResponse is a model of login response body, received from /mgmt/auth/login on RKE platform.

type RebuildInfo

type RebuildInfo struct {
	// Status of the storage server
	Status string `json:"status"`

	// TotalBytes of the storage server
	TotalBytes int `json:"total_bytes,string"`

	// RemainingBytes of the storage server
	RemainingBytes int `json:"remaining_bytes,string"`

	// Level of the storage server
	Level int `json:"level,string"`

	// Disk of the storage node
	Disk string `json:"disk"`

	// Message from the storage server
	Message string `json:"message"`

	// Host of the storage server
	Host string `json:"host"`

	// Progress of the recovery
	Progress string `json:"progress"`
}

RebuildInfo is the information about the rebuild status.

type ReplicationBillingInfo

type ReplicationBillingInfo struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"replication_billing_info" json:"replication_billing_info"`

	// SourceBucket name of replication source bucket
	SourceBucket string `xml:"replication_source_destination>source_bucket,omitempty"`

	// DestinationBucket name of replication destination bucket
	DestinationBucket string `xml:"replication_source_destination>destination_bucket_arn,omitempty"`

	// ConsistentTime metrics collection UTC timestamp (ISO 8601 format (2020-01-27T14:30:55Z))
	ConsistentTime string `xml:"consistent_time,omitempty"`

	// PendingToReplicate metrics of data pending replication per storage class
	PendingToReplicate []StorageClassBasedCountSize `xml:"pending_to_replicate>storage_class_counts,omitempty"`
}

ReplicationBillingInfo latest replication billing metrics for one bucket.

type SearchMetadata

type SearchMetadata struct {
	// MaxKeys indicates the maximum number of metadata search keys for the
	// bucket
	MaxKeys int `json:"maxKeys" xml:"maxKeys"`

	// Enabled indicates if search metadata is enabled for the bucket
	Enabled bool `json:"isEnabled" xml:"isEnabled"`

	// Metadata defines the fields that can be searched upon
	Metadata `json:"metadata" xml:"metadata"`
}

SearchMetadata is the custom metadata for enabled for querying on the bucket.

type StorageClassBasedCountSize

type StorageClassBasedCountSize struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `json:"storage_class_counts" xml:"storage_class_counts"`

	// StorageClass name of storage class provided metrics
	StorageClass string `xml:"storage_class,omitempty"`

	// Counts count of objects in requested metric
	Counts int64 `xml:"count_size>counts,omitempty"`

	// LogicalSize logical size of objects in requested metric
	LogicalSize int64 `xml:"count_size>logical_size,omitempty"`

	// CreateLogicalSize logical size of created objects using for metric data ingress
	CreateLogicalSize int64 `xml:"count_size>create_logical_size,omitempty"`

	// DeleteLogicalSize logical size of deleted objects using for metric data ingress
	DeleteLogicalSize int64 `xml:"count_size>delete_logical_size,omitempty"`

	// PhysicalSize physical size of objects in requested metric
	PhysicalSize int64 `xml:"count_size>physical_size,omitempty"`

	// CreatePhysicalSize physical size of created objects using for metric data ingress
	CreatePhysicalSize int64 `xml:"count_size>create_physical_size,omitempty"`

	// DeletePhysicalSize physical size of deleted objects using for metric data ingress
	DeletePhysicalSize int64 `xml:"count_size>delete_physical_size,omitempty"`
}

StorageClassBasedCountSize contains logical and physical size and count of objects per storage class.

type StoreBillingInfo

type StoreBillingInfo struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"store_billing_info" json:"store_billing_info"`

	// CompressionRatio float value of compression ratio in object store
	CompressionRatio float64 `xml:"compression_ratio,omitempty"`

	// ConsistentTime metrics collection UTC timestamp (ISO 8601 format (2020-01-27T14:30:55Z))
	ConsistentTime string `xml:"consistent_time,omitempty"`

	// TotalLocalData total local logical capacity usage(local: objects + MPU + user-written metadata)
	TotalLocalData int64 `xml:"total_local_data,omitempty"`

	// TotalReplicaData total replica logical capacity usage (replicated: objects + MPU + user written metadata)
	TotalReplicaData int64 `xml:"total_replica_data,omitempty"`

	// TotalUserObjectMetric total object logical and physical size, count in object store
	TotalUserObjectMetric []StorageClassBasedCountSize `xml:"total_user_object_metric>storage_class_counts,omitempty"`

	// TotalMPUMetric total MPU parts logical and physical size, count in object store
	TotalMPUMetric []StorageClassBasedCountSize `xml:"total_mpu_metric>storage_class_counts,omitempty"`

	// TotalMPRMetric total MPR parts logical and physical size, count per user
	TotalMPRMetric []StorageClassBasedCountSize `xml:"total_mpr_metric>storage_class_counts,omitempty"`

	// TotalUserMetadataMetric total object metadata logical and physical size, count per user
	TotalUserMetadataMetric []StorageClassBasedCountSize `xml:"total_user_metadata_metric>storage_class_counts,omitempty"`

	// TotalReplicaMetadataMetric total replicated object metadata logical and physical size, count per user
	TotalReplicaMetadataMetric []StorageClassBasedCountSize `xml:"total_replica_metadata_metric>storage_class_counts,omitempty"`

	// TotalReplicaObjectMetric total replicated objects logical and physical size, count in object store
	TotalReplicaObjectMetric []StorageClassBasedCountSize `xml:"total_replica_object_metric>storage_class_counts,omitempty"`

	// TopBucketsByObjectCount list of top buckets by objects count in object store
	TopBucketsByObjectCount []TopNBucket `xml:"top_n_buckets_by_object_count>top_n_bucket"`

	// TopBucketsByObjectSize list of top buckets by objects size in object store
	TopBucketsByObjectSize []TopNBucket `xml:"top_n_buckets_by_object_size>top_n_bucket"`
}

StoreBillingInfo object store latest billing info metrics.

type StoreBillingInfoList

type StoreBillingInfoList struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"store_billing_info_list" json:"store_billing_info_list"`

	// Status metering collection request status
	Status string `xml:"status,omitempty" json:"status,omitempty"`

	// SizeUnit size unit of metric values
	SizeUnit string `xml:"size_unit,omitempty" json:"size_unit,omitempty"`

	// DateTime request time (ISO 8601 format (2020-01-27T14:30:55Z))
	DateTime string `xml:"date_time,omitempty" json:"date_time,omitempty"`

	// StoreBillingInfo object store latest billing info metrics
	Info StoreBillingInfo `xml:"store_billing_info,omitempty" json:"store_billing_info,omitempty"`
}

StoreBillingInfoList list of object store latest billing info metrics.

type StoreBillingSample

type StoreBillingSample struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"store_billing_sample" json:"store_billing_sample"`

	// SampleTimeRange time window in UTC format
	SampleTimeRange int64 `xml:"sample_time_range,omitempty"`

	// ConsistentTime metrics collection UTC timestamp (ISO 8601 format (2020-01-27T14:30:55Z))
	ConsistentTime string `xml:"consistent_time,omitempty"`

	// Info object store latest billing info metrics
	Info StoreBillingInfo `xml:"store_billing_info,omitempty" json:"store_billing_info,omitempty"`

	// UserCreationDelta list of objects creation delta per storage classes
	UserCreationDelta []StorageClassBasedCountSize `xml:"user_creation_delta>storage_class_counts"`

	// UserDeletionDelta list of objects deletion delta per storage classes
	UserDeletionDelta []StorageClassBasedCountSize `xml:"user_deletion_delta>storage_class_counts"`

	// MpuCreateDelta list of MPU parts creation delta per storage classes
	MpuCreateDelta []StorageClassBasedCountSize `xml:"mpu_create_delta>storage_class_counts"`

	// MpuDeleteDelta list of MPU parts deletion delta per storage classes
	MpuDeleteDelta []StorageClassBasedCountSize `xml:"mpu_delete_delta>storage_class_counts"`

	// MprCreateDelta list of MPU parts creation delta per storage classes
	MprCreateDelta []StorageClassBasedCountSize `xml:"mpr_create_delta>storage_class_counts"`

	// MprDeleteDelta list of MPU parts deletion delta per storage classes
	MprDeleteDelta []StorageClassBasedCountSize `xml:"mpr_delete_delta>storage_class_counts"`

	// ReplicaCreationDelta list of replicated objects creation delta per storage classes
	ReplicaCreationDelta []StorageClassBasedCountSize `xml:"replica_creation_delta>storage_class_counts"`

	// ReplicaDeletionDelta list of replicated objects deletion delta per storage classes
	ReplicaDeletionDelta []StorageClassBasedCountSize `xml:"replica_deletion_delta>storage_class_counts"`

	// UserMetadataCreationDelta list of object metadata creation delta per storage classes
	UserMetadataCreationDelta []StorageClassBasedCountSize `xml:"user_metadata_create_delta>storage_class_counts"`

	// UserMetadataDeletionDelta list of object metadata deletion delta per storage classes
	UserMetadataDeletionDelta []StorageClassBasedCountSize `xml:"user_metadata_delete_delta>storage_class_counts"`

	// ReplicaMetadataCreationDelta list of object metadata creation delta per storage classes
	ReplicaMetadataCreationDelta []StorageClassBasedCountSize `xml:"replica_metadata_create_delta>storage_class_counts"`

	// ReplicaMetadataDeletionDelta list of object metadata deletion delta per storage classes
	ReplicaMetadataDeletionDelta []StorageClassBasedCountSize `xml:"replica_metadata_delete_delta>storage_class_counts"`
}

StoreBillingSample time range based billing metrics in object store.

type StoreBillingSampleList

type StoreBillingSampleList struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"store_billing_samples" json:"store_billing_samples"`

	// Status metering collection request status
	Status string `xml:"status,omitempty" json:"status,omitempty"`

	// SizeUnit size unit of metric values
	SizeUnit string `xml:"size_unit,omitempty" json:"size_unit,omitempty"`

	// DateTime request time (ISO 8601 format (2020-01-27T14:30:55Z))
	DateTime string `xml:"date_time,omitempty" json:"date_time,omitempty"`

	// StartTime is a start of time window for data selection (ISO 8601 format (2020-01-27T14:30:55Z))
	StartTime string `xml:"start_time,omitempty" json:"start_time,omitempty"`

	// EndTime is an end of time window for data selection (ISO 8601 format (2020-01-27T14:30:55Z))
	EndTime string `xml:"end_time,omitempty" json:"end_time,omitempty"`

	// Samples list of object store billing metrics
	Samples []StoreBillingSample `xml:"store_billing_sample,omitempty" json:"store_billing_sample,omitempty"`
}

StoreBillingSampleList time range based list of billing metrics in object store.

type StoreReplicationDataList

type StoreReplicationDataList struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"store_replication_list" json:"store_replication_list"`

	// Status metering collection request status
	Status string `xml:"status,omitempty" json:"status,omitempty"`

	// SizeUnit size unit of metric values
	SizeUnit string `xml:"size_unit,omitempty" json:"size_unit,omitempty"`

	// DateTime request time (ISO 8601 format (2020-01-27T14:30:55Z))
	DateTime string `xml:"date_time,omitempty" json:"date_time,omitempty"`

	// StartTime is a start of time window for data selection (ISO 8601 format (2020-01-27T14:30:55Z))
	StartTime string `xml:"start_time,omitempty" json:"start_time,omitempty"`

	// EndTime is an end of time window for data selection (ISO 8601 format (2020-01-27T14:30:55Z))
	EndTime string `xml:"end_time,omitempty" json:"end_time,omitempty"`

	// Samples list of replication data metrics in object stores
	Samples []StoreReplicationThroughputRto `xml:"store_replication_throughput_rto,omitempty" json:"store_replication_throughput_rto,omitempty"`
}

StoreReplicationDataList time range based list of replication data metrics in object stores.

type StoreReplicationThroughputRto

type StoreReplicationThroughputRto struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"store_replication_throughput_rto" json:"store_replication_throughput_rto"`

	// SampleTimeRange time window in UTC format
	SampleTimeRange int64 `xml:"sample_time_range,omitempty"`

	// ConsistentTime metrics collection UTC timestamp (ISO 8601 format (2020-01-27T14:30:55Z))
	ConsistentTime string `xml:"consistent_time,omitempty"`

	// DestinationStore object store URN identifier
	DestinationStore string `xml:"destination_store,omitempty" json:"destination_store,omitempty"`

	// Throughput CRR throughput value in object store
	Throughput int64 `xml:"throughput,omitempty" json:"throughput,omitempty"`

	// RTO CRR RTO value in object store
	RTO int64 `xml:"rto,omitempty" json:"rto,omitempty"`

	// PendingToReplicate metrics of data pending to replicate in object store per storage classes
	PendingToReplicate []StorageClassBasedCountSize `xml:"pending_to_replicate>storage_class_counts,omitempty"`

	// ReplicatedDelta metrics of replicated data in object store per storage classes
	ReplicatedDelta []StorageClassBasedCountSize `xml:"replicated_delta>storage_class_counts,omitempty"`

	// ReplicatedFailedDelta metrics of failed replicated data in object store per storage classes
	ReplicatedFailedDelta []StorageClassBasedCountSize `xml:"replicate_failed_delta>storage_class_counts,omitempty"`
}

StoreReplicationThroughputRto replication data metrics per one object store.

type Tag

type Tag struct {
	// Key is the tag label or name of the tag
	Key string `json:"Key" xml:"Key"`

	// Value is the value of the tag
	Value string `json:"Value" xml:"Value"`
}

Tag is an arbitrary piece of metadata applied to an object.

type TagSet

type TagSet struct {
	Tags []Tag `json:"Tag,omitempty" xml:"Tag,omitempty"`
}

TagSet is a list of tags.

type Tenant

type Tenant struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"tenant"`

	// ID is the id of the tenant scoped to the cluster instance
	ID string `json:"id,omitempty" xml:"id,omitempty"`

	// EncryptionEnabled displays if this tenant is configured for encryption at rest
	EncryptionEnabled bool `json:"is_encryption_enabled,omitempty" xml:"is_encryption_enabled,omitempty"`

	// ComplianceEnabled displays if this tenant is configured for compliance retention
	ComplianceEnabled bool `json:"is_compliance_enabled,omitempty" xml:"is_compliance_enabled,omitempty"`

	// ReplicationGroup is the default replication group id of the tenant
	ReplicationGroup string `json:"default_data_services_vpool,omitempty" xml:"default_data_services_vpool,omitempty"`

	// BucketBlockSize is the default bucket size at which new object creations will be blocked
	BucketBlockSize int64 `json:"default_bucket_block_size,omitempty" xml:"default_bucket_block_size,omitempty"`

	RetentionClasses        string `xml:"retention_classes"`
	NotificationSize        string `xml:"notificationSize"`
	BlockSize               string `xml:"blockSize"`
	BlockSizeInCount        string `xml:"blockSizeInCount"`
	NotificationSizeInCount string `xml:"notificationSizeInCount"`
	Alias                   string `xml:"alias"`
}

Tenant is an object store tenant.

type TenantCreate

type TenantCreate struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"tenant_create"`

	// Alias is the tenant alias to set
	Alias string `xml:"alias"`
	// ID is the id of the tenant scoped to the cluster instance
	AccountID string `json:"account_id" xml:"account_id"`

	// EncryptionEnabled displays if this tenant is configured for encryption at rest
	EncryptionEnabled bool `json:"is_encryption_enabled,omitempty" xml:"is_encryption_enabled"`

	// ComplianceEnabled displays if this tenant is configured for compliance retention
	ComplianceEnabled bool `json:"is_compliance_enabled,omitempty" xml:"is_compliance_enabled"`

	// BucketBlockSize is the default bucket size at which new object creations will be blocked
	BucketBlockSize int64 `json:"default_bucket_block_size,omitempty" xml:"default_bucket_block_size"`
}

TenantCreate is an object store tenant creation input.

type TenantInfo

type TenantInfo struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"tenant_info"`

	Tenant
}

TenantInfo is an object store tenant with an alternate XML tag name.

type TenantList

type TenantList struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `json:"tenants" xml:"tenants"`

	// Items is the list of tenants in the list
	Items []Tenant `json:"tenant" xml:"tenant"`
}

TenantList is a list of object store tenants.

type TenantQuota

type TenantQuota struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"tenant_quota_details"`

	BlockSize string `xml:"blockSize"`

	NotificationSize string `xml:"notificationSize"`

	BlockSizeInCount string `xml:"blockSizeInCount"`

	NotificationSizeInCount string `xml:"notificationSizeInCount"`

	ID string `json:"id,omitempty" xml:"id,omitempty"`
}

TenantQuota is an object store tenant quota.

type TenantQuotaSet

type TenantQuotaSet struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"tenant_quota_details"`

	BlockSize string `xml:"blockSize"`

	NotificationSize string `xml:"notificationSize"`

	BlockSizeInCount string `xml:"blockSizeInCount"`

	NotificationSizeInCount string `xml:"notificationSizeInCount"`
}

TenantQuotaSet is an object store tenant quota.

type TenantUpdate

type TenantUpdate struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"tenant_update"`

	// BucketBlockSize is the default bucket size at which new object creations will be blocked
	BucketBlockSize int64 `json:"default_bucket_block_size,omitempty" xml:"default_bucket_block_size"`

	// Alias is the tenant alias to set
	Alias string `xml:"alias"`
}

TenantUpdate is an object store tenant update input.

type TopNBucket

type TopNBucket struct {
	// XMLName is the name of the xml tag used XML marshalling
	XMLName xml.Name `xml:"top_n_bucket" json:"top_n_bucket"`

	// BucketName top bucket name
	BucketName string `xml:"bucket_name,omitempty" json:"bucket_name,omitempty"`

	// MetricNumber bucket metric value
	MetricNumber int64 `xml:"metric_number,omitempty" json:"metric_number,omitempty"`
}

TopNBucket top bucket metric.

type VDCLink struct {
	// ID is the identifier for the VDC
	ID string `json:"id" xml:"id"`

	// Link is a hyperlink to the VDC
	Link `json:"link" xml:"link"`
}

VDCLink is a link from a bucket to a VDC.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL