aws-sdk-pinpoint 1.2.0 → 1.3.0

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.
@@ -37,6 +37,7 @@ module Aws::Pinpoint
37
37
  BaiduChannelResponse = Shapes::StructureShape.new(name: 'BaiduChannelResponse')
38
38
  BaiduMessage = Shapes::StructureShape.new(name: 'BaiduMessage')
39
39
  CampaignEmailMessage = Shapes::StructureShape.new(name: 'CampaignEmailMessage')
40
+ CampaignHook = Shapes::StructureShape.new(name: 'CampaignHook')
40
41
  CampaignLimits = Shapes::StructureShape.new(name: 'CampaignLimits')
41
42
  CampaignResponse = Shapes::StructureShape.new(name: 'CampaignResponse')
42
43
  CampaignSmsMessage = Shapes::StructureShape.new(name: 'CampaignSmsMessage')
@@ -49,6 +50,8 @@ module Aws::Pinpoint
49
50
  CreateApplicationRequest = Shapes::StructureShape.new(name: 'CreateApplicationRequest')
50
51
  CreateCampaignRequest = Shapes::StructureShape.new(name: 'CreateCampaignRequest')
51
52
  CreateCampaignResponse = Shapes::StructureShape.new(name: 'CreateCampaignResponse')
53
+ CreateExportJobRequest = Shapes::StructureShape.new(name: 'CreateExportJobRequest')
54
+ CreateExportJobResponse = Shapes::StructureShape.new(name: 'CreateExportJobResponse')
52
55
  CreateImportJobRequest = Shapes::StructureShape.new(name: 'CreateImportJobRequest')
53
56
  CreateImportJobResponse = Shapes::StructureShape.new(name: 'CreateImportJobResponse')
54
57
  CreateSegmentRequest = Shapes::StructureShape.new(name: 'CreateSegmentRequest')
@@ -97,6 +100,10 @@ module Aws::Pinpoint
97
100
  EndpointSendConfiguration = Shapes::StructureShape.new(name: 'EndpointSendConfiguration')
98
101
  EndpointUser = Shapes::StructureShape.new(name: 'EndpointUser')
99
102
  EventStream = Shapes::StructureShape.new(name: 'EventStream')
103
+ ExportJobRequest = Shapes::StructureShape.new(name: 'ExportJobRequest')
104
+ ExportJobResource = Shapes::StructureShape.new(name: 'ExportJobResource')
105
+ ExportJobResponse = Shapes::StructureShape.new(name: 'ExportJobResponse')
106
+ ExportJobsResponse = Shapes::StructureShape.new(name: 'ExportJobsResponse')
100
107
  ForbiddenException = Shapes::StructureShape.new(name: 'ForbiddenException')
101
108
  Format = Shapes::StringShape.new(name: 'Format')
102
109
  Frequency = Shapes::StringShape.new(name: 'Frequency')
@@ -137,12 +144,18 @@ module Aws::Pinpoint
137
144
  GetEndpointResponse = Shapes::StructureShape.new(name: 'GetEndpointResponse')
138
145
  GetEventStreamRequest = Shapes::StructureShape.new(name: 'GetEventStreamRequest')
139
146
  GetEventStreamResponse = Shapes::StructureShape.new(name: 'GetEventStreamResponse')
147
+ GetExportJobRequest = Shapes::StructureShape.new(name: 'GetExportJobRequest')
148
+ GetExportJobResponse = Shapes::StructureShape.new(name: 'GetExportJobResponse')
149
+ GetExportJobsRequest = Shapes::StructureShape.new(name: 'GetExportJobsRequest')
150
+ GetExportJobsResponse = Shapes::StructureShape.new(name: 'GetExportJobsResponse')
140
151
  GetGcmChannelRequest = Shapes::StructureShape.new(name: 'GetGcmChannelRequest')
141
152
  GetGcmChannelResponse = Shapes::StructureShape.new(name: 'GetGcmChannelResponse')
142
153
  GetImportJobRequest = Shapes::StructureShape.new(name: 'GetImportJobRequest')
143
154
  GetImportJobResponse = Shapes::StructureShape.new(name: 'GetImportJobResponse')
144
155
  GetImportJobsRequest = Shapes::StructureShape.new(name: 'GetImportJobsRequest')
145
156
  GetImportJobsResponse = Shapes::StructureShape.new(name: 'GetImportJobsResponse')
157
+ GetSegmentExportJobsRequest = Shapes::StructureShape.new(name: 'GetSegmentExportJobsRequest')
158
+ GetSegmentExportJobsResponse = Shapes::StructureShape.new(name: 'GetSegmentExportJobsResponse')
146
159
  GetSegmentImportJobsRequest = Shapes::StructureShape.new(name: 'GetSegmentImportJobsRequest')
147
160
  GetSegmentImportJobsResponse = Shapes::StructureShape.new(name: 'GetSegmentImportJobsResponse')
148
161
  GetSegmentRequest = Shapes::StructureShape.new(name: 'GetSegmentRequest')
@@ -165,6 +178,7 @@ module Aws::Pinpoint
165
178
  ListOfApplicationResponse = Shapes::ListShape.new(name: 'ListOfApplicationResponse')
166
179
  ListOfCampaignResponse = Shapes::ListShape.new(name: 'ListOfCampaignResponse')
167
180
  ListOfEndpointBatchItem = Shapes::ListShape.new(name: 'ListOfEndpointBatchItem')
181
+ ListOfExportJobResponse = Shapes::ListShape.new(name: 'ListOfExportJobResponse')
168
182
  ListOfImportJobResponse = Shapes::ListShape.new(name: 'ListOfImportJobResponse')
169
183
  ListOfSegmentResponse = Shapes::ListShape.new(name: 'ListOfSegmentResponse')
170
184
  ListOfTreatmentResource = Shapes::ListShape.new(name: 'ListOfTreatmentResource')
@@ -188,6 +202,7 @@ module Aws::Pinpoint
188
202
  MessageResult = Shapes::StructureShape.new(name: 'MessageResult')
189
203
  MessageType = Shapes::StringShape.new(name: 'MessageType')
190
204
  MethodNotAllowedException = Shapes::StructureShape.new(name: 'MethodNotAllowedException')
205
+ Mode = Shapes::StringShape.new(name: 'Mode')
191
206
  NotFoundException = Shapes::StructureShape.new(name: 'NotFoundException')
192
207
  PutEventStreamRequest = Shapes::StructureShape.new(name: 'PutEventStreamRequest')
193
208
  PutEventStreamResponse = Shapes::StructureShape.new(name: 'PutEventStreamResponse')
@@ -435,6 +450,7 @@ module Aws::Pinpoint
435
450
  ApplicationResponse.struct_class = Types::ApplicationResponse
436
451
 
437
452
  ApplicationSettingsResource.add_member(:application_id, Shapes::ShapeRef.new(shape: __string, location_name: "ApplicationId"))
453
+ ApplicationSettingsResource.add_member(:campaign_hook, Shapes::ShapeRef.new(shape: CampaignHook, location_name: "CampaignHook"))
438
454
  ApplicationSettingsResource.add_member(:last_modified_date, Shapes::ShapeRef.new(shape: __string, location_name: "LastModifiedDate"))
439
455
  ApplicationSettingsResource.add_member(:limits, Shapes::ShapeRef.new(shape: CampaignLimits, location_name: "Limits"))
440
456
  ApplicationSettingsResource.add_member(:quiet_time, Shapes::ShapeRef.new(shape: QuietTime, location_name: "QuietTime"))
@@ -487,6 +503,11 @@ module Aws::Pinpoint
487
503
  CampaignEmailMessage.add_member(:title, Shapes::ShapeRef.new(shape: __string, location_name: "Title"))
488
504
  CampaignEmailMessage.struct_class = Types::CampaignEmailMessage
489
505
 
506
+ CampaignHook.add_member(:lambda_function_name, Shapes::ShapeRef.new(shape: __string, location_name: "LambdaFunctionName"))
507
+ CampaignHook.add_member(:mode, Shapes::ShapeRef.new(shape: Mode, location_name: "Mode"))
508
+ CampaignHook.add_member(:web_url, Shapes::ShapeRef.new(shape: __string, location_name: "WebUrl"))
509
+ CampaignHook.struct_class = Types::CampaignHook
510
+
490
511
  CampaignLimits.add_member(:daily, Shapes::ShapeRef.new(shape: __integer, location_name: "Daily"))
491
512
  CampaignLimits.add_member(:maximum_duration, Shapes::ShapeRef.new(shape: __integer, location_name: "MaximumDuration"))
492
513
  CampaignLimits.add_member(:messages_per_second, Shapes::ShapeRef.new(shape: __integer, location_name: "MessagesPerSecond"))
@@ -499,6 +520,7 @@ module Aws::Pinpoint
499
520
  CampaignResponse.add_member(:default_state, Shapes::ShapeRef.new(shape: CampaignState, location_name: "DefaultState"))
500
521
  CampaignResponse.add_member(:description, Shapes::ShapeRef.new(shape: __string, location_name: "Description"))
501
522
  CampaignResponse.add_member(:holdout_percent, Shapes::ShapeRef.new(shape: __integer, location_name: "HoldoutPercent"))
523
+ CampaignResponse.add_member(:hook, Shapes::ShapeRef.new(shape: CampaignHook, location_name: "Hook"))
502
524
  CampaignResponse.add_member(:id, Shapes::ShapeRef.new(shape: __string, location_name: "Id"))
503
525
  CampaignResponse.add_member(:is_paused, Shapes::ShapeRef.new(shape: __boolean, location_name: "IsPaused"))
504
526
  CampaignResponse.add_member(:last_modified_date, Shapes::ShapeRef.new(shape: __string, location_name: "LastModifiedDate"))
