redis

package
v1.0.0-beta.15 Latest Latest
Warning

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

Go to latest
Published: Mar 21, 2023 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

Package redis provides methods and message types of the redis v1alpha1 API.

Index

Constants

View Source
const (
	// AvailableClusterSettingPropertyTypeBOOLEAN is [insert doc].
	AvailableClusterSettingPropertyTypeBOOLEAN = AvailableClusterSettingPropertyType("BOOLEAN")
	// AvailableClusterSettingPropertyTypeINT is [insert doc].
	AvailableClusterSettingPropertyTypeINT = AvailableClusterSettingPropertyType("INT")
	// AvailableClusterSettingPropertyTypeSTRING is [insert doc].
	AvailableClusterSettingPropertyTypeSTRING = AvailableClusterSettingPropertyType("STRING")
)
View Source
const (
	// ClusterStatusUnknown is [insert doc].
	ClusterStatusUnknown = ClusterStatus("unknown")
	// ClusterStatusReady is [insert doc].
	ClusterStatusReady = ClusterStatus("ready")
	// ClusterStatusProvisioning is [insert doc].
	ClusterStatusProvisioning = ClusterStatus("provisioning")
	// ClusterStatusConfiguring is [insert doc].
	ClusterStatusConfiguring = ClusterStatus("configuring")
	// ClusterStatusDestroying is [insert doc].
	ClusterStatusDestroying = ClusterStatus("destroying")
	// ClusterStatusError is [insert doc].
	ClusterStatusError = ClusterStatus("error")
	// ClusterStatusAutohealing is [insert doc].
	ClusterStatusAutohealing = ClusterStatus("autohealing")
	// ClusterStatusLocked is [insert doc].
	ClusterStatusLocked = ClusterStatus("locked")
	// ClusterStatusSuspended is [insert doc].
	ClusterStatusSuspended = ClusterStatus("suspended")
	// ClusterStatusInitializing is [insert doc].
	ClusterStatusInitializing = ClusterStatus("initializing")
)
View Source
const (
	// ListClustersRequestOrderByCreatedAtAsc is [insert doc].
	ListClustersRequestOrderByCreatedAtAsc = ListClustersRequestOrderBy("created_at_asc")
	// ListClustersRequestOrderByCreatedAtDesc is [insert doc].
	ListClustersRequestOrderByCreatedAtDesc = ListClustersRequestOrderBy("created_at_desc")
	// ListClustersRequestOrderByNameAsc is [insert doc].
	ListClustersRequestOrderByNameAsc = ListClustersRequestOrderBy("name_asc")
	// ListClustersRequestOrderByNameDesc is [insert doc].
	ListClustersRequestOrderByNameDesc = ListClustersRequestOrderBy("name_desc")
)
View Source
const (
	// NodeTypeStockUnknown is [insert doc].
	NodeTypeStockUnknown = NodeTypeStock("unknown")
	// NodeTypeStockLowStock is [insert doc].
	NodeTypeStockLowStock = NodeTypeStock("low_stock")
	// NodeTypeStockOutOfStock is [insert doc].
	NodeTypeStockOutOfStock = NodeTypeStock("out_of_stock")
	// NodeTypeStockAvailable is [insert doc].
	NodeTypeStockAvailable = NodeTypeStock("available")
)

Variables

This section is empty.

Functions

This section is empty.

Types

type ACLRule

type ACLRule struct {
	// ID: ID of the rule
	ID string `json:"id"`
	// IP: iPv4 network address of the rule
	IP *scw.IPNet `json:"ip"`
	// Description: description of the rule
	Description *string `json:"description"`
}

ACLRule: acl rule

type ACLRuleSpec

type ACLRuleSpec struct {
	// IP: iPv4 network address of the rule
	IP scw.IPNet `json:"ip"`
	// Description: description of the rule
	Description string `json:"description"`
}

ACLRuleSpec: acl rule spec

type ACLRulesResponse

type ACLRulesResponse struct {
	// ACLRules: ACL Rules enabled on the cluster
	ACLRules []*ACLRule `json:"acl_rules"`
}

ACLRulesResponse: acl rules response

type API

