redis

package
v1.0.0-beta.25 Latest Latest
Warning

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

Go to latest
Published: Mar 1, 2024 License: Apache-2.0 Imports: 14 Imported by: 3

Documentation

Overview

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

Index

Constants

View Source
const (
	AvailableClusterSettingPropertyTypeUNKNOWN = AvailableClusterSettingPropertyType("UNKNOWN")
	AvailableClusterSettingPropertyTypeBOOLEAN = AvailableClusterSettingPropertyType("BOOLEAN")
	AvailableClusterSettingPropertyTypeINT     = AvailableClusterSettingPropertyType("INT")
	AvailableClusterSettingPropertyTypeSTRING  = AvailableClusterSettingPropertyType("STRING")
)
View Source
const (
	ClusterStatusUnknown      = ClusterStatus("unknown")
	ClusterStatusReady        = ClusterStatus("ready")
	ClusterStatusProvisioning = ClusterStatus("provisioning")
	ClusterStatusConfiguring  = ClusterStatus("configuring")
	ClusterStatusDeleting     = ClusterStatus("deleting")
	ClusterStatusError        = ClusterStatus("error")
	ClusterStatusAutohealing  = ClusterStatus("autohealing")
	ClusterStatusLocked       = ClusterStatus("locked")
	ClusterStatusSuspended    = ClusterStatus("suspended")
	ClusterStatusInitializing = ClusterStatus("initializing")
)
View Source
const (
	ListClustersRequestOrderByCreatedAtAsc  = ListClustersRequestOrderBy("created_at_asc")
	ListClustersRequestOrderByCreatedAtDesc = ListClustersRequestOrderBy("created_at_desc")
	ListClustersRequestOrderByNameAsc       = ListClustersRequestOrderBy("name_asc")
	ListClustersRequestOrderByNameDesc      = ListClustersRequestOrderBy("name_desc")
)
View Source
const (
	NodeTypeStockUnknown    = NodeTypeStock("unknown")
	NodeTypeStockLowStock   = NodeTypeStock("low_stock")
	NodeTypeStockOutOfStock = NodeTypeStock("out_of_stock")
	NodeTypeStockAvailable  = NodeTypeStock("available")
)
View Source
const (
	PrivateNetworkProvisioningModeStatic = PrivateNetworkProvisioningMode("static")
	PrivateNetworkProvisioningModeIpam   = PrivateNetworkProvisioningMode("ipam")
)

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"`

	// IPCidr: iPv4 network address of the rule.
	IPCidr *scw.IPNet `json:"ip_cidr"`

	// Description: description of the rule.
	Description *string `json:"description"`
}

ACLRule: acl rule.

type ACLRuleSpec

type ACLRuleSpec struct {
	// IPCidr: iPv4 network address of the rule.
	IPCidr scw.IPNet `json:"ip_cidr"`

	// Description: description of the rule.
	Description string `json:"description"`
}

ACLRuleSpec: acl rule spec.

type API

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

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) (*AddACLRulesResponse, error)

AddACLRules: Add an additional ACL rule to a Redis™ Database Instance (Redis™ cluster).

func (*API) AddClusterSettings

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

AddClusterSettings: Add an advanced setting to a Redis™ Database Instance (Redis™ cluster). You must set the `name` and the `value` of each setting.

func (*API) AddEndpoints

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

AddEndpoints: Add a new endpoint for a Redis™ Database Instance (Redis™ cluster). You can add `private_network` or `public_network` specifications to the body of the request.

func (*API) CreateCluster

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

CreateCluster: Create a new Redis™ Database Instance (Redis™ cluster). You must set the `zone`, `project_id`, `version`, `node_type`, `user_name` and `password` parameters. Optionally you can define `acl_rules`, `endpoints`, `tls_enabled` and `cluster_settings`.

func (*API) DeleteACLRule

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

DeleteACLRule: Delete an ACL rule of a Redis™ Database Instance (Redis™ cluster). You must specify the `acl_id` of the rule you want to delete in your request.

func (*API) DeleteCluster

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

DeleteCluster: Delete a Redis™ Database Instance (Redis™ cluster), specified by the `region` and `cluster_id` parameters. Deleting a Database Instance is permanent, and cannot be undone. Note that upon deletion all your data will be lost.

func (*API) DeleteClusterSetting

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

DeleteClusterSetting: Delete an advanced setting in a Redis™ Database Instance (Redis™ cluster). You must specify the names of the settings you want to delete in the request body.

func (*API) DeleteEndpoint

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