@@ -550,6 +572,17 @@ module Aws::Pinpoint
550
572
  CreateCampaignResponse[:payload] = :campaign_response
551
573
  CreateCampaignResponse[:payload_member] = CreateCampaignResponse.member(:campaign_response)
552
574
 
575
+ CreateExportJobRequest.add_member(:application_id, Shapes::ShapeRef.new(shape: __string, required: true, location: "uri", location_name: "application-id"))
576
+ CreateExportJobRequest.add_member(:export_job_request, Shapes::ShapeRef.new(shape: ExportJobRequest, required: true, location_name: "ExportJobRequest"))
577
+ CreateExportJobRequest.struct_class = Types::CreateExportJobRequest
578
+ CreateExportJobRequest[:payload] = :export_job_request
579
+ CreateExportJobRequest[:payload_member] = CreateExportJobRequest.member(:export_job_request)
580
+
581
+ CreateExportJobResponse.add_member(:export_job_response, Shapes::ShapeRef.new(shape: ExportJobResponse, required: true, location_name: "ExportJobResponse"))
582
+ CreateExportJobResponse.struct_class = Types::CreateExportJobResponse
583
+ CreateExportJobResponse[:payload] = :export_job_response
584
+ CreateExportJobResponse[:payload_member] = CreateExportJobResponse.member(:export_job_response)
585
+
553
586
  CreateImportJobRequest.add_member(:application_id, Shapes::ShapeRef.new(shape: __string, required: true, location: "uri", location_name: "application-id"))
554
587
  CreateImportJobRequest.add_member(:import_job_request, Shapes::ShapeRef.new(shape: ImportJobRequest, required: true, location_name: "ImportJobRequest"))
555
588
  CreateImportJobRequest.struct_class = Types::CreateImportJobRequest
@@ -812,6 +845,35 @@ module Aws::Pinpoint
812
845
  EventStream.add_member(:role_arn, Shapes::ShapeRef.new(shape: __string, location_name: "RoleArn"))
813
846
  EventStream.struct_class = Types::EventStream
814
847
 
848
+ ExportJobRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: __string, location_name: "RoleArn"))
849
+ ExportJobRequest.add_member(:s3_url_prefix, Shapes::ShapeRef.new(shape: __string, location_name: "S3UrlPrefix"))
850
+ ExportJobRequest.add_member(:segment_id, Shapes::ShapeRef.new(shape: __string, location_name: "SegmentId"))
851
+ ExportJobRequest.struct_class = Types::ExportJobRequest
852
+
853
+ ExportJobResource.add_member(:role_arn, Shapes::ShapeRef.new(shape: __string, location_name: "RoleArn"))
854
+ ExportJobResource.add_member(:s3_url_prefix, Shapes::ShapeRef.new(shape: __string, location_name: "S3UrlPrefix"))
855
+ ExportJobResource.add_member(:segment_id, Shapes::ShapeRef.new(shape: __string, location_name: "SegmentId"))
856
+ ExportJobResource.struct_class = Types::ExportJobResource
857
+
858
+ ExportJobResponse.add_member(:application_id, Shapes::ShapeRef.new(shape: __string, location_name: "ApplicationId"))
859
+ ExportJobResponse.add_member(:completed_pieces, Shapes::ShapeRef.new(shape: __integer, location_name: "CompletedPieces"))
860
+ ExportJobResponse.add_member(:completion_date, Shapes::ShapeRef.new(shape: __string, location_name: "CompletionDate"))
861
+ ExportJobResponse.add_member(:creation_date, Shapes::ShapeRef.new(shape: __string, location_name: "CreationDate"))
862
+ ExportJobResponse.add_member(:definition, Shapes::ShapeRef.new(shape: ExportJobResource, location_name: "Definition"))
863
+ ExportJobResponse.add_member(:failed_pieces, Shapes::ShapeRef.new(shape: __integer, location_name: "FailedPieces"))
864
+ ExportJobResponse.add_member(:failures, Shapes::ShapeRef.new(shape: ListOf__string, location_name: "Failures"))
865
+ ExportJobResponse.add_member(:id, Shapes::ShapeRef.new(shape: __string, location_name: "Id"))
866
+ ExportJobResponse.add_member(:job_status, Shapes::ShapeRef.new(shape: JobStatus, location_name: "JobStatus"))
867
+ ExportJobResponse.add_member(:total_failures, Shapes::ShapeRef.new(shape: __integer, location_name: "TotalFailures"))
868
+ ExportJobResponse.add_member(:total_pieces, Shapes::ShapeRef.new(shape: __integer, location_name: "TotalPieces"))
869
+ ExportJobResponse.add_member(:total_processed, Shapes::ShapeRef.new(shape: __integer, location_name: "TotalProcessed"))
870
+ ExportJobResponse.add_member(:type, Shapes::ShapeRef.new(shape: __string, location_name: "Type"))
871
+ ExportJobResponse.struct_class = Types::ExportJobResponse
872
+
873
+ ExportJobsResponse.add_member(:item, Shapes::ShapeRef.new(shape: ListOfExportJobResponse, location_name: "Item"))
874
+ ExportJobsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: __string, location_name: "NextToken"))
875
+ ExportJobsResponse.struct_class = Types::ExportJobsResponse
876
+
815
877
  GCMChannelRequest.add_member(:api_key, Shapes::ShapeRef.new(shape: __string, location_name: "ApiKey"))
816
878
  GCMChannelRequest.add_member(:enabled, Shapes::ShapeRef.new(shape: __boolean, location_name: "Enabled"))
817
879
  GCMChannelRequest.struct_class = Types::GCMChannelRequest
@@ -997,6 +1059,25 @@ module Aws::Pinpoint
997
1059
  GetEventStreamResponse[:payload] = :event_stream
998
1060
  GetEventStreamResponse[:payload_member] = GetEventStreamResponse.member(:event_stream)
999
1061
 
1062
+ GetExportJobRequest.add_member(:application_id, Shapes::ShapeRef.new(shape: __string, required: true, location: "uri", location_name: "application-id"))
1063
+ GetExportJobRequest.add_member(:job_id, Shapes::ShapeRef.new(shape: __string, required: true, location: "uri", location_name: "job-id"))
1064
+ GetExportJobRequest.struct_class = Types::GetExportJobRequest
1065
+
1066
+ GetExportJobResponse.add_member(:export_job_response, Shapes::ShapeRef.new(shape: ExportJobResponse, required: true, location_name: "ExportJobResponse"))
1067
+ GetExportJobResponse.struct_class = Types::GetExportJobResponse
1068
+ GetExportJobResponse[:payload] = :export_job_response
1069
+ GetExportJobResponse[:payload_member] = GetExportJobResponse.member(:export_job_response)
1070
+
1071
+ GetExportJobsRequest.add_member(:application_id, Shapes::ShapeRef.new(shape: __string, required: true, location: "uri", location_name: "application-id"))
1072
+ GetExportJobsRequest.add_member(:page_size, Shapes::ShapeRef.new(shape: __string, location: "querystring", location_name: "page-size"))
1073
+ GetExportJobsRequest.add_member(:token, Shapes::ShapeRef.new(shape: __string, location: "querystring", location_name: "token"))
1074
+ GetExportJobsRequest.struct_class = Types::GetExportJobsRequest
1075
+
1076
+ GetExportJobsResponse.add_member(:export_jobs_response, Shapes::ShapeRef.new(shape: ExportJobsResponse, required: true, location_name: "ExportJobsResponse"))
1077
+ GetExportJobsResponse.struct_class = Types::GetExportJobsResponse
1078
+ GetExportJobsResponse[:payload] = :export_jobs_response
1079
+ GetExportJobsResponse[:payload_member] = GetExportJobsResponse.member(:export_jobs_response)
1080
+
1000
1081
  GetGcmChannelRequest.add_member(:application_id, Shapes::ShapeRef.new(shape: __string, required: true, location: "uri", location_name: "application-id"))
1001
1082
  GetGcmChannelRequest.struct_class = Types::GetGcmChannelRequest
1002
1083
 
@@ -1024,6 +1105,17 @@ module Aws::Pinpoint
1024
1105
  GetImportJobsResponse[:payload] = :import_jobs_response
1025
1106
  GetImportJobsResponse[:payload_member] = GetImportJobsResponse.member(:import_jobs_response)
1026
1107
 
1108
+ GetSegmentExportJobsRequest.add_member(:application_id, Shapes::ShapeRef.new(shape: __string, required: true, location: "uri", location_name: "application-id"))
1109
+ GetSegmentExportJobsRequest.add_member(:page_size, Shapes::ShapeRef.new(shape: __string, location: "querystring", location_name: "page-size"))
1110
+ GetSegmentExportJobsRequest.add_member(:segment_id, Shapes::ShapeRef.new(shape: __string, required: true, location: "uri", location_name: "segment-id"))
1111
+ GetSegmentExportJobsRequest.add_member(:token, Shapes::ShapeRef.new(shape: __string, location: "querystring", location_name: "token"))
1112
+ GetSegmentExportJobsRequest.struct_class = Types::GetSegmentExportJobsRequest
1113
+
1114
+ GetSegmentExportJobsResponse.add_member(:export_jobs_response, Shapes::ShapeRef.new(shape: ExportJobsResponse, required: true, location_name: "ExportJobsResponse"))
1115
+ GetSegmentExportJobsResponse.struct_class = Types::GetSegmentExportJobsResponse
1116
+ GetSegmentExportJobsResponse[:payload] = :export_jobs_response
1117
+ GetSegmentExportJobsResponse[:payload_member] = GetSegmentExportJobsResponse.member(:export_jobs_response)
1118
+
1027
1119
  GetSegmentImportJobsRequest.add_member(:application_id, Shapes::ShapeRef.new(shape: __string, required: true, location: "uri", location_name: "application-id"))