type API struct {
	// contains filtered or unexported fields
}

API: managed Database for Redis™ API

func NewAPI

func NewAPI(client *scw.Client) *API

NewAPI returns a API object from a Scaleway client.

func (*API) AddACLRules

func (s *API) AddACLRules(req *AddACLRulesRequest, opts ...scw.RequestOption) (*ACLRulesResponse, error)

AddACLRules: add ACL rules for a given cluster

func (*API) AddClusterSettings

func (s *API) AddClusterSettings(req *AddClusterSettingsRequest, opts ...scw.RequestOption) (*ClusterSettingsResponse, error)

AddClusterSettings: add cluster settings

func (*API) AddEndpoints

func (s *API) AddEndpoints(req *AddEndpointsRequest, opts ...scw.RequestOption) (*AddEndpointsResponse, error)

AddEndpoints: add endpoints for a given cluster

func (*API) CreateCluster

func (s *API) CreateCluster(req *CreateClusterRequest, opts ...scw.RequestOption) (*Cluster, error)

CreateCluster: create a cluster

func (*API) DeleteACLRule

func (s *API) DeleteACLRule(req *DeleteACLRuleRequest, opts ...scw.RequestOption) error

DeleteACLRule: delete an ACL rule for a given cluster

func (*API) DeleteCluster

func (s *API) DeleteCluster(req *DeleteClusterRequest, opts ...scw.RequestOption) (*Cluster, error)

DeleteCluster: delete a cluster

func (*API) DeleteClusterSetting

func (s *API) DeleteClusterSetting(req *DeleteClusterSettingRequest, opts ...scw.RequestOption) error

DeleteClusterSetting: delete a cluster setting

func (*API) DeleteEndpoint

func (s *API) DeleteEndpoint(req *DeleteEndpointRequest, opts ...scw.RequestOption) error

DeleteEndpoint: delete an endpoint for a given cluster

func (*API) GetACLRule

func (s *API) GetACLRule(req *GetACLRuleRequest, opts ...scw.RequestOption) (*ACLRule, error)

GetACLRule: get an ACL rule

func (*API) GetCluster

func (s *API) GetCluster(req *GetClusterRequest, opts ...scw.RequestOption) (*Cluster, error)

GetCluster: get a cluster

func (*API) GetClusterCertificate

func (s *API) GetClusterCertificate(req *GetClusterCertificateRequest, opts ...scw.RequestOption) (*scw.File, error)

GetClusterCertificate: get the TLS certificate of a cluster

func (*API) GetClusterMetrics

func (s *API) GetClusterMetrics(req *GetClusterMetricsRequest, opts ...scw.RequestOption) (*ClusterMetricsResponse, error)

GetClusterMetrics: get metrics of a cluster

func (*API) GetEndpoint

func (s *API) GetEndpoint(req *GetEndpointRequest, opts ...scw.RequestOption) (*Endpoint, error)

GetEndpoint: get an endpoint

func (*API) ListClusters

func (s *API) ListClusters(req *ListClustersRequest, opts ...scw.RequestOption) (*ListClustersResponse, error)

ListClusters: list clusters

func (*API) ListNodeTypes

func (s *API) ListNodeTypes(req *ListNodeTypesRequest, opts ...scw.RequestOption) (*ListNodeTypesResponse, error)

ListNodeTypes: list available node types

func (*API) ListVersions

func (s *API) ListVersions(req *ListVersionsRequest, opts ...scw.RequestOption) (*ListVersionsResponse, error)

ListVersions: list available Redis™ versions

func (*API) MigrateCluster

func (s *API) MigrateCluster(req *MigrateClusterRequest, opts ...scw.RequestOption) (*Cluster, error)

MigrateCluster: migrate your cluster architecture

Upgrade your Database for Redis® cluster to a new version or scale it vertically / horizontally. Please note: scaling horizontally your Database for Redis® cluster won't renew its TLS certificate. In order to refresh the SSL certificate, you have to use the dedicated api route.

func (*API) RenewClusterCertificate

func (s *API) RenewClusterCertificate(req *RenewClusterCertificateRequest, opts ...scw.RequestOption) error