DeleteEndpoint: Delete the endpoint of a Redis™ Database Instance (Redis™ cluster). You must specify the `region` and `endpoint_id` parameters of the endpoint you want to delete. Note that might need to update any environment configurations that point to the deleted endpoint.

func (*API) GetACLRule

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

GetACLRule: Retrieve information about an ACL rule of a Redis™ Database Instance (Redis™ cluster). You must specify the `acl_id` of the rule in your request.

func (*API) GetCluster

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

GetCluster: Retrieve information about a Redis™ Database Instance (Redis™ cluster). Specify the `cluster_id` and `region` in your request to get information such as `id`, `status`, `version`, `tls_enabled`, `cluster_settings`, `upgradable_versions` and `endpoints` about your cluster in the response.

func (*API) GetClusterCertificate

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

GetClusterCertificate: Retrieve information about the TLS certificate of a Redis™ Database Instance (Redis™ cluster). Details like name and content are returned in the response.

func (*API) GetClusterMetrics

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

GetClusterMetrics: Retrieve the metrics of a Redis™ Database Instance (Redis™ cluster). You can define the period from which to retrieve metrics by specifying the `start_date` and `end_date`.

func (*API) GetEndpoint

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

GetEndpoint: Retrieve information about a Redis™ Database Instance (Redis™ cluster) endpoint. Full details about the endpoint, like `ips`, `port`, `private_network` and `public_network` specifications are returned in the response.

func (*API) ListClusterVersions

func (s *API) ListClusterVersions(req *ListClusterVersionsRequest, opts ...scw.RequestOption) (*ListClusterVersionsResponse, error)

ListClusterVersions: List the Redis™ database engine versions available. You can define additional parameters for your query, such as `include_disabled`, `include_beta`, `include_deprecated` and `version`.

func (*API) ListClusters

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

ListClusters: List all Redis™ Database Instances (Redis™ cluster) in the specified zone. By default, the Database Instances returned in the list are ordered by creation date in ascending order, though this can be modified via the order_by field. You can define additional parameters for your query, such as `tags`, `name`, `organization_id` and `version`.

func (*API) ListNodeTypes

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

ListNodeTypes: List all available node types. By default, the node types returned in the list are ordered by creation date in ascending order, though this can be modified via the `order_by` field.

func (*API) MigrateCluster

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

MigrateCluster: Upgrade your Redis™ Database Instance, either by upgrading to a bigger node type (vertical scaling) or by adding more nodes to your Database Instance to increase your number of endpoints and distribute cache (horizontal scaling, available for clusters only). Note that scaling horizontally your Redis™ Database Instance will not renew its TLS certificate. In order to refresh the TLS certificate, you must use the Renew TLS certificate endpoint.

func (*API) RenewClusterCertificate

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

RenewClusterCertificate: Renew a TLS certificate for a Redis™ Database Instance (Redis™ cluster). Renewing a certificate means that you will not be able to connect to your Database Instance using the previous certificate. You will also need to download and update the new certificate for all database clients.

func (*API) SetACLRules

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

SetACLRules: Replace all the ACL rules of a Redis™ Database Instance (Redis™ cluster).

func (*API) SetClusterSettings

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

SetClusterSettings: Update an advanced setting for a Redis™ Database Instance (Redis™ cluster). Settings added upon database engine initalization can only be defined once, and cannot, therefore, be updated.

func (*API) SetEndpoints

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

SetEndpoints: Update an endpoint for a Redis™ Database Instance (Redis™ cluster). You must specify the `cluster_id` and the `endpoints` parameters in your request.

func (*API) UpdateCluster

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

UpdateCluster: Update the parameters of a Redis™ Database Instance (Redis™ cluster), including `name`, `tags`, `user_name` and `password`.

func (*API) UpdateEndpoint

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

UpdateEndpoint: Update information about a Redis™ Database Instance (Redis™ cluster) endpoint. Full details about the endpoint, like `ips`, `port`, `private_network` and `public_network` specifications are returned in the response.

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.

func (*API) Zones

func (s *API) Zones() []scw.Zone

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 Database Instance you want to add ACL rules to.
	ClusterID string `json:"-"`

	// ACLRules: aCLs rules to add to the cluster.
	ACLRules []*ACLRuleSpec `json:"acl_rules"`
}

AddACLRulesRequest: add acl rules request.

type AddACLRulesResponse

type AddACLRulesResponse struct {
	// ACLRules: ACL Rules enabled for the Database Instance.
	ACLRules []*ACLRule `json:"acl_rules"`

	// TotalCount: total count of ACL rules of the Database Instance.
	TotalCount uint32 `json:"total_count"`
}

AddACLRulesResponse: add acl rules response.

