Documentation ¶
Overview ¶
Package redis provides methods and message types of the redis v1 API.
Index ¶
- Constants
- type ACLRule
- type ACLRuleSpec
- type API
- func (s *API) AddACLRules(req *AddACLRulesRequest, opts ...scw.RequestOption) (*AddACLRulesResponse, error)
- func (s *API) AddClusterSettings(req *AddClusterSettingsRequest, opts ...scw.RequestOption) (*ClusterSettingsResponse, error)
- func (s *API) AddEndpoints(req *AddEndpointsRequest, opts ...scw.RequestOption) (*AddEndpointsResponse, error)
- func (s *API) CreateCluster(req *CreateClusterRequest, opts ...scw.RequestOption) (*Cluster, error)
- func (s *API) DeleteACLRule(req *DeleteACLRuleRequest, opts ...scw.RequestOption) (*Cluster, error)
- func (s *API) DeleteCluster(req *DeleteClusterRequest, opts ...scw.RequestOption) (*Cluster, error)
- func (s *API) DeleteClusterSetting(req *DeleteClusterSettingRequest, opts ...scw.RequestOption) (*Cluster, error)
- func (s *API) DeleteEndpoint(req *DeleteEndpointRequest, opts ...scw.RequestOption) (*Cluster, error)
- func (s *API) GetACLRule(req *GetACLRuleRequest, opts ...scw.RequestOption) (*ACLRule, error)
- func (s *API) GetCluster(req *GetClusterRequest, opts ...scw.RequestOption) (*Cluster, error)
- func (s *API) GetClusterCertificate(req *GetClusterCertificateRequest, opts ...scw.RequestOption) (*scw.File, error)
- func (s *API) GetClusterMetrics(req *GetClusterMetricsRequest, opts ...scw.RequestOption) (*ClusterMetricsResponse, error)
- func (s *API) GetEndpoint(req *GetEndpointRequest, opts ...scw.RequestOption) (*Endpoint, error)
- func (s *API) ListClusterVersions(req *ListClusterVersionsRequest, opts ...scw.RequestOption) (*ListClusterVersionsResponse, error)
- func (s *API) ListClusters(req *ListClustersRequest, opts ...scw.RequestOption) (*ListClustersResponse, error)
- func (s *API) ListNodeTypes(req *ListNodeTypesRequest, opts ...scw.RequestOption) (*ListNodeTypesResponse, error)
- func (s *API) MigrateCluster(req *MigrateClusterRequest, opts ...scw.RequestOption) (*Cluster, error)
- func (s *API) RenewClusterCertificate(req *RenewClusterCertificateRequest, opts ...scw.RequestOption) (*Cluster, error)
- func (s *API) SetACLRules(req *SetACLRulesRequest, opts ...scw.RequestOption) (*SetACLRulesResponse, error)
- func (s *API) SetClusterSettings(req *SetClusterSettingsRequest, opts ...scw.RequestOption) (*ClusterSettingsResponse, error)
- func (s *API) SetEndpoints(req *SetEndpointsRequest, opts ...scw.RequestOption) (*SetEndpointsResponse, error)
- func (s *API) UpdateCluster(req *UpdateClusterRequest, opts ...scw.RequestOption) (*Cluster, error)
- func (s *API) UpdateEndpoint(req *UpdateEndpointRequest, opts ...scw.RequestOption) (*Endpoint, error)
- func (s *API) WaitForCluster(req *WaitForClusterRequest, opts ...scw.RequestOption) (*Cluster, error)
- func (s *API) Zones() []scw.Zone
- type AddACLRulesRequest
- type AddACLRulesResponse
- type AddClusterSettingsRequest
- type AddEndpointsRequest
- type AddEndpointsResponse
- type AvailableClusterSetting
- type AvailableClusterSettingPropertyType
- func (enum AvailableClusterSettingPropertyType) MarshalJSON() ([]byte, error)
- func (enum AvailableClusterSettingPropertyType) String() string
- func (enum *AvailableClusterSettingPropertyType) UnmarshalJSON(data []byte) error
- func (enum AvailableClusterSettingPropertyType) Values() []AvailableClusterSettingPropertyType
- type Cluster
- type ClusterMetricsResponse
- type ClusterSetting
- type ClusterSettingsResponse
- type ClusterStatus
- type ClusterVersion
- type CreateClusterRequest
- type DeleteACLRuleRequest
- type DeleteClusterRequest
- type DeleteClusterSettingRequest
- type DeleteEndpointRequest
- type Endpoint
- type EndpointSpec
- type EndpointSpecPrivateNetworkSpec
- type EndpointSpecPrivateNetworkSpecIpamConfig
- type EndpointSpecPublicNetworkSpec
- type GetACLRuleRequest
- type GetClusterCertificateRequest
- type GetClusterMetricsRequest
- type GetClusterRequest
- type GetEndpointRequest
- type ListClusterVersionsRequest
- type ListClusterVersionsResponse
- type ListClustersRequest
- type ListClustersRequestOrderBy
- type ListClustersResponse
- type ListNodeTypesRequest
- type ListNodeTypesResponse
- type MigrateClusterRequest
- type NodeType
- type NodeTypeStock
- type PrivateNetwork
- type PrivateNetworkProvisioningMode
- type PublicNetwork
- type RenewClusterCertificateRequest
- type SetACLRulesRequest
- type SetACLRulesResponse
- type SetClusterSettingsRequest
- type SetEndpointsRequest
- type SetEndpointsResponse
- type UpdateClusterRequest
- type UpdateEndpointRequest
- type WaitForClusterRequest
Constants ¶
const ( AvailableClusterSettingPropertyTypeUNKNOWN = AvailableClusterSettingPropertyType("UNKNOWN") AvailableClusterSettingPropertyTypeBOOLEAN = AvailableClusterSettingPropertyType("BOOLEAN") AvailableClusterSettingPropertyTypeINT = AvailableClusterSettingPropertyType("INT") AvailableClusterSettingPropertyTypeSTRING = AvailableClusterSettingPropertyType("STRING") )
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") )
const ( ListClustersRequestOrderByCreatedAtAsc = ListClustersRequestOrderBy("created_at_asc") ListClustersRequestOrderByCreatedAtDesc = ListClustersRequestOrderBy("created_at_desc") ListClustersRequestOrderByNameAsc = ListClustersRequestOrderBy("name_asc") ListClustersRequestOrderByNameDesc = ListClustersRequestOrderBy("name_desc") )
const ( NodeTypeStockUnknown = NodeTypeStock("unknown") NodeTypeStockLowStock = NodeTypeStock("low_stock") NodeTypeStockOutOfStock = NodeTypeStock("out_of_stock") NodeTypeStockAvailable = NodeTypeStock("available") )
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
}
This API allows you to manage your Managed Databases for Redis™.
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.
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 (enum AvailableClusterSettingPropertyType) String() string
func (*AvailableClusterSettingPropertyType) UnmarshalJSON ¶
func (enum *AvailableClusterSettingPropertyType) UnmarshalJSON(data []byte) error
func (AvailableClusterSettingPropertyType) Values ¶
func (enum AvailableClusterSettingPropertyType) Values() []AvailableClusterSettingPropertyType
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
func (ClusterStatus) Values ¶
func (enum ClusterStatus) Values() []ClusterStatus
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
func (ListClustersRequestOrderBy) Values ¶
func (enum ListClustersRequestOrderBy) Values() []ListClustersRequestOrderBy
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
func (NodeTypeStock) Values ¶
func (enum NodeTypeStock) Values() []NodeTypeStock
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
func (PrivateNetworkProvisioningMode) Values ¶
func (enum PrivateNetworkProvisioningMode) Values() []PrivateNetworkProvisioningMode
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.