RenewClusterCertificate: renew the TLS certificate of a cluster

func (*API) SetACLRules

func (s *API) SetACLRules(req *SetACLRulesRequest, opts ...scw.RequestOption) (*ACLRulesResponse, error)

SetACLRules: set ACL rules for a given cluster

func (*API) SetClusterSettings

func (s *API) SetClusterSettings(req *SetClusterSettingsRequest, opts ...scw.RequestOption) (*ClusterSettingsResponse, error)

SetClusterSettings: set cluster settings

func (*API) SetEndpoints

func (s *API) SetEndpoints(req *SetEndpointsRequest, opts ...scw.RequestOption) (*SetEndpointsResponse, error)

SetEndpoints: set endpoints for a given cluster

func (*API) UpdateCluster

func (s *API) UpdateCluster(req *UpdateClusterRequest, opts ...scw.RequestOption) (*Cluster, error)

UpdateCluster: update a cluster

func (*API) UpdateEndpoint

func (s *API) UpdateEndpoint(req *UpdateEndpointRequest, opts ...scw.RequestOption) (*Endpoint, error)

func (*API) WaitForCluster

func (s *API) WaitForCluster(req *WaitForClusterRequest, opts ...scw.RequestOption) (*Cluster, error)

WaitForCluster waits for the cluster to be in a "terminal state" before returning. This function can be used to wait for a cluster to be ready for example.

type AddACLRulesRequest

type AddACLRulesRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// ClusterID: UUID of the cluster you want to add acl rules to
	ClusterID string `json:"-"`
	// ACLRules: aCLs rules to add to the cluster
	ACLRules []*ACLRuleSpec `json:"acl_rules"`
}

type AddClusterSettingsRequest

type AddClusterSettingsRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// ClusterID: UUID of the cluster you want to add settings to
	ClusterID string `json:"-"`
	// Settings: settings to add on the cluster
	Settings []*ClusterSetting `json:"settings"`
}

type AddEndpointsRequest

type AddEndpointsRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// ClusterID: UUID of the cluster you want to add endpoints to
	ClusterID string `json:"-"`
	// Endpoints: endpoints to add to the cluster
	Endpoints []*EndpointSpec `json:"endpoints"`
}

type AddEndpointsResponse

type AddEndpointsResponse struct {
	// Endpoints: endpoints defined on the cluster
	Endpoints []*Endpoint `json:"endpoints"`
	// TotalCount: total count of endpoints of the cluster
	TotalCount uint32 `json:"total_count"`
}

AddEndpointsResponse: add endpoints response

type AvailableClusterSetting

type AvailableClusterSetting struct {
	// Name: name of the setting
	Name string `json:"name"`
	// DefaultValue: default value of the setting
	DefaultValue *string `json:"default_value"`
	// Type: type of the setting
	//
	// Default value: BOOLEAN
	Type AvailableClusterSettingPropertyType `json:"type"`
	// Description: description of the setting
	Description string `json:"description"`
	// MaxValue: optional maximum value of the setting
	MaxValue *int64 `json:"max_value"`
	// MinValue: optional minimum value of the setting
	MinValue *int64 `json:"min_value"`
	// Regex: optional validation rule of the setting
	Regex *string `json:"regex"`
	// Deprecated: whether the setting is deprecated
	Deprecated bool `json:"deprecated"`
}

AvailableClusterSetting: available cluster setting

type AvailableClusterSettingPropertyType

type AvailableClusterSettingPropertyType string

func (AvailableClusterSettingPropertyType) MarshalJSON

func (enum AvailableClusterSettingPropertyType) MarshalJSON() ([]byte, error)

func (AvailableClusterSettingPropertyType) String

func (*AvailableClusterSettingPropertyType) UnmarshalJSON

func (enum *AvailableClusterSettingPropertyType) UnmarshalJSON(data []byte) error

type Cluster

