aws-sdk-pinpoint 1.2.0 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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,