File: types.go

package info (click to toggle)
golang-github-aws-aws-sdk-go-v2 1.30.3-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 662,428 kB
  • sloc: java: 16,875; makefile: 432; sh: 175
file content (748 lines) | stat: -rw-r--r-- 20,673 bytes parent folder | download | duplicates (3)
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
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
// Code generated by smithy-go-codegen DO NOT EDIT.

package types

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

// Summary of the membership details of an AppInstanceUser .
type AppInstanceUserMembershipSummary struct {

	// The time at which an AppInstanceUser last marked a channel as read.
	ReadMarkerTimestamp *time.Time

	// The ID of the SubChannel that the AppInstanceUser is a member of.
	SubChannelId *string

	// The type of ChannelMembership .
	Type ChannelMembershipType

	noSmithyDocumentSerde
}

// The membership information, including member ARNs, the channel ARN, and
// membership types.
type BatchChannelMemberships struct {

	// The ARN of the channel to which you're adding members.
	ChannelArn *string

	// The identifier of the member who invited another member.
	InvitedBy *Identity

	// The users successfully added to the request.
	Members []Identity

	// The ID of the SubChannel.
	SubChannelId *string

	// The membership types set for the channel members.
	Type ChannelMembershipType

	noSmithyDocumentSerde
}

// A list of failed member ARNs, error codes, and error messages.
type BatchCreateChannelMembershipError struct {

	// The error code.
	ErrorCode ErrorCode

	// The error message.
	ErrorMessage *string

	// The AppInstanceUserArn of the member that the service couldn't add.
	MemberArn *string

	noSmithyDocumentSerde
}

// The details of a channel.
type Channel struct {

	// The ARN of a channel.
	ChannelArn *string

	// The ARN of the channel flow.
	ChannelFlowArn *string

	// The AppInstanceUser who created the channel.
	CreatedBy *Identity

	// The time at which the AppInstanceUser created the channel.
	CreatedTimestamp *time.Time

	// The attributes required to configure and create an elastic channel. An elastic
	// channel can support a maximum of 1-million members.
	ElasticChannelConfiguration *ElasticChannelConfiguration

	// Settings that control when a channel expires.
	ExpirationSettings *ExpirationSettings

	// The time at which a member sent the last message in the channel.
	LastMessageTimestamp *time.Time

	// The time at which a channel was last updated.
	LastUpdatedTimestamp *time.Time

	// The channel's metadata.
	Metadata *string

	// The mode of the channel.
	Mode ChannelMode

	// The name of a channel.
	Name *string

	// The channel's privacy setting.
	Privacy ChannelPrivacy

	noSmithyDocumentSerde
}

// Summary of details of a channel associated with channel flow.
type ChannelAssociatedWithFlowSummary struct {

	// The ARN of the channel.
	ChannelArn *string

	// The channel's metadata.
	Metadata *string

	// The mode of the channel.
	Mode ChannelMode

	// The name of the channel flow.
	Name *string

	// The channel's privacy setting.
	Privacy ChannelPrivacy

	noSmithyDocumentSerde
}

// The details of a channel ban.
type ChannelBan struct {

	// The ARN of the channel from which a member is being banned.
	ChannelArn *string

	// The AppInstanceUser who created the ban.
	CreatedBy *Identity

	// The time at which the ban was created.
	CreatedTimestamp *time.Time

	// The member being banned from the channel.
	Member *Identity

	noSmithyDocumentSerde
}

// Summary of the details of a ChannelBan .
type ChannelBanSummary struct {

	// The member being banned from a channel.
	Member *Identity

	noSmithyDocumentSerde
}

// The details of a channel flow.
type ChannelFlow struct {

	// The ARN of the channel flow.
	ChannelFlowArn *string

	// The time at which the channel flow was created.
	CreatedTimestamp *time.Time

	// The time at which a channel flow was updated.
	LastUpdatedTimestamp *time.Time

	// The name of the channel flow.
	Name *string

	// Information about the processor Lambda functions.
	Processors []Processor

	noSmithyDocumentSerde
}