type Cluster struct {
	// ID: UUID of the cluster
	ID string `json:"id"`
	// Name: name of the cluster
	Name string `json:"name"`
	// ProjectID: project ID the cluster belongs to
	ProjectID string `json:"project_id"`
	// Status: status of the cluster
	//
	// Default value: unknown
	Status ClusterStatus `json:"status"`
	// Version: redis™ engine version of the cluster
	Version string `json:"version"`
	// Endpoints: list of cluster endpoints
	Endpoints []*Endpoint `json:"endpoints"`
	// Tags: list of tags applied to the cluster
	Tags []string `json:"tags"`
	// NodeType: node type of the cluster
	NodeType string `json:"node_type"`
	// CreatedAt: creation date (Format ISO 8601)
	CreatedAt *time.Time `json:"created_at"`
	// UpdatedAt: update date (Format ISO 8601)
	UpdatedAt *time.Time `json:"updated_at"`
	// TLSEnabled: whether or not TLS is enabled
	TLSEnabled bool `json:"tls_enabled"`
	// ClusterSettings: list of cluster settings
	ClusterSettings []*ClusterSetting `json:"cluster_settings"`
	// ACLRules: list of acl rules
	ACLRules []*ACLRule `json:"acl_rules"`
	// ClusterSize: number of nodes of the cluster
	ClusterSize uint32 `json:"cluster_size"`
	// Zone: zone of the cluster
	Zone scw.Zone `json:"zone"`
}

Cluster: cluster

type ClusterMetricsResponse

type ClusterMetricsResponse struct {
	// Timeseries: time series of metrics of a given cluster
	Timeseries []*scw.TimeSeries `json:"timeseries"`
}

ClusterMetricsResponse: cluster metrics response

type ClusterSetting

type ClusterSetting struct {
	// Value: value of the setting
	Value string `json:"value"`
	// Name: name of the setting
	Name string `json:"name"`
}

ClusterSetting: cluster setting

type ClusterSettingsResponse

type ClusterSettingsResponse struct {
	// Settings: settings configured for a given cluster
	Settings []*ClusterSetting `json:"settings"`
}

ClusterSettingsResponse: cluster settings response

type ClusterStatus

type ClusterStatus string

func (ClusterStatus) MarshalJSON

func (enum ClusterStatus) MarshalJSON() ([]byte, error)

func (ClusterStatus) String

func (enum ClusterStatus) String() string

func (*ClusterStatus) UnmarshalJSON

func (enum *ClusterStatus) UnmarshalJSON(data []byte) error

type ClusterVersion

type ClusterVersion struct {
	// Version: redis™ engine version
	Version string `json:"version"`
	// EolDate: end of life date
	EolDate *time.Time `json:"eol_date"`
	// AvailableSettings: cluster settings available to be set
	AvailableSettings []*AvailableClusterSetting `json:"available_settings"`
	// LogoURL: redis™ logo url
	LogoURL string `json:"logo_url"`
	// Zone: zone of the Managed Database for Redis™
	Zone scw.Zone `json:"zone"`
}

ClusterVersion: cluster version

type CreateClusterRequest

type CreateClusterRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// ProjectID: the project ID on which to create the cluster
	ProjectID string `json:"project_id"`
	// Name: name of the cluster
	Name string `json:"name"`
	// Version: redis™ engine version of the cluster
	Version string `json:"version"`
	// Tags: tags to apply to the cluster
	Tags []string `json:"tags"`
	// NodeType: type of node to use for the cluster
	NodeType string `json:"node_type"`
	// UserName: name of the user created when the cluster is created
	UserName string `json:"user_name"`
	// Password: password of the user
	Password string `json:"password"`
	// ClusterSize: number of nodes for the cluster
	ClusterSize *int32 `json:"cluster_size"`
	// ACLRules: list of ACLRuleSpec used to secure your publicly exposed cluster
	ACLRules []*ACLRuleSpec `json:"acl_rules"`
	// Endpoints: zero or multiple EndpointSpec used to expose your cluster publicly and inside private networks
	//
	// Zero or multiple EndpointSpec used to expose your cluster publicly and inside private networks. If no EndpoindSpec is given the cluster will be publicly exposed by default.
	Endpoints []*EndpointSpec `json:"endpoints"`
	// TLSEnabled: whether or not TLS is enabled
	TLSEnabled bool `json:"tls_enabled"`
	// ClusterSettings: list of cluster settings to be set at cluster initialisation
	ClusterSettings []*ClusterSetting `json:"cluster_settings"`
}

