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 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191
|
// Code generated by smithy-go-codegen DO NOT EDIT.
package opensearch
import (
"context"
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/opensearch/types"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
// Creates a new Amazon OpenSearch Service domain. For more information, see
// Creating and managing Amazon OpenSearch Service domains
// (http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html)
// in the Amazon OpenSearch Service Developer Guide.
func (c *Client) CreateDomain(ctx context.Context, params *CreateDomainInput, optFns ...func(*Options)) (*CreateDomainOutput, error) {
if params == nil {
params = &CreateDomainInput{}
}
result, metadata, err := c.invokeOperation(ctx, "CreateDomain", params, optFns, c.addOperationCreateDomainMiddlewares)
if err != nil {
return nil, err
}
out := result.(*CreateDomainOutput)
out.ResultMetadata = metadata
return out, nil
}
type CreateDomainInput struct {
// The name of the Amazon OpenSearch Service domain you're creating. Domain names
// are unique across the domains owned by an account within an AWS region. Domain
// names must start with a lowercase letter and can contain the following
// characters: a-z (lowercase), 0-9, and - (hyphen).
//
// This member is required.
DomainName *string
// IAM access policy as a JSON-formatted string.
AccessPolicies *string
// Option to allow references to indices in an HTTP request body. Must be false
// when configuring access to individual sub-resources. By default, the value is
// true. See Advanced cluster parameters
// (http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomain-configure-advanced-options)
// for more information.
AdvancedOptions map[string]string
// Specifies advanced security options.
AdvancedSecurityOptions *types.AdvancedSecurityOptionsInput
// Specifies Auto-Tune options.
AutoTuneOptions *types.AutoTuneOptionsInput
// Configuration options for a domain. Specifies the instance type and number of
// instances in the domain.
ClusterConfig *types.ClusterConfig
// Options to specify the Cognito user and identity pools for OpenSearch Dashboards
// authentication. For more information, see Configuring Amazon Cognito
// authentication for OpenSearch Dashboards
// (http://docs.aws.amazon.com/opensearch-service/latest/developerguide/cognito-auth.html).
CognitoOptions *types.CognitoOptions
// Options to specify configurations that will be applied to the domain endpoint.
DomainEndpointOptions *types.DomainEndpointOptions
// Options to enable, disable, and specify the type and size of EBS storage
// volumes.
EBSOptions *types.EBSOptions
// Options for encryption of data at rest.
EncryptionAtRestOptions *types.EncryptionAtRestOptions
// String of format Elasticsearch_X.Y or OpenSearch_X.Y to specify the engine
// version for the Amazon OpenSearch Service domain. For example, "OpenSearch_1.0"
// or "Elasticsearch_7.9". For more information, see Creating and managing Amazon
// OpenSearch Service domains
// (http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomains).
EngineVersion *string
// Map of LogType and LogPublishingOption, each containing options to publish a
// given type of OpenSearch log.
LogPublishingOptions map[string]types.LogPublishingOption
// Node-to-node encryption options.
NodeToNodeEncryptionOptions *types.NodeToNodeEncryptionOptions
// Option to set time, in UTC format, of the daily automated snapshot. Default
// value is 0 hours.
SnapshotOptions *types.SnapshotOptions
// A list of Tag added during domain creation.
TagList []types.Tag
// Options to specify the subnets and security groups for a VPC endpoint. For more
// information, see Launching your Amazon OpenSearch Service domains using a VPC
// (http://docs.aws.amazon.com/opensearch-service/latest/developerguide/vpc.html).
VPCOptions *types.VPCOptions
noSmithyDocumentSerde
}
// The result of a CreateDomain operation. Contains the status of the newly created
// Amazon OpenSearch Service domain.
type CreateDomainOutput struct {
// The status of the newly created domain.
DomainStatus *types.DomainStatus
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationCreateDomainMiddlewares(stack *middleware.Stack, options Options) (err error) {
err = stack.Serialize.Add(&awsRestjson1_serializeOpCreateDomain{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsRestjson1_deserializeOpCreateDomain{}, middleware.After)
if 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 = addHTTPSignerV4Middleware(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); err != nil {
return err
}
if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = addOpCreateDomainValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opCreateDomain(options.Region), middleware.Before); 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
}
return nil
}
func newServiceMetadataMiddleware_opCreateDomain(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
SigningName: "es",
OperationName: "CreateDomain",
}
}
|