// Summary of details of a channel flow.
type ChannelFlowSummary struct {

	// The ARN of the channel flow.
	ChannelFlowArn *string

	// The name of the channel flow.
	Name *string

	// Information about the processor Lambda functions.
	Processors []Processor

	noSmithyDocumentSerde
}

// The details of a channel member.
type ChannelMembership struct {

	// The ARN of the member's channel.
	ChannelArn *string

	// The time at which the channel membership was created.
	CreatedTimestamp *time.Time

	// The identifier of the member who invited another member.
	InvitedBy *Identity

	// The time at which a channel membership was last updated.
	LastUpdatedTimestamp *time.Time

	// The data of the channel member.
	Member *Identity

	// The ID of the SubChannel that a user belongs to.
	SubChannelId *string

	// The membership type set for the channel member.
	Type ChannelMembershipType

	noSmithyDocumentSerde
}

// Summary of the channel membership details of an AppInstanceUser .
type ChannelMembershipForAppInstanceUserSummary struct {

	// Returns the channel membership data for an AppInstance .
	AppInstanceUserMembershipSummary *AppInstanceUserMembershipSummary

	// Returns the channel data for an AppInstance .
	ChannelSummary *ChannelSummary

	noSmithyDocumentSerde
}

// The channel membership preferences for an AppInstanceUser .
type ChannelMembershipPreferences struct {

	// The push notification configuration of a message.
	PushNotifications *PushNotificationPreferences

	noSmithyDocumentSerde
}

// Summary of the details of a ChannelMembership .
type ChannelMembershipSummary struct {

	// A member's summary data.
	Member *Identity

	noSmithyDocumentSerde
}

// The details of a message in a channel.
type ChannelMessage struct {

	// The ARN of the channel.
	ChannelArn *string

	// The content of the channel message. For Amazon Lex V2 bot responses, this field
	// holds a list of messages originating from the bot. For more information, refer
	// to [Processing responses from an AppInstanceBot]in the Amazon Chime SDK Messaging Developer Guide.
	//
	// [Processing responses from an AppInstanceBot]: https://docs.aws.amazon.com/chime-sdk/latest/dg/appinstance-bots#process-response.html
	Content *string

	// The content type of the channel message. For Amazon Lex V2 bot responses, the
	// content type is application/amz-chime-lex-msgs for success responses and
	// application/amz-chime-lex-error for failure responses. For more information,
	// refer to [Processing responses from an AppInstanceBot]in the Amazon Chime SDK Messaging Developer Guide.
	//
	// [Processing responses from an AppInstanceBot]: https://docs.aws.amazon.com/chime-sdk/latest/dg/appinstance-bots#process-response.html
	ContentType *string

	// The time at which the message was created.
	CreatedTimestamp *time.Time

	// The time at which a message was edited.
	LastEditedTimestamp *time.Time

	// The time at which a message was updated.
	LastUpdatedTimestamp *time.Time

	// The attributes for the channel message. For Amazon Lex V2 bot responses, the
	// attributes are mapped to specific fields from the bot. For more information,
	// refer to [Processing responses from an AppInstanceBot]in the Amazon Chime SDK Messaging Developer Guide.
	//
	// [Processing responses from an AppInstanceBot]: https://docs.aws.amazon.com/chime-sdk/latest/dg/appinstance-bots#process-response.html
	MessageAttributes map[string]MessageAttributeValue

	// The ID of a message.
	MessageId *string

	// The message metadata.
	Metadata *string

	// The persistence setting for a channel message.
	Persistence ChannelMessagePersistenceType

	// Hides the content of a message.
	Redacted bool

	// The message sender.
	Sender *Identity

	// The status of the channel message.
	Status *ChannelMessageStatusStructure

	// The ID of the SubChannel.
	SubChannelId *string

	// The target of a message, a sender, a user, or a bot. Only the target and the
	// sender can view targeted messages. Only users who can see targeted messages can
	// take actions on them. However, administrators can delete targeted messages that
	// they can’t see.
	Target []Target

	// The message type.
	Type ChannelMessageType

	noSmithyDocumentSerde
}