type DeleteACLRuleRequest

type DeleteACLRuleRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// ACLID: UUID of the acl rule you want to delete
	ACLID string `json:"-"`
}

type DeleteClusterRequest

type DeleteClusterRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// ClusterID: UUID of the cluster to delete
	ClusterID string `json:"-"`
}

type DeleteClusterSettingRequest

type DeleteClusterSettingRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// ClusterID: UUID of the cluster where the settings has to be set
	ClusterID string `json:"-"`
	// SettingsName: setting name to delete
	SettingsName string `json:"settings_name"`
}

type DeleteEndpointRequest

type DeleteEndpointRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// EndpointID: UUID of the endpoint you want to delete
	EndpointID string `json:"-"`
}

type Endpoint

type Endpoint struct {
	// Port: TCP port of the endpoint
	Port uint32 `json:"port"`
	// PrivateNetwork: private network details
	// Precisely one of PrivateNetwork, PublicNetwork must be set.
	PrivateNetwork *PrivateNetwork `json:"private_network,omitempty"`
	// PublicNetwork: public network details
	// Precisely one of PrivateNetwork, PublicNetwork must be set.
	PublicNetwork *EndpointPublicNetwork `json:"public_network,omitempty"`
	// IPs: lis of IPv4 address of the endpoint
	IPs []net.IP `json:"ips"`
	// ID: UUID of the endpoint
	ID string `json:"id"`
}

Endpoint: endpoint

type EndpointPublicNetwork

type EndpointPublicNetwork struct {
}

type EndpointSpec

type EndpointSpec struct {
	// PrivateNetwork: private network spec details
	// Precisely one of PrivateNetwork, PublicNetwork must be set.
	PrivateNetwork *EndpointSpecPrivateNetworkSpec `json:"private_network,omitempty"`
	// PublicNetwork: public network spec details
	// Precisely one of PrivateNetwork, PublicNetwork must be set.
	PublicNetwork *EndpointSpecPublicNetworkSpec `json:"public_network,omitempty"`
}

EndpointSpec: endpoint spec

type EndpointSpecPrivateNetworkSpec

type EndpointSpecPrivateNetworkSpec struct {
	// ID: UUID of the private network to be connected to the cluster
	ID string `json:"id"`
	// ServiceIPs: endpoint IPv4 adress with a CIDR notation. You must provide at least one IPv4 per node. Check documentation about IP and subnet limitation.
	ServiceIPs []scw.IPNet `json:"service_ips"`
}

EndpointSpecPrivateNetworkSpec: endpoint spec. private network spec

type EndpointSpecPublicNetworkSpec

type EndpointSpecPublicNetworkSpec struct {
}

EndpointSpecPublicNetworkSpec: endpoint spec. public network spec

type GetACLRuleRequest

type GetACLRuleRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// ACLID: UUID of the acl rule you want to get
	ACLID string `json:"-"`
}

type GetClusterCertificateRequest

type GetClusterCertificateRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// ClusterID: UUID of the cluster
	ClusterID string `json:"-"`
}

type GetClusterMetricsRequest

type GetClusterMetricsRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// ClusterID: UUID of the cluster
	ClusterID string `json:"-"`
	// StartDate: start date to gather metrics from
	StartDate *time.Time `json:"-"`
	// EndDate: end date to gather metrics from
	EndDate *time.Time `json:"-"`
	// MetricName: name of the metric to gather
	MetricName *string `json:"-"`
}

type GetClusterRequest

type GetClusterRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// ClusterID: UUID of the cluster
	ClusterID string `json:"-"`
}

type GetEndpointRequest

type GetEndpointRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// EndpointID: UUID of the endpoint you want to get
	EndpointID string `json:"-"`
}

type ListClustersRequest

type ListClustersRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// Tags: tags of the clusters to filter upon
	Tags []string `json:"-"`
	// Name: name of the clusters to filter upon
	Name *string `json:"-"`
	// OrderBy: criteria to use when ordering cluster listing
	//
	// Default value: created_at_asc
	OrderBy ListClustersRequestOrderBy `json:"-"`
	// ProjectID: project ID to list the cluster of
	ProjectID *string `json:"-"`
	// OrganizationID: organization ID to list the cluster of
	OrganizationID *string `json:"-"`

	Page *int32 `json:"-"`

	PageSize *uint32 `json:"-"`
}