func (*AddACLRulesResponse) UnsafeAppend

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

UnsafeAppend should not be used Internal usage only

func (*AddACLRulesResponse) UnsafeGetTotalCount

func (r *AddACLRulesResponse) UnsafeGetTotalCount() uint32

UnsafeGetTotalCount should not be used Internal usage only

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 Database Instance you want to add settings to.
	ClusterID string `json:"-"`

	// Settings: settings to add to the cluster.
	Settings []*ClusterSetting `json:"settings"`
}

AddClusterSettingsRequest: add cluster settings request.

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 Database Instance you want to add endpoints to.
	ClusterID string `json:"-"`

	// Endpoints: endpoints to add to the Database Instance.
	Endpoints []*EndpointSpec `json:"endpoints"`
}

AddEndpointsRequest: add endpoints request.

type AddEndpointsResponse

type AddEndpointsResponse struct {
	// Endpoints: endpoints defined on the Database Instance.
	Endpoints []*Endpoint `json:"endpoints"`

	// TotalCount: total count of endpoints of the Database Instance.
	TotalCount uint32 `json:"total_count"`
}

AddEndpointsResponse: add endpoints response.

func (*AddEndpointsResponse) UnsafeAppend

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

UnsafeAppend should not be used Internal usage only

func (*AddEndpointsResponse) UnsafeGetTotalCount

func (r *AddEndpointsResponse) UnsafeGetTotalCount() uint32

UnsafeGetTotalCount should not be used Internal usage only

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 setting.
	// Default value: UNKNOWN
	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: defines whether or not 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 Database Instance.
	ID string `json:"id"`

	// Name: name of the Database Instance.
	Name string `json:"name"`

	// ProjectID: project ID the Database Instance belongs to.
	ProjectID string `json:"project_id"`

	// Status: status of the Database Instance.
	// Default value: unknown
	Status ClusterStatus `json:"status"`

	// Version: redis™ engine version of the Database Instance.
	Version string `json:"version"`

	// Endpoints: list of Database Instance endpoints.
	Endpoints []*Endpoint `json:"endpoints"`

	// Tags: list of tags applied to the Database Instance.
	Tags []string `json:"tags"`

	// NodeType: node type of the Database Instance.
	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: defines whether or not TLS is enabled.
	TLSEnabled bool `json:"tls_enabled"`

	// ClusterSettings: list of Database Instance settings.
	ClusterSettings []*ClusterSetting `json:"cluster_settings"`

	// ACLRules: list of ACL rules.
	ACLRules []*ACLRule `json:"acl_rules"`

	// ClusterSize: number of nodes of the Database Instance cluster.
	ClusterSize uint32 `json:"cluster_size"`

	// Zone: zone of the Database Instance.
	Zone scw.Zone `json:"zone"`

	// UserName: name of the user associated to the cluster.
	UserName string `json:"user_name"`

	// UpgradableVersions: list of engine versions the Database Instance can upgrade to.
	UpgradableVersions []string `json:"upgradable_versions"`
}

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 Database Instance.
	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"`

	// EndOfLifeAt: date of End of Life.
	EndOfLifeAt *time.Time `json:"end_of_life_at"`

	// AvailableSettings: cluster settings available to be updated.
	AvailableSettings []*AvailableClusterSetting `json:"available_settings"`

	// LogoURL: redis™ logo url.
	LogoURL string `json:"logo_url"`

	// Zone: zone of the Redis™ Database Instance.
	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: project ID in which to create the Database Instance.
	ProjectID string `json:"project_id"`

	// Name: name of the Database Instance.
	Name string `json:"name"`

	// Version: redis™ engine version of the Database Instance.
	Version string `json:"version"`

	// Tags: tags to apply to the Database Instance.
	Tags []string `json:"tags"`

	// NodeType: type of node to use for the Database Instance.
	NodeType string `json:"node_type"`

	// UserName: name of the user created upon Database Instance creation.
	UserName string `json:"user_name"`

	// Password: password of the user.
	Password string `json:"password"`

	// ClusterSize: number of nodes in the Redis™ cluster.
	ClusterSize *int32 `json:"cluster_size,omitempty"`

	// 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. If no EndpoindSpec is given the cluster will be publicly exposed by default.
	Endpoints []*EndpointSpec `json:"endpoints"`

	// TLSEnabled: defines whether or not TLS is enabled.
	TLSEnabled bool `json:"tls_enabled"`

	// ClusterSettings: list of advanced settings to be set upon Database Instance initialization.
	ClusterSettings []*ClusterSetting `json:"cluster_settings"`
}

