-
Notifications
You must be signed in to change notification settings - Fork 602
/
api_op_CreateGlobalCluster.go
137 lines (111 loc) · 4.5 KB
/
api_op_CreateGlobalCluster.go
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
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package rds
import (
"context"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/internal/awsutil"
)
// Please also see https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateGlobalClusterMessage
type CreateGlobalClusterInput struct {
_ struct{} `type:"structure"`
// The name for your database of up to 64 alpha-numeric characters. If you do
// not provide a name, Amazon Aurora will not create a database in the global
// database cluster you are creating.
DatabaseName *string `type:"string"`
// The deletion protection setting for the new global database. The global database
// can't be deleted when deletion protection is enabled.
DeletionProtection *bool `type:"boolean"`
// Provides the name of the database engine to be used for this DB cluster.
Engine *string `type:"string"`
// The engine version of the Aurora global database.
EngineVersion *string `type:"string"`
// The cluster identifier of the new global database cluster.
GlobalClusterIdentifier *string `type:"string"`
// The Amazon Resource Name (ARN) to use as the primary cluster of the global
// database. This parameter is optional.
SourceDBClusterIdentifier *string `type:"string"`
// The storage encryption setting for the new global database cluster.
StorageEncrypted *bool `type:"boolean"`
}
// String returns the string representation
func (s CreateGlobalClusterInput) String() string {
return awsutil.Prettify(s)
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateGlobalClusterResult
type CreateGlobalClusterOutput struct {
_ struct{} `type:"structure"`
// A data type representing an Aurora global database.
GlobalCluster *GlobalCluster `type:"structure"`
}
// String returns the string representation
func (s CreateGlobalClusterOutput) String() string {
return awsutil.Prettify(s)
}
const opCreateGlobalCluster = "CreateGlobalCluster"
// CreateGlobalClusterRequest returns a request value for making API operation for
// Amazon Relational Database Service.
//
//
// Creates an Aurora global database spread across multiple regions. The global
// database contains a single primary cluster with read-write capability, and
// a read-only secondary cluster that receives data from the primary cluster
// through high-speed replication performed by the Aurora storage subsystem.
//
// You can create a global database that is initially empty, and then add a
// primary cluster and a secondary cluster to it. Or you can specify an existing
// Aurora cluster during the create operation, and this cluster becomes the
// primary cluster of the global database.
//
// This action only applies to Aurora DB clusters.
//
// // Example sending a request using CreateGlobalClusterRequest.
// req := client.CreateGlobalClusterRequest(params)
// resp, err := req.Send(context.TODO())
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateGlobalCluster
func (c *Client) CreateGlobalClusterRequest(input *CreateGlobalClusterInput) CreateGlobalClusterRequest {
op := &aws.Operation{
Name: opCreateGlobalCluster,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &CreateGlobalClusterInput{}
}
req := c.newRequest(op, input, &CreateGlobalClusterOutput{})
return CreateGlobalClusterRequest{Request: req, Input: input, Copy: c.CreateGlobalClusterRequest}
}
// CreateGlobalClusterRequest is the request type for the
// CreateGlobalCluster API operation.
type CreateGlobalClusterRequest struct {
*aws.Request
Input *CreateGlobalClusterInput
Copy func(*CreateGlobalClusterInput) CreateGlobalClusterRequest
}
// Send marshals and sends the CreateGlobalCluster API request.
func (r CreateGlobalClusterRequest) Send(ctx context.Context) (*CreateGlobalClusterResponse, error) {
r.Request.SetContext(ctx)
err := r.Request.Send()
if err != nil {
return nil, err
}
resp := &CreateGlobalClusterResponse{
CreateGlobalClusterOutput: r.Request.Data.(*CreateGlobalClusterOutput),
response: &aws.Response{Request: r.Request},
}
return resp, nil
}
// CreateGlobalClusterResponse is the response type for the
// CreateGlobalCluster API operation.
type CreateGlobalClusterResponse struct {
*CreateGlobalClusterOutput
response *aws.Response
}
// SDKResponseMetdata returns the response metadata for the
// CreateGlobalCluster request.
func (r *CreateGlobalClusterResponse) SDKResponseMetdata() *aws.Response {
return r.response
}