type ListClustersRequestOrderBy

type ListClustersRequestOrderBy string

func (ListClustersRequestOrderBy) MarshalJSON

func (enum ListClustersRequestOrderBy) MarshalJSON() ([]byte, error)

func (ListClustersRequestOrderBy) String

func (enum ListClustersRequestOrderBy) String() string

func (*ListClustersRequestOrderBy) UnmarshalJSON

func (enum *ListClustersRequestOrderBy) UnmarshalJSON(data []byte) error

type ListClustersResponse

type ListClustersResponse struct {
	// Clusters: list all clusters
	Clusters []*Cluster `json:"clusters"`
	// TotalCount: total count of clusters
	TotalCount uint32 `json:"total_count"`
}

ListClustersResponse: list clusters response

func (*ListClustersResponse) UnsafeAppend

func (r *ListClustersResponse) UnsafeAppend(res interface{}) (uint32, error)

UnsafeAppend should not be used Internal usage only

func (*ListClustersResponse) UnsafeGetTotalCount

func (r *ListClustersResponse) UnsafeGetTotalCount() uint32

UnsafeGetTotalCount should not be used Internal usage only

type ListNodeTypesRequest

type ListNodeTypesRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// IncludeDisabledTypes: whether or not to include disabled types
	IncludeDisabledTypes bool `json:"-"`

	Page *int32 `json:"-"`

	PageSize *uint32 `json:"-"`
}

type ListNodeTypesResponse

type ListNodeTypesResponse struct {
	// NodeTypes: types of the node
	NodeTypes []*NodeType `json:"node_types"`
	// TotalCount: total count of node-types available
	TotalCount uint32 `json:"total_count"`
}

ListNodeTypesResponse: list node types response

func (*ListNodeTypesResponse) UnsafeAppend

func (r *ListNodeTypesResponse) UnsafeAppend(res interface{}) (uint32, error)

UnsafeAppend should not be used Internal usage only

func (*ListNodeTypesResponse) UnsafeGetTotalCount

func (r *ListNodeTypesResponse) UnsafeGetTotalCount() uint32

UnsafeGetTotalCount should not be used Internal usage only

type ListVersionsRequest

type ListVersionsRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// IncludeDisabled: whether or not to include disabled Redis™ engine versions
	IncludeDisabled bool `json:"-"`
	// IncludeBeta: whether or not to include beta Redis™ engine versions
	IncludeBeta bool `json:"-"`
	// IncludeDeprecated: whether or not to include deprecated Redis™ engine versions
	IncludeDeprecated bool `json:"-"`
	// VersionName: list Redis™ engine versions that match a given name pattern
	VersionName *string `json:"-"`

	Page *int32 `json:"-"`

	PageSize *uint32 `json:"-"`
}

type ListVersionsResponse

type ListVersionsResponse struct {
	// Versions: list of the available Redis™ engine versions
	Versions []*ClusterVersion `json:"versions"`
	// TotalCount: total count of available Redis™ engine versions
	TotalCount uint32 `json:"total_count"`
}

ListVersionsResponse: list versions response

func (*ListVersionsResponse) UnsafeAppend

func (r *ListVersionsResponse) UnsafeAppend(res interface{}) (uint32, error)

UnsafeAppend should not be used Internal usage only

func (*ListVersionsResponse) UnsafeGetTotalCount

func (r *ListVersionsResponse) UnsafeGetTotalCount() uint32

UnsafeGetTotalCount should not be used Internal usage only

type MigrateClusterRequest

type MigrateClusterRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// ClusterID: UUID of the cluster to update
	ClusterID string `json:"-"`
	// Version: redis™ engine version of the cluster
	// Precisely one of ClusterSize, NodeType, Version must be set.
	Version *string `json:"version,omitempty"`
	// NodeType: type of node to use for the cluster
	// Precisely one of ClusterSize, NodeType, Version must be set.
	NodeType *string `json:"node_type,omitempty"`
	// ClusterSize: number of nodes for the cluster
	// Precisely one of ClusterSize, NodeType, Version must be set.
	ClusterSize *uint32 `json:"cluster_size,omitempty"`
}