// Stores information about a callback.
type ChannelMessageCallback struct {

	// The message ID.
	//
	// This member is required.
	MessageId *string

	// The message content. For Amazon Lex V2 bot responses, this field holds a list
	// of messages originating from the bot. For more information, refer to [Processing responses from an AppInstanceBot]in the
	// Amazon Chime SDK Messaging Developer Guide.
	//
	// [Processing responses from an AppInstanceBot]: https://docs.aws.amazon.com/chime-sdk/latest/dg/appinstance-bots#process-response.html
	Content *string

	// The content type of the call-back message. For Amazon Lex V2 bot responses, the
	// content type is application/amz-chime-lex-msgs for success responses and
	// application/amz-chime-lex-error for failure responses. For more information,
	// refer to [Processing responses from an AppInstanceBot]in the Amazon Chime SDK Messaging Developer Guide.
	//
	// [Processing responses from an AppInstanceBot]: https://docs.aws.amazon.com/chime-sdk/latest/dg/appinstance-bots#process-response.html
	ContentType *string

	// The attributes for the channel message. For Amazon Lex V2 bot responses, the
	// attributes are mapped to specific fields from the bot. For more information,
	// refer to [Processing responses from an AppInstanceBot]in the Amazon Chime SDK Messaging Developer Guide.
	//
	// [Processing responses from an AppInstanceBot]: https://docs.aws.amazon.com/chime-sdk/latest/dg/appinstance-bots#process-response.html
	MessageAttributes map[string]MessageAttributeValue

	// The message metadata.
	Metadata *string

	// The push notification configuration of the message.
	PushNotification *PushNotificationConfiguration

	// The ID of the SubChannel.
	SubChannelId *string

	noSmithyDocumentSerde
}

// Stores information about a message status.
type ChannelMessageStatusStructure struct {

	// Contains more details about the message status.
	Detail *string

	// The message status value.
	Value ChannelMessageStatus

	noSmithyDocumentSerde
}

// Summary of the messages in a Channel .
type ChannelMessageSummary struct {

	// The content of the channel message. For Amazon Lex V2 bot responses, this field
	// holds a list of messages originating from the bot. For more information, refer
	// to [Processing responses from an AppInstanceBot]in the Amazon Chime SDK Messaging Developer Guide.
	//
	// [Processing responses from an AppInstanceBot]: https://docs.aws.amazon.com/chime-sdk/latest/dg/appinstance-bots#process-response.html
	Content *string

	// The content type of the channel message listed in the summary. For Amazon Lex
	// V2 bot responses, the content type is application/amz-chime-lex-msgs for
	// success responses and application/amz-chime-lex-error for failure responses.
	// For more information, refer to [Processing responses from an AppInstanceBot]in the Amazon Chime SDK Messaging Developer
	// Guide.
	//
	// [Processing responses from an AppInstanceBot]: https://docs.aws.amazon.com/chime-sdk/latest/dg/appinstance-bots#process-response.html
	ContentType *string

	// The time at which the message summary was created.
	CreatedTimestamp *time.Time

	// The time at which a message was last edited.
	LastEditedTimestamp *time.Time

	// The time at which a message was last updated.
	LastUpdatedTimestamp *time.Time

	// The attributes for the channel message. For Amazon Lex V2 bot responses, the
	// attributes are mapped to specific fields from the bot. For more information,
	// refer to [Processing responses from an AppInstanceBot]in the Amazon Chime SDK Messaging Developer Guide.
	//
	// [Processing responses from an AppInstanceBot]: https://docs.aws.amazon.com/chime-sdk/latest/dg/appinstance-bots#process-response.html
	MessageAttributes map[string]MessageAttributeValue

	// The ID of the message.
	MessageId *string

	// The metadata of the message.
	Metadata *string

	// Indicates whether a message was redacted.
	Redacted bool

	// The message sender.
	Sender *Identity

	// The message status. The status value is SENT for messages sent to a channel
	// without a channel flow. For channels associated with channel flow, the value
	// determines the processing stage.
	Status *ChannelMessageStatusStructure

	// The target of a message, a sender, a user, or a bot. Only the target and the
	// sender can view targeted messages. Only users who can see targeted messages can
	// take actions on them. However, administrators can delete targeted messages that
	// they can’t see.
	Target []Target

	// The type of message.
	Type ChannelMessageType

	noSmithyDocumentSerde
}