CreateClusterRequest: create cluster request.

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:"-"`
}

DeleteACLRuleRequest: delete acl rule request.

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 Database Instance to delete.
	ClusterID string `json:"-"`
}

DeleteClusterRequest: delete cluster request.

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 Database Instance where the settings must be set.
	ClusterID string `json:"-"`

	// SettingName: setting name to delete.
	SettingName string `json:"-"`
}

DeleteClusterSettingRequest: delete cluster setting request.

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:"-"`
}

DeleteEndpointRequest: delete endpoint request.

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 *PublicNetwork `json:"public_network,omitempty"`

	// IPs: list of IPv4 addresses of the endpoint.
	IPs []net.IP `json:"ips"`

	// ID: UUID of the endpoint.
	ID string `json:"id"`
}

Endpoint: endpoint.

type EndpointSpec

type EndpointSpec struct {
	// PrivateNetwork: private Network specification details.
	// Precisely one of PrivateNetwork, PublicNetwork must be set.
	PrivateNetwork *EndpointSpecPrivateNetworkSpec `json:"private_network,omitempty"`

	// PublicNetwork: public network specification 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 connect to the Database Instance.
	ID string `json:"id"`

	// ServiceIPs: endpoint IPv4 address with a CIDR notation. You must provide at least one IPv4 per node.
	ServiceIPs []scw.IPNet `json:"service_ips"`

	// IpamConfig: automated configuration of your Private Network endpoint with Scaleway IPAM service.
	IpamConfig *EndpointSpecPrivateNetworkSpecIpamConfig `json:"ipam_config"`
}

EndpointSpecPrivateNetworkSpec: endpoint spec private network spec.

type EndpointSpecPrivateNetworkSpecIpamConfig

type EndpointSpecPrivateNetworkSpecIpamConfig struct {
}

EndpointSpecPrivateNetworkSpecIpamConfig: endpoint spec private network spec ipam config.

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:"-"`
}

GetACLRuleRequest: get acl rule request.

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:"-"`
}

GetClusterCertificateRequest: get cluster certificate request.

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:"-"`

	// StartAt: start date.
	StartAt *time.Time `json:"-"`

	// EndAt: end date.
	EndAt *time.Time `json:"-"`

	// MetricName: name of the metric to gather.
	MetricName *string `json:"-"`
}

GetClusterMetricsRequest: get cluster metrics request.

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:"-"`
}