type NodeType

type NodeType struct {
	// Name: node Type name identifier
	Name string `json:"name"`
	// StockStatus: current stock status for the Node Type
	//
	// Default value: unknown
	StockStatus NodeTypeStock `json:"stock_status"`
	// Description: current specs of the offer
	Description string `json:"description"`
	// Vcpus: number of virtual CPUs
	Vcpus uint32 `json:"vcpus"`
	// Memory: quantity of RAM
	Memory scw.Size `json:"memory"`
	// Disabled: the Node Type is currently disabled
	Disabled bool `json:"disabled"`
	// Beta: the Node Type is currently in beta
	Beta bool `json:"beta"`
	// Zone: zone the Node Type is in
	Zone scw.Zone `json:"zone"`
}

NodeType: node type

type NodeTypeStock

type NodeTypeStock string

func (NodeTypeStock) MarshalJSON

func (enum NodeTypeStock) MarshalJSON() ([]byte, error)

func (NodeTypeStock) String

func (enum NodeTypeStock) String() string

func (*NodeTypeStock) UnmarshalJSON

func (enum *NodeTypeStock) UnmarshalJSON(data []byte) error

type PrivateNetwork

type PrivateNetwork struct {
	// ID: UUID of the private network
	ID string `json:"id"`
	// ServiceIPs: list of IPv4 CIDR notation addresses of the endpoint
	ServiceIPs []scw.IPNet `json:"service_ips"`
	// Zone: private network zone
	Zone scw.Zone `json:"zone"`
}

PrivateNetwork: private network

type RenewClusterCertificateRequest

type RenewClusterCertificateRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// ClusterID: UUID of the cluster
	ClusterID string `json:"-"`
}

type SetACLRulesRequest

type SetACLRulesRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// ClusterID: UUID of the cluster where the ACL rules has to be set
	ClusterID string `json:"-"`
	// ACLRules: aCLs rules to define for the cluster
	ACLRules []*ACLRuleSpec `json:"acl_rules"`
}

type SetClusterSettingsRequest

type SetClusterSettingsRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// ClusterID: UUID of the cluster where the settings has to be set
	ClusterID string `json:"-"`
	// Settings: settings to define for the cluster
	Settings []*ClusterSetting `json:"settings"`
}

type SetEndpointsRequest

type SetEndpointsRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// ClusterID: UUID of the cluster where the endpoints has to be set
	ClusterID string `json:"-"`
	// Endpoints: endpoints to define for the cluster
	Endpoints []*EndpointSpec `json:"endpoints"`
}

type SetEndpointsResponse

type SetEndpointsResponse struct {
	// Endpoints: endpoints defined on the cluster
	Endpoints []*Endpoint `json:"endpoints"`
	// TotalCount: total count of endpoints of the cluster
	TotalCount uint32 `json:"total_count"`
}

SetEndpointsResponse: set endpoints response

type UpdateClusterRequest

type UpdateClusterRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`
	// ClusterID: UUID of the cluster to update
	ClusterID string `json:"-"`
	// Name: name of the cluster
	Name *string `json:"name"`
	// Tags: tags of a given cluster
	Tags *[]string `json:"tags"`
	// UserName: name of the cluster user
	UserName *string `json:"user_name"`
	// Password: password of the cluster user
	Password *string `json:"password"`
}

type UpdateEndpointRequest

type UpdateEndpointRequest struct {
	// Zone:
	//
	// Zone to target. If none is passed will use default zone from the config
	Zone scw.Zone `json:"-"`

	EndpointID string `json:"-"`

	Endpoint *EndpointSpec `json:"endpoint"`
}

type WaitForClusterRequest

type WaitForClusterRequest struct {
	ClusterID     string
	Zone          scw.Zone
	Timeout       *time.Duration
	RetryInterval *time.Duration
}

WaitForClusterRequest is used by WaitForCluster method.

Jump to

Keyboard shortcuts

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