1028
1120
  GetSegmentImportJobsRequest.add_member(:page_size, Shapes::ShapeRef.new(shape: __string, location: "querystring", location_name: "page-size"))
1029
1121
  GetSegmentImportJobsRequest.add_member(:segment_id, Shapes::ShapeRef.new(shape: __string, required: true, location: "uri", location_name: "segment-id"))
@@ -1130,6 +1222,8 @@ module Aws::Pinpoint
1130
1222
 
1131
1223
  ListOfEndpointBatchItem.member = Shapes::ShapeRef.new(shape: EndpointBatchItem)
1132
1224
 
1225
+ ListOfExportJobResponse.member = Shapes::ShapeRef.new(shape: ExportJobResponse)
1226
+
1133
1227
  ListOfImportJobResponse.member = Shapes::ShapeRef.new(shape: ImportJobResponse)
1134
1228
 
1135
1229
  ListOfSegmentResponse.member = Shapes::ShapeRef.new(shape: SegmentResponse)
@@ -1512,6 +1606,7 @@ module Aws::Pinpoint
1512
1606
  UpdateSmsChannelResponse[:payload] = :sms_channel_response
1513
1607
  UpdateSmsChannelResponse[:payload_member] = UpdateSmsChannelResponse.member(:sms_channel_response)
1514
1608
 
1609
+ WriteApplicationSettingsRequest.add_member(:campaign_hook, Shapes::ShapeRef.new(shape: CampaignHook, location_name: "CampaignHook"))
1515
1610
  WriteApplicationSettingsRequest.add_member(:limits, Shapes::ShapeRef.new(shape: CampaignLimits, location_name: "Limits"))
1516
1611
  WriteApplicationSettingsRequest.add_member(:quiet_time, Shapes::ShapeRef.new(shape: QuietTime, location_name: "QuietTime"))
1517
1612
  WriteApplicationSettingsRequest.struct_class = Types::WriteApplicationSettingsRequest
@@ -1519,6 +1614,7 @@ module Aws::Pinpoint
1519
1614
  WriteCampaignRequest.add_member(:additional_treatments, Shapes::ShapeRef.new(shape: ListOfWriteTreatmentResource, location_name: "AdditionalTreatments"))
1520
1615
  WriteCampaignRequest.add_member(:description, Shapes::ShapeRef.new(shape: __string, location_name: "Description"))
1521
1616
  WriteCampaignRequest.add_member(:holdout_percent, Shapes::ShapeRef.new(shape: __integer, location_name: "HoldoutPercent"))
1617
+ WriteCampaignRequest.add_member(:hook, Shapes::ShapeRef.new(shape: CampaignHook, location_name: "Hook"))
1522
1618
  WriteCampaignRequest.add_member(:is_paused, Shapes::ShapeRef.new(shape: __boolean, location_name: "IsPaused"))
1523
1619
  WriteCampaignRequest.add_member(:limits, Shapes::ShapeRef.new(shape: CampaignLimits, location_name: "Limits"))
1524
1620
  WriteCampaignRequest.add_member(:message_configuration, Shapes::ShapeRef.new(shape: MessageConfiguration, location_name: "MessageConfiguration"))
@@ -1588,6 +1684,20 @@ module Aws::Pinpoint
1588
1684
  o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
1589
1685
  end)
1590
1686
 
1687
+ api.add_operation(:create_export_job, Seahorse::Model::Operation.new.tap do |o|
1688
+ o.name = "CreateExportJob"
1689
+ o.http_method = "POST"
1690
+ o.http_request_uri = "/v1/apps/{application-id}/jobs/export"
1691
+ o.input = Shapes::ShapeRef.new(shape: CreateExportJobRequest)
1692
+ o.output = Shapes::ShapeRef.new(shape: CreateExportJobResponse)
1693
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
1694
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
1695
+ o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
1696
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
1697
+ o.errors << Shapes::ShapeRef.new(shape: MethodNotAllowedException)
1698
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
1699
+ end)
1700
+
1591
1701
  api.add_operation(:create_import_job, Seahorse::Model::Operation.new.tap do |o|
1592
1702
  o.name = "CreateImportJob"
1593
1703
  o.http_method = "POST"
@@ -2036,6 +2146,34 @@ module Aws::Pinpoint
2036
2146
  o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
2037
2147
  end)
2038
2148
 
2149
+ api.add_operation(:get_export_job, Seahorse::Model::Operation.new.tap do |o|
2150
+ o.name = "GetExportJob"
2151
+ o.http_method = "GET"
2152
+ o.http_request_uri = "/v1/apps/{application-id}/jobs/export/{job-id}"
2153
+ o.input = Shapes::ShapeRef.new(shape: GetExportJobRequest)
2154
+ o.output = Shapes::ShapeRef.new(shape: GetExportJobResponse)
2155
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
2156
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
2157
+ o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
2158
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
2159
+ o.errors << Shapes::ShapeRef.new(shape: MethodNotAllowedException)
2160
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
2161
+ end)
2162
+
2163
+ api.add_operation(:get_export_jobs, Seahorse::Model::Operation.new.tap do |o|
2164
+ o.name = "GetExportJobs"
2165
+ o.http_method = "GET"
2166
+ o.http_request_uri = "/v1/apps/{application-id}/jobs/export"
2167
+ o.input = Shapes::ShapeRef.new(shape: GetExportJobsRequest)
2168
+ o.output = Shapes::ShapeRef.new(shape: GetExportJobsResponse)
2169
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
2170
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
2171
+ o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
2172
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
2173
+ o.errors << Shapes::ShapeRef.new(shape: MethodNotAllowedException)
2174
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
2175
+ end)
2176
+
2039
2177
  api.add_operation(:get_gcm_channel, Seahorse::Model::Operation.new.tap do |o|
2040
2178
  o.name = "GetGcmChannel"
2041
2179
  o.http_method = "GET"
@@ -2092,6 +2230,20 @@ module Aws::Pinpoint
2092
2230
  o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
2093
2231
  end)
2094
2232
 
