File: types.go

package info (click to toggle)
golang-github-aws-aws-sdk-go-v2 1.24.1-2~bpo12%2B1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm-backports
  • size: 554,032 kB
  • sloc: java: 15,941; makefile: 419; sh: 175
file content (345 lines) | stat: -rw-r--r-- 9,854 bytes parent folder | download
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
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
// Code generated by smithy-go-codegen DO NOT EDIT.

package types

import (
	smithydocument "github.com/aws/smithy-go/document"
	"time"
)

// Contains all of the attributes of a specific DAX cluster.
type Cluster struct {

	// The number of nodes in the cluster that are active (i.e., capable of serving
	// requests).
	ActiveNodes *int32

	// The Amazon Resource Name (ARN) that uniquely identifies the cluster.
	ClusterArn *string

	// The endpoint for this DAX cluster, consisting of a DNS name, a port number, and
	// a URL. Applications should use the URL to configure the DAX client to find their
	// cluster.
	ClusterDiscoveryEndpoint *Endpoint

	// The type of encryption supported by the cluster's endpoint. Values are:
	//   - NONE for no encryption TLS for Transport Layer Security
	ClusterEndpointEncryptionType ClusterEndpointEncryptionType

	// The name of the DAX cluster.
	ClusterName *string

	// The description of the cluster.
	Description *string

	// A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime, DAX
	// will assume this role and use the role's permissions to access DynamoDB on your
	// behalf.
	IamRoleArn *string

	// A list of nodes to be removed from the cluster.
	NodeIdsToRemove []string

	// The node type for the nodes in the cluster. (All nodes in a DAX cluster are of
	// the same type.)
	NodeType *string

	// A list of nodes that are currently in the cluster.
	Nodes []Node

	// Describes a notification topic and its status. Notification topics are used for
	// publishing DAX events to subscribers using Amazon Simple Notification Service
	// (SNS).
	NotificationConfiguration *NotificationConfiguration

	// The parameter group being used by nodes in the cluster.
	ParameterGroup *ParameterGroupStatus

	// A range of time when maintenance of DAX cluster software will be performed. For
	// example: sun:01:00-sun:09:00 . Cluster maintenance normally takes less than 30
	// minutes, and is performed automatically within the maintenance window.
	PreferredMaintenanceWindow *string

	// The description of the server-side encryption status on the specified DAX
	// cluster.
	SSEDescription *SSEDescription

	// A list of security groups, and the status of each, for the nodes in the cluster.
	SecurityGroups []SecurityGroupMembership

	// The current status of the cluster.
	Status *string

	// The subnet group where the DAX cluster is running.
	SubnetGroup *string

	// The total number of nodes in the cluster.
	TotalNodes *int32

	noSmithyDocumentSerde
}

// Represents the information required for client programs to connect to the
// endpoint for a DAX cluster.
type Endpoint struct {

	// The DNS hostname of the endpoint.
	Address *string

	// The port number that applications should use to connect to the endpoint.
	Port int32

	// The URL that applications should use to connect to the endpoint. The default
	// ports are 8111 for the "dax" protocol and 9111 for the "daxs" protocol.
	URL *string

	noSmithyDocumentSerde
}

// Represents a single occurrence of something interesting within the system. Some
// examples of events are creating a DAX cluster, adding or removing a node, or
// rebooting a node.
type Event struct {

	// The date and time when the event occurred.
	Date *time.Time

	// A user-defined message associated with the event.
	Message *string

	// The source of the event. For example, if the event occurred at the node level,
	// the source would be the node ID.
	SourceName *string

	// Specifies the origin of this event - a cluster, a parameter group, a node ID,
	// etc.
	SourceType SourceType

	noSmithyDocumentSerde
}

// Represents an individual node within a DAX cluster.
type Node struct {

	// The Availability Zone (AZ) in which the node has been deployed.
	AvailabilityZone *string

	// The endpoint for the node, consisting of a DNS name and a port number. Client
	// applications can connect directly to a node endpoint, if desired (as an
	// alternative to allowing DAX client software to intelligently route requests and
	// responses to nodes in the DAX cluster.
	Endpoint *Endpoint

	// The date and time (in UNIX epoch format) when the node was launched.
	NodeCreateTime *time.Time

	// A system-generated identifier for the node.
	NodeId *string

	// The current status of the node. For example: available .
	NodeStatus *string

	// The status of the parameter group associated with this node. For example,
	// in-sync .
	ParameterGroupStatus *string

	noSmithyDocumentSerde
}

// Represents a parameter value that is applicable to a particular node type.
type NodeTypeSpecificValue struct {

	// A node type to which the parameter value applies.
	NodeType *string

	// The parameter value for this node type.
	Value *string

	noSmithyDocumentSerde
}

