1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176
|
// Code generated by smithy-go-codegen DO NOT EDIT.
package finspace
import (
"context"
"fmt"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
"github.com/aws/aws-sdk-go-v2/service/finspace/types"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
// Returns a list of clusters.
func (c *Client) ListKxClusters(ctx context.Context, params *ListKxClustersInput, optFns ...func(*Options)) (*ListKxClustersOutput, error) {
if params == nil {
params = &ListKxClustersInput{}
}
result, metadata, err := c.invokeOperation(ctx, "ListKxClusters", params, optFns, c.addOperationListKxClustersMiddlewares)
if err != nil {
return nil, err
}
out := result.(*ListKxClustersOutput)
out.ResultMetadata = metadata
return out, nil
}
type ListKxClustersInput struct {
// A unique identifier for the kdb environment.
//
// This member is required.
EnvironmentId *string
// Specifies the type of KDB database that is being created. The following types
// are available:
// - HDB – A Historical Database. The data is only accessible with read-only
// permissions from one of the FinSpace managed kdb databases mounted to the
// cluster.
// - RDB – A Realtime Database. This type of database captures all the data from
// a ticker plant and stores it in memory until the end of day, after which it
// writes all of its data to a disk and reloads the HDB. This cluster type requires
// local storage for temporary storage of data during the savedown process. If you
// specify this field in your request, you must provide the
// savedownStorageConfiguration parameter.
// - GATEWAY – A gateway cluster allows you to access data across processes in
// kdb systems. It allows you to create your own routing logic using the
// initialization scripts and custom code. This type of cluster does not require a
// writable local storage.
// - GP – A general purpose cluster allows you to quickly iterate on code during
// development by granting greater access to system commands and enabling a fast
// reload of custom code. This cluster type can optionally mount databases
// including cache and savedown storage. For this cluster type, the node count is
// fixed at 1. It does not support autoscaling and supports only SINGLE AZ mode.
// - Tickerplant – A tickerplant cluster allows you to subscribe to feed
// handlers based on IAM permissions. It can publish to RDBs, other Tickerplants,
// and real-time subscribers (RTS). Tickerplants can persist messages to log, which
// is readable by any RDB environment. It supports only single-node that is only
// one kdb process.
ClusterType types.KxClusterType
// The maximum number of results to return in this request.
MaxResults int32
// A token that indicates where a results page should begin.
NextToken *string
noSmithyDocumentSerde
}
type ListKxClustersOutput struct {
// Lists the cluster details.
KxClusterSummaries []types.KxCluster
// A token that indicates where a results page should begin.
NextToken *string
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationListKxClustersMiddlewares(stack *middleware.Stack, options Options) (err error) {
if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
return err
}
err = stack.Serialize.Add(&awsRestjson1_serializeOpListKxClusters{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsRestjson1_deserializeOpListKxClusters{}, middleware.After)
if err != nil {
return err
}
if err := addProtocolFinalizerMiddlewares(stack, options, "ListKxClusters"); err != nil {
return fmt.Errorf("add protocol finalizers: %v", err)
}
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
if err = addSetLoggerMiddleware(stack, options); err != nil {
return err
}
if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil {
return err
}
if err = addResolveEndpointMiddleware(stack, options); err != nil {
return err
}
if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil {
return err
}
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil {
return err
}
if err = addClientUserAgent(stack, options); err != nil {
return err
}
if err = addRestJsonContentTypeCustomization(stack); err != nil {
return err
}
if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
if err = addOpListKxClustersValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opListKxClusters(options.Region), middleware.Before); err != nil {
return err
}
if err = awsmiddleware.AddRecursionDetection(stack); err != nil {
return err
}
if err = addRequestIDRetrieverMiddleware(stack); err != nil {
return err
}
if err = addResponseErrorMiddleware(stack); err != nil {
return err
}
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
return nil
}
func newServiceMetadataMiddleware_opListKxClusters(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
OperationName: "ListKxClusters",
}
}
|