2233
+ api.add_operation(:get_segment_export_jobs, Seahorse::Model::Operation.new.tap do |o|
2234
+ o.name = "GetSegmentExportJobs"
2235
+ o.http_method = "GET"
2236
+ o.http_request_uri = "/v1/apps/{application-id}/segments/{segment-id}/jobs/export"
2237
+ o.input = Shapes::ShapeRef.new(shape: GetSegmentExportJobsRequest)
2238
+ o.output = Shapes::ShapeRef.new(shape: GetSegmentExportJobsResponse)
2239
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
2240
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
2241
+ o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
2242
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
2243
+ o.errors << Shapes::ShapeRef.new(shape: MethodNotAllowedException)
2244
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
2245
+ end)
2246
+
2095
2247
  api.add_operation(:get_segment_import_jobs, Seahorse::Model::Operation.new.tap do |o|
2096
2248
  o.name = "GetSegmentImportJobs"
2097
2249
  o.http_method = "GET"
@@ -43,7 +43,7 @@ module Aws::Pinpoint
43
43
  # Amazon Device Messaging channel definition.
44
44
  #
45
45
  # @!attribute [rw] application_id
46
- # Application id
46
+ # The ID of the application to which the channel applies.
47
47
  # @return [String]
48
48
  #
49
49
  # @!attribute [rw] creation_date
@@ -55,7 +55,10 @@ module Aws::Pinpoint
55
55
  # @return [Boolean]
56
56
  #
57
57
  # @!attribute [rw] has_credential
58
- # If the channel is registered with a credential for authentication.
58
+ # Indicates whether the channel is configured with ADM credentials.
59
+ # Amazon Pinpoint uses your credentials to authenticate push
60
+ # notifications with ADM. Provide your credentials by setting the
61
+ # ClientId and ClientSecret attributes.
59
62
  # @return [Boolean]
60
63
  #
61
64
  # @!attribute [rw] id
@@ -149,6 +152,8 @@ module Aws::Pinpoint
149
152
  # @return [String]
150
153
  #
151
154
  # @!attribute [rw] data
155
+ # The data payload used for a silent push. This payload is added to
156
+ # the notifications' data.pinpoint.jsonBody' object
152
157
  # @return [Hash<String,String>]
153
158
  #
154
159
  # @!attribute [rw] expires_after
@@ -313,11 +318,18 @@ module Aws::Pinpoint
313
318
  # @return [Boolean]
314
319
  #
315
320
  # @!attribute [rw] has_credential
316
- # If the channel is registered with a credential for authentication.
321
+ # Indicates whether the channel is configured with APNs credentials.
322
+ # Amazon Pinpoint uses your credentials to authenticate push
323
+ # notifications with APNs. To use APNs token authentication, set the
324
+ # BundleId, TeamId, TokenKey, and TokenKeyId attributes. To use
325
+ # certificate authentication, set the Certificate and PrivateKey
326
+ # attributes.
317
327
  # @return [Boolean]
318
328
  #
319
329
  # @!attribute [rw] has_token_key
320
- # If the channel is registered with a token key for authentication.
330
+ # Indicates whether the channel is configured with a key for APNs
331
+ # token authentication. Provide a token key by setting the TokenKey
332
+ # attribute.
321
333
  # @return [Boolean]
322
334
  #
323
335
  # @!attribute [rw] id
@@ -421,12 +433,16 @@ module Aws::Pinpoint
421
433
  # @return [String]
422
434
  #
423
435
  # @!attribute [rw] collapse_id
424
- # Multiple notifications with the same collapse identifier are
425
- # displayed to the user as a single notification. The value of this
426
- # key must not exceed 64 bytes.
436
+ # An ID that, if assigned to multiple messages, causes APNs to
437
+ # coalesce the messages into a single push notification instead of
438
+ # delivering each message individually. The value must not exceed 64
439
+ # bytes. Amazon Pinpoint uses this value to set the apns-collapse-id
440
+ # request header when it sends the message to APNs.
427
441
  # @return [String]
428
442
  #
429
443
  # @!attribute [rw] data
444
+ # The data payload used for a silent push. This payload is added to
445
+ # the notifications' data.pinpoint.jsonBody' object
430
446
  # @return [Hash<String,String>]
431
447
  #
432
448
  # @!attribute [rw] media_url
@@ -439,7 +455,17 @@ module Aws::Pinpoint
439
455
  # @return [String]
440
456
  #
441
457
  # @!attribute [rw] priority
442
- # Is this a transaction priority message or lower priority.
458
+ # The message priority. Amazon Pinpoint uses this value to set the
459
+ # apns-priority request header when it sends the message to APNs.
460
+ # Accepts the following values: "5" - Low priority. Messages might
461
+ # be delayed, delivered in groups, and throttled. "10" - High
462
+ # priority. Messages are sent immediately. High priority messages must
463
+ # cause an alert, sound, or badge on the receiving device. The default
464
+ # value is "10". The equivalent values for FCM or GCM messages are
465
+ # "normal" and "high". Amazon Pinpoint accepts these values for
466
+ # APNs messages and converts them. For more information about the
467
+ # apns-priority parameter, see Communicating with APNs in the APNs
468
+ # Local and Remote Notification Programming Guide.
443
469
  # @return [String]
444
470
  #
445
471
  # @!attribute [rw] raw_content
@@ -472,12 +498,11 @@ module Aws::Pinpoint
472
498
  # @return [String]
473
499
  #
474
500
  # @!attribute [rw] time_to_live
475
- # This parameter specifies how long (in seconds) the message should be
476
- # kept if APNS is unable to deliver the notification the first time.
477
- # If the value is 0, APNS treats the notification as if it expires
478
- # immediately and does not store the notification or attempt to
479
- # redeliver it. This value is converted to the expiration field when
480
- # sent to APNS
501
+ # The length of time (in seconds) that APNs stores and attempts to
502
+ # deliver the message. If the value is 0, APNs does not store the
503
+ # message or attempt to deliver it more than once. Amazon Pinpoint
504
+ # uses this value to set the apns-expiration request header when it
505
+ # sends the message to APNs.
481
506
  # @return [Integer]
482
507
  #
483
508
  # @!attribute [rw] title
@@ -578,7 +603,7 @@ module Aws::Pinpoint
578
603
  # Apple Development Push Notification Service channel definition.
579
604
  #
580
605
  # @!attribute [rw] application_id
581
- # Application id
606
+ # The ID of the application to which the channel applies.
582
607
  # @return [String]
583
608
  #
584
609
  # @!attribute [rw] creation_date
@@ -594,11 +619,18 @@ module Aws::Pinpoint
594
619
  # @return [Boolean]
595
620
  #
596
621
  # @!attribute [rw] has_credential
597
- # If the channel is registered with a credential for authentication.
622
+ # Indicates whether the channel is configured with APNs credentials.
623
+ # Amazon Pinpoint uses your credentials to authenticate push
624
+ # notifications with APNs. To use APNs token authentication, set the
625
+ # BundleId, TeamId, TokenKey, and TokenKeyId attributes. To use
626
+ # certificate authentication, set the Certificate and PrivateKey
627
+ # attributes.
598
628
  # @return [Boolean]
599
629
  #
600
630
  # @!attribute [rw] has_token_key
601
- # If the channel is registered with a token key for authentication.
631
+ # Indicates whether the channel is configured with a key for APNs
632
+ # token authentication. Provide a token key by setting the TokenKey
633
+ # attribute.
602
634
  # @return [Boolean]
603
635
  #
604
636
  # @!attribute [rw] id
@@ -643,7 +675,7 @@ module Aws::Pinpoint
643
675
  include Aws::Structure
644
676
  end
645
677
 
646
- # Apple VOIP Push Notification Service channel definition.
678
+ # Apple VoIP Push Notification Service channel definition.
647
679
  #
648
680
  # @note When making an API call, you may pass APNSVoipChannelRequest
649
681
  # data as a hash:
@@ -705,7 +737,7 @@ module Aws::Pinpoint
705
737
  include Aws::Structure
706
738
  end
707
739
 
708
- # Apple VOIP Push Notification Service channel definition.
740
+ # Apple VoIP Push Notification Service channel definition.
709
741
  #
710
742
  # @!attribute [rw] application_id
711
743
  # Application id
@@ -773,7 +805,7 @@ module Aws::Pinpoint
773
805
  include Aws::Structure
774
806
  end
775
807
 
776
- # Apple VOIP Developer Push Notification Service channel definition.
808
+ # Apple VoIP Developer Push Notification Service channel definition.
777
809
  #
778
810
  # @note When making an API call, you may pass APNSVoipSandboxChannelRequest
779
811
  # data as a hash:
@@ -835,7 +867,7 @@ module Aws::Pinpoint
835
867
  include Aws::Structure
836
868
  end
837
869
 
838
- # Apple VOIP Developer Push Notification Service channel definition.
870
+ # Apple VoIP Developer Push Notification Service channel definition.
839
871
  #
840
872
  # @!attribute [rw] application_id
841
873
  # Application id
@@ -1001,7 +1033,7 @@ module Aws::Pinpoint
1001
1033
  #
1002
1034
  # {
1003
1035
  # body_override: "__string",
1004
- # channel_type: "GCM", # accepts GCM, APNS, APNS_SANDBOX, APNS_VOIP, APNS_VOIP_SANDBOX, ADM, SMS, EMAIL, BAIDU
1036
+ # channel_type: "GCM", # accepts GCM, APNS, APNS_SANDBOX, APNS_VOIP, APNS_VOIP_SANDBOX, ADM, SMS, EMAIL, BAIDU, CUSTOM
1005
1037
  # context: {
1006
1038
  # "__string" => "__string",
1007
1039
  # },
@@ -1017,10 +1049,15 @@ module Aws::Pinpoint
1017
1049
  # @return [String]
1018
1050
  #
1019
1051
  # @!attribute [rw] channel_type
1020
- # The channel type. Valid values: GCM \| APNS \| SMS \| EMAIL
1052
+ # The channel type. Valid values: GCM \| APNS \| APNS\_SANDBOX \|
1053
+ # APNS\_VOIP \| APNS\_VOIP\_SANDBOX \| ADM \| SMS \| EMAIL \| BAIDU
1021
1054
  # @return [String]
1022
1055
  #
1023
1056
  # @!attribute [rw] context
1057
+ # A map of custom attributes to attributes to be attached to the
1058
+ # message for this address. This payload is added to the push
1059
+ # notification's 'data.pinpoint' object or added to the email/sms
1060
+ # delivery receipt event attributes.
1024
1061
  # @return [Hash<String,String>]
1025
1062
  #
1026
1063
  # @!attribute [rw] raw_content
@@ -1072,6 +1109,10 @@ module Aws::Pinpoint
1072
1109
  # The unique ID for the application.
1073
1110
  # @return [String]
1074
1111
  #
1112
+ # @!attribute [rw] campaign_hook
1113
+ # Default campaign hook.
1114
+ # @return [Types::CampaignHook]
1115
+ #
1075
1116
  # @!attribute [rw] last_modified_date
1076
1117
  # The date that the settings were last updated in ISO 8601 format.
1077
1118
  # @return [String]
@@ -1092,6 +1133,7 @@ module Aws::Pinpoint
1092
1133
  #
1093
1134
  class ApplicationSettingsResource < Struct.new(
1094
1135
  :application_id,
1136
+ :campaign_hook,
1095
1137
  :last_modified_date,
1096
1138
  :limits,
1097
1139
  :quiet_time)
@@ -1195,7 +1237,10 @@ module Aws::Pinpoint
1195
1237
  # @return [Boolean]
1196
1238
  #
1197
1239
  # @!attribute [rw] has_credential
1198
- # If the channel is registered with a credential for authentication.
1240
+ # Indicates whether the channel is configured with Baidu Cloud Push
1241
+ # credentials. Amazon Pinpoint uses your credentials to authenticate
1242
+ # push notifications with Baidu Cloud Push. Provide your credentials
1243
+ # by setting the ApiKey and SecretKey attributes.
1199
1244
  # @return [Boolean]
1200
1245
  #
1201
1246
  # @!attribute [rw] id
@@ -1281,6 +1326,8 @@ module Aws::Pinpoint
1281
1326
  # @return [String]
1282
1327
  #
1283
1328
  # @!attribute [rw] data
1329
+ # The data payload used for a silent push. This payload is added to
1330
+ # the notifications' data.pinpoint.jsonBody' object
1284
1331
  # @return [Hash<String,String>]
1285
1332
  #
1286
1333
  # @!attribute [rw] icon_reference
@@ -1390,6 +1437,37 @@ module Aws::Pinpoint
1390
1437
  include Aws::Structure
1391
1438
  end
1392
1439
 
1440
+ # @note When making an API call, you may pass CampaignHook
1441
+ # data as a hash:
1442
+ #
1443
+ # {
1444
+ # lambda_function_name: "__string",
1445
+ # mode: "DELIVERY", # accepts DELIVERY, FILTER
1446
+ # web_url: "__string",
1447
+ # }
1448
+ #
1449
+ # @!attribute [rw] lambda_function_name
1450
+ # Lambda function name or arn to be called for delivery
1451
+ # @return [String]
1452
+ #
1453
+ # @!attribute [rw] mode
1454
+ # What mode Lambda should be invoked in.
1455
+ # @return [String]
1456
+ #
1457
+ # @!attribute [rw] web_url
1458
+ # Web URL to call for hook. If the URL has authentication specified it
1459
+ # will be added as authentication to the request
1460
+ # @return [String]
1461
+ #
1462
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CampaignHook AWS API Documentation
1463
+ #
1464
+ class CampaignHook < Struct.new(
1465
+ :lambda_function_name,
1466
+ :mode,
1467
+ :web_url)
1468
+ include Aws::Structure
1469
+ end
1470
+
1393
1471
  # Campaign Limits are used to limit the number of messages that can be
1394
1472
  # sent to a user.
1395
1473
  #
@@ -1408,14 +1486,14 @@ module Aws::Pinpoint
1408
1486
  # @return [Integer]
1409
1487
  #
1410
1488
  # @!attribute [rw] maximum_duration
1411
- # The maximum duration of a campaign from the scheduled start. Must be
1412
- # a minimum of 60 seconds.
1489
+ # The length of time (in seconds) that the campaign can run before it
1490
+ # ends and message deliveries stop. This duration begins at the
1491
+ # scheduled start time for the campaign. The minimum value is 60.
1413
1492
  # @return [Integer]
1414
1493
  #
1415
1494
  # @!attribute [rw] messages_per_second
1416
- # The maximum number of messages per second that the campaign will
1417
- # send. This is a best effort maximum cap and can go as high as 20000
1418
- # and as low as 50
1495
+ # The number of messages that the campaign can send per second. The
1496
+ # minimum value is 50, and the maximum is 20000.
1419
1497
  # @return [Integer]
1420
1498
  #
1421
1499
  # @!attribute [rw] total
@@ -1460,6 +1538,10 @@ module Aws::Pinpoint
1460
1538
  # from this campaign.
1461
1539
  # @return [Integer]
1462
1540
  #
1541
+ # @!attribute [rw] hook
1542
+ # Campaign hook information.
1543
+ # @return [Types::CampaignHook]
1544
+ #
1463
1545
  # @!attribute [rw] id
1464
1546
  # The unique campaign ID.
1465
1547
  # @return [String]
@@ -1523,6 +1605,7 @@ module Aws::Pinpoint
1523
1605
  :default_state,
1524
1606
  :description,
1525
1607
  :holdout_percent,
1608
+ :hook,
1526
1609
  :id,
1527
1610
  :is_paused,
1528
1611
  :last_modified_date,
@@ -1762,6 +1845,11 @@ module Aws::Pinpoint
1762
1845
  # ],
1763
1846
  # description: "__string",
1764
1847
  # holdout_percent: 1,
1848
+ # hook: {
1849
+ # lambda_function_name: "__string",
1850
+ # mode: "DELIVERY", # accepts DELIVERY, FILTER
1851
+ # web_url: "__string",
1852
+ # },
1765
1853
  # is_paused: false,
1766
1854
  # limits: {
1767
1855
  # daily: 1,
@@ -1892,6 +1980,42 @@ module Aws::Pinpoint
1892
1980
  include Aws::Structure
1893
1981
  end
1894
1982
 
1983
+ # @note When making an API call, you may pass CreateExportJobRequest
1984
+ # data as a hash:
1985
+ #
1986
+ # {
1987
+ # application_id: "__string", # required
1988
+ # export_job_request: { # required
1989
+ # role_arn: "__string",
1990
+ # s3_url_prefix: "__string",
1991
+ # segment_id: "__string",
1992
+ # },
1993
+ # }
1994
+ #
1995
+ # @!attribute [rw] application_id
1996
+ # @return [String]
1997
+ #
1998
+ # @!attribute [rw] export_job_request
1999
+ # @return [Types::ExportJobRequest]
2000
+ #
2001
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateExportJobRequest AWS API Documentation
2002
+ #
2003
+ class CreateExportJobRequest < Struct.new(
2004
+ :application_id,
2005
+ :export_job_request)
2006
+ include Aws::Structure
2007
+ end
2008
+
2009
+ # @!attribute [rw] export_job_response
2010
+ # @return [Types::ExportJobResponse]
2011
+ #
2012
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/CreateExportJobResponse AWS API Documentation
2013
+ #
2014
+ class CreateExportJobResponse < Struct.new(
2015
+ :export_job_response)
2016
+ include Aws::Structure
2017
+ end
2018
+
1895
2019
  # @note When making an API call, you may pass CreateImportJobRequest
1896
2020
  # data as a hash:
1897
2021
  #
@@ -2085,6 +2209,8 @@ module Aws::Pinpoint
2085
2209
  # @return [String]
2086
2210
  #
2087
2211
  # @!attribute [rw] data
2212
+ # The data payload used for a silent push. This payload is added to
2213
+ # the notifications' data.pinpoint.jsonBody' object
2088
2214
  # @return [Hash<String,String>]
2089
2215
  #
2090
2216
  # @!attribute [rw] silent_push
@@ -2221,7 +2347,7 @@ module Aws::Pinpoint
2221
2347
  end
2222
2348
 
2223
2349
  # @!attribute [rw] apns_voip_channel_response
2224
- # Apple VOIP Push Notification Service channel definition.
2350
+ # Apple VoIP Push Notification Service channel definition.
2225
2351
  # @return [Types::APNSVoipChannelResponse]
2226
2352
  #
2227
2353
  # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsVoipChannelResponse AWS API Documentation
@@ -2249,7 +2375,7 @@ module Aws::Pinpoint
2249
2375
  end
2250
2376
 
2251
2377
  # @!attribute [rw] apns_voip_sandbox_channel_response
2252
- # Apple VOIP Developer Push Notification Service channel definition.
2378
+ # Apple VoIP Developer Push Notification Service channel definition.
2253
2379
  # @return [Types::APNSVoipSandboxChannelResponse]
2254
2380
  #
2255
2381
  # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/DeleteApnsVoipSandboxChannelResponse AWS API Documentation
@@ -2784,7 +2910,7 @@ module Aws::Pinpoint
2784
2910
  # attributes: {
2785
2911
  # "__string" => ["__string"],
2786
2912
  # },
2787
- # channel_type: "GCM", # accepts GCM, APNS, APNS_SANDBOX, APNS_VOIP, APNS_VOIP_SANDBOX, ADM, SMS, EMAIL, BAIDU
2913
+ # channel_type: "GCM", # accepts GCM, APNS, APNS_SANDBOX, APNS_VOIP, APNS_VOIP_SANDBOX, ADM, SMS, EMAIL, BAIDU, CUSTOM
2788
2914
  # demographic: {
2789
2915
  # app_version: "__string",
2790
2916
  # locale: "__string",
@@ -2828,7 +2954,8 @@ module Aws::Pinpoint
2828
2954
  # @return [Hash<String,Array<String>>]
2829
2955
  #
2830
2956
  # @!attribute [rw] channel_type
2831
- # The channel type. Valid values: GCM \| APNS \| SMS \| EMAIL
2957
+ # The channel type. Valid values: GCM \| APNS \| APNS\_SANDBOX \|
2958
+ # APNS\_VOIP \| APNS\_VOIP\_SANDBOX \| ADM \| SMS \| EMAIL \| BAIDU
2832
2959
  # @return [String]
2833
2960
  #
2834
2961
  # @!attribute [rw] demographic
@@ -2854,6 +2981,7 @@ module Aws::Pinpoint
2854
2981
  # @return [Types::EndpointLocation]
2855
2982
  #
2856
2983
  # @!attribute [rw] metrics
2984
+ # Custom metrics that your app reports to Amazon Pinpoint.
2857
2985
  # @return [Hash<String,Float>]
2858
2986
  #
2859
2987
  # @!attribute [rw] opt_out
@@ -2901,7 +3029,7 @@ module Aws::Pinpoint
2901
3029
  # attributes: {
2902
3030
  # "__string" => ["__string"],
2903
3031
  # },
2904
- # channel_type: "GCM", # accepts GCM, APNS, APNS_SANDBOX, APNS_VOIP, APNS_VOIP_SANDBOX, ADM, SMS, EMAIL, BAIDU
3032
+ # channel_type: "GCM", # accepts GCM, APNS, APNS_SANDBOX, APNS_VOIP, APNS_VOIP_SANDBOX, ADM, SMS, EMAIL, BAIDU, CUSTOM
2905
3033
  # demographic: {
2906
3034
  # app_version: "__string",
2907
3035
  # locale: "__string",
@@ -3110,7 +3238,7 @@ module Aws::Pinpoint
3110
3238
  # attributes: {
3111
3239
  # "__string" => ["__string"],
3112
3240
  # },
3113
- # channel_type: "GCM", # accepts GCM, APNS, APNS_SANDBOX, APNS_VOIP, APNS_VOIP_SANDBOX, ADM, SMS, EMAIL, BAIDU
3241
+ # channel_type: "GCM", # accepts GCM, APNS, APNS_SANDBOX, APNS_VOIP, APNS_VOIP_SANDBOX, ADM, SMS, EMAIL, BAIDU, CUSTOM
3114
3242
  # demographic: {
3115
3243
  # app_version: "__string",
3116
3244
  # locale: "__string",
@@ -3153,7 +3281,8 @@ module Aws::Pinpoint
3153
3281
  # @return [Hash<String,Array<String>>]
3154
3282
  #
3155
3283
  # @!attribute [rw] channel_type
3156
- # The channel type. Valid values: GCM \| APNS \| SMS \| EMAIL
3284
+ # The channel type. Valid values: GCM \| APNS \| APNS\_SANDBOX \|
3285
+ # APNS\_VOIP \| APNS\_VOIP\_SANDBOX \| ADM \| SMS \| EMAIL \| BAIDU
3157
3286
  # @return [String]
3158
3287
  #
3159
3288
  # @!attribute [rw] demographic
@@ -3175,6 +3304,7 @@ module Aws::Pinpoint
3175
3304
  # @return [Types::EndpointLocation]
3176
3305
  #
3177
3306
  # @!attribute [rw] metrics
3307
+ # Custom metrics that your app reports to Amazon Pinpoint.
3178
3308
  # @return [Hash<String,Float>]
3179
3309
  #
3180
3310
  # @!attribute [rw] opt_out
@@ -3224,7 +3354,8 @@ module Aws::Pinpoint
3224
3354
  # @return [Hash<String,Array<String>>]
3225
3355
  #
3226
3356
  # @!attribute [rw] channel_type
3227
- # The channel type. Valid values: GCM \| APNS \| SMS \| EMAIL
3357
+ # The channel type. Valid values: GCM \| APNS \| APNS\_SANDBOX \|
3358
+ # APNS\_VOIP \| APNS\_VOIP\_SANDBOX \| ADM \| SMS \| EMAIL \| BAIDU
3228
3359
  # @return [String]
3229
3360
  #
3230
3361
  # @!attribute [rw] cohort_id
@@ -3264,6 +3395,7 @@ module Aws::Pinpoint
3264
3395
  # @return [Types::EndpointLocation]
3265
3396
  #
3266
3397
  # @!attribute [rw] metrics
3398
+ # Custom metrics that your app reports to Amazon Pinpoint.
3267
3399
  # @return [Hash<String,Float>]
3268
3400
  #
3269
3401
  # @!attribute [rw] opt_out
@@ -3324,6 +3456,10 @@ module Aws::Pinpoint
3324
3456
  # @return [String]
3325
3457
  #
3326
3458
  # @!attribute [rw] context
3459
+ # A map of custom attributes to attributes to be attached to the
3460
+ # message for this address. This payload is added to the push
3461
+ # notification's 'data.pinpoint' object or added to the email/sms
3462
+ # delivery receipt event attributes.
3327
3463
  # @return [Hash<String,String>]
3328
3464
  #
3329
3465
  # @!attribute [rw] raw_content
@@ -3392,8 +3528,10 @@ module Aws::Pinpoint
3392
3528
  # @return [String]
3393
3529
  #
3394
3530
  # @!attribute [rw] external_id
3395
- # The external ID assigned the IAM role that authorizes Amazon
3396
- # Pinpoint to publish to the stream.
3531
+ # DEPRECATED. Your AWS account ID, which you assigned to the
3532
+ # ExternalID key in an IAM trust policy. Used by Amazon Pinpoint to
3533
+ # assume an IAM role. This requirement is removed, and external IDs
3534
+ # are not recommended for IAM roles assumed by Amazon Pinpoint.
3397
3535
  # @return [String]
3398
3536
  #
3399
3537
  # @!attribute [rw] last_modified_date
@@ -3421,6 +3559,166 @@ module Aws::Pinpoint
3421
3559
  include Aws::Structure
3422
3560
  end
3423
3561
 
3562
+ # @note When making an API call, you may pass ExportJobRequest
3563
+ # data as a hash:
3564
+ #
3565
+ # {
3566
+ # role_arn: "__string",
3567
+ # s3_url_prefix: "__string",
3568
+ # segment_id: "__string",
3569
+ # }
3570
+ #
3571
+ # @!attribute [rw] role_arn
3572
+ # The Amazon Resource Name (ARN) of an IAM role that grants Amazon
3573
+ # Pinpoint access to the Amazon S3 location that endpoints will be
3574
+ # exported to.
3575
+ # @return [String]
3576
+ #
3577
+ # @!attribute [rw] s3_url_prefix
3578
+ # A URL that points to the location within an Amazon S3 bucket that
3579
+ # will receive the export. The location is typically a folder with
3580
+ # multiple files. The URL should follow this format:
3581
+ # s3://bucket-name/folder-name/ Amazon Pinpoint will export endpoints
3582
+ # to this location.
3583
+ # @return [String]
3584
+ #
3585
+ # @!attribute [rw] segment_id
3586
+ # The ID of the segment to export endpoints from. If not present, all
3587
+ # endpoints will be exported.
3588
+ # @return [String]
3589
+ #
3590
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ExportJobRequest AWS API Documentation
3591
+ #
3592
+ class ExportJobRequest < Struct.new(
3593
+ :role_arn,
3594
+ :s3_url_prefix,
3595
+ :segment_id)
3596
+ include Aws::Structure
3597
+ end
3598
+
3599
+ # @!attribute [rw] role_arn
3600
+ # The Amazon Resource Name (ARN) of an IAM role that grants Amazon
3601
+ # Pinpoint access to the Amazon S3 location that endpoints will be
3602
+ # exported to.
3603
+ # @return [String]
3604
+ #
3605
+ # @!attribute [rw] s3_url_prefix
3606
+ # A URL that points to the location within an Amazon S3 bucket that
3607
+ # will receive the export. The location is typically a folder with
3608
+ # multiple files. The URL should follow this format:
3609
+ # s3://bucket-name/folder-name/ Amazon Pinpoint will export endpoints
3610
+ # to this location.
3611
+ # @return [String]
3612
+ #
3613
+ # @!attribute [rw] segment_id
3614
+ # The ID of the segment to export endpoints from. If not present all
3615
+ # endpoints will be exported.
3616
+ # @return [String]
3617
+ #
3618
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ExportJobResource AWS API Documentation
3619
+ #
3620
+ class ExportJobResource < Struct.new(
3621
+ :role_arn,
3622
+ :s3_url_prefix,
3623
+ :segment_id)
3624
+ include Aws::Structure
3625
+ end
3626
+
3627
+ # @!attribute [rw] application_id
3628
+ # The unique ID of the application to which the job applies.
3629
+ # @return [String]
3630
+ #
3631
+ # @!attribute [rw] completed_pieces
3632
+ # The number of pieces that have successfully completed as of the time
3633
+ # of the request.
3634
+ # @return [Integer]
3635
+ #
3636
+ # @!attribute [rw] completion_date
3637
+ # The date the job completed in ISO 8601 format.
3638
+ # @return [String]
3639
+ #
3640
+ # @!attribute [rw] creation_date
3641
+ # The date the job was created in ISO 8601 format.
3642
+ # @return [String]
3643
+ #
3644
+ # @!attribute [rw] definition
3645
+ # The export job settings.
3646
+ # @return [Types::ExportJobResource]
3647
+ #
3648
+ # @!attribute [rw] failed_pieces
3649
+ # The number of pieces that failed to be processed as of the time of
3650
+ # the request.
3651
+ # @return [Integer]
3652
+ #
3653
+ # @!attribute [rw] failures
3654
+ # @return [Array<String>]
3655
+ #
3656
+ # @!attribute [rw] id
3657
+ # The unique ID of the job.
3658
+ # @return [String]
3659
+ #
3660
+ # @!attribute [rw] job_status
3661
+ # The status of the export job. Valid values: CREATED, INITIALIZING,
3662
+ # PROCESSING, COMPLETING, COMPLETED, FAILING, FAILED The job status is
3663
+ # FAILED if one or more pieces failed.
3664
+ # @return [String]
3665
+ #
3666
+ # @!attribute [rw] total_failures
3667
+ # The number of endpoints that were not processed; for example,
3668
+ # because of syntax errors.
3669
+ # @return [Integer]
3670
+ #
3671
+ # @!attribute [rw] total_pieces
3672
+ # The total number of pieces that must be processed to finish the job.
3673
+ # Each piece is an approximately equal portion of the endpoints.
3674
+ # @return [Integer]
3675
+ #
3676
+ # @!attribute [rw] total_processed
3677
+ # The number of endpoints that were processed by the job.
3678
+ # @return [Integer]
3679
+ #
3680
+ # @!attribute [rw] type
3681
+ # The job type. Will be 'EXPORT'.
3682
+ # @return [String]
3683
+ #
3684
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ExportJobResponse AWS API Documentation
3685
+ #
3686
+ class ExportJobResponse < Struct.new(
3687
+ :application_id,
3688
+ :completed_pieces,
3689
+ :completion_date,
3690
+ :creation_date,
3691
+ :definition,
3692
+ :failed_pieces,
3693
+ :failures,
3694
+ :id,
3695
+ :job_status,
3696
+ :total_failures,
3697
+ :total_pieces,
3698
+ :total_processed,
3699
+ :type)
3700
+ include Aws::Structure
3701
+ end
3702
+
3703
+ # Export job list.
3704
+ #
3705
+ # @!attribute [rw] item
3706
+ # A list of export jobs for the application.
3707
+ # @return [Array<Types::ExportJobResponse>]
3708
+ #
3709
+ # @!attribute [rw] next_token
3710
+ # The string that you use in a subsequent request to get the next page
3711
+ # of results in a paginated response.
3712
+ # @return [String]
3713
+ #
3714
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ExportJobsResponse AWS API Documentation
3715
+ #
3716
+ class ExportJobsResponse < Struct.new(
3717
+ :item,
3718
+ :next_token)
3719
+ include Aws::Structure
3720
+ end
3721
+
3424
3722
  # Google Cloud Messaging credentials
3425
3723
  #
3426
3724
  # @note When making an API call, you may pass GCMChannelRequest
@@ -3466,7 +3764,10 @@ module Aws::Pinpoint
3466
3764
  # @return [Boolean]
3467
3765
  #
3468
3766
  # @!attribute [rw] has_credential
3469
- # If the channel is registered with a credential for authentication.
3767
+ # Indicates whether the channel is configured with FCM or GCM
3768
+ # credentials. Amazon Pinpoint uses your credentials to authenticate
3769
+ # push notifications with FCM or GCM. Provide your credentials by
3770
+ # setting the ApiKey attribute.
3470
3771
  # @return [Boolean]
3471
3772
  #
3472
3773
  # @!attribute [rw] id
@@ -3564,6 +3865,8 @@ module Aws::Pinpoint
3564
3865
  # @return [String]
3565
3866
  #
3566
3867
  # @!attribute [rw] data
3868
+ # The data payload used for a silent push. This payload is added to
3869
+ # the notifications' data.pinpoint.jsonBody' object
3567
3870
  # @return [Hash<String,String>]
3568
3871
  #
3569
3872
  # @!attribute [rw] icon_reference
@@ -3580,7 +3883,15 @@ module Aws::Pinpoint
3580
3883
  # @return [String]
3581
3884
  #
3582
3885
  # @!attribute [rw] priority
3583
- # Is this a transaction priority message or lower priority.
3886
+ # The message priority. Amazon Pinpoint uses this value to set the FCM
3887
+ # or GCM priority parameter when it sends the message. Accepts the
3888
+ # following values: "Normal" - Messages might be delayed. Delivery
3889
+ # is optimized for battery usage on the receiving device. Use normal
3890
+ # priority unless immediate delivery is required. "High" - Messages
3891
+ # are sent immediately and might wake a sleeping device. The
3892
+ # equivalent values for APNs messages are "5" and "10". Amazon
3893
+ # Pinpoint accepts these values here and converts them. For more
3894
+ # information, see About FCM Messages in the Firebase documentation.
3584
3895
  # @return [String]
3585
3896
  #
3586
3897
  # @!attribute [rw] raw_content
@@ -3615,9 +3926,10 @@ module Aws::Pinpoint
3615
3926
  # @return [Hash<String,Array<String>>]
3616
3927
  #
3617
3928
  # @!attribute [rw] time_to_live
3618
- # This parameter specifies how long (in seconds) the message should be
3619
- # kept in GCM storage if the device is offline. The maximum time to
3620
- # live supported is 4 weeks, and the default value is 4 weeks.
3929
+ # The length of time (in seconds) that FCM or GCM stores and attempts
3930
+ # to deliver the message. If unspecified, the value defaults to the
3931
+ # maximum, which is 2,419,200 seconds (28 days). Amazon Pinpoint uses
3932
+ # this value to set the FCM or GCM time\_to\_live parameter.
3621
3933
  # @return [Integer]
3622
3934
  #
3623
3935
  # @!attribute [rw] title
@@ -3755,7 +4067,7 @@ module Aws::Pinpoint
3755
4067
  end
3756
4068
 
3757
4069
  # @!attribute [rw] apns_voip_channel_response
3758
- # Apple VOIP Push Notification Service channel definition.
4070
+ # Apple VoIP Push Notification Service channel definition.
3759
4071
  # @return [Types::APNSVoipChannelResponse]
3760
4072
  #
3761
4073
  # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsVoipChannelResponse AWS API Documentation
@@ -3783,7 +4095,7 @@ module Aws::Pinpoint
3783
4095
  end
3784
4096
 
3785
4097
  # @!attribute [rw] apns_voip_sandbox_channel_response
3786
- # Apple VOIP Developer Push Notification Service channel definition.
4098
+ # Apple VoIP Developer Push Notification Service channel definition.
3787
4099
  # @return [Types::APNSVoipSandboxChannelResponse]
3788
4100
  #
3789
4101
  # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetApnsVoipSandboxChannelResponse AWS API Documentation
@@ -4195,6 +4507,76 @@ module Aws::Pinpoint
4195
4507
  include Aws::Structure
4196
4508
  end
4197
4509
 
4510
+ # @note When making an API call, you may pass GetExportJobRequest
4511
+ # data as a hash:
4512
+ #
4513
+ # {
4514
+ # application_id: "__string", # required
4515
+ # job_id: "__string", # required
4516
+ # }
4517
+ #
4518
+ # @!attribute [rw] application_id
4519
+ # @return [String]
4520
+ #
4521
+ # @!attribute [rw] job_id
4522
+ # @return [String]
4523
+ #
4524
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetExportJobRequest AWS API Documentation
4525
+ #
4526
+ class GetExportJobRequest < Struct.new(
4527
+ :application_id,
4528
+ :job_id)
4529
+ include Aws::Structure
4530
+ end
4531
+
4532
+ # @!attribute [rw] export_job_response
4533
+ # @return [Types::ExportJobResponse]
4534
+ #
4535
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetExportJobResponse AWS API Documentation
4536
+ #
4537
+ class GetExportJobResponse < Struct.new(
4538
+ :export_job_response)
4539
+ include Aws::Structure
4540
+ end
4541
+
4542
+ # @note When making an API call, you may pass GetExportJobsRequest
4543
+ # data as a hash:
4544
+ #
4545
+ # {
4546
+ # application_id: "__string", # required
4547
+ # page_size: "__string",
4548
+ # token: "__string",
4549
+ # }
4550
+ #
4551
+ # @!attribute [rw] application_id
4552
+ # @return [String]
4553
+ #
4554
+ # @!attribute [rw] page_size
4555
+ # @return [String]
4556
+ #
4557
+ # @!attribute [rw] token
4558
+ # @return [String]
4559
+ #
4560
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetExportJobsRequest AWS API Documentation
4561
+ #
4562
+ class GetExportJobsRequest < Struct.new(
4563
+ :application_id,
4564
+ :page_size,
4565
+ :token)
4566
+ include Aws::Structure
4567
+ end
4568
+
4569
+ # @!attribute [rw] export_jobs_response
4570
+ # Export job list.
4571
+ # @return [Types::ExportJobsResponse]
4572
+ #
4573
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetExportJobsResponse AWS API Documentation
4574
+ #
4575
+ class GetExportJobsResponse < Struct.new(
4576
+ :export_jobs_response)
4577
+ include Aws::Structure
4578
+ end
4579
+
4198
4580
  # @note When making an API call, you may pass GetGcmChannelRequest
4199
4581
  # data as a hash:
4200
4582
  #
@@ -4293,6 +4675,49 @@ module Aws::Pinpoint
4293
4675
  include Aws::Structure
4294
4676
  end
4295
4677
 
4678
+ # @note When making an API call, you may pass GetSegmentExportJobsRequest
4679
+ # data as a hash:
4680
+ #
4681
+ # {
4682
+ # application_id: "__string", # required
4683
+ # page_size: "__string",
4684
+ # segment_id: "__string", # required
4685
+ # token: "__string",
4686
+ # }
4687
+ #
4688
+ # @!attribute [rw] application_id
4689
+ # @return [String]
4690
+ #
4691
+ # @!attribute [rw] page_size
4692
+ # @return [String]
4693
+ #
4694
+ # @!attribute [rw] segment_id
4695
+ # @return [String]
4696
+ #
4697
+ # @!attribute [rw] token
4698
+ # @return [String]
4699
+ #
4700
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentExportJobsRequest AWS API Documentation
4701
+ #
4702
+ class GetSegmentExportJobsRequest < Struct.new(
4703
+ :application_id,
4704
+ :page_size,
4705
+ :segment_id,
4706
+ :token)
4707
+ include Aws::Structure
4708
+ end
4709
+
4710
+ # @!attribute [rw] export_jobs_response
4711
+ # Export job list.
4712
+ # @return [Types::ExportJobsResponse]
4713
+ #
4714
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/GetSegmentExportJobsResponse AWS API Documentation
4715
+ #
4716
+ class GetSegmentExportJobsResponse < Struct.new(
4717
+ :export_jobs_response)
4718
+ include Aws::Structure
4719
+ end
4720
+
4296
4721
  # @note When making an API call, you may pass GetSegmentImportJobsRequest
4297
4722
  # data as a hash:
4298
4723
  #
@@ -4535,8 +4960,10 @@ module Aws::Pinpoint
4535
4960
  # @return [Boolean]
4536
4961
  #
4537
4962
  # @!attribute [rw] external_id
4538
- # A unique, custom ID assigned to the IAM role that restricts who can
4539
- # assume the role.
4963
+ # DEPRECATED. Your AWS account ID, which you assigned to the
4964
+ # ExternalID key in an IAM trust policy. Used by Amazon Pinpoint to
4965
+ # assume an IAM role. This requirement is removed, and external IDs
4966
+ # are not recommended for IAM roles assumed by Amazon Pinpoint.
4540
4967
  # @return [String]
4541
4968
  #
4542
4969
  # @!attribute [rw] format
@@ -4592,8 +5019,10 @@ module Aws::Pinpoint
4592
5019
  # @return [Boolean]
4593
5020
  #
4594
5021
  # @!attribute [rw] external_id
4595
- # A unique, custom ID assigned to the IAM role that restricts who can
4596
- # assume the role.
5022
+ # DEPRECATED. Your AWS account ID, which you assigned to the
5023
+ # ExternalID key in an IAM trust policy. Used by Amazon Pinpoint to
5024
+ # assume an IAM role. This requirement is removed, and external IDs
5025
+ # are not recommended for IAM roles assumed by Amazon Pinpoint.
4597
5026
  # @return [String]
4598
5027
  #
4599
5028
  # @!attribute [rw] format
@@ -4988,7 +5417,7 @@ module Aws::Pinpoint
4988
5417
  # addresses: {
4989
5418
  # "__string" => {
4990
5419
  # body_override: "__string",
4991
- # channel_type: "GCM", # accepts GCM, APNS, APNS_SANDBOX, APNS_VOIP, APNS_VOIP_SANDBOX, ADM, SMS, EMAIL, BAIDU
5420
+ # channel_type: "GCM", # accepts GCM, APNS, APNS_SANDBOX, APNS_VOIP, APNS_VOIP_SANDBOX, ADM, SMS, EMAIL, BAIDU, CUSTOM
4992
5421
  # context: {
4993
5422
  # "__string" => "__string",
4994
5423
  # },
@@ -5140,6 +5569,10 @@ module Aws::Pinpoint
5140
5569
  # @return [Hash<String,Types::AddressConfiguration>]
5141
5570
  #
5142
5571
  # @!attribute [rw] context
5572
+ # A map of custom attributes to attributes to be attached to the
5573
+ # message. This payload is added to the push notification's
5574
+ # 'data.pinpoint' object or added to the email/sms delivery receipt
5575
+ # event attributes.
5143
5576
  # @return [Hash<String,String>]
5144
5577
  #
5145
5578
  # @!attribute [rw] endpoints
@@ -5697,11 +6130,14 @@ module Aws::Pinpoint
5697
6130
  # Segment import definition.
5698
6131
  #
5699
6132
  # @!attribute [rw] channel_counts
6133
+ # Channel type counts
5700
6134
  # @return [Hash<String,Integer>]
5701
6135
  #
5702
6136
  # @!attribute [rw] external_id
5703
- # A unique, custom ID assigned to the IAM role that restricts who can
5704
- # assume the role.
6137
+ # DEPRECATED. Your AWS account ID, which you assigned to the
6138
+ # ExternalID key in an IAM trust policy. Used by Amazon Pinpoint to
6139
+ # assume an IAM role. This requirement is removed, and external IDs
6140
+ # are not recommended for IAM roles assumed by Amazon Pinpoint.
5705
6141
  # @return [String]
5706
6142
  #
5707
6143
  # @!attribute [rw] format
@@ -5847,7 +6283,7 @@ module Aws::Pinpoint
5847
6283
  # addresses: {
5848
6284
  # "__string" => {
5849
6285
  # body_override: "__string",
5850
- # channel_type: "GCM", # accepts GCM, APNS, APNS_SANDBOX, APNS_VOIP, APNS_VOIP_SANDBOX, ADM, SMS, EMAIL, BAIDU
6286
+ # channel_type: "GCM", # accepts GCM, APNS, APNS_SANDBOX, APNS_VOIP, APNS_VOIP_SANDBOX, ADM, SMS, EMAIL, BAIDU, CUSTOM
5851
6287
  # context: {
5852
6288
  # "__string" => "__string",
5853
6289
  # },
@@ -6160,6 +6596,10 @@ module Aws::Pinpoint
6160
6596
  # }
6161
6597
  #
6162
6598
  # @!attribute [rw] context
6599
+ # A map of custom attributes to attributes to be attached to the
6600
+ # message. This payload is added to the push notification's
6601
+ # 'data.pinpoint' object or added to the email/sms delivery receipt
6602
+ # event attributes.
6163
6603
  # @return [Hash<String,String>]
6164
6604
  #
6165
6605
  # @!attribute [rw] message_configuration
@@ -6583,7 +7023,7 @@ module Aws::Pinpoint
6583
7023
  # }
6584
7024
  #
6585
7025
  # @!attribute [rw] apns_voip_channel_request
6586
- # Apple VOIP Push Notification Service channel definition.
7026
+ # Apple VoIP Push Notification Service channel definition.
6587
7027
  # @return [Types::APNSVoipChannelRequest]
6588
7028
  #
6589
7029
  # @!attribute [rw] application_id
@@ -6598,7 +7038,7 @@ module Aws::Pinpoint
6598
7038
  end
6599
7039
 
6600
7040
  # @!attribute [rw] apns_voip_channel_response
6601
- # Apple VOIP Push Notification Service channel definition.
7041
+ # Apple VoIP Push Notification Service channel definition.
6602
7042
  # @return [Types::APNSVoipChannelResponse]
6603
7043
  #
6604
7044
  # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsVoipChannelResponse AWS API Documentation
@@ -6626,7 +7066,7 @@ module Aws::Pinpoint
6626
7066
  # }
6627
7067
  #
6628
7068
  # @!attribute [rw] apns_voip_sandbox_channel_request
6629
- # Apple VOIP Developer Push Notification Service channel definition.
7069
+ # Apple VoIP Developer Push Notification Service channel definition.
6630
7070
  # @return [Types::APNSVoipSandboxChannelRequest]
6631
7071
  #
6632
7072
  # @!attribute [rw] application_id
@@ -6641,7 +7081,7 @@ module Aws::Pinpoint
6641
7081
  end
6642
7082
 
6643
7083
  # @!attribute [rw] apns_voip_sandbox_channel_response
6644
- # Apple VOIP Developer Push Notification Service channel definition.
7084
+ # Apple VoIP Developer Push Notification Service channel definition.
6645
7085
  # @return [Types::APNSVoipSandboxChannelResponse]
6646
7086
  #
6647
7087
  # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/UpdateApnsVoipSandboxChannelResponse AWS API Documentation
@@ -6657,6 +7097,11 @@ module Aws::Pinpoint
6657
7097
  # {
6658
7098
  # application_id: "__string", # required
6659
7099
  # write_application_settings_request: { # required
7100
+ # campaign_hook: {
7101
+ # lambda_function_name: "__string",
7102
+ # mode: "DELIVERY", # accepts DELIVERY, FILTER
7103
+ # web_url: "__string",
7104
+ # },
6660
7105
  # limits: {
6661
7106
  # daily: 1,
6662
7107
  # maximum_duration: 1,
@@ -6839,6 +7284,11 @@ module Aws::Pinpoint
6839
7284
  # ],
6840
7285
  # description: "__string",
6841
7286
  # holdout_percent: 1,
7287
+ # hook: {
7288
+ # lambda_function_name: "__string",
7289
+ # mode: "DELIVERY", # accepts DELIVERY, FILTER
7290
+ # web_url: "__string",
7291
+ # },
6842
7292
  # is_paused: false,
6843
7293
  # limits: {
6844
7294
  # daily: 1,
@@ -7023,7 +7473,7 @@ module Aws::Pinpoint
7023
7473
  # attributes: {
7024
7474
  # "__string" => ["__string"],
7025
7475
  # },
7026
- # channel_type: "GCM", # accepts GCM, APNS, APNS_SANDBOX, APNS_VOIP, APNS_VOIP_SANDBOX, ADM, SMS, EMAIL, BAIDU
7476
+ # channel_type: "GCM", # accepts GCM, APNS, APNS_SANDBOX, APNS_VOIP, APNS_VOIP_SANDBOX, ADM, SMS, EMAIL, BAIDU, CUSTOM
7027
7477
  # demographic: {
7028
7478
  # app_version: "__string",
7029
7479
  # locale: "__string",
@@ -7100,7 +7550,7 @@ module Aws::Pinpoint
7100
7550
  # attributes: {
7101
7551
  # "__string" => ["__string"],
7102
7552
  # },
7103
- # channel_type: "GCM", # accepts GCM, APNS, APNS_SANDBOX, APNS_VOIP, APNS_VOIP_SANDBOX, ADM, SMS, EMAIL, BAIDU
7553
+ # channel_type: "GCM", # accepts GCM, APNS, APNS_SANDBOX, APNS_VOIP, APNS_VOIP_SANDBOX, ADM, SMS, EMAIL, BAIDU, CUSTOM
7104
7554
  # demographic: {
7105
7555
  # app_version: "__string",
7106
7556
  # locale: "__string",
@@ -7338,6 +7788,11 @@ module Aws::Pinpoint
7338
7788
  # data as a hash:
7339
7789
  #
7340
7790
  # {
7791
+ # campaign_hook: {
7792
+ # lambda_function_name: "__string",
7793
+ # mode: "DELIVERY", # accepts DELIVERY, FILTER
7794
+ # web_url: "__string",
7795
+ # },
7341
7796
  # limits: {
7342
7797
  # daily: 1,
7343
7798
  # maximum_duration: 1,
@@ -7350,6 +7805,10 @@ module Aws::Pinpoint
7350
7805
  # },
7351
7806
  # }
7352
7807
  #
7808
+ # @!attribute [rw] campaign_hook
7809
+ # Default campaign hook information.
7810
+ # @return [Types::CampaignHook]
7811
+ #
7353
7812
  # @!attribute [rw] limits
7354
7813
  # The default campaign limits for the app. These limits apply to each
7355
7814
  # campaign for the app, unless the campaign overrides the default with
@@ -7365,6 +7824,7 @@ module Aws::Pinpoint
7365
7824
  # @see http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/WriteApplicationSettingsRequest AWS API Documentation
7366
7825
  #
7367
7826
  class WriteApplicationSettingsRequest < Struct.new(
7827
+ :campaign_hook,
7368
7828
  :limits,
7369
7829
  :quiet_time)
7370
7830
  include Aws::Structure
@@ -7474,6 +7934,11 @@ module Aws::Pinpoint
7474
7934
  # ],
7475
7935
  # description: "__string",
7476
7936
  # holdout_percent: 1,
7937
+ # hook: {
7938
+ # lambda_function_name: "__string",
7939
+ # mode: "DELIVERY", # accepts DELIVERY, FILTER
7940
+ # web_url: "__string",
7941
+ # },
7477
7942
  # is_paused: false,
7478
7943
  # limits: {
7479
7944
  # daily: 1,
@@ -7590,6 +8055,10 @@ module Aws::Pinpoint
7590
8055
  # from this campaign.
7591
8056
  # @return [Integer]
7592
8057
  #
8058
+ # @!attribute [rw] hook
8059
+ # Campaign hook information.
8060
+ # @return [Types::CampaignHook]
8061
+ #
7593
8062
  # @!attribute [rw] is_paused
7594
8063
  # Indicates whether the campaign is paused. A paused campaign does not
7595
8064
  # send messages unless you resume it by setting IsPaused to false.
@@ -7633,6 +8102,7 @@ module Aws::Pinpoint
7633
8102
  :additional_treatments,
7634
8103
  :description,
7635
8104
  :holdout_percent,
8105
+ :hook,
7636
8106
  :is_paused,
7637
8107
  :limits,
7638
8108
  :message_configuration,