// Describes a notification topic and its status. Notification topics are used for
// publishing DAX events to subscribers using Amazon Simple Notification Service
// (SNS).
type NotificationConfiguration struct {

	// The Amazon Resource Name (ARN) that identifies the topic.
	TopicArn *string

	// The current state of the topic. A value of “active” means that notifications
	// will be sent to the topic. A value of “inactive” means that notifications will
	// not be sent to the topic.
	TopicStatus *string

	noSmithyDocumentSerde
}

// Describes an individual setting that controls some aspect of DAX behavior.
type Parameter struct {

	// A range of values within which the parameter can be set.
	AllowedValues *string

	// The conditions under which changes to this parameter can be applied. For
	// example, requires-reboot indicates that a new value for this parameter will
	// only take effect if a node is rebooted.
	ChangeType ChangeType

	// The data type of the parameter. For example, integer :
	DataType *string

	// A description of the parameter
	Description *string

	// Whether the customer is allowed to modify the parameter.
	IsModifiable IsModifiable

	// A list of node types, and specific parameter values for each node.
	NodeTypeSpecificValues []NodeTypeSpecificValue

	// The name of the parameter.
	ParameterName *string

	// Determines whether the parameter can be applied to any nodes, or only nodes of
	// a particular type.
	ParameterType ParameterType

	// The value for the parameter.
	ParameterValue *string

	// How the parameter is defined. For example, system denotes a system-defined
	// parameter.
	Source *string

	noSmithyDocumentSerde
}

// A named set of parameters that are applied to all of the nodes in a DAX cluster.
type ParameterGroup struct {

	// A description of the parameter group.
	Description *string

	// The name of the parameter group.
	ParameterGroupName *string

	noSmithyDocumentSerde
}

// The status of a parameter group.
type ParameterGroupStatus struct {

	// The node IDs of one or more nodes to be rebooted.
	NodeIdsToReboot []string

	// The status of parameter updates.
	ParameterApplyStatus *string

	// The name of the parameter group.
	ParameterGroupName *string

	noSmithyDocumentSerde
}

// An individual DAX parameter.
type ParameterNameValue struct {

	// The name of the parameter.
	ParameterName *string

	// The value of the parameter.
	ParameterValue *string

	noSmithyDocumentSerde
}

// An individual VPC security group and its status.
type SecurityGroupMembership struct {

	// The unique ID for this security group.
	SecurityGroupIdentifier *string

	// The status of this security group.
	Status *string

	noSmithyDocumentSerde
}

// The description of the server-side encryption status on the specified DAX
// cluster.
type SSEDescription struct {

	// The current state of server-side encryption:
	//   - ENABLING - Server-side encryption is being enabled.
	//   - ENABLED - Server-side encryption is enabled.
	//   - DISABLING - Server-side encryption is being disabled.
	//   - DISABLED - Server-side encryption is disabled.
	Status SSEStatus

	noSmithyDocumentSerde
}

// Represents the settings used to enable server-side encryption.
type SSESpecification struct {

	// Indicates whether server-side encryption is enabled (true) or disabled (false)
	// on the cluster.
	//
	// This member is required.
	Enabled *bool

	noSmithyDocumentSerde
}

// Represents the subnet associated with a DAX cluster. This parameter refers to
// subnets defined in Amazon Virtual Private Cloud (Amazon VPC) and used with DAX.
type Subnet struct {

	// The Availability Zone (AZ) for the subnet.
	SubnetAvailabilityZone *string

	// The system-assigned identifier for the subnet.
	SubnetIdentifier *string

	noSmithyDocumentSerde
}

// Represents the output of one of the following actions:
//   - CreateSubnetGroup
//   - ModifySubnetGroup
type SubnetGroup struct {

	// The description of the subnet group.
	Description *string

	// The name of the subnet group.
	SubnetGroupName *string

	// A list of subnets associated with the subnet group.
	Subnets []Subnet

	// The Amazon Virtual Private Cloud identifier (VPC ID) of the subnet group.
	VpcId *string

	noSmithyDocumentSerde
}

// A description of a tag. Every tag is a key-value pair. You can add up to 50
// tags to a single DAX cluster. AWS-assigned tag names and values are
// automatically assigned the aws: prefix, which the user cannot assign.
// AWS-assigned tag names do not count towards the tag limit of 50. User-assigned
// tag names have the prefix user: . You cannot backdate the application of a tag.
type Tag struct {

	// The key for the tag. Tag keys are case sensitive. Every DAX cluster can only
	// have one tag with the same key. If you try to add an existing tag (same key),
	// the existing tag value will be updated to the new value.
	Key *string

	// The value of the tag. Tag values are case-sensitive and can be null.
	Value *string

	noSmithyDocumentSerde
}

type noSmithyDocumentSerde = smithydocument.NoSerde