Documentation ¶
Overview ¶
Package configurations provides information and interaction with the configuration API resource in the Rackspace Database service.
A configuration group is a collection of key/value pairs which define how a particular database operates. These key/value pairs are specific to each datastore type and serve like settings. Some directives are capable of being applied dynamically, while other directives require a server restart to take effect. The configuration group can be applied to an instance at creation or applied to an existing instance to modify the behavior of the running datastore on the instance.
Index ¶
- func List(client *gophercloud.ServiceClient) pagination.Pager
- func ListDatastoreParams(client *gophercloud.ServiceClient, datastoreID, versionID string) pagination.Pager
- func ListGlobalParams(client *gophercloud.ServiceClient, versionID string) pagination.Pager
- func ListInstances(client *gophercloud.ServiceClient, configID string) pagination.Pager
- type Config
- type ConfigPage
- type CreateOpts
- type CreateOptsBuilder
- type CreateResult
- type DatastoreOpts
- type DeleteResult
- type GetResult
- type Param
- type ParamPage
- type ParamResult
- type ReplaceResult
- type UpdateOpts
- type UpdateOptsBuilder
- type UpdateResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func List ¶
func List(client *gophercloud.ServiceClient) pagination.Pager
List will list all of the available configurations.
func ListDatastoreParams ¶
func ListDatastoreParams(client *gophercloud.ServiceClient, datastoreID, versionID string) pagination.Pager
ListDatastoreParams will list all the available and supported parameters that can be used for a particular datastore ID and a particular version. For example, if you are wondering how you can configure a MySQL 5.6 instance, you can use this operation (you will need to retrieve the MySQL datastore ID by using the datastores API).
func ListGlobalParams ¶
func ListGlobalParams(client *gophercloud.ServiceClient, versionID string) pagination.Pager
ListGlobalParams is similar to ListDatastoreParams but does not require a DatastoreID.
func ListInstances ¶
func ListInstances(client *gophercloud.ServiceClient, configID string) pagination.Pager
ListInstances will list all the instances associated with a particular configuration group.
Types ¶
type Config ¶
type Config struct { Created time.Time `json:"-"` Updated time.Time `json:"-"` DatastoreName string `json:"datastore_name"` DatastoreVersionID string `json:"datastore_version_id"` DatastoreVersionName string `json:"datastore_version_name"` Description string ID string Name string Values map[string]any }
Config represents a configuration group API resource.
func ExtractConfigs ¶
func ExtractConfigs(r pagination.Page) ([]Config, error)
ExtractConfigs will retrieve a slice of Config structs from a page.
func (*Config) UnmarshalJSON ¶
type ConfigPage ¶
type ConfigPage struct {
pagination.SinglePageBase
}
ConfigPage contains a page of Config resources in a paginated collection.
func (ConfigPage) IsEmpty ¶
func (r ConfigPage) IsEmpty() (bool, error)
IsEmpty indicates whether a ConfigPage is empty.
type CreateOpts ¶
type CreateOpts struct { // The configuration group name Name string `json:"name" required:"true"` // A map of user-defined configuration settings that will define // how each associated datastore works. Each key/value pair is specific to a // datastore type. Values map[string]any `json:"values" required:"true"` // Associates the configuration group with a particular datastore. Datastore *DatastoreOpts `json:"datastore,omitempty"` // A human-readable explanation for the group. Description string `json:"description,omitempty"` }
CreateOpts is the struct responsible for configuring new configurations.
func (CreateOpts) ToConfigCreateMap ¶
func (opts CreateOpts) ToConfigCreateMap() (map[string]any, error)
ToConfigCreateMap casts a CreateOpts struct into a JSON map.
type CreateOptsBuilder ¶
CreateOptsBuilder is a top-level interface which renders a JSON map.
type CreateResult ¶
type CreateResult struct {
// contains filtered or unexported fields
}
CreateResult represents the result of a Create operation.
func Create ¶
func Create(ctx context.Context, client *gophercloud.ServiceClient, opts CreateOptsBuilder) (r CreateResult)
Create will create a new configuration group.
type DatastoreOpts ¶
type DatastoreOpts struct { // The type of datastore. Defaults to "MySQL". Type string `json:"type,omitempty"` // The specific version of a datastore. Defaults to "5.6". Version string `json:"version,omitempty"` }
DatastoreOpts is the primary options struct for creating and modifying how configuration resources are associated with datastores.
type DeleteResult ¶
type DeleteResult struct {
gophercloud.ErrResult
}
DeleteResult represents the result of a Delete operation.
func Delete ¶
func Delete(ctx context.Context, client *gophercloud.ServiceClient, configID string) (r DeleteResult)
Delete will permanently delete a configuration group. Please note that config groups cannot be deleted whilst still attached to running instances - you must detach and then delete them.
type GetResult ¶
type GetResult struct {
// contains filtered or unexported fields
}
GetResult represents the result of a Get operation.
type Param ¶
type Param struct { Max float64 Min float64 Name string RestartRequired bool `json:"restart_required"` Type string }
Param represents a configuration parameter API resource.
func ExtractParams ¶
func ExtractParams(r pagination.Page) ([]Param, error)
ExtractParams will retrieve a slice of Param structs from a page.
type ParamPage ¶
type ParamPage struct {
pagination.SinglePageBase
}
ParamPage contains a page of Param resources in a paginated collection.
type ParamResult ¶
type ParamResult struct {
gophercloud.Result
}
ParamResult represents the result of an operation which retrieves details about a particular configuration param.
func GetDatastoreParam ¶
func GetDatastoreParam(ctx context.Context, client *gophercloud.ServiceClient, datastoreID, versionID, paramID string) (r ParamResult)
GetDatastoreParam will retrieve information about a specific configuration parameter. For example, you can use this operation to understand more about "innodb_file_per_table" configuration param for MySQL datastores. You will need the param's ID first, which can be attained by using the ListDatastoreParams operation.
func GetGlobalParam ¶
func GetGlobalParam(ctx context.Context, client *gophercloud.ServiceClient, versionID, paramID string) (r ParamResult)
GetGlobalParam is similar to GetDatastoreParam but does not require a DatastoreID.
func (ParamResult) Extract ¶
func (r ParamResult) Extract() (*Param, error)
Extract will retrieve a param from an operation result.
type ReplaceResult ¶
type ReplaceResult struct {
gophercloud.ErrResult
}
ReplaceResult represents the result of a Replace operation.
func Replace ¶
func Replace(ctx context.Context, client *gophercloud.ServiceClient, configID string, opts UpdateOptsBuilder) (r ReplaceResult)
Replace will modify an existing configuration group by overwriting the entire parameter group with the new values provided. Any existing keys not included in UpdateOptsBuilder will be deleted.
type UpdateOpts ¶
type UpdateOpts struct { // The configuration group name Name string `json:"name,omitempty"` // A map of user-defined configuration settings that will define // how each associated datastore works. Each key/value pair is specific to a // datastore type. Values map[string]any `json:"values,omitempty"` // Associates the configuration group with a particular datastore. Datastore *DatastoreOpts `json:"datastore,omitempty"` // A human-readable explanation for the group. Description *string `json:"description,omitempty"` }
UpdateOpts is the struct responsible for modifying existing configurations.
func (UpdateOpts) ToConfigUpdateMap ¶
func (opts UpdateOpts) ToConfigUpdateMap() (map[string]any, error)
ToConfigUpdateMap will cast an UpdateOpts struct into a JSON map.
type UpdateOptsBuilder ¶
UpdateOptsBuilder is the top-level interface for casting update options into JSON maps.
type UpdateResult ¶
type UpdateResult struct {
gophercloud.ErrResult
}
UpdateResult represents the result of an Update operation.
func Update ¶
func Update(ctx context.Context, client *gophercloud.ServiceClient, configID string, opts UpdateOptsBuilder) (r UpdateResult)
Update will modify an existing configuration group by performing a merge between new and existing values. If the key already exists, the new value will overwrite. All other keys will remain unaffected.