aws-sdk-pinpoint 1.0.0.rc2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
File without changes
@@ -0,0 +1,23 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module Pinpoint
10
+ module Errors
11
+
12
+ extend Aws::Errors::DynamicErrors
13
+
14
+ # Raised when calling #load or #data on a resource class that can not be
15
+ # loaded. This can happen when:
16
+ #
17
+ # * A resource class has identifiers, but no data attributes.
18
+ # * Resource data is only available when making an API call that
19
+ # enumerates all resources of that type.
20
+ class ResourceNotLoadable < RuntimeError; end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,25 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module Pinpoint
10
+ class Resource
11
+
12
+ # @param options ({})
13
+ # @option options [Client] :client
14
+ def initialize(options = {})
15
+ @client = options[:client] || Client.new(options)
16
+ end
17
+
18
+ # @return [Client]
19
+ def client
20
+ @client
21
+ end
22
+
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,3176 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module Pinpoint
10
+ module Types
11
+
12
+ # @note When making an API call, pass APNSChannelRequest
13
+ # data as a hash:
14
+ #
15
+ # {
16
+ # certificate: "__string",
17
+ # private_key: "__string",
18
+ # }
19
+ # @!attribute [rw] certificate
20
+ # The distribution certificate from Apple.
21
+ # @return [String]
22
+ #
23
+ # @!attribute [rw] private_key
24
+ # The certificate private key.
25
+ # @return [String]
26
+ class APNSChannelRequest < Struct.new(
27
+ :certificate,
28
+ :private_key)
29
+ include Aws::Structure
30
+ end
31
+
32
+ # @!attribute [rw] application_id
33
+ # @return [String]
34
+ #
35
+ # @!attribute [rw] creation_date
36
+ # When was this segment created
37
+ # @return [String]
38
+ #
39
+ # @!attribute [rw] id
40
+ # @return [String]
41
+ #
42
+ # @!attribute [rw] is_archived
43
+ # Is this channel archived
44
+ # @return [Boolean]
45
+ #
46
+ # @!attribute [rw] last_modified_by
47
+ # Who last updated this entry
48
+ # @return [String]
49
+ #
50
+ # @!attribute [rw] last_modified_date
51
+ # Last date this was updated
52
+ # @return [String]
53
+ #
54
+ # @!attribute [rw] platform
55
+ # The platform type. Will be APNS.
56
+ # @return [String]
57
+ #
58
+ # @!attribute [rw] version
59
+ # Version of channel
60
+ # @return [Integer]
61
+ class APNSChannelResponse < Struct.new(
62
+ :application_id,
63
+ :creation_date,
64
+ :id,
65
+ :is_archived,
66
+ :last_modified_by,
67
+ :last_modified_date,
68
+ :platform,
69
+ :version)
70
+ include Aws::Structure
71
+ end
72
+
73
+ # @!attribute [rw] item
74
+ # List of campaign activities
75
+ # @return [Array<Types::ActivityResponse>]
76
+ class ActivitiesResponse < Struct.new(
77
+ :item)
78
+ include Aws::Structure
79
+ end
80
+
81
+ # @!attribute [rw] application_id
82
+ # The ID of the application to which the campaign applies.
83
+ # @return [String]
84
+ #
85
+ # @!attribute [rw] campaign_id
86
+ # The ID of the campaign to which the activity applies.
87
+ # @return [String]
88
+ #
89
+ # @!attribute [rw] end
90
+ # The actual time the activity was marked CANCELLED or COMPLETED.
91
+ # Provided in ISO 8601 format.
92
+ # @return [String]
93
+ #
94
+ # @!attribute [rw] id
95
+ # The unique activity ID.
96
+ # @return [String]
97
+ #
98
+ # @!attribute [rw] result
99
+ # Indicates whether the activity succeeded. Valid values: SUCCESS,
100
+ # FAIL
101
+ # @return [String]
102
+ #
103
+ # @!attribute [rw] scheduled_start
104
+ # The scheduled start time for the activity in ISO 8601 format.
105
+ # @return [String]
106
+ #
107
+ # @!attribute [rw] start
108
+ # The actual start time of the activity in ISO 8601 format.
109
+ # @return [String]
110
+ #
111
+ # @!attribute [rw] state
112
+ # The state of the activity. Valid values: PENDING, INITIALIZING,
113
+ # RUNNING, PAUSED, CANCELLED, COMPLETED
114
+ # @return [String]
115
+ #
116
+ # @!attribute [rw] successful_endpoint_count
117
+ # The total number of endpoints to which the campaign successfully
118
+ # delivered messages.
119
+ # @return [Integer]
120
+ #
121
+ # @!attribute [rw] total_endpoint_count
122
+ # The total number of endpoints to which the campaign attempts to
123
+ # deliver messages.
124
+ # @return [Integer]
125
+ #
126
+ # @!attribute [rw] treatment_id
127
+ # The ID of a variation of the campaign used for A/B testing.
128
+ # @return [String]
129
+ class ActivityResponse < Struct.new(
130
+ :application_id,
131
+ :campaign_id,
132
+ :end,
133
+ :id,
134
+ :result,
135
+ :scheduled_start,
136
+ :start,
137
+ :state,
138
+ :successful_endpoint_count,
139
+ :total_endpoint_count,
140
+ :treatment_id)
141
+ include Aws::Structure
142
+ end
143
+
144
+ # @!attribute [rw] application_id
145
+ # The unique ID for the application.
146
+ # @return [String]
147
+ #
148
+ # @!attribute [rw] last_modified_date
149
+ # The date that the settings were last updated in ISO 8601 format.
150
+ # @return [String]
151
+ #
152
+ # @!attribute [rw] limits
153
+ # The default campaign limits for the app. These limits apply to each
154
+ # campaign for the app, unless the campaign overrides the default with
155
+ # limits of its own.
156
+ # @return [Types::CampaignLimits]
157
+ #
158
+ # @!attribute [rw] quiet_time
159
+ # The default quiet time for the app. Each campaign for this app sends
160
+ # no messages during this time unless the campaign overrides the
161
+ # default with a quiet time of its own.
162
+ # @return [Types::QuietTime]
163
+ class ApplicationSettingsResource < Struct.new(
164
+ :application_id,
165
+ :last_modified_date,
166
+ :limits,
167
+ :quiet_time)
168
+ include Aws::Structure
169
+ end
170
+
171
+ # @note When making an API call, pass AttributeDimension
172
+ # data as a hash:
173
+ #
174
+ # {
175
+ # attribute_type: "INCLUSIVE", # accepts INCLUSIVE, EXCLUSIVE
176
+ # values: ["__string"],
177
+ # }
178
+ # @!attribute [rw] attribute_type
179
+ # @return [String]
180
+ #
181
+ # @!attribute [rw] values
182
+ # @return [Array<String>]
183
+ class AttributeDimension < Struct.new(
184
+ :attribute_type,
185
+ :values)
186
+ include Aws::Structure
187
+ end
188
+
189
+ # @note When making an API call, pass CampaignLimits
190
+ # data as a hash:
191
+ #
192
+ # {
193
+ # daily: 1,
194
+ # total: 1,
195
+ # }
196
+ # @!attribute [rw] daily
197
+ # The maximum number of messages that the campaign can send daily.
198
+ # @return [Integer]
199
+ #
200
+ # @!attribute [rw] total
201
+ # The maximum total number of messages that the campaign can send.
202
+ # @return [Integer]
203
+ class CampaignLimits < Struct.new(
204
+ :daily,
205
+ :total)
206
+ include Aws::Structure
207
+ end
208
+
209
+ # @!attribute [rw] additional_treatments
210
+ # Treatments that are defined in addition to the default treatment.
211
+ # @return [Array<Types::TreatmentResource>]
212
+ #
213
+ # @!attribute [rw] application_id
214
+ # The ID of the application to which the campaign applies.
215
+ # @return [String]
216
+ #
217
+ # @!attribute [rw] creation_date
218
+ # The date the campaign was created in ISO 8601 format.
219
+ # @return [String]
220
+ #
221
+ # @!attribute [rw] default_state
222
+ # The status of the campaign's default treatment. Only present for
223
+ # A/B test campaigns.
224
+ # @return [Types::CampaignState]
225
+ #
226
+ # @!attribute [rw] description
227
+ # A description of the campaign.
228
+ # @return [String]
229
+ #
230
+ # @!attribute [rw] holdout_percent
231
+ # The allocated percentage of end users who will not receive messages
232
+ # from this campaign.
233
+ # @return [Integer]
234
+ #
235
+ # @!attribute [rw] id
236
+ # The unique campaign ID.
237
+ # @return [String]
238
+ #
239
+ # @!attribute [rw] is_paused
240
+ # Indicates whether the campaign is paused. A paused campaign does not
241
+ # send messages unless you resume it by setting IsPaused to false.
242
+ # @return [Boolean]
243
+ #
244
+ # @!attribute [rw] last_modified_date
245
+ # The date the campaign was last updated in ISO 8601 format.
246
+ # @return [String]
247
+ #
248
+ # @!attribute [rw] limits
249
+ # The campaign limits settings.
250
+ # @return [Types::CampaignLimits]
251
+ #
252
+ # @!attribute [rw] message_configuration
253
+ # The message configuration settings.
254
+ # @return [Types::MessageConfiguration]
255
+ #
256
+ # @!attribute [rw] name
257
+ # The custom name of the campaign.
258
+ # @return [String]
259
+ #
260
+ # @!attribute [rw] schedule
261
+ # The campaign schedule.
262
+ # @return [Types::Schedule]
263
+ #
264
+ # @!attribute [rw] segment_id
265
+ # The ID of the segment to which the campaign sends messages.
266
+ # @return [String]
267
+ #
268
+ # @!attribute [rw] segment_version
269
+ # The version of the segment to which the campaign sends messages.
270
+ # @return [Integer]
271
+ #
272
+ # @!attribute [rw] state
273
+ # The campaign status. An A/B test campaign will have a status of
274
+ # COMPLETED only when all treatments have a status of COMPLETED.
275
+ # @return [Types::CampaignState]
276
+ #
277
+ # @!attribute [rw] treatment_description
278
+ # A custom description for the treatment.
279
+ # @return [String]
280
+ #
281
+ # @!attribute [rw] treatment_name
282
+ # The custom name of a variation of the campaign used for A/B testing.
283
+ # @return [String]
284
+ #
285
+ # @!attribute [rw] version
286
+ # The campaign version number.
287
+ # @return [Integer]
288
+ class CampaignResponse < Struct.new(
289
+ :additional_treatments,
290
+ :application_id,
291
+ :creation_date,
292
+ :default_state,
293
+ :description,
294
+ :holdout_percent,
295
+ :id,
296
+ :is_paused,
297
+ :last_modified_date,
298
+ :limits,
299
+ :message_configuration,
300
+ :name,
301
+ :schedule,
302
+ :segment_id,
303
+ :segment_version,
304
+ :state,
305
+ :treatment_description,
306
+ :treatment_name,
307
+ :version)
308
+ include Aws::Structure
309
+ end
310
+
311
+ # @!attribute [rw] campaign_status
312
+ # @return [String]
313
+ class CampaignState < Struct.new(
314
+ :campaign_status)
315
+ include Aws::Structure
316
+ end
317
+
318
+ # @!attribute [rw] item
319
+ # A list of campaigns.
320
+ # @return [Array<Types::CampaignResponse>]
321
+ #
322
+ # @!attribute [rw] next_token
323
+ # The string that you use in a subsequent request to get the next page
324
+ # of results in a paginated response.
325
+ # @return [String]
326
+ class CampaignsResponse < Struct.new(
327
+ :item,
328
+ :next_token)
329
+ include Aws::Structure
330
+ end
331
+
332
+ # @note When making an API call, pass CreateCampaignRequest
333
+ # data as a hash:
334
+ #
335
+ # {
336
+ # application_id: "__string", # required
337
+ # write_campaign_request: { # required
338
+ # additional_treatments: [
339
+ # {
340
+ # message_configuration: {
341
+ # apns_message: {
342
+ # action: "OPEN_APP", # accepts OPEN_APP, DEEP_LINK, URL
343
+ # body: "__string",
344
+ # image_icon_url: "__string",
345
+ # image_url: "__string",
346
+ # json_body: "__string",
347
+ # media_url: "__string",
348
+ # silent_push: false,
349
+ # title: "__string",
350
+ # url: "__string",
351
+ # },
352
+ # default_message: {
353
+ # action: "OPEN_APP", # accepts OPEN_APP, DEEP_LINK, URL
354
+ # body: "__string",
355
+ # image_icon_url: "__string",
356
+ # image_url: "__string",
357
+ # json_body: "__string",
358
+ # media_url: "__string",
359
+ # silent_push: false,
360
+ # title: "__string",
361
+ # url: "__string",
362
+ # },
363
+ # gcm_message: {
364
+ # action: "OPEN_APP", # accepts OPEN_APP, DEEP_LINK, URL
365
+ # body: "__string",
366
+ # image_icon_url: "__string",
367
+ # image_url: "__string",
368
+ # json_body: "__string",
369
+ # media_url: "__string",
370
+ # silent_push: false,
371
+ # title: "__string",
372
+ # url: "__string",
373
+ # },
374
+ # },
375
+ # schedule: {
376
+ # end_time: "__string",
377
+ # frequency: "ONCE", # accepts ONCE, HOURLY, DAILY, WEEKLY, MONTHLY
378
+ # is_local_time: false,
379
+ # quiet_time: {
380
+ # end: "__string",
381
+ # start: "__string",
382
+ # },
383
+ # start_time: "__string",
384
+ # timezone: "__string",
385
+ # },
386
+ # size_percent: 1,
387
+ # treatment_description: "__string",
388
+ # treatment_name: "__string",
389
+ # },
390
+ # ],
391
+ # description: "__string",
392
+ # holdout_percent: 1,
393
+ # is_paused: false,
394
+ # limits: {
395
+ # daily: 1,
396
+ # total: 1,
397
+ # },
398
+ # message_configuration: {
399
+ # apns_message: {
400
+ # action: "OPEN_APP", # accepts OPEN_APP, DEEP_LINK, URL
401
+ # body: "__string",
402
+ # image_icon_url: "__string",
403
+ # image_url: "__string",
404
+ # json_body: "__string",
405
+ # media_url: "__string",
406
+ # silent_push: false,
407
+ # title: "__string",
408
+ # url: "__string",
409
+ # },
410
+ # default_message: {
411
+ # action: "OPEN_APP", # accepts OPEN_APP, DEEP_LINK, URL
412
+ # body: "__string",
413
+ # image_icon_url: "__string",
414
+ # image_url: "__string",
415
+ # json_body: "__string",
416
+ # media_url: "__string",
417
+ # silent_push: false,
418
+ # title: "__string",
419
+ # url: "__string",
420
+ # },
421
+ # gcm_message: {
422
+ # action: "OPEN_APP", # accepts OPEN_APP, DEEP_LINK, URL
423
+ # body: "__string",
424
+ # image_icon_url: "__string",
425
+ # image_url: "__string",
426
+ # json_body: "__string",
427
+ # media_url: "__string",
428
+ # silent_push: false,
429
+ # title: "__string",
430
+ # url: "__string",
431
+ # },
432
+ # },
433
+ # name: "__string",
434
+ # schedule: {
435
+ # end_time: "__string",
436
+ # frequency: "ONCE", # accepts ONCE, HOURLY, DAILY, WEEKLY, MONTHLY
437
+ # is_local_time: false,
438
+ # quiet_time: {
439
+ # end: "__string",
440
+ # start: "__string",
441
+ # },
442
+ # start_time: "__string",
443
+ # timezone: "__string",
444
+ # },
445
+ # segment_id: "__string",
446
+ # segment_version: 1,
447
+ # treatment_description: "__string",
448
+ # treatment_name: "__string",
449
+ # },
450
+ # }
451
+ # @!attribute [rw] application_id
452
+ # @return [String]
453
+ #
454
+ # @!attribute [rw] write_campaign_request
455
+ # @return [Types::WriteCampaignRequest]
456
+ class CreateCampaignRequest < Struct.new(
457
+ :application_id,
458
+ :write_campaign_request)
459
+ include Aws::Structure
460
+ end
461
+
462
+ # @!attribute [rw] campaign_response
463
+ # @return [Types::CampaignResponse]
464
+ class CreateCampaignResponse < Struct.new(
465
+ :campaign_response)
466
+ include Aws::Structure
467
+ end
468
+
469
+ # @note When making an API call, pass CreateImportJobRequest
470
+ # data as a hash:
471
+ #
472
+ # {
473
+ # application_id: "__string", # required
474
+ # import_job_request: { # required
475
+ # define_segment: false,
476
+ # external_id: "__string",
477
+ # format: "CSV", # accepts CSV, JSON
478
+ # register_endpoints: false,
479
+ # role_arn: "__string",
480
+ # s3_url: "__string",
481
+ # segment_id: "__string",
482
+ # segment_name: "__string",
483
+ # },
484
+ # }
485
+ # @!attribute [rw] application_id
486
+ # @return [String]
487
+ #
488
+ # @!attribute [rw] import_job_request
489
+ # @return [Types::ImportJobRequest]
490
+ class CreateImportJobRequest < Struct.new(
491
+ :application_id,
492
+ :import_job_request)
493
+ include Aws::Structure
494
+ end
495
+
496
+ # @!attribute [rw] import_job_response
497
+ # @return [Types::ImportJobResponse]
498
+ class CreateImportJobResponse < Struct.new(
499
+ :import_job_response)
500
+ include Aws::Structure
501
+ end
502
+
503
+ # @note When making an API call, pass CreateSegmentRequest
504
+ # data as a hash:
505
+ #
506
+ # {
507
+ # application_id: "__string", # required
508
+ # write_segment_request: { # required
509
+ # dimensions: {
510
+ # attributes: {
511
+ # "__string" => {
512
+ # attribute_type: "INCLUSIVE", # accepts INCLUSIVE, EXCLUSIVE
513
+ # values: ["__string"],
514
+ # },
515
+ # },
516
+ # behavior: {
517
+ # recency: {
518
+ # duration: "HR_24", # accepts HR_24, DAY_7, DAY_14, DAY_30
519
+ # recency_type: "ACTIVE", # accepts ACTIVE, INACTIVE
520
+ # },
521
+ # },
522
+ # demographic: {
523
+ # app_version: {
524
+ # dimension_type: "INCLUSIVE", # accepts INCLUSIVE, EXCLUSIVE
525
+ # values: ["__string"],
526
+ # },
527
+ # device_type: {
528
+ # dimension_type: "INCLUSIVE", # accepts INCLUSIVE, EXCLUSIVE
529
+ # values: ["__string"],
530
+ # },
531
+ # make: {
532
+ # dimension_type: "INCLUSIVE", # accepts INCLUSIVE, EXCLUSIVE
533
+ # values: ["__string"],
534
+ # },
535
+ # model: {
536
+ # dimension_type: "INCLUSIVE", # accepts INCLUSIVE, EXCLUSIVE
537
+ # values: ["__string"],
538
+ # },
539
+ # platform: {
540
+ # dimension_type: "INCLUSIVE", # accepts INCLUSIVE, EXCLUSIVE
541
+ # values: ["__string"],
542
+ # },
543
+ # },
544
+ # location: {
545
+ # country: {
546
+ # dimension_type: "INCLUSIVE", # accepts INCLUSIVE, EXCLUSIVE
547
+ # values: ["__string"],
548
+ # },
549
+ # },
550
+ # },
551
+ # name: "__string",
552
+ # },
553
+ # }
554
+ # @!attribute [rw] application_id
555
+ # @return [String]
556
+ #
557
+ # @!attribute [rw] write_segment_request
558
+ # @return [Types::WriteSegmentRequest]
559
+ class CreateSegmentRequest < Struct.new(
560
+ :application_id,
561
+ :write_segment_request)
562
+ include Aws::Structure
563
+ end
564
+
565
+ # @!attribute [rw] segment_response
566
+ # @return [Types::SegmentResponse]
567
+ class CreateSegmentResponse < Struct.new(
568
+ :segment_response)
569
+ include Aws::Structure
570
+ end
571
+
572
+ # @note When making an API call, pass DeleteApnsChannelRequest
573
+ # data as a hash:
574
+ #
575
+ # {
576
+ # application_id: "__string", # required
577
+ # }
578
+ # @!attribute [rw] application_id
579
+ # @return [String]
580
+ class DeleteApnsChannelRequest < Struct.new(
581
+ :application_id)
582
+ include Aws::Structure
583
+ end
584
+
585
+ # @!attribute [rw] apns_channel_response
586
+ # @return [Types::APNSChannelResponse]
587
+ class DeleteApnsChannelResponse < Struct.new(
588
+ :apns_channel_response)
589
+ include Aws::Structure
590
+ end
591
+
592
+ # @note When making an API call, pass DeleteCampaignRequest
593
+ # data as a hash:
594
+ #
595
+ # {
596
+ # application_id: "__string", # required
597
+ # campaign_id: "__string", # required
598
+ # }
599
+ # @!attribute [rw] application_id
600
+ # @return [String]
601
+ #
602
+ # @!attribute [rw] campaign_id
603
+ # @return [String]
604
+ class DeleteCampaignRequest < Struct.new(
605
+ :application_id,
606
+ :campaign_id)
607
+ include Aws::Structure
608
+ end
609
+
610
+ # @!attribute [rw] campaign_response
611
+ # @return [Types::CampaignResponse]
612
+ class DeleteCampaignResponse < Struct.new(
613
+ :campaign_response)
614
+ include Aws::Structure
615
+ end
616
+
617
+ # @note When making an API call, pass DeleteGcmChannelRequest
618
+ # data as a hash:
619
+ #
620
+ # {
621
+ # application_id: "__string", # required
622
+ # }
623
+ # @!attribute [rw] application_id
624
+ # @return [String]
625
+ class DeleteGcmChannelRequest < Struct.new(
626
+ :application_id)
627
+ include Aws::Structure
628
+ end
629
+
630
+ # @!attribute [rw] gcm_channel_response
631
+ # @return [Types::GCMChannelResponse]
632
+ class DeleteGcmChannelResponse < Struct.new(
633
+ :gcm_channel_response)
634
+ include Aws::Structure
635
+ end
636
+
637
+ # @note When making an API call, pass DeleteSegmentRequest
638
+ # data as a hash:
639
+ #
640
+ # {
641
+ # application_id: "__string", # required
642
+ # segment_id: "__string", # required
643
+ # }
644
+ # @!attribute [rw] application_id
645
+ # @return [String]
646
+ #
647
+ # @!attribute [rw] segment_id
648
+ # @return [String]
649
+ class DeleteSegmentRequest < Struct.new(
650
+ :application_id,
651
+ :segment_id)
652
+ include Aws::Structure
653
+ end
654
+
655
+ # @!attribute [rw] segment_response
656
+ # @return [Types::SegmentResponse]
657
+ class DeleteSegmentResponse < Struct.new(
658
+ :segment_response)
659
+ include Aws::Structure
660
+ end
661
+
662
+ # @note When making an API call, pass EndpointBatchItem
663
+ # data as a hash:
664
+ #
665
+ # {
666
+ # address: "__string",
667
+ # attributes: {
668
+ # "__string" => ["__string"],
669
+ # },
670
+ # channel_type: "APNS", # accepts APNS, GCM
671
+ # demographic: {
672
+ # app_version: "__string",
673
+ # locale: "__string",
674
+ # make: "__string",
675
+ # model: "__string",
676
+ # model_version: "__string",
677
+ # platform: "__string",
678
+ # platform_version: "__string",
679
+ # timezone: "__string",
680
+ # },
681
+ # effective_date: "__string",
682
+ # endpoint_status: "__string",
683
+ # id: "__string",
684
+ # location: {
685
+ # city: "__string",
686
+ # country: "__string",
687
+ # latitude: 1.0,
688
+ # longitude: 1.0,
689
+ # postal_code: "__string",
690
+ # region: "__string",
691
+ # },
692
+ # metrics: {
693
+ # "__string" => 1.0,
694
+ # },
695
+ # opt_out: "__string",
696
+ # request_id: "__string",
697
+ # user: {
698
+ # user_attributes: {
699
+ # "__string" => ["__string"],
700
+ # },
701
+ # user_id: "__string",
702
+ # },
703
+ # }
704
+ # @!attribute [rw] address
705
+ # The address or token of the endpoint.
706
+ # @return [String]
707
+ #
708
+ # @!attribute [rw] attributes
709
+ # @return [Hash<String,Array<String>>]
710
+ #
711
+ # @!attribute [rw] channel_type
712
+ # @return [String]
713
+ #
714
+ # @!attribute [rw] demographic
715
+ # The endpoint demographic attributes.
716
+ # @return [Types::EndpointDemographic]
717
+ #
718
+ # @!attribute [rw] effective_date
719
+ # The last time the endpoint was updated. Provided in ISO 8601 format.
720
+ # @return [String]
721
+ #
722
+ # @!attribute [rw] endpoint_status
723
+ # The endpoint status. Can be either ACTIVE or INACTIVE. Will be set
724
+ # to INACTIVE if a delivery fails. Will be set to ACTIVE if the
725
+ # address is updated.
726
+ # @return [String]
727
+ #
728
+ # @!attribute [rw] id
729
+ # @return [String]
730
+ #
731
+ # @!attribute [rw] location
732
+ # The endpoint location attributes.
733
+ # @return [Types::EndpointLocation]
734
+ #
735
+ # @!attribute [rw] metrics
736
+ # @return [Hash<String,Float>]
737
+ #
738
+ # @!attribute [rw] opt_out
739
+ # Indicates whether a user has opted out of receiving messages with
740
+ # one of the following values: ALL – User receives all messages. NONE
741
+ # – User receives no messages.
742
+ # @return [String]
743
+ #
744
+ # @!attribute [rw] request_id
745
+ # The unique ID for the most recent request to update the endpoint.
746
+ # @return [String]
747
+ #
748
+ # @!attribute [rw] user
749
+ # Custom user-specific attributes that your app reports to Amazon
750
+ # Pinpoint.
751
+ # @return [Types::EndpointUser]
752
+ class EndpointBatchItem < Struct.new(
753
+ :address,
754
+ :attributes,
755
+ :channel_type,
756
+ :demographic,
757
+ :effective_date,
758
+ :endpoint_status,
759
+ :id,
760
+ :location,
761
+ :metrics,
762
+ :opt_out,
763
+ :request_id,
764
+ :user)
765
+ include Aws::Structure
766
+ end
767
+
768
+ # @note When making an API call, pass EndpointBatchRequest
769
+ # data as a hash:
770
+ #
771
+ # {
772
+ # item: [
773
+ # {
774
+ # address: "__string",
775
+ # attributes: {
776
+ # "__string" => ["__string"],
777
+ # },
778
+ # channel_type: "APNS", # accepts APNS, GCM
779
+ # demographic: {
780
+ # app_version: "__string",
781
+ # locale: "__string",
782
+ # make: "__string",
783
+ # model: "__string",
784
+ # model_version: "__string",
785
+ # platform: "__string",
786
+ # platform_version: "__string",
787
+ # timezone: "__string",
788
+ # },
789
+ # effective_date: "__string",
790
+ # endpoint_status: "__string",
791
+ # id: "__string",
792
+ # location: {
793
+ # city: "__string",
794
+ # country: "__string",
795
+ # latitude: 1.0,
796
+ # longitude: 1.0,
797
+ # postal_code: "__string",
798
+ # region: "__string",
799
+ # },
800
+ # metrics: {
801
+ # "__string" => 1.0,
802
+ # },
803
+ # opt_out: "__string",
804
+ # request_id: "__string",
805
+ # user: {
806
+ # user_attributes: {
807
+ # "__string" => ["__string"],
808
+ # },
809
+ # user_id: "__string",
810
+ # },
811
+ # },
812
+ # ],
813
+ # }
814
+ # @!attribute [rw] item
815
+ # List of items to update. Maximum 100 items
816
+ # @return [Array<Types::EndpointBatchItem>]
817
+ class EndpointBatchRequest < Struct.new(
818
+ :item)
819
+ include Aws::Structure
820
+ end
821
+
822
+ # @note When making an API call, pass EndpointDemographic
823
+ # data as a hash:
824
+ #
825
+ # {
826
+ # app_version: "__string",
827
+ # locale: "__string",
828
+ # make: "__string",
829
+ # model: "__string",
830
+ # model_version: "__string",
831
+ # platform: "__string",
832
+ # platform_version: "__string",
833
+ # timezone: "__string",
834
+ # }
835
+ # @!attribute [rw] app_version
836
+ # The version of the application associated with the endpoint.
837
+ # @return [String]
838
+ #
839
+ # @!attribute [rw] locale
840
+ # The endpoint locale in the following format: The ISO 639-1 alpha-2
841
+ # code, followed by an underscore, followed by an ISO 3166-1 alpha-2
842
+ # value.
843
+ # @return [String]
844
+ #
845
+ # @!attribute [rw] make
846
+ # The endpoint make, such as such as Apple or Samsung.
847
+ # @return [String]
848
+ #
849
+ # @!attribute [rw] model
850
+ # The endpoint model, such as iPhone.
851
+ # @return [String]
852
+ #
853
+ # @!attribute [rw] model_version
854
+ # The endpoint model version.
855
+ # @return [String]
856
+ #
857
+ # @!attribute [rw] platform
858
+ # The endpoint platform, such as ios or android.
859
+ # @return [String]
860
+ #
861
+ # @!attribute [rw] platform_version
862
+ # The endpoint platform version.
863
+ # @return [String]
864
+ #
865
+ # @!attribute [rw] timezone
866
+ # The timezone of the endpoint. Specified as a tz database value, such
867
+ # as Americas/Los\_Angeles.
868
+ # @return [String]
869
+ class EndpointDemographic < Struct.new(
870
+ :app_version,
871
+ :locale,
872
+ :make,
873
+ :model,
874
+ :model_version,
875
+ :platform,
876
+ :platform_version,
877
+ :timezone)
878
+ include Aws::Structure
879
+ end
880
+
881
+ # @note When making an API call, pass EndpointLocation
882
+ # data as a hash:
883
+ #
884
+ # {
885
+ # city: "__string",
886
+ # country: "__string",
887
+ # latitude: 1.0,
888
+ # longitude: 1.0,
889
+ # postal_code: "__string",
890
+ # region: "__string",
891
+ # }
892
+ # @!attribute [rw] city
893
+ # The city where the endpoint is located.
894
+ # @return [String]
895
+ #
896
+ # @!attribute [rw] country
897
+ # Country according to ISO 3166-1 Alpha-2 codes. For example, US.
898
+ # @return [String]
899
+ #
900
+ # @!attribute [rw] latitude
901
+ # The latitude of the endpoint location. Rounded to one decimal
902
+ # (Roughly corresponding to a mile).
903
+ # @return [Float]
904
+ #
905
+ # @!attribute [rw] longitude
906
+ # The longitude of the endpoint location. Rounded to one decimal
907
+ # (Roughly corresponding to a mile).
908
+ # @return [Float]
909
+ #
910
+ # @!attribute [rw] postal_code
911
+ # The postal code or zip code of the endpoint.
912
+ # @return [String]
913
+ #
914
+ # @!attribute [rw] region
915
+ # The region of the endpoint location. For example, corresponds to a
916
+ # state in US.
917
+ # @return [String]
918
+ class EndpointLocation < Struct.new(
919
+ :city,
920
+ :country,
921
+ :latitude,
922
+ :longitude,
923
+ :postal_code,
924
+ :region)
925
+ include Aws::Structure
926
+ end
927
+
928
+ # @note When making an API call, pass EndpointRequest
929
+ # data as a hash:
930
+ #
931
+ # {
932
+ # address: "__string",
933
+ # attributes: {
934
+ # "__string" => ["__string"],
935
+ # },
936
+ # channel_type: "APNS", # accepts APNS, GCM
937
+ # demographic: {
938
+ # app_version: "__string",
939
+ # locale: "__string",
940
+ # make: "__string",
941
+ # model: "__string",
942
+ # model_version: "__string",
943
+ # platform: "__string",
944
+ # platform_version: "__string",
945
+ # timezone: "__string",
946
+ # },
947
+ # effective_date: "__string",
948
+ # endpoint_status: "__string",
949
+ # location: {
950
+ # city: "__string",
951
+ # country: "__string",
952
+ # latitude: 1.0,
953
+ # longitude: 1.0,
954
+ # postal_code: "__string",
955
+ # region: "__string",
956
+ # },
957
+ # metrics: {
958
+ # "__string" => 1.0,
959
+ # },
960
+ # opt_out: "__string",
961
+ # request_id: "__string",
962
+ # user: {
963
+ # user_attributes: {
964
+ # "__string" => ["__string"],
965
+ # },
966
+ # user_id: "__string",
967
+ # },
968
+ # }
969
+ # @!attribute [rw] address
970
+ # The address or token of the endpoint.
971
+ # @return [String]
972
+ #
973
+ # @!attribute [rw] attributes
974
+ # @return [Hash<String,Array<String>>]
975
+ #
976
+ # @!attribute [rw] channel_type
977
+ # @return [String]
978
+ #
979
+ # @!attribute [rw] demographic
980
+ # The endpoint demographic attributes.
981
+ # @return [Types::EndpointDemographic]
982
+ #
983
+ # @!attribute [rw] effective_date
984
+ # The last time the endpoint was updated. Provided in ISO 8601 format.
985
+ # @return [String]
986
+ #
987
+ # @!attribute [rw] endpoint_status
988
+ # The endpoint status. Can be either ACTIVE or INACTIVE. Will be set
989
+ # to INACTIVE if a delivery fails. Will be set to ACTIVE if the
990
+ # address is updated.
991
+ # @return [String]
992
+ #
993
+ # @!attribute [rw] location
994
+ # The endpoint location attributes.
995
+ # @return [Types::EndpointLocation]
996
+ #
997
+ # @!attribute [rw] metrics
998
+ # @return [Hash<String,Float>]
999
+ #
1000
+ # @!attribute [rw] opt_out
1001
+ # Indicates whether a user has opted out of receiving messages with
1002
+ # one of the following values: ALL – User receives all messages. NONE
1003
+ # – User receives no messages.
1004
+ # @return [String]
1005
+ #
1006
+ # @!attribute [rw] request_id
1007
+ # The unique ID for the most recent request to update the endpoint.
1008
+ # @return [String]
1009
+ #
1010
+ # @!attribute [rw] user
1011
+ # Custom user-specific attributes that your app reports to Amazon
1012
+ # Pinpoint.
1013
+ # @return [Types::EndpointUser]
1014
+ class EndpointRequest < Struct.new(
1015
+ :address,
1016
+ :attributes,
1017
+ :channel_type,
1018
+ :demographic,
1019
+ :effective_date,
1020
+ :endpoint_status,
1021
+ :location,
1022
+ :metrics,
1023
+ :opt_out,
1024
+ :request_id,
1025
+ :user)
1026
+ include Aws::Structure
1027
+ end
1028
+
1029
+ # @!attribute [rw] address
1030
+ # The address or token of the endpoint.
1031
+ # @return [String]
1032
+ #
1033
+ # @!attribute [rw] application_id
1034
+ # The ID of the application associated with the endpoint.
1035
+ # @return [String]
1036
+ #
1037
+ # @!attribute [rw] attributes
1038
+ # @return [Hash<String,Array<String>>]
1039
+ #
1040
+ # @!attribute [rw] channel_type
1041
+ # @return [String]
1042
+ #
1043
+ # @!attribute [rw] cohort_id
1044
+ # A number from 0 - 99 that represents the cohort the endpoint is
1045
+ # assigned to. Endpoints are grouped into cohorts randomly, and each
1046
+ # cohort contains approximately 1 percent of the endpoints for an app.
1047
+ # Amazon Pinpoint assigns cohorts to the holdout or treatment
1048
+ # allocations for a campaign.
1049
+ # @return [String]
1050
+ #
1051
+ # @!attribute [rw] creation_date
1052
+ # The last time the endpoint was created. Provided in ISO 8601 format.
1053
+ # @return [String]
1054
+ #
1055
+ # @!attribute [rw] demographic
1056
+ # The endpoint demographic attributes.
1057
+ # @return [Types::EndpointDemographic]
1058
+ #
1059
+ # @!attribute [rw] effective_date
1060
+ # The last time the endpoint was updated. Provided in ISO 8601 format.
1061
+ # @return [String]
1062
+ #
1063
+ # @!attribute [rw] endpoint_status
1064
+ # The endpoint status. Can be either ACTIVE or INACTIVE. Will be set
1065
+ # to INACTIVE if a delivery fails. Will be set to ACTIVE if the
1066
+ # address is updated.
1067
+ # @return [String]
1068
+ #
1069
+ # @!attribute [rw] id
1070
+ # The unique ID that you assigned to the endpoint. The ID should be a
1071
+ # globally unique identifier (GUID) to ensure that it is unique
1072
+ # compared to all other endpoints for the application.
1073
+ # @return [String]
1074
+ #
1075
+ # @!attribute [rw] location
1076
+ # The endpoint location attributes.
1077
+ # @return [Types::EndpointLocation]
1078
+ #
1079
+ # @!attribute [rw] metrics
1080
+ # @return [Hash<String,Float>]
1081
+ #
1082
+ # @!attribute [rw] opt_out
1083
+ # Indicates whether a user has opted out of receiving messages with
1084
+ # one of the following values: ALL – User receives all messages. NONE
1085
+ # – User receives no messages.
1086
+ # @return [String]
1087
+ #
1088
+ # @!attribute [rw] request_id
1089
+ # The unique ID for the most recent request to update the endpoint.
1090
+ # @return [String]
1091
+ #
1092
+ # @!attribute [rw] shard_id
1093
+ # The ShardId of endpoint
1094
+ # @return [String]
1095
+ #
1096
+ # @!attribute [rw] user
1097
+ # Custom user-specific attributes that your app reports to Amazon
1098
+ # Pinpoint.
1099
+ # @return [Types::EndpointUser]
1100
+ class EndpointResponse < Struct.new(
1101
+ :address,
1102
+ :application_id,
1103
+ :attributes,
1104
+ :channel_type,
1105
+ :cohort_id,
1106
+ :creation_date,
1107
+ :demographic,
1108
+ :effective_date,
1109
+ :endpoint_status,
1110
+ :id,
1111
+ :location,
1112
+ :metrics,
1113
+ :opt_out,
1114
+ :request_id,
1115
+ :shard_id,
1116
+ :user)
1117
+ include Aws::Structure
1118
+ end
1119
+
1120
+ # @note When making an API call, pass EndpointUser
1121
+ # data as a hash:
1122
+ #
1123
+ # {
1124
+ # user_attributes: {
1125
+ # "__string" => ["__string"],
1126
+ # },
1127
+ # user_id: "__string",
1128
+ # }
1129
+ # @!attribute [rw] user_attributes
1130
+ # @return [Hash<String,Array<String>>]
1131
+ #
1132
+ # @!attribute [rw] user_id
1133
+ # The unique ID of the user.
1134
+ # @return [String]
1135
+ class EndpointUser < Struct.new(
1136
+ :user_attributes,
1137
+ :user_id)
1138
+ include Aws::Structure
1139
+ end
1140
+
1141
+ # @note When making an API call, pass GCMChannelRequest
1142
+ # data as a hash:
1143
+ #
1144
+ # {
1145
+ # api_key: "__string",
1146
+ # }
1147
+ # @!attribute [rw] api_key
1148
+ # Platform credential API key from Google.
1149
+ # @return [String]
1150
+ class GCMChannelRequest < Struct.new(
1151
+ :api_key)
1152
+ include Aws::Structure
1153
+ end
1154
+
1155
+ # @!attribute [rw] application_id
1156
+ # @return [String]
1157
+ #
1158
+ # @!attribute [rw] creation_date
1159
+ # When was this segment created
1160
+ # @return [String]
1161
+ #
1162
+ # @!attribute [rw] credential
1163
+ # The GCM API key from Google.
1164
+ # @return [String]
1165
+ #
1166
+ # @!attribute [rw] id
1167
+ # @return [String]
1168
+ #
1169
+ # @!attribute [rw] is_archived
1170
+ # Is this channel archived
1171
+ # @return [Boolean]
1172
+ #
1173
+ # @!attribute [rw] last_modified_by
1174
+ # Who last updated this entry
1175
+ # @return [String]
1176
+ #
1177
+ # @!attribute [rw] last_modified_date
1178
+ # Last date this was updated
1179
+ # @return [String]
1180
+ #
1181
+ # @!attribute [rw] platform
1182
+ # The platform type. Will be GCM
1183
+ # @return [String]
1184
+ #
1185
+ # @!attribute [rw] version
1186
+ # Version of channel
1187
+ # @return [Integer]
1188
+ class GCMChannelResponse < Struct.new(
1189
+ :application_id,
1190
+ :creation_date,
1191
+ :credential,
1192
+ :id,
1193
+ :is_archived,
1194
+ :last_modified_by,
1195
+ :last_modified_date,
1196
+ :platform,
1197
+ :version)
1198
+ include Aws::Structure
1199
+ end
1200
+
1201
+ # @note When making an API call, pass GetApnsChannelRequest
1202
+ # data as a hash:
1203
+ #
1204
+ # {
1205
+ # application_id: "__string", # required
1206
+ # }
1207
+ # @!attribute [rw] application_id
1208
+ # @return [String]
1209
+ class GetApnsChannelRequest < Struct.new(
1210
+ :application_id)
1211
+ include Aws::Structure
1212
+ end
1213
+
1214
+ # @!attribute [rw] apns_channel_response
1215
+ # @return [Types::APNSChannelResponse]
1216
+ class GetApnsChannelResponse < Struct.new(
1217
+ :apns_channel_response)
1218
+ include Aws::Structure
1219
+ end
1220
+
1221
+ # @note When making an API call, pass GetApplicationSettingsRequest
1222
+ # data as a hash:
1223
+ #
1224
+ # {
1225
+ # application_id: "__string", # required
1226
+ # }
1227
+ # @!attribute [rw] application_id
1228
+ # @return [String]
1229
+ class GetApplicationSettingsRequest < Struct.new(
1230
+ :application_id)
1231
+ include Aws::Structure
1232
+ end
1233
+
1234
+ # @!attribute [rw] application_settings_resource
1235
+ # @return [Types::ApplicationSettingsResource]
1236
+ class GetApplicationSettingsResponse < Struct.new(
1237
+ :application_settings_resource)
1238
+ include Aws::Structure
1239
+ end
1240
+
1241
+ # @note When making an API call, pass GetCampaignActivitiesRequest
1242
+ # data as a hash:
1243
+ #
1244
+ # {
1245
+ # application_id: "__string", # required
1246
+ # campaign_id: "__string", # required
1247
+ # page_size: "__string",
1248
+ # token: "__string",
1249
+ # }
1250
+ # @!attribute [rw] application_id
1251
+ # @return [String]
1252
+ #
1253
+ # @!attribute [rw] campaign_id
1254
+ # @return [String]
1255
+ #
1256
+ # @!attribute [rw] page_size
1257
+ # @return [String]
1258
+ #
1259
+ # @!attribute [rw] token
1260
+ # @return [String]
1261
+ class GetCampaignActivitiesRequest < Struct.new(
1262
+ :application_id,
1263
+ :campaign_id,
1264
+ :page_size,
1265
+ :token)
1266
+ include Aws::Structure
1267
+ end
1268
+
1269
+ # @!attribute [rw] activities_response
1270
+ # @return [Types::ActivitiesResponse]
1271
+ class GetCampaignActivitiesResponse < Struct.new(
1272
+ :activities_response)
1273
+ include Aws::Structure
1274
+ end
1275
+
1276
+ # @note When making an API call, pass GetCampaignRequest
1277
+ # data as a hash:
1278
+ #
1279
+ # {
1280
+ # application_id: "__string", # required
1281
+ # campaign_id: "__string", # required
1282
+ # }
1283
+ # @!attribute [rw] application_id
1284
+ # @return [String]
1285
+ #
1286
+ # @!attribute [rw] campaign_id
1287
+ # @return [String]
1288
+ class GetCampaignRequest < Struct.new(
1289
+ :application_id,
1290
+ :campaign_id)
1291
+ include Aws::Structure
1292
+ end
1293
+
1294
+ # @!attribute [rw] campaign_response
1295
+ # @return [Types::CampaignResponse]
1296
+ class GetCampaignResponse < Struct.new(
1297
+ :campaign_response)
1298
+ include Aws::Structure
1299
+ end
1300
+
1301
+ # @note When making an API call, pass GetCampaignVersionRequest
1302
+ # data as a hash:
1303
+ #
1304
+ # {
1305
+ # application_id: "__string", # required
1306
+ # campaign_id: "__string", # required
1307
+ # version: "__string", # required
1308
+ # }
1309
+ # @!attribute [rw] application_id
1310
+ # @return [String]
1311
+ #
1312
+ # @!attribute [rw] campaign_id
1313
+ # @return [String]
1314
+ #
1315
+ # @!attribute [rw] version
1316
+ # @return [String]
1317
+ class GetCampaignVersionRequest < Struct.new(
1318
+ :application_id,
1319
+ :campaign_id,
1320
+ :version)
1321
+ include Aws::Structure
1322
+ end
1323
+
1324
+ # @!attribute [rw] campaign_response
1325
+ # @return [Types::CampaignResponse]
1326
+ class GetCampaignVersionResponse < Struct.new(
1327
+ :campaign_response)
1328
+ include Aws::Structure
1329
+ end
1330
+
1331
+ # @note When making an API call, pass GetCampaignVersionsRequest
1332
+ # data as a hash:
1333
+ #
1334
+ # {
1335
+ # application_id: "__string", # required
1336
+ # campaign_id: "__string", # required
1337
+ # page_size: "__string",
1338
+ # token: "__string",
1339
+ # }
1340
+ # @!attribute [rw] application_id
1341
+ # @return [String]
1342
+ #
1343
+ # @!attribute [rw] campaign_id
1344
+ # @return [String]
1345
+ #
1346
+ # @!attribute [rw] page_size
1347
+ # @return [String]
1348
+ #
1349
+ # @!attribute [rw] token
1350
+ # @return [String]
1351
+ class GetCampaignVersionsRequest < Struct.new(
1352
+ :application_id,
1353
+ :campaign_id,
1354
+ :page_size,
1355
+ :token)
1356
+ include Aws::Structure
1357
+ end
1358
+
1359
+ # @!attribute [rw] campaigns_response
1360
+ # @return [Types::CampaignsResponse]
1361
+ class GetCampaignVersionsResponse < Struct.new(
1362
+ :campaigns_response)
1363
+ include Aws::Structure
1364
+ end
1365
+
1366
+ # @note When making an API call, pass GetCampaignsRequest
1367
+ # data as a hash:
1368
+ #
1369
+ # {
1370
+ # application_id: "__string", # required
1371
+ # page_size: "__string",
1372
+ # token: "__string",
1373
+ # }
1374
+ # @!attribute [rw] application_id
1375
+ # @return [String]
1376
+ #
1377
+ # @!attribute [rw] page_size
1378
+ # @return [String]
1379
+ #
1380
+ # @!attribute [rw] token
1381
+ # @return [String]
1382
+ class GetCampaignsRequest < Struct.new(
1383
+ :application_id,
1384
+ :page_size,
1385
+ :token)
1386
+ include Aws::Structure
1387
+ end
1388
+
1389
+ # @!attribute [rw] campaigns_response
1390
+ # @return [Types::CampaignsResponse]
1391
+ class GetCampaignsResponse < Struct.new(
1392
+ :campaigns_response)
1393
+ include Aws::Structure
1394
+ end
1395
+
1396
+ # @note When making an API call, pass GetEndpointRequest
1397
+ # data as a hash:
1398
+ #
1399
+ # {
1400
+ # application_id: "__string", # required
1401
+ # endpoint_id: "__string", # required
1402
+ # }
1403
+ # @!attribute [rw] application_id
1404
+ # @return [String]
1405
+ #
1406
+ # @!attribute [rw] endpoint_id
1407
+ # @return [String]
1408
+ class GetEndpointRequest < Struct.new(
1409
+ :application_id,
1410
+ :endpoint_id)
1411
+ include Aws::Structure
1412
+ end
1413
+
1414
+ # @!attribute [rw] endpoint_response
1415
+ # @return [Types::EndpointResponse]
1416
+ class GetEndpointResponse < Struct.new(
1417
+ :endpoint_response)
1418
+ include Aws::Structure
1419
+ end
1420
+
1421
+ # @note When making an API call, pass GetGcmChannelRequest
1422
+ # data as a hash:
1423
+ #
1424
+ # {
1425
+ # application_id: "__string", # required
1426
+ # }
1427
+ # @!attribute [rw] application_id
1428
+ # @return [String]
1429
+ class GetGcmChannelRequest < Struct.new(
1430
+ :application_id)
1431
+ include Aws::Structure
1432
+ end
1433
+
1434
+ # @!attribute [rw] gcm_channel_response
1435
+ # @return [Types::GCMChannelResponse]
1436
+ class GetGcmChannelResponse < Struct.new(
1437
+ :gcm_channel_response)
1438
+ include Aws::Structure
1439
+ end
1440
+
1441
+ # @note When making an API call, pass GetImportJobRequest
1442
+ # data as a hash:
1443
+ #
1444
+ # {
1445
+ # application_id: "__string", # required
1446
+ # job_id: "__string", # required
1447
+ # }
1448
+ # @!attribute [rw] application_id
1449
+ # @return [String]
1450
+ #
1451
+ # @!attribute [rw] job_id
1452
+ # @return [String]
1453
+ class GetImportJobRequest < Struct.new(
1454
+ :application_id,
1455
+ :job_id)
1456
+ include Aws::Structure
1457
+ end
1458
+
1459
+ # @!attribute [rw] import_job_response
1460
+ # @return [Types::ImportJobResponse]
1461
+ class GetImportJobResponse < Struct.new(
1462
+ :import_job_response)
1463
+ include Aws::Structure
1464
+ end
1465
+
1466
+ # @note When making an API call, pass GetImportJobsRequest
1467
+ # data as a hash:
1468
+ #
1469
+ # {
1470
+ # application_id: "__string", # required
1471
+ # page_size: "__string",
1472
+ # token: "__string",
1473
+ # }
1474
+ # @!attribute [rw] application_id
1475
+ # @return [String]
1476
+ #
1477
+ # @!attribute [rw] page_size
1478
+ # @return [String]
1479
+ #
1480
+ # @!attribute [rw] token
1481
+ # @return [String]
1482
+ class GetImportJobsRequest < Struct.new(
1483
+ :application_id,
1484
+ :page_size,
1485
+ :token)
1486
+ include Aws::Structure
1487
+ end
1488
+
1489
+ # @!attribute [rw] import_jobs_response
1490
+ # @return [Types::ImportJobsResponse]
1491
+ class GetImportJobsResponse < Struct.new(
1492
+ :import_jobs_response)
1493
+ include Aws::Structure
1494
+ end
1495
+
1496
+ # @note When making an API call, pass GetSegmentImportJobsRequest
1497
+ # data as a hash:
1498
+ #
1499
+ # {
1500
+ # application_id: "__string", # required
1501
+ # page_size: "__string",
1502
+ # segment_id: "__string", # required
1503
+ # token: "__string",
1504
+ # }
1505
+ # @!attribute [rw] application_id
1506
+ # @return [String]
1507
+ #
1508
+ # @!attribute [rw] page_size
1509
+ # @return [String]
1510
+ #
1511
+ # @!attribute [rw] segment_id
1512
+ # @return [String]
1513
+ #
1514
+ # @!attribute [rw] token
1515
+ # @return [String]
1516
+ class GetSegmentImportJobsRequest < Struct.new(
1517
+ :application_id,
1518
+ :page_size,
1519
+ :segment_id,
1520
+ :token)
1521
+ include Aws::Structure
1522
+ end
1523
+
1524
+ # @!attribute [rw] import_jobs_response
1525
+ # @return [Types::ImportJobsResponse]
1526
+ class GetSegmentImportJobsResponse < Struct.new(
1527
+ :import_jobs_response)
1528
+ include Aws::Structure
1529
+ end
1530
+
1531
+ # @note When making an API call, pass GetSegmentRequest
1532
+ # data as a hash:
1533
+ #
1534
+ # {
1535
+ # application_id: "__string", # required
1536
+ # segment_id: "__string", # required
1537
+ # }
1538
+ # @!attribute [rw] application_id
1539
+ # @return [String]
1540
+ #
1541
+ # @!attribute [rw] segment_id
1542
+ # @return [String]
1543
+ class GetSegmentRequest < Struct.new(
1544
+ :application_id,
1545
+ :segment_id)
1546
+ include Aws::Structure
1547
+ end
1548
+
1549
+ # @!attribute [rw] segment_response
1550
+ # @return [Types::SegmentResponse]
1551
+ class GetSegmentResponse < Struct.new(
1552
+ :segment_response)
1553
+ include Aws::Structure
1554
+ end
1555
+
1556
+ # @note When making an API call, pass GetSegmentVersionRequest
1557
+ # data as a hash:
1558
+ #
1559
+ # {
1560
+ # application_id: "__string", # required
1561
+ # segment_id: "__string", # required
1562
+ # version: "__string", # required
1563
+ # }
1564
+ # @!attribute [rw] application_id
1565
+ # @return [String]
1566
+ #
1567
+ # @!attribute [rw] segment_id
1568
+ # @return [String]
1569
+ #
1570
+ # @!attribute [rw] version
1571
+ # @return [String]
1572
+ class GetSegmentVersionRequest < Struct.new(
1573
+ :application_id,
1574
+ :segment_id,
1575
+ :version)
1576
+ include Aws::Structure
1577
+ end
1578
+
1579
+ # @!attribute [rw] segment_response
1580
+ # @return [Types::SegmentResponse]
1581
+ class GetSegmentVersionResponse < Struct.new(
1582
+ :segment_response)
1583
+ include Aws::Structure
1584
+ end
1585
+
1586
+ # @note When making an API call, pass GetSegmentVersionsRequest
1587
+ # data as a hash:
1588
+ #
1589
+ # {
1590
+ # application_id: "__string", # required
1591
+ # page_size: "__string",
1592
+ # segment_id: "__string", # required
1593
+ # token: "__string",
1594
+ # }
1595
+ # @!attribute [rw] application_id
1596
+ # @return [String]
1597
+ #
1598
+ # @!attribute [rw] page_size
1599
+ # @return [String]
1600
+ #
1601
+ # @!attribute [rw] segment_id
1602
+ # @return [String]
1603
+ #
1604
+ # @!attribute [rw] token
1605
+ # @return [String]
1606
+ class GetSegmentVersionsRequest < Struct.new(
1607
+ :application_id,
1608
+ :page_size,
1609
+ :segment_id,
1610
+ :token)
1611
+ include Aws::Structure
1612
+ end
1613
+
1614
+ # @!attribute [rw] segments_response
1615
+ # @return [Types::SegmentsResponse]
1616
+ class GetSegmentVersionsResponse < Struct.new(
1617
+ :segments_response)
1618
+ include Aws::Structure
1619
+ end
1620
+
1621
+ # @note When making an API call, pass GetSegmentsRequest
1622
+ # data as a hash:
1623
+ #
1624
+ # {
1625
+ # application_id: "__string", # required
1626
+ # page_size: "__string",
1627
+ # token: "__string",
1628
+ # }
1629
+ # @!attribute [rw] application_id
1630
+ # @return [String]
1631
+ #
1632
+ # @!attribute [rw] page_size
1633
+ # @return [String]
1634
+ #
1635
+ # @!attribute [rw] token
1636
+ # @return [String]
1637
+ class GetSegmentsRequest < Struct.new(
1638
+ :application_id,
1639
+ :page_size,
1640
+ :token)
1641
+ include Aws::Structure
1642
+ end
1643
+
1644
+ # @!attribute [rw] segments_response
1645
+ # @return [Types::SegmentsResponse]
1646
+ class GetSegmentsResponse < Struct.new(
1647
+ :segments_response)
1648
+ include Aws::Structure
1649
+ end
1650
+
1651
+ # @note When making an API call, pass ImportJobRequest
1652
+ # data as a hash:
1653
+ #
1654
+ # {
1655
+ # define_segment: false,
1656
+ # external_id: "__string",
1657
+ # format: "CSV", # accepts CSV, JSON
1658
+ # register_endpoints: false,
1659
+ # role_arn: "__string",
1660
+ # s3_url: "__string",
1661
+ # segment_id: "__string",
1662
+ # segment_name: "__string",
1663
+ # }
1664
+ # @!attribute [rw] define_segment
1665
+ # Sets whether the endpoints create a segment when they are imported.
1666
+ # @return [Boolean]
1667
+ #
1668
+ # @!attribute [rw] external_id
1669
+ # A unique, custom ID assigned to the IAM role that restricts who can
1670
+ # assume the role.
1671
+ # @return [String]
1672
+ #
1673
+ # @!attribute [rw] format
1674
+ # @return [String]
1675
+ #
1676
+ # @!attribute [rw] register_endpoints
1677
+ # Sets whether the endpoints are registered with Amazon Pinpoint when
1678
+ # they are imported.
1679
+ # @return [Boolean]
1680
+ #
1681
+ # @!attribute [rw] role_arn
1682
+ # The Amazon Resource Name (ARN) of an IAM role that grants Amazon
1683
+ # Pinpoint access to the Amazon S3 location that contains the
1684
+ # endpoints to import.
1685
+ # @return [String]
1686
+ #
1687
+ # @!attribute [rw] s3_url
1688
+ # A URL that points to the location within an Amazon S3 bucket that
1689
+ # contains the endpoints to import. The location can be a folder or a
1690
+ # single file. The URL should follow this format:
1691
+ # s3://bucket-name/folder-name/file-name Amazon Pinpoint will import
1692
+ # endpoints from this location and any subfolders it contains.
1693
+ # @return [String]
1694
+ #
1695
+ # @!attribute [rw] segment_id
1696
+ # The ID of the segment to update if the import job is meant to update
1697
+ # an existing segment.
1698
+ # @return [String]
1699
+ #
1700
+ # @!attribute [rw] segment_name
1701
+ # A custom name for the segment created by the import job. Use if
1702
+ # DefineSegment is true.
1703
+ # @return [String]
1704
+ class ImportJobRequest < Struct.new(
1705
+ :define_segment,
1706
+ :external_id,
1707
+ :format,
1708
+ :register_endpoints,
1709
+ :role_arn,
1710
+ :s3_url,
1711
+ :segment_id,
1712
+ :segment_name)
1713
+ include Aws::Structure
1714
+ end
1715
+
1716
+ # @!attribute [rw] define_segment
1717
+ # Sets whether the endpoints create a segment when they are imported.
1718
+ # @return [Boolean]
1719
+ #
1720
+ # @!attribute [rw] external_id
1721
+ # A unique, custom ID assigned to the IAM role that restricts who can
1722
+ # assume the role.
1723
+ # @return [String]
1724
+ #
1725
+ # @!attribute [rw] format
1726
+ # @return [String]
1727
+ #
1728
+ # @!attribute [rw] register_endpoints
1729
+ # Sets whether the endpoints are registered with Amazon Pinpoint when
1730
+ # they are imported.
1731
+ # @return [Boolean]
1732
+ #
1733
+ # @!attribute [rw] role_arn
1734
+ # The Amazon Resource Name (ARN) of an IAM role that grants Amazon
1735
+ # Pinpoint access to the Amazon S3 location that contains the
1736
+ # endpoints to import.
1737
+ # @return [String]
1738
+ #
1739
+ # @!attribute [rw] s3_url
1740
+ # A URL that points to the location within an Amazon S3 bucket that
1741
+ # contains the endpoints to import. The location can be a folder or a
1742
+ # single file. The URL should follow this format:
1743
+ # s3://bucket-name/folder-name/file-name Amazon Pinpoint will import
1744
+ # endpoints from this location and any subfolders it contains.
1745
+ # @return [String]
1746
+ #
1747
+ # @!attribute [rw] segment_id
1748
+ # The ID of the segment to update if the import job is meant to update
1749
+ # an existing segment.
1750
+ # @return [String]
1751
+ #
1752
+ # @!attribute [rw] segment_name
1753
+ # A custom name for the segment created by the import job. Use if
1754
+ # DefineSegment is true.
1755
+ # @return [String]
1756
+ class ImportJobResource < Struct.new(
1757
+ :define_segment,
1758
+ :external_id,
1759
+ :format,
1760
+ :register_endpoints,
1761
+ :role_arn,
1762
+ :s3_url,
1763
+ :segment_id,
1764
+ :segment_name)
1765
+ include Aws::Structure
1766
+ end
1767
+
1768
+ # @!attribute [rw] application_id
1769
+ # The unique ID of the application to which the import job applies.
1770
+ # @return [String]
1771
+ #
1772
+ # @!attribute [rw] completed_pieces
1773
+ # The number of pieces that have successfully imported as of the time
1774
+ # of the request.
1775
+ # @return [Integer]
1776
+ #
1777
+ # @!attribute [rw] completion_date
1778
+ # The date the import job completed in ISO 8601 format.
1779
+ # @return [String]
1780
+ #
1781
+ # @!attribute [rw] creation_date
1782
+ # The date the import job was created in ISO 8601 format.
1783
+ # @return [String]
1784
+ #
1785
+ # @!attribute [rw] definition
1786
+ # The import job settings.
1787
+ # @return [Types::ImportJobResource]
1788
+ #
1789
+ # @!attribute [rw] failed_pieces
1790
+ # The number of pieces that have failed to import as of the time of
1791
+ # the request.
1792
+ # @return [Integer]
1793
+ #
1794
+ # @!attribute [rw] failures
1795
+ # @return [Array<String>]
1796
+ #
1797
+ # @!attribute [rw] id
1798
+ # The unique ID of the import job.
1799
+ # @return [String]
1800
+ #
1801
+ # @!attribute [rw] job_status
1802
+ # @return [String]
1803
+ #
1804
+ # @!attribute [rw] total_failures
1805
+ # The number of endpoints that failed to import; for example, because
1806
+ # of syntax errors.
1807
+ # @return [Integer]
1808
+ #
1809
+ # @!attribute [rw] total_pieces
1810
+ # The total number of pieces that must be imported to finish the job.
1811
+ # Each piece is an approximately equal portion of the endpoints to
1812
+ # import.
1813
+ # @return [Integer]
1814
+ #
1815
+ # @!attribute [rw] total_processed
1816
+ # The number of endpoints that were processed by the import job.
1817
+ # @return [Integer]
1818
+ #
1819
+ # @!attribute [rw] type
1820
+ # The job type. Will be Import.
1821
+ # @return [String]
1822
+ class ImportJobResponse < Struct.new(
1823
+ :application_id,
1824
+ :completed_pieces,
1825
+ :completion_date,
1826
+ :creation_date,
1827
+ :definition,
1828
+ :failed_pieces,
1829
+ :failures,
1830
+ :id,
1831
+ :job_status,
1832
+ :total_failures,
1833
+ :total_pieces,
1834
+ :total_processed,
1835
+ :type)
1836
+ include Aws::Structure
1837
+ end
1838
+
1839
+ # @!attribute [rw] item
1840
+ # A list of import jobs for the application.
1841
+ # @return [Array<Types::ImportJobResponse>]
1842
+ #
1843
+ # @!attribute [rw] next_token
1844
+ # The string that you use in a subsequent request to get the next page
1845
+ # of results in a paginated response.
1846
+ # @return [String]
1847
+ class ImportJobsResponse < Struct.new(
1848
+ :item,
1849
+ :next_token)
1850
+ include Aws::Structure
1851
+ end
1852
+
1853
+ # @note When making an API call, pass Message
1854
+ # data as a hash:
1855
+ #
1856
+ # {
1857
+ # action: "OPEN_APP", # accepts OPEN_APP, DEEP_LINK, URL
1858
+ # body: "__string",
1859
+ # image_icon_url: "__string",
1860
+ # image_url: "__string",
1861
+ # json_body: "__string",
1862
+ # media_url: "__string",
1863
+ # silent_push: false,
1864
+ # title: "__string",
1865
+ # url: "__string",
1866
+ # }
1867
+ # @!attribute [rw] action
1868
+ # @return [String]
1869
+ #
1870
+ # @!attribute [rw] body
1871
+ # The message body. Can include up to 140 characters.
1872
+ # @return [String]
1873
+ #
1874
+ # @!attribute [rw] image_icon_url
1875
+ # The URL that points to the icon image for the push notification
1876
+ # icon, for example, the app icon.
1877
+ # @return [String]
1878
+ #
1879
+ # @!attribute [rw] image_url
1880
+ # The URL that points to an image used in the push notification.
1881
+ # @return [String]
1882
+ #
1883
+ # @!attribute [rw] json_body
1884
+ # The JSON payload used for a silent push.
1885
+ # @return [String]
1886
+ #
1887
+ # @!attribute [rw] media_url
1888
+ # The URL that points to the media resource, for example a .mp4 or
1889
+ # .gif file.
1890
+ # @return [String]
1891
+ #
1892
+ # @!attribute [rw] silent_push
1893
+ # Indicates if the message should display on the users device. Silent
1894
+ # pushes can be used for Remote Configuration and Phone Home use
1895
+ # cases.
1896
+ # @return [Boolean]
1897
+ #
1898
+ # @!attribute [rw] title
1899
+ # The message title that displays above the message on the user's
1900
+ # device.
1901
+ # @return [String]
1902
+ #
1903
+ # @!attribute [rw] url
1904
+ # The URL to open in the user's mobile browser. Used if the value for
1905
+ # Action is URL.
1906
+ # @return [String]
1907
+ class Message < Struct.new(
1908
+ :action,
1909
+ :body,
1910
+ :image_icon_url,
1911
+ :image_url,
1912
+ :json_body,
1913
+ :media_url,
1914
+ :silent_push,
1915
+ :title,
1916
+ :url)
1917
+ include Aws::Structure
1918
+ end
1919
+
1920
+ # @!attribute [rw] message
1921
+ # @return [String]
1922
+ #
1923
+ # @!attribute [rw] request_id
1924
+ # @return [String]
1925
+ class MessageBody < Struct.new(
1926
+ :message,
1927
+ :request_id)
1928
+ include Aws::Structure
1929
+ end
1930
+
1931
+ # @note When making an API call, pass MessageConfiguration
1932
+ # data as a hash:
1933
+ #
1934
+ # {
1935
+ # apns_message: {
1936
+ # action: "OPEN_APP", # accepts OPEN_APP, DEEP_LINK, URL
1937
+ # body: "__string",
1938
+ # image_icon_url: "__string",
1939
+ # image_url: "__string",
1940
+ # json_body: "__string",
1941
+ # media_url: "__string",
1942
+ # silent_push: false,
1943
+ # title: "__string",
1944
+ # url: "__string",
1945
+ # },
1946
+ # default_message: {
1947
+ # action: "OPEN_APP", # accepts OPEN_APP, DEEP_LINK, URL
1948
+ # body: "__string",
1949
+ # image_icon_url: "__string",
1950
+ # image_url: "__string",
1951
+ # json_body: "__string",
1952
+ # media_url: "__string",
1953
+ # silent_push: false,
1954
+ # title: "__string",
1955
+ # url: "__string",
1956
+ # },
1957
+ # gcm_message: {
1958
+ # action: "OPEN_APP", # accepts OPEN_APP, DEEP_LINK, URL
1959
+ # body: "__string",
1960
+ # image_icon_url: "__string",
1961
+ # image_url: "__string",
1962
+ # json_body: "__string",
1963
+ # media_url: "__string",
1964
+ # silent_push: false,
1965
+ # title: "__string",
1966
+ # url: "__string",
1967
+ # },
1968
+ # }
1969
+ # @!attribute [rw] apns_message
1970
+ # The message that the campaign delivers to APNS channels. Overrides
1971
+ # the default message.
1972
+ # @return [Types::Message]
1973
+ #
1974
+ # @!attribute [rw] default_message
1975
+ # The default message for all channels.
1976
+ # @return [Types::Message]
1977
+ #
1978
+ # @!attribute [rw] gcm_message
1979
+ # The message that the campaign delivers to GCM channels. Overrides
1980
+ # the default message.
1981
+ # @return [Types::Message]
1982
+ class MessageConfiguration < Struct.new(
1983
+ :apns_message,
1984
+ :default_message,
1985
+ :gcm_message)
1986
+ include Aws::Structure
1987
+ end
1988
+
1989
+ # @note When making an API call, pass QuietTime
1990
+ # data as a hash:
1991
+ #
1992
+ # {
1993
+ # end: "__string",
1994
+ # start: "__string",
1995
+ # }
1996
+ # @!attribute [rw] end
1997
+ # The default end time for quiet time in ISO 8601 format.
1998
+ # @return [String]
1999
+ #
2000
+ # @!attribute [rw] start
2001
+ # The default start time for quiet time in ISO 8601 format.
2002
+ # @return [String]
2003
+ class QuietTime < Struct.new(
2004
+ :end,
2005
+ :start)
2006
+ include Aws::Structure
2007
+ end
2008
+
2009
+ # @note When making an API call, pass RecencyDimension
2010
+ # data as a hash:
2011
+ #
2012
+ # {
2013
+ # duration: "HR_24", # accepts HR_24, DAY_7, DAY_14, DAY_30
2014
+ # recency_type: "ACTIVE", # accepts ACTIVE, INACTIVE
2015
+ # }
2016
+ # @!attribute [rw] duration
2017
+ # @return [String]
2018
+ #
2019
+ # @!attribute [rw] recency_type
2020
+ # @return [String]
2021
+ class RecencyDimension < Struct.new(
2022
+ :duration,
2023
+ :recency_type)
2024
+ include Aws::Structure
2025
+ end
2026
+
2027
+ # @note When making an API call, pass Schedule
2028
+ # data as a hash:
2029
+ #
2030
+ # {
2031
+ # end_time: "__string",
2032
+ # frequency: "ONCE", # accepts ONCE, HOURLY, DAILY, WEEKLY, MONTHLY
2033
+ # is_local_time: false,
2034
+ # quiet_time: {
2035
+ # end: "__string",
2036
+ # start: "__string",
2037
+ # },
2038
+ # start_time: "__string",
2039
+ # timezone: "__string",
2040
+ # }
2041
+ # @!attribute [rw] end_time
2042
+ # The scheduled time that the campaign ends in ISO 8601 format.
2043
+ # @return [String]
2044
+ #
2045
+ # @!attribute [rw] frequency
2046
+ # @return [String]
2047
+ #
2048
+ # @!attribute [rw] is_local_time
2049
+ # Indicates whether the campaign schedule takes effect according to
2050
+ # each user's local time.
2051
+ # @return [Boolean]
2052
+ #
2053
+ # @!attribute [rw] quiet_time
2054
+ # The time during which the campaign sends no messages.
2055
+ # @return [Types::QuietTime]
2056
+ #
2057
+ # @!attribute [rw] start_time
2058
+ # The scheduled time that the campaign begins in ISO 8601 format.
2059
+ # @return [String]
2060
+ #
2061
+ # @!attribute [rw] timezone
2062
+ # The starting UTC offset for the schedule if the value for
2063
+ # isLocalTime is true Valid values: UTC UTC+01 UTC+02 UTC+03 UTC+03:30
2064
+ # UTC+04 UTC+04:30 UTC+05 UTC+05:30 UTC+05:45 UTC+06 UTC+06:30 UTC+07
2065
+ # UTC+08 UTC+09 UTC+09:30 UTC+10 UTC+10:30 UTC+11 UTC+12 UTC+13 UTC-02
2066
+ # UTC-03 UTC-04 UTC-05 UTC-06 UTC-07 UTC-08 UTC-09 UTC-10 UTC-11
2067
+ # @return [String]
2068
+ class Schedule < Struct.new(
2069
+ :end_time,
2070
+ :frequency,
2071
+ :is_local_time,
2072
+ :quiet_time,
2073
+ :start_time,
2074
+ :timezone)
2075
+ include Aws::Structure
2076
+ end
2077
+
2078
+ # @note When making an API call, pass SegmentBehaviors
2079
+ # data as a hash:
2080
+ #
2081
+ # {
2082
+ # recency: {
2083
+ # duration: "HR_24", # accepts HR_24, DAY_7, DAY_14, DAY_30
2084
+ # recency_type: "ACTIVE", # accepts ACTIVE, INACTIVE
2085
+ # },
2086
+ # }
2087
+ # @!attribute [rw] recency
2088
+ # The recency of use.
2089
+ # @return [Types::RecencyDimension]
2090
+ class SegmentBehaviors < Struct.new(
2091
+ :recency)
2092
+ include Aws::Structure
2093
+ end
2094
+
2095
+ # @note When making an API call, pass SegmentDemographics
2096
+ # data as a hash:
2097
+ #
2098
+ # {
2099
+ # app_version: {
2100
+ # dimension_type: "INCLUSIVE", # accepts INCLUSIVE, EXCLUSIVE
2101
+ # values: ["__string"],
2102
+ # },
2103
+ # device_type: {
2104
+ # dimension_type: "INCLUSIVE", # accepts INCLUSIVE, EXCLUSIVE
2105
+ # values: ["__string"],
2106
+ # },
2107
+ # make: {
2108
+ # dimension_type: "INCLUSIVE", # accepts INCLUSIVE, EXCLUSIVE
2109
+ # values: ["__string"],
2110
+ # },
2111
+ # model: {
2112
+ # dimension_type: "INCLUSIVE", # accepts INCLUSIVE, EXCLUSIVE
2113
+ # values: ["__string"],
2114
+ # },
2115
+ # platform: {
2116
+ # dimension_type: "INCLUSIVE", # accepts INCLUSIVE, EXCLUSIVE
2117
+ # values: ["__string"],
2118
+ # },
2119
+ # }
2120
+ # @!attribute [rw] app_version
2121
+ # The app version criteria for the segment.
2122
+ # @return [Types::SetDimension]
2123
+ #
2124
+ # @!attribute [rw] device_type
2125
+ # The device type criteria for the segment.
2126
+ # @return [Types::SetDimension]
2127
+ #
2128
+ # @!attribute [rw] make
2129
+ # The device make criteria for the segment.
2130
+ # @return [Types::SetDimension]
2131
+ #
2132
+ # @!attribute [rw] model
2133
+ # The device model criteria for the segment.
2134
+ # @return [Types::SetDimension]
2135
+ #
2136
+ # @!attribute [rw] platform
2137
+ # The device platform criteria for the segment.
2138
+ # @return [Types::SetDimension]
2139
+ class SegmentDemographics < Struct.new(
2140
+ :app_version,
2141
+ :device_type,
2142
+ :make,
2143
+ :model,
2144
+ :platform)
2145
+ include Aws::Structure
2146
+ end
2147
+
2148
+ # @note When making an API call, pass SegmentDimensions
2149
+ # data as a hash:
2150
+ #
2151
+ # {
2152
+ # attributes: {
2153
+ # "__string" => {
2154
+ # attribute_type: "INCLUSIVE", # accepts INCLUSIVE, EXCLUSIVE
2155
+ # values: ["__string"],
2156
+ # },
2157
+ # },
2158
+ # behavior: {
2159
+ # recency: {
2160
+ # duration: "HR_24", # accepts HR_24, DAY_7, DAY_14, DAY_30
2161
+ # recency_type: "ACTIVE", # accepts ACTIVE, INACTIVE
2162
+ # },
2163
+ # },
2164
+ # demographic: {
2165
+ # app_version: {
2166
+ # dimension_type: "INCLUSIVE", # accepts INCLUSIVE, EXCLUSIVE
2167
+ # values: ["__string"],
2168
+ # },
2169
+ # device_type: {
2170
+ # dimension_type: "INCLUSIVE", # accepts INCLUSIVE, EXCLUSIVE
2171
+ # values: ["__string"],
2172
+ # },
2173
+ # make: {
2174
+ # dimension_type: "INCLUSIVE", # accepts INCLUSIVE, EXCLUSIVE
2175
+ # values: ["__string"],
2176
+ # },
2177
+ # model: {
2178
+ # dimension_type: "INCLUSIVE", # accepts INCLUSIVE, EXCLUSIVE
2179
+ # values: ["__string"],
2180
+ # },
2181
+ # platform: {
2182
+ # dimension_type: "INCLUSIVE", # accepts INCLUSIVE, EXCLUSIVE
2183
+ # values: ["__string"],
2184
+ # },
2185
+ # },
2186
+ # location: {
2187
+ # country: {
2188
+ # dimension_type: "INCLUSIVE", # accepts INCLUSIVE, EXCLUSIVE
2189
+ # values: ["__string"],
2190
+ # },
2191
+ # },
2192
+ # }
2193
+ # @!attribute [rw] attributes
2194
+ # Custom segment attributes.
2195
+ # @return [Hash<String,Types::AttributeDimension>]
2196
+ #
2197
+ # @!attribute [rw] behavior
2198
+ # The segment behaviors attributes.
2199
+ # @return [Types::SegmentBehaviors]
2200
+ #
2201
+ # @!attribute [rw] demographic
2202
+ # The segment demographics attributes.
2203
+ # @return [Types::SegmentDemographics]
2204
+ #
2205
+ # @!attribute [rw] location
2206
+ # The segment location attributes.
2207
+ # @return [Types::SegmentLocation]
2208
+ class SegmentDimensions < Struct.new(
2209
+ :attributes,
2210
+ :behavior,
2211
+ :demographic,
2212
+ :location)
2213
+ include Aws::Structure
2214
+ end
2215
+
2216
+ # @!attribute [rw] external_id
2217
+ # A unique, custom ID assigned to the IAM role that restricts who can
2218
+ # assume the role.
2219
+ # @return [String]
2220
+ #
2221
+ # @!attribute [rw] format
2222
+ # @return [String]
2223
+ #
2224
+ # @!attribute [rw] role_arn
2225
+ # The Amazon Resource Name (ARN) of an IAM role that grants Amazon
2226
+ # Pinpoint access to the endpoints in Amazon S3.
2227
+ # @return [String]
2228
+ #
2229
+ # @!attribute [rw] s3_url
2230
+ # A URL that points to the Amazon S3 location from which the endpoints
2231
+ # for this segment were imported.
2232
+ # @return [String]
2233
+ #
2234
+ # @!attribute [rw] size
2235
+ # The number of endpoints that were successfully imported to create
2236
+ # this segment.
2237
+ # @return [Integer]
2238
+ class SegmentImportResource < Struct.new(
2239
+ :external_id,
2240
+ :format,
2241
+ :role_arn,
2242
+ :s3_url,
2243
+ :size)
2244
+ include Aws::Structure
2245
+ end
2246
+
2247
+ # @note When making an API call, pass SegmentLocation
2248
+ # data as a hash:
2249
+ #
2250
+ # {
2251
+ # country: {
2252
+ # dimension_type: "INCLUSIVE", # accepts INCLUSIVE, EXCLUSIVE
2253
+ # values: ["__string"],
2254
+ # },
2255
+ # }
2256
+ # @!attribute [rw] country
2257
+ # The country filter according to ISO 3166-1 Alpha-2 codes.
2258
+ # @return [Types::SetDimension]
2259
+ class SegmentLocation < Struct.new(
2260
+ :country)
2261
+ include Aws::Structure
2262
+ end
2263
+
2264
+ # @!attribute [rw] application_id
2265
+ # The ID of the application to which the segment applies.
2266
+ # @return [String]
2267
+ #
2268
+ # @!attribute [rw] creation_date
2269
+ # The date the segment was created in ISO 8601 format.
2270
+ # @return [String]
2271
+ #
2272
+ # @!attribute [rw] dimensions
2273
+ # The segment dimensions attributes.
2274
+ # @return [Types::SegmentDimensions]
2275
+ #
2276
+ # @!attribute [rw] id
2277
+ # The unique segment ID.
2278
+ # @return [String]
2279
+ #
2280
+ # @!attribute [rw] import_definition
2281
+ # The import job settings.
2282
+ # @return [Types::SegmentImportResource]
2283
+ #
2284
+ # @!attribute [rw] last_modified_date
2285
+ # The date the segment was last updated in ISO 8601 format.
2286
+ # @return [String]
2287
+ #
2288
+ # @!attribute [rw] name
2289
+ # The name of segment
2290
+ # @return [String]
2291
+ #
2292
+ # @!attribute [rw] segment_type
2293
+ # @return [String]
2294
+ #
2295
+ # @!attribute [rw] version
2296
+ # The segment version number.
2297
+ # @return [Integer]
2298
+ class SegmentResponse < Struct.new(
2299
+ :application_id,
2300
+ :creation_date,
2301
+ :dimensions,
2302
+ :id,
2303
+ :import_definition,
2304
+ :last_modified_date,
2305
+ :name,
2306
+ :segment_type,
2307
+ :version)
2308
+ include Aws::Structure
2309
+ end
2310
+
2311
+ # @!attribute [rw] item
2312
+ # The list of segments.
2313
+ # @return [Array<Types::SegmentResponse>]
2314
+ #
2315
+ # @!attribute [rw] next_token
2316
+ # An identifier used to retrieve the next page of results. The token
2317
+ # is null if no additional pages exist.
2318
+ # @return [String]
2319
+ class SegmentsResponse < Struct.new(
2320
+ :item,
2321
+ :next_token)
2322
+ include Aws::Structure
2323
+ end
2324
+
2325
+ # @note When making an API call, pass SetDimension
2326
+ # data as a hash:
2327
+ #
2328
+ # {
2329
+ # dimension_type: "INCLUSIVE", # accepts INCLUSIVE, EXCLUSIVE
2330
+ # values: ["__string"],
2331
+ # }
2332
+ # @!attribute [rw] dimension_type
2333
+ # @return [String]
2334
+ #
2335
+ # @!attribute [rw] values
2336
+ # @return [Array<String>]
2337
+ class SetDimension < Struct.new(
2338
+ :dimension_type,
2339
+ :values)
2340
+ include Aws::Structure
2341
+ end
2342
+
2343
+ # @!attribute [rw] id
2344
+ # The unique treatment ID.
2345
+ # @return [String]
2346
+ #
2347
+ # @!attribute [rw] message_configuration
2348
+ # The message configuration settings.
2349
+ # @return [Types::MessageConfiguration]
2350
+ #
2351
+ # @!attribute [rw] schedule
2352
+ # The campaign schedule.
2353
+ # @return [Types::Schedule]
2354
+ #
2355
+ # @!attribute [rw] size_percent
2356
+ # The allocated percentage of users for this treatment.
2357
+ # @return [Integer]
2358
+ #
2359
+ # @!attribute [rw] state
2360
+ # The treatment status.
2361
+ # @return [Types::CampaignState]
2362
+ #
2363
+ # @!attribute [rw] treatment_description
2364
+ # A custom description for the treatment.
2365
+ # @return [String]
2366
+ #
2367
+ # @!attribute [rw] treatment_name
2368
+ # The custom name of a variation of the campaign used for A/B testing.
2369
+ # @return [String]
2370
+ class TreatmentResource < Struct.new(
2371
+ :id,
2372
+ :message_configuration,
2373
+ :schedule,
2374
+ :size_percent,
2375
+ :state,
2376
+ :treatment_description,
2377
+ :treatment_name)
2378
+ include Aws::Structure
2379
+ end
2380
+
2381
+ # @note When making an API call, pass UpdateApnsChannelRequest
2382
+ # data as a hash:
2383
+ #
2384
+ # {
2385
+ # apns_channel_request: { # required
2386
+ # certificate: "__string",
2387
+ # private_key: "__string",
2388
+ # },
2389
+ # application_id: "__string", # required
2390
+ # }
2391
+ # @!attribute [rw] apns_channel_request
2392
+ # @return [Types::APNSChannelRequest]
2393
+ #
2394
+ # @!attribute [rw] application_id
2395
+ # @return [String]
2396
+ class UpdateApnsChannelRequest < Struct.new(
2397
+ :apns_channel_request,
2398
+ :application_id)
2399
+ include Aws::Structure
2400
+ end
2401
+
2402
+ # @!attribute [rw] apns_channel_response
2403
+ # @return [Types::APNSChannelResponse]
2404
+ class UpdateApnsChannelResponse < Struct.new(
2405
+ :apns_channel_response)
2406
+ include Aws::Structure
2407
+ end
2408
+
2409
+ # @note When making an API call, pass UpdateApplicationSettingsRequest
2410
+ # data as a hash:
2411
+ #
2412
+ # {
2413
+ # application_id: "__string", # required
2414
+ # write_application_settings_request: { # required
2415
+ # limits: {
2416
+ # daily: 1,
2417
+ # total: 1,
2418
+ # },
2419
+ # quiet_time: {
2420
+ # end: "__string",
2421
+ # start: "__string",
2422
+ # },
2423
+ # },
2424
+ # }
2425
+ # @!attribute [rw] application_id
2426
+ # @return [String]
2427
+ #
2428
+ # @!attribute [rw] write_application_settings_request
2429
+ # @return [Types::WriteApplicationSettingsRequest]
2430
+ class UpdateApplicationSettingsRequest < Struct.new(
2431
+ :application_id,
2432
+ :write_application_settings_request)
2433
+ include Aws::Structure
2434
+ end
2435
+
2436
+ # @!attribute [rw] application_settings_resource
2437
+ # @return [Types::ApplicationSettingsResource]
2438
+ class UpdateApplicationSettingsResponse < Struct.new(
2439
+ :application_settings_resource)
2440
+ include Aws::Structure
2441
+ end
2442
+
2443
+ # @note When making an API call, pass UpdateCampaignRequest
2444
+ # data as a hash:
2445
+ #
2446
+ # {
2447
+ # application_id: "__string", # required
2448
+ # campaign_id: "__string", # required
2449
+ # write_campaign_request: { # required
2450
+ # additional_treatments: [
2451
+ # {
2452
+ # message_configuration: {
2453
+ # apns_message: {
2454
+ # action: "OPEN_APP", # accepts OPEN_APP, DEEP_LINK, URL
2455
+ # body: "__string",
2456
+ # image_icon_url: "__string",
2457
+ # image_url: "__string",
2458
+ # json_body: "__string",
2459
+ # media_url: "__string",
2460
+ # silent_push: false,
2461
+ # title: "__string",
2462
+ # url: "__string",
2463
+ # },
2464
+ # default_message: {
2465
+ # action: "OPEN_APP", # accepts OPEN_APP, DEEP_LINK, URL
2466
+ # body: "__string",
2467
+ # image_icon_url: "__string",
2468
+ # image_url: "__string",
2469
+ # json_body: "__string",
2470
+ # media_url: "__string",
2471
+ # silent_push: false,
2472
+ # title: "__string",
2473
+ # url: "__string",
2474
+ # },
2475
+ # gcm_message: {
2476
+ # action: "OPEN_APP", # accepts OPEN_APP, DEEP_LINK, URL
2477
+ # body: "__string",
2478
+ # image_icon_url: "__string",
2479
+ # image_url: "__string",
2480
+ # json_body: "__string",
2481
+ # media_url: "__string",
2482
+ # silent_push: false,
2483
+ # title: "__string",
2484
+ # url: "__string",
2485
+ # },
2486
+ # },
2487
+ # schedule: {
2488
+ # end_time: "__string",
2489
+ # frequency: "ONCE", # accepts ONCE, HOURLY, DAILY, WEEKLY, MONTHLY
2490
+ # is_local_time: false,
2491
+ # quiet_time: {
2492
+ # end: "__string",
2493
+ # start: "__string",
2494
+ # },
2495
+ # start_time: "__string",
2496
+ # timezone: "__string",
2497
+ # },
2498
+ # size_percent: 1,
2499
+ # treatment_description: "__string",
2500
+ # treatment_name: "__string",
2501
+ # },
2502
+ # ],
2503
+ # description: "__string",
2504
+ # holdout_percent: 1,
2505
+ # is_paused: false,
2506
+ # limits: {
2507
+ # daily: 1,
2508
+ # total: 1,
2509
+ # },
2510
+ # message_configuration: {
2511
+ # apns_message: {
2512
+ # action: "OPEN_APP", # accepts OPEN_APP, DEEP_LINK, URL
2513
+ # body: "__string",
2514
+ # image_icon_url: "__string",
2515
+ # image_url: "__string",
2516
+ # json_body: "__string",
2517
+ # media_url: "__string",
2518
+ # silent_push: false,
2519
+ # title: "__string",
2520
+ # url: "__string",
2521
+ # },
2522
+ # default_message: {
2523
+ # action: "OPEN_APP", # accepts OPEN_APP, DEEP_LINK, URL
2524
+ # body: "__string",
2525
+ # image_icon_url: "__string",
2526
+ # image_url: "__string",
2527
+ # json_body: "__string",
2528
+ # media_url: "__string",
2529
+ # silent_push: false,
2530
+ # title: "__string",
2531
+ # url: "__string",
2532
+ # },
2533
+ # gcm_message: {
2534
+ # action: "OPEN_APP", # accepts OPEN_APP, DEEP_LINK, URL
2535
+ # body: "__string",
2536
+ # image_icon_url: "__string",
2537
+ # image_url: "__string",
2538
+ # json_body: "__string",
2539
+ # media_url: "__string",
2540
+ # silent_push: false,
2541
+ # title: "__string",
2542
+ # url: "__string",
2543
+ # },
2544
+ # },
2545
+ # name: "__string",
2546
+ # schedule: {
2547
+ # end_time: "__string",
2548
+ # frequency: "ONCE", # accepts ONCE, HOURLY, DAILY, WEEKLY, MONTHLY
2549
+ # is_local_time: false,
2550
+ # quiet_time: {
2551
+ # end: "__string",
2552
+ # start: "__string",
2553
+ # },
2554
+ # start_time: "__string",
2555
+ # timezone: "__string",
2556
+ # },
2557
+ # segment_id: "__string",
2558
+ # segment_version: 1,
2559
+ # treatment_description: "__string",
2560
+ # treatment_name: "__string",
2561
+ # },
2562
+ # }
2563
+ # @!attribute [rw] application_id
2564
+ # @return [String]
2565
+ #
2566
+ # @!attribute [rw] campaign_id
2567
+ # @return [String]
2568
+ #
2569
+ # @!attribute [rw] write_campaign_request
2570
+ # @return [Types::WriteCampaignRequest]
2571
+ class UpdateCampaignRequest < Struct.new(
2572
+ :application_id,
2573
+ :campaign_id,
2574
+ :write_campaign_request)
2575
+ include Aws::Structure
2576
+ end
2577
+
2578
+ # @!attribute [rw] campaign_response
2579
+ # @return [Types::CampaignResponse]
2580
+ class UpdateCampaignResponse < Struct.new(
2581
+ :campaign_response)
2582
+ include Aws::Structure
2583
+ end
2584
+
2585
+ # @note When making an API call, pass UpdateEndpointRequest
2586
+ # data as a hash:
2587
+ #
2588
+ # {
2589
+ # application_id: "__string", # required
2590
+ # endpoint_id: "__string", # required
2591
+ # endpoint_request: { # required
2592
+ # address: "__string",
2593
+ # attributes: {
2594
+ # "__string" => ["__string"],
2595
+ # },
2596
+ # channel_type: "APNS", # accepts APNS, GCM
2597
+ # demographic: {
2598
+ # app_version: "__string",
2599
+ # locale: "__string",
2600
+ # make: "__string",
2601
+ # model: "__string",
2602
+ # model_version: "__string",
2603
+ # platform: "__string",
2604
+ # platform_version: "__string",
2605
+ # timezone: "__string",
2606
+ # },
2607
+ # effective_date: "__string",
2608
+ # endpoint_status: "__string",
2609
+ # location: {
2610
+ # city: "__string",
2611
+ # country: "__string",
2612
+ # latitude: 1.0,
2613
+ # longitude: 1.0,
2614
+ # postal_code: "__string",
2615
+ # region: "__string",
2616
+ # },
2617
+ # metrics: {
2618
+ # "__string" => 1.0,
2619
+ # },
2620
+ # opt_out: "__string",
2621
+ # request_id: "__string",
2622
+ # user: {
2623
+ # user_attributes: {
2624
+ # "__string" => ["__string"],
2625
+ # },
2626
+ # user_id: "__string",
2627
+ # },
2628
+ # },
2629
+ # }
2630
+ # @!attribute [rw] application_id
2631
+ # @return [String]
2632
+ #
2633
+ # @!attribute [rw] endpoint_id
2634
+ # @return [String]
2635
+ #
2636
+ # @!attribute [rw] endpoint_request
2637
+ # @return [Types::EndpointRequest]
2638
+ class UpdateEndpointRequest < Struct.new(
2639
+ :application_id,
2640
+ :endpoint_id,
2641
+ :endpoint_request)
2642
+ include Aws::Structure
2643
+ end
2644
+
2645
+ # @!attribute [rw] message_body
2646
+ # @return [Types::MessageBody]
2647
+ class UpdateEndpointResponse < Struct.new(
2648
+ :message_body)
2649
+ include Aws::Structure
2650
+ end
2651
+
2652
+ # @note When making an API call, pass UpdateEndpointsBatchRequest
2653
+ # data as a hash:
2654
+ #
2655
+ # {
2656
+ # application_id: "__string", # required
2657
+ # endpoint_batch_request: { # required
2658
+ # item: [
2659
+ # {
2660
+ # address: "__string",
2661
+ # attributes: {
2662
+ # "__string" => ["__string"],
2663
+ # },
2664
+ # channel_type: "APNS", # accepts APNS, GCM
2665
+ # demographic: {
2666
+ # app_version: "__string",
2667
+ # locale: "__string",
2668
+ # make: "__string",
2669
+ # model: "__string",
2670
+ # model_version: "__string",
2671
+ # platform: "__string",
2672
+ # platform_version: "__string",
2673
+ # timezone: "__string",
2674
+ # },
2675
+ # effective_date: "__string",
2676
+ # endpoint_status: "__string",
2677
+ # id: "__string",
2678
+ # location: {
2679
+ # city: "__string",
2680
+ # country: "__string",
2681
+ # latitude: 1.0,
2682
+ # longitude: 1.0,
2683
+ # postal_code: "__string",
2684
+ # region: "__string",
2685
+ # },
2686
+ # metrics: {
2687
+ # "__string" => 1.0,
2688
+ # },
2689
+ # opt_out: "__string",
2690
+ # request_id: "__string",
2691
+ # user: {
2692
+ # user_attributes: {
2693
+ # "__string" => ["__string"],
2694
+ # },
2695
+ # user_id: "__string",
2696
+ # },
2697
+ # },
2698
+ # ],
2699
+ # },
2700
+ # }
2701
+ # @!attribute [rw] application_id
2702
+ # @return [String]
2703
+ #
2704
+ # @!attribute [rw] endpoint_batch_request
2705
+ # @return [Types::EndpointBatchRequest]
2706
+ class UpdateEndpointsBatchRequest < Struct.new(
2707
+ :application_id,
2708
+ :endpoint_batch_request)
2709
+ include Aws::Structure
2710
+ end
2711
+
2712
+ # @!attribute [rw] message_body
2713
+ # @return [Types::MessageBody]
2714
+ class UpdateEndpointsBatchResponse < Struct.new(
2715
+ :message_body)
2716
+ include Aws::Structure
2717
+ end
2718
+
2719
+ # @note When making an API call, pass UpdateGcmChannelRequest
2720
+ # data as a hash:
2721
+ #
2722
+ # {
2723
+ # application_id: "__string", # required
2724
+ # gcm_channel_request: { # required
2725
+ # api_key: "__string",
2726
+ # },
2727
+ # }
2728
+ # @!attribute [rw] application_id
2729
+ # @return [String]
2730
+ #
2731
+ # @!attribute [rw] gcm_channel_request
2732
+ # @return [Types::GCMChannelRequest]
2733
+ class UpdateGcmChannelRequest < Struct.new(
2734
+ :application_id,
2735
+ :gcm_channel_request)
2736
+ include Aws::Structure
2737
+ end
2738
+
2739
+ # @!attribute [rw] gcm_channel_response
2740
+ # @return [Types::GCMChannelResponse]
2741
+ class UpdateGcmChannelResponse < Struct.new(
2742
+ :gcm_channel_response)
2743
+ include Aws::Structure
2744
+ end
2745
+
2746
+ # @note When making an API call, pass UpdateSegmentRequest
2747
+ # data as a hash:
2748
+ #
2749
+ # {
2750
+ # application_id: "__string", # required
2751
+ # segment_id: "__string", # required
2752
+ # write_segment_request: { # required
2753
+ # dimensions: {
2754
+ # attributes: {
2755
+ # "__string" => {
2756
+ # attribute_type: "INCLUSIVE", # accepts INCLUSIVE, EXCLUSIVE
2757
+ # values: ["__string"],
2758
+ # },
2759
+ # },
2760
+ # behavior: {
2761
+ # recency: {
2762
+ # duration: "HR_24", # accepts HR_24, DAY_7, DAY_14, DAY_30
2763
+ # recency_type: "ACTIVE", # accepts ACTIVE, INACTIVE
2764
+ # },
2765
+ # },
2766
+ # demographic: {
2767
+ # app_version: {
2768
+ # dimension_type: "INCLUSIVE", # accepts INCLUSIVE, EXCLUSIVE
2769
+ # values: ["__string"],
2770
+ # },
2771
+ # device_type: {
2772
+ # dimension_type: "INCLUSIVE", # accepts INCLUSIVE, EXCLUSIVE
2773
+ # values: ["__string"],
2774
+ # },
2775
+ # make: {
2776
+ # dimension_type: "INCLUSIVE", # accepts INCLUSIVE, EXCLUSIVE
2777
+ # values: ["__string"],
2778
+ # },
2779
+ # model: {
2780
+ # dimension_type: "INCLUSIVE", # accepts INCLUSIVE, EXCLUSIVE
2781
+ # values: ["__string"],
2782
+ # },
2783
+ # platform: {
2784
+ # dimension_type: "INCLUSIVE", # accepts INCLUSIVE, EXCLUSIVE
2785
+ # values: ["__string"],
2786
+ # },
2787
+ # },
2788
+ # location: {
2789
+ # country: {
2790
+ # dimension_type: "INCLUSIVE", # accepts INCLUSIVE, EXCLUSIVE
2791
+ # values: ["__string"],
2792
+ # },
2793
+ # },
2794
+ # },
2795
+ # name: "__string",
2796
+ # },
2797
+ # }
2798
+ # @!attribute [rw] application_id
2799
+ # @return [String]
2800
+ #
2801
+ # @!attribute [rw] segment_id
2802
+ # @return [String]
2803
+ #
2804
+ # @!attribute [rw] write_segment_request
2805
+ # @return [Types::WriteSegmentRequest]
2806
+ class UpdateSegmentRequest < Struct.new(
2807
+ :application_id,
2808
+ :segment_id,
2809
+ :write_segment_request)
2810
+ include Aws::Structure
2811
+ end
2812
+
2813
+ # @!attribute [rw] segment_response
2814
+ # @return [Types::SegmentResponse]
2815
+ class UpdateSegmentResponse < Struct.new(
2816
+ :segment_response)
2817
+ include Aws::Structure
2818
+ end
2819
+
2820
+ # @note When making an API call, pass WriteApplicationSettingsRequest
2821
+ # data as a hash:
2822
+ #
2823
+ # {
2824
+ # limits: {
2825
+ # daily: 1,
2826
+ # total: 1,
2827
+ # },
2828
+ # quiet_time: {
2829
+ # end: "__string",
2830
+ # start: "__string",
2831
+ # },
2832
+ # }
2833
+ # @!attribute [rw] limits
2834
+ # The default campaign limits for the app. These limits apply to each
2835
+ # campaign for the app, unless the campaign overrides the default with
2836
+ # limits of its own.
2837
+ # @return [Types::CampaignLimits]
2838
+ #
2839
+ # @!attribute [rw] quiet_time
2840
+ # The default quiet time for the app. Each campaign for this app sends
2841
+ # no messages during this time unless the campaign overrides the
2842
+ # default with a quiet time of its own.
2843
+ # @return [Types::QuietTime]
2844
+ class WriteApplicationSettingsRequest < Struct.new(
2845
+ :limits,
2846
+ :quiet_time)
2847
+ include Aws::Structure
2848
+ end
2849
+
2850
+ # @note When making an API call, pass WriteCampaignRequest
2851
+ # data as a hash:
2852
+ #
2853
+ # {
2854
+ # additional_treatments: [
2855
+ # {
2856
+ # message_configuration: {
2857
+ # apns_message: {
2858
+ # action: "OPEN_APP", # accepts OPEN_APP, DEEP_LINK, URL
2859
+ # body: "__string",
2860
+ # image_icon_url: "__string",
2861
+ # image_url: "__string",
2862
+ # json_body: "__string",
2863
+ # media_url: "__string",
2864
+ # silent_push: false,
2865
+ # title: "__string",
2866
+ # url: "__string",
2867
+ # },
2868
+ # default_message: {
2869
+ # action: "OPEN_APP", # accepts OPEN_APP, DEEP_LINK, URL
2870
+ # body: "__string",
2871
+ # image_icon_url: "__string",
2872
+ # image_url: "__string",
2873
+ # json_body: "__string",
2874
+ # media_url: "__string",
2875
+ # silent_push: false,
2876
+ # title: "__string",
2877
+ # url: "__string",
2878
+ # },
2879
+ # gcm_message: {
2880
+ # action: "OPEN_APP", # accepts OPEN_APP, DEEP_LINK, URL
2881
+ # body: "__string",
2882
+ # image_icon_url: "__string",
2883
+ # image_url: "__string",
2884
+ # json_body: "__string",
2885
+ # media_url: "__string",
2886
+ # silent_push: false,
2887
+ # title: "__string",
2888
+ # url: "__string",
2889
+ # },
2890
+ # },
2891
+ # schedule: {
2892
+ # end_time: "__string",
2893
+ # frequency: "ONCE", # accepts ONCE, HOURLY, DAILY, WEEKLY, MONTHLY
2894
+ # is_local_time: false,
2895
+ # quiet_time: {
2896
+ # end: "__string",
2897
+ # start: "__string",
2898
+ # },
2899
+ # start_time: "__string",
2900
+ # timezone: "__string",
2901
+ # },
2902
+ # size_percent: 1,
2903
+ # treatment_description: "__string",
2904
+ # treatment_name: "__string",
2905
+ # },
2906
+ # ],
2907
+ # description: "__string",
2908
+ # holdout_percent: 1,
2909
+ # is_paused: false,
2910
+ # limits: {
2911
+ # daily: 1,
2912
+ # total: 1,
2913
+ # },
2914
+ # message_configuration: {
2915
+ # apns_message: {
2916
+ # action: "OPEN_APP", # accepts OPEN_APP, DEEP_LINK, URL
2917
+ # body: "__string",
2918
+ # image_icon_url: "__string",
2919
+ # image_url: "__string",
2920
+ # json_body: "__string",
2921
+ # media_url: "__string",
2922
+ # silent_push: false,
2923
+ # title: "__string",
2924
+ # url: "__string",
2925
+ # },
2926
+ # default_message: {
2927
+ # action: "OPEN_APP", # accepts OPEN_APP, DEEP_LINK, URL
2928
+ # body: "__string",
2929
+ # image_icon_url: "__string",
2930
+ # image_url: "__string",
2931
+ # json_body: "__string",
2932
+ # media_url: "__string",
2933
+ # silent_push: false,
2934
+ # title: "__string",
2935
+ # url: "__string",
2936
+ # },
2937
+ # gcm_message: {
2938
+ # action: "OPEN_APP", # accepts OPEN_APP, DEEP_LINK, URL
2939
+ # body: "__string",
2940
+ # image_icon_url: "__string",
2941
+ # image_url: "__string",
2942
+ # json_body: "__string",
2943
+ # media_url: "__string",
2944
+ # silent_push: false,
2945
+ # title: "__string",
2946
+ # url: "__string",
2947
+ # },
2948
+ # },
2949
+ # name: "__string",
2950
+ # schedule: {
2951
+ # end_time: "__string",
2952
+ # frequency: "ONCE", # accepts ONCE, HOURLY, DAILY, WEEKLY, MONTHLY
2953
+ # is_local_time: false,
2954
+ # quiet_time: {
2955
+ # end: "__string",
2956
+ # start: "__string",
2957
+ # },
2958
+ # start_time: "__string",
2959
+ # timezone: "__string",
2960
+ # },
2961
+ # segment_id: "__string",
2962
+ # segment_version: 1,
2963
+ # treatment_description: "__string",
2964
+ # treatment_name: "__string",
2965
+ # }
2966
+ # @!attribute [rw] additional_treatments
2967
+ # Treatments that are defined in addition to the default treatment.
2968
+ # @return [Array<Types::WriteTreatmentResource>]
2969
+ #
2970
+ # @!attribute [rw] description
2971
+ # A description of the campaign.
2972
+ # @return [String]
2973
+ #
2974
+ # @!attribute [rw] holdout_percent
2975
+ # The allocated percentage of end users who will not receive messages
2976
+ # from this campaign.
2977
+ # @return [Integer]
2978
+ #
2979
+ # @!attribute [rw] is_paused
2980
+ # Indicates whether the campaign is paused. A paused campaign does not
2981
+ # send messages unless you resume it by setting IsPaused to false.
2982
+ # @return [Boolean]
2983
+ #
2984
+ # @!attribute [rw] limits
2985
+ # The campaign limits settings.
2986
+ # @return [Types::CampaignLimits]
2987
+ #
2988
+ # @!attribute [rw] message_configuration
2989
+ # The message configuration settings.
2990
+ # @return [Types::MessageConfiguration]
2991
+ #
2992
+ # @!attribute [rw] name
2993
+ # The custom name of the campaign.
2994
+ # @return [String]
2995
+ #
2996
+ # @!attribute [rw] schedule
2997
+ # The campaign schedule.
2998
+ # @return [Types::Schedule]
2999
+ #
3000
+ # @!attribute [rw] segment_id
3001
+ # The ID of the segment to which the campaign sends messages.
3002
+ # @return [String]
3003
+ #
3004
+ # @!attribute [rw] segment_version
3005
+ # The version of the segment to which the campaign sends messages.
3006
+ # @return [Integer]
3007
+ #
3008
+ # @!attribute [rw] treatment_description
3009
+ # A custom description for the treatment.
3010
+ # @return [String]
3011
+ #
3012
+ # @!attribute [rw] treatment_name
3013
+ # The custom name of a variation of the campaign used for A/B testing.
3014
+ # @return [String]
3015
+ class WriteCampaignRequest < Struct.new(
3016
+ :additional_treatments,
3017
+ :description,
3018
+ :holdout_percent,
3019
+ :is_paused,
3020
+ :limits,
3021
+ :message_configuration,
3022
+ :name,
3023
+ :schedule,
3024
+ :segment_id,
3025
+ :segment_version,
3026
+ :treatment_description,
3027
+ :treatment_name)
3028
+ include Aws::Structure
3029
+ end
3030
+
3031
+ # @note When making an API call, pass WriteSegmentRequest
3032
+ # data as a hash:
3033
+ #
3034
+ # {
3035
+ # dimensions: {
3036
+ # attributes: {
3037
+ # "__string" => {
3038
+ # attribute_type: "INCLUSIVE", # accepts INCLUSIVE, EXCLUSIVE
3039
+ # values: ["__string"],
3040
+ # },
3041
+ # },
3042
+ # behavior: {
3043
+ # recency: {
3044
+ # duration: "HR_24", # accepts HR_24, DAY_7, DAY_14, DAY_30
3045
+ # recency_type: "ACTIVE", # accepts ACTIVE, INACTIVE
3046
+ # },
3047
+ # },
3048
+ # demographic: {
3049
+ # app_version: {
3050
+ # dimension_type: "INCLUSIVE", # accepts INCLUSIVE, EXCLUSIVE
3051
+ # values: ["__string"],
3052
+ # },
3053
+ # device_type: {
3054
+ # dimension_type: "INCLUSIVE", # accepts INCLUSIVE, EXCLUSIVE
3055
+ # values: ["__string"],
3056
+ # },
3057
+ # make: {
3058
+ # dimension_type: "INCLUSIVE", # accepts INCLUSIVE, EXCLUSIVE
3059
+ # values: ["__string"],
3060
+ # },
3061
+ # model: {
3062
+ # dimension_type: "INCLUSIVE", # accepts INCLUSIVE, EXCLUSIVE
3063
+ # values: ["__string"],
3064
+ # },
3065
+ # platform: {
3066
+ # dimension_type: "INCLUSIVE", # accepts INCLUSIVE, EXCLUSIVE
3067
+ # values: ["__string"],
3068
+ # },
3069
+ # },
3070
+ # location: {
3071
+ # country: {
3072
+ # dimension_type: "INCLUSIVE", # accepts INCLUSIVE, EXCLUSIVE
3073
+ # values: ["__string"],
3074
+ # },
3075
+ # },
3076
+ # },
3077
+ # name: "__string",
3078
+ # }
3079
+ # @!attribute [rw] dimensions
3080
+ # The segment dimensions attributes.
3081
+ # @return [Types::SegmentDimensions]
3082
+ #
3083
+ # @!attribute [rw] name
3084
+ # The name of segment
3085
+ # @return [String]
3086
+ class WriteSegmentRequest < Struct.new(
3087
+ :dimensions,
3088
+ :name)
3089
+ include Aws::Structure
3090
+ end
3091
+
3092
+ # @note When making an API call, pass WriteTreatmentResource
3093
+ # data as a hash:
3094
+ #
3095
+ # {
3096
+ # message_configuration: {
3097
+ # apns_message: {
3098
+ # action: "OPEN_APP", # accepts OPEN_APP, DEEP_LINK, URL
3099
+ # body: "__string",
3100
+ # image_icon_url: "__string",
3101
+ # image_url: "__string",
3102
+ # json_body: "__string",
3103
+ # media_url: "__string",
3104
+ # silent_push: false,
3105
+ # title: "__string",
3106
+ # url: "__string",
3107
+ # },
3108
+ # default_message: {
3109
+ # action: "OPEN_APP", # accepts OPEN_APP, DEEP_LINK, URL
3110
+ # body: "__string",
3111
+ # image_icon_url: "__string",
3112
+ # image_url: "__string",
3113
+ # json_body: "__string",
3114
+ # media_url: "__string",
3115
+ # silent_push: false,
3116
+ # title: "__string",
3117
+ # url: "__string",
3118
+ # },
3119
+ # gcm_message: {
3120
+ # action: "OPEN_APP", # accepts OPEN_APP, DEEP_LINK, URL
3121
+ # body: "__string",
3122
+ # image_icon_url: "__string",
3123
+ # image_url: "__string",
3124
+ # json_body: "__string",
3125
+ # media_url: "__string",
3126
+ # silent_push: false,
3127
+ # title: "__string",
3128
+ # url: "__string",
3129
+ # },
3130
+ # },
3131
+ # schedule: {
3132
+ # end_time: "__string",
3133
+ # frequency: "ONCE", # accepts ONCE, HOURLY, DAILY, WEEKLY, MONTHLY
3134
+ # is_local_time: false,
3135
+ # quiet_time: {
3136
+ # end: "__string",
3137
+ # start: "__string",
3138
+ # },
3139
+ # start_time: "__string",
3140
+ # timezone: "__string",
3141
+ # },
3142
+ # size_percent: 1,
3143
+ # treatment_description: "__string",
3144
+ # treatment_name: "__string",
3145
+ # }
3146
+ # @!attribute [rw] message_configuration
3147
+ # The message configuration settings.
3148
+ # @return [Types::MessageConfiguration]
3149
+ #
3150
+ # @!attribute [rw] schedule
3151
+ # The campaign schedule.
3152
+ # @return [Types::Schedule]
3153
+ #
3154
+ # @!attribute [rw] size_percent
3155
+ # The allocated percentage of users for this treatment.
3156
+ # @return [Integer]
3157
+ #
3158
+ # @!attribute [rw] treatment_description
3159
+ # A custom description for the treatment.
3160
+ # @return [String]
3161
+ #
3162
+ # @!attribute [rw] treatment_name
3163
+ # The custom name of a variation of the campaign used for A/B testing.
3164
+ # @return [String]
3165
+ class WriteTreatmentResource < Struct.new(
3166
+ :message_configuration,
3167
+ :schedule,
3168
+ :size_percent,
3169
+ :treatment_description,
3170
+ :treatment_name)
3171
+ include Aws::Structure
3172
+ end
3173
+
3174
+ end
3175
+ end
3176
+ end