GetClusterRequest: get cluster request.

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:"-"`
}

GetEndpointRequest: get endpoint request.

type ListClusterVersionsRequest

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

	// IncludeDisabled: defines whether or not to include disabled Redis™ engine versions.
	IncludeDisabled bool `json:"-"`

	// IncludeBeta: defines whether or not to include beta Redis™ engine versions.
	IncludeBeta bool `json:"-"`

	// IncludeDeprecated: defines whether or not to include deprecated Redis™ engine versions.
	IncludeDeprecated bool `json:"-"`

	// Version: list Redis™ engine versions that match a given name pattern.
	Version *string `json:"-"`

	Page *int32 `json:"-"`

	PageSize *uint32 `json:"-"`
}

ListClusterVersionsRequest: list cluster versions request.

type ListClusterVersionsResponse

type ListClusterVersionsResponse struct {
	// Versions: list of available Redis™ engine versions.
	Versions []*ClusterVersion `json:"versions"`

	// TotalCount: total count of available Redis™ engine versions.
	TotalCount uint32 `json:"total_count"`
}

ListClusterVersionsResponse: list cluster versions response.

func (*ListClusterVersionsResponse) UnsafeAppend

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

UnsafeAppend should not be used Internal usage only

func (*ListClusterVersionsResponse) UnsafeGetTotalCount

func (r *ListClusterVersionsResponse) UnsafeGetTotalCount() uint32

UnsafeGetTotalCount should not be used Internal usage only

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: filter by Database Instance tags.
	Tags []string `json:"-"`

	// Name: filter by Database Instance names.
	Name *string `json:"-"`

	// OrderBy: criteria to use when ordering the list.
	// Default value: created_at_asc
	OrderBy ListClustersRequestOrderBy `json:"-"`

	// ProjectID: filter by Project ID.
	ProjectID *string `json:"-"`

	// OrganizationID: filter by Organization ID.
	OrganizationID *string `json:"-"`

	// Version: filter by Redis™ engine version.
	Version *string `json:"-"`

	Page *int32 `json:"-"`

	PageSize *uint32 `json:"-"`
}

ListClustersRequest: list clusters request.

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 Database Instances.
	Clusters []*Cluster `json:"clusters"`

	// TotalCount: total count of Database Instances.
	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: defines whether or not to include disabled types.
	IncludeDisabledTypes bool `json:"-"`

	Page *int32 `json:"-"`

	PageSize *uint32 `json:"-"`
}

ListNodeTypesRequest: list node types request.

type ListNodeTypesResponse

type ListNodeTypesResponse struct {
	// NodeTypes: types of 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 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 Database Instance to update.
	ClusterID string `json:"-"`

	// Version: redis™ engine version of the Database Instance.
	// Precisely one of Version, NodeType, ClusterSize must be set.
	Version *string `json:"version,omitempty"`

	// NodeType: type of node to use for the Database Instance.
	// Precisely one of Version, NodeType, ClusterSize must be set.
	NodeType *string `json:"node_type,omitempty"`

	// ClusterSize: number of nodes for the Database Instance.
	// Precisely one of Version, NodeType, ClusterSize must be set.
	ClusterSize *uint32 `json:"cluster_size,omitempty"`
}

MigrateClusterRequest: migrate cluster request.

type NodeType

type NodeType struct {
	// Name: node type name.
	Name string `json:"name"`

	// StockStatus: current stock status of the node type.
	// Default value: unknown
	StockStatus NodeTypeStock `json:"stock_status"`

	// Description: current specifications 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: defines whether node type is currently disabled or not.
	Disabled bool `json:"disabled"`

	// Beta: defines whether node type is currently in beta.
	Beta bool `json:"beta"`

	// Zone: zone of the node type.
	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: zone of the Private Network.
	Zone scw.Zone `json:"zone"`

	// ProvisioningMode: how your endpoint ips are provisioned.
	// Default value: static
	ProvisioningMode PrivateNetworkProvisioningMode `json:"provisioning_mode"`
}

PrivateNetwork: private network.

type PrivateNetworkProvisioningMode

type PrivateNetworkProvisioningMode string

func (PrivateNetworkProvisioningMode) MarshalJSON

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

func (PrivateNetworkProvisioningMode) String

func (enum PrivateNetworkProvisioningMode) String() string

func (*PrivateNetworkProvisioningMode) UnmarshalJSON

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

type PublicNetwork

type PublicNetwork struct {
}

PublicNetwork: public 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:"-"`
}

RenewClusterCertificateRequest: renew cluster certificate request.

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 Database Instance where the ACL rules have to be set.
	ClusterID string `json:"-"`

	// ACLRules: aCLs rules to define for the cluster.
	ACLRules []*ACLRuleSpec `json:"acl_rules"`
}

SetACLRulesRequest: set acl rules request.

type SetACLRulesResponse

type SetACLRulesResponse struct {
	// ACLRules: ACL Rules enabled for the Database Instance.
	ACLRules []*ACLRule `json:"acl_rules"`
}

SetACLRulesResponse: set acl rules response.

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 Database Instance where the settings must be set.
	ClusterID string `json:"-"`

	// Settings: settings to define for the Database Instance.
	Settings []*ClusterSetting `json:"settings"`
}

SetClusterSettingsRequest: set cluster settings request.

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 Database Instance where the endpoints have to be set.
	ClusterID string `json:"-"`

	// Endpoints: endpoints to define for the Database Instance.
	Endpoints []*EndpointSpec `json:"endpoints"`
}

SetEndpointsRequest: set endpoints request.

type SetEndpointsResponse

type SetEndpointsResponse struct {
	// Endpoints: endpoints defined on the Database Instance.
	Endpoints []*Endpoint `json:"endpoints"`
}

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 Database Instance to update.
	ClusterID string `json:"-"`

	// Name: name of the Database Instance.
	Name *string `json:"name,omitempty"`

	// Tags: database Instance tags.
	Tags *[]string `json:"tags,omitempty"`

	// UserName: name of the Database Instance user.
	UserName *string `json:"user_name,omitempty"`

	// Password: password of the Database Instance user.
	Password *string `json:"password,omitempty"`
}

UpdateClusterRequest: update cluster request.

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: UUID of the endpoint you want to get.
	EndpointID string `json:"-"`

	// PrivateNetwork: private Network details.
	// Precisely one of PrivateNetwork, PublicNetwork must be set.
	PrivateNetwork *EndpointSpecPrivateNetworkSpec `json:"private_network,omitempty"`

	// PublicNetwork: public network details.
	// Precisely one of PrivateNetwork, PublicNetwork must be set.
	PublicNetwork *EndpointSpecPublicNetworkSpec `json:"public_network,omitempty"`
}

UpdateEndpointRequest: update endpoint request.

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