// Summary of the details of a moderated channel.
type ChannelModeratedByAppInstanceUserSummary struct {

	// Summary of the details of a Channel .
	ChannelSummary *ChannelSummary

	noSmithyDocumentSerde
}

// The details of a channel moderator.
type ChannelModerator struct {

	// The ARN of the moderator's channel.
	ChannelArn *string

	// The AppInstanceUser who created the moderator.
	CreatedBy *Identity

	// The time at which the moderator was created.
	CreatedTimestamp *time.Time

	// The moderator's data.
	Moderator *Identity

	noSmithyDocumentSerde
}

// Summary of the details of a ChannelModerator .
type ChannelModeratorSummary struct {

	// The data for a moderator.
	Moderator *Identity

	noSmithyDocumentSerde
}

// Summary of the details of a Channel .
type ChannelSummary struct {

	// The ARN of the channel.
	ChannelArn *string

	// The time at which the last persistent message visible to the caller in a
	// channel was sent.
	LastMessageTimestamp *time.Time

	// The metadata of the channel.
	Metadata *string

	// The mode of the channel.
	Mode ChannelMode

	// The name of the channel.
	Name *string

	// The privacy setting of the channel.
	Privacy ChannelPrivacy

	noSmithyDocumentSerde
}

// The attributes required to configure and create an elastic channel. An elastic
// channel can support a maximum of 1-million members.
type ElasticChannelConfiguration struct {

	// The maximum number of SubChannels that you want to allow in the elastic channel.
	//
	// This member is required.
	MaximumSubChannels *int32

	// The minimum allowed percentage of TargetMembershipsPerSubChannel users. Ceil of
	// the calculated value is used in balancing members among SubChannels of the
	// elastic channel.
	//
	// This member is required.
	MinimumMembershipPercentage *int32

	// The maximum number of members allowed in a SubChannel.
	//
	// This member is required.
	TargetMembershipsPerSubChannel *int32

	noSmithyDocumentSerde
}

// Settings that control the interval after which a channel is deleted.
type ExpirationSettings struct {

	// The conditions that must be met for a channel to expire.
	//
	// This member is required.
	ExpirationCriterion ExpirationCriterion

	// The period in days after which the system automatically deletes a channel.
	//
	// This member is required.
	ExpirationDays *int32

	noSmithyDocumentSerde
}

// The details of a user or bot.
type Identity struct {

	// The ARN in an Identity.
	Arn *string

	// The name in an Identity.
	Name *string

	noSmithyDocumentSerde
}

// Stores metadata about a Lambda processor.
type LambdaConfiguration struct {

	// Controls how the Lambda function is invoked.
	//
	// This member is required.
	InvocationType InvocationType

	// The ARN of the Lambda message processing function.
	//
	// This member is required.
	ResourceArn *string

	noSmithyDocumentSerde
}

// A list of message attribute values.
type MessageAttributeValue struct {

	// The strings in a message attribute value.
	StringValues []string

	noSmithyDocumentSerde
}

// The websocket endpoint used to connect to Amazon Chime SDK messaging.
type MessagingSessionEndpoint struct {

	// The endpoint to which you establish a websocket connection.
	Url *string

	noSmithyDocumentSerde
}

// The information about a processor in a channel flow.
type Processor struct {

	// The information about the type of processor and its identifier.
	//
	// This member is required.
	Configuration *ProcessorConfiguration

	// The sequence in which processors run. If you have multiple processors in a
	// channel flow, message processing goes through each processor in the sequence.
	// The value determines the sequence. At this point, we support only 1 processor
	// within a flow.
	//
	// This member is required.
	ExecutionOrder *int32

	// Determines whether to continue with message processing or stop it in cases
	// where communication with a processor fails. If a processor has a fallback action
	// of ABORT and communication with it fails, the processor sets the message status
	// to FAILED and does not send the message to any recipients. Note that if the
	// last processor in the channel flow sequence has a fallback action of CONTINUE
	// and communication with the processor fails, then the message is considered
	// processed and sent to recipients of the channel.
	//
	// This member is required.
	FallbackAction FallbackAction

	// The name of the channel flow.
	//
	// This member is required.
	Name *string

	noSmithyDocumentSerde
}

// A processor's metadata.
type ProcessorConfiguration struct {

	// Indicates that the processor is of type Lambda.
	//
	// This member is required.
	Lambda *LambdaConfiguration

	noSmithyDocumentSerde
}

// The push notification configuration of the message.
type PushNotificationConfiguration struct {

	// The body of the push notification.
	Body *string

	// The title of the push notification.
	Title *string

	// Enum value that indicates the type of the push notification for a message.
	// DEFAULT : Normal mobile push notification. VOIP : VOIP mobile push notification.
	Type PushNotificationType

	noSmithyDocumentSerde
}

// The channel membership preferences for push notification.
type PushNotificationPreferences struct {

	// Enum value that indicates which push notifications to send to the requested
	// member of a channel. ALL sends all push notifications, NONE sends no push
	// notifications, FILTERED sends only filtered push notifications.
	//
	// This member is required.
	AllowNotifications AllowNotifications

	// The simple JSON object used to send a subset of a push notification to the
	// requested member.
	FilterRule *string

	noSmithyDocumentSerde
}

// A Field of the channel that you want to search.
type SearchField struct {

	// An enum value that indicates the key to search the channel on. MEMBERS allows
	// you to search channels based on memberships. You can use it with the EQUALS
	// operator to get channels whose memberships are equal to the specified values,
	// and with the INCLUDES operator to get channels whose memberships include the
	// specified values.
	//
	// This member is required.
	Key SearchFieldKey

	// The operator used to compare field values, currently EQUALS or INCLUDES . Use
	// the EQUALS operator to find channels whose memberships equal the specified
	// values. Use the INCLUDES operator to find channels whose memberships include
	// the specified values.
	//
	// This member is required.
	Operator SearchFieldOperator

	// The values that you want to search for, a list of strings. The values must be
	// AppInstanceUserArns specified as a list of strings.
	//
	// This operation isn't supported for AppInstanceUsers with large number of
	// memberships.
	//
	// This member is required.
	Values []string

	noSmithyDocumentSerde
}

// The configuration for connecting a messaging stream to Amazon Kinesis.
type StreamingConfiguration struct {

	// The data type of the configuration.
	//
	// This member is required.
	DataType MessagingDataType

	// The ARN of the resource in the configuration.
	//
	// This member is required.
	ResourceArn *string

	noSmithyDocumentSerde
}

// Summary of the sub-channels associated with the elastic channel.
type SubChannelSummary struct {

	// The number of members in a SubChannel.
	MembershipCount *int32

	// The unique ID of a SubChannel.
	SubChannelId *string

	noSmithyDocumentSerde
}

// A tag object containing a key-value pair.
type Tag struct {

	// The key in a tag.
	//
	// This member is required.
	Key *string

	// The value in a tag.
	//
	// This member is required.
	Value *string

	noSmithyDocumentSerde
}

// The target of a message, a sender, a user, or a bot. Only the target and the
// sender can view targeted messages. Only users who can see targeted messages can
// take actions on them. However, administrators can delete targeted messages that
// they can’t see.
type Target struct {

	// The ARN of the target channel member.
	MemberArn *string

	noSmithyDocumentSerde
}

type noSmithyDocumentSerde = smithydocument.NoSerde