Skip to content

Commit 836ea0b

Browse files
author
AWS
committed
Amazon OpenSearch Ingestion Update: Add support for creating an OpenSearch Ingestion pipeline that is attached to a provided VPC. Add information about the destinations of an OpenSearch Ingestion pipeline to the GetPipeline and ListPipelines APIs.
1 parent 4f20111 commit 836ea0b

File tree

2 files changed

+131
-7
lines changed

2 files changed

+131
-7
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"type": "feature",
3+
"category": "Amazon OpenSearch Ingestion",
4+
"contributor": "",
5+
"description": "Add support for creating an OpenSearch Ingestion pipeline that is attached to a provided VPC. Add information about the destinations of an OpenSearch Ingestion pipeline to the GetPipeline and ListPipelines APIs."
6+
}

services/osis/src/main/resources/codegen-resources/service-2.json

Lines changed: 125 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
"apiVersion":"2022-01-01",
55
"endpointPrefix":"osis",
66
"protocol":"rest-json",
7+
"protocols":["rest-json"],
78
"serviceFullName":"Amazon OpenSearch Ingestion",
89
"serviceId":"OSIS",
910
"signatureVersion":"v4",
@@ -19,6 +20,7 @@
1920
"input":{"shape":"CreatePipelineRequest"},
2021
"output":{"shape":"CreatePipelineResponse"},
2122
"errors":[
23+
{"shape":"DisabledOperationException"},
2224
{"shape":"LimitExceededException"},
2325
{"shape":"ValidationException"},
2426
{"shape":"InternalException"},
@@ -37,6 +39,7 @@
3739
"input":{"shape":"DeletePipelineRequest"},
3840
"output":{"shape":"DeletePipelineResponse"},
3941
"errors":[
42+
{"shape":"DisabledOperationException"},
4043
{"shape":"ValidationException"},
4144
{"shape":"InternalException"},
4245
{"shape":"AccessDeniedException"},
@@ -54,6 +57,7 @@
5457
"input":{"shape":"GetPipelineRequest"},
5558
"output":{"shape":"GetPipelineResponse"},
5659
"errors":[
60+
{"shape":"DisabledOperationException"},
5761
{"shape":"ValidationException"},
5862
{"shape":"InternalException"},
5963
{"shape":"AccessDeniedException"},
@@ -70,6 +74,7 @@
7074
"input":{"shape":"GetPipelineBlueprintRequest"},
7175
"output":{"shape":"GetPipelineBlueprintResponse"},
7276
"errors":[
77+
{"shape":"DisabledOperationException"},
7378
{"shape":"AccessDeniedException"},
7479
{"shape":"InternalException"},
7580
{"shape":"ValidationException"},
@@ -86,6 +91,7 @@
8691
"input":{"shape":"GetPipelineChangeProgressRequest"},
8792
"output":{"shape":"GetPipelineChangeProgressResponse"},
8893
"errors":[
94+
{"shape":"DisabledOperationException"},
8995
{"shape":"ValidationException"},
9096
{"shape":"InternalException"},
9197
{"shape":"AccessDeniedException"},
@@ -102,6 +108,7 @@
102108
"input":{"shape":"ListPipelineBlueprintsRequest"},
103109
"output":{"shape":"ListPipelineBlueprintsResponse"},
104110
"errors":[
111+
{"shape":"DisabledOperationException"},
105112
{"shape":"ValidationException"},
106113
{"shape":"InternalException"},
107114
{"shape":"AccessDeniedException"},
@@ -118,6 +125,7 @@
118125
"input":{"shape":"ListPipelinesRequest"},
119126
"output":{"shape":"ListPipelinesResponse"},
120127
"errors":[
128+
{"shape":"DisabledOperationException"},
121129
{"shape":"ValidationException"},
122130
{"shape":"InternalException"},
123131
{"shape":"AccessDeniedException"},
@@ -134,6 +142,7 @@
134142
"input":{"shape":"ListTagsForResourceRequest"},
135143
"output":{"shape":"ListTagsForResourceResponse"},
136144
"errors":[
145+
{"shape":"DisabledOperationException"},
137146
{"shape":"ValidationException"},
138147
{"shape":"ResourceNotFoundException"},
139148
{"shape":"InternalException"},
@@ -150,6 +159,7 @@
150159
"input":{"shape":"StartPipelineRequest"},
151160
"output":{"shape":"StartPipelineResponse"},
152161
"errors":[
162+
{"shape":"DisabledOperationException"},
153163
{"shape":"AccessDeniedException"},
154164
{"shape":"ConflictException"},
155165
{"shape":"InternalException"},
@@ -167,6 +177,7 @@
167177
"input":{"shape":"StopPipelineRequest"},
168178
"output":{"shape":"StopPipelineResponse"},
169179
"errors":[
180+
{"shape":"DisabledOperationException"},
170181
{"shape":"AccessDeniedException"},
171182
{"shape":"ConflictException"},
172183
{"shape":"InternalException"},
@@ -184,6 +195,7 @@
184195
"input":{"shape":"TagResourceRequest"},
185196
"output":{"shape":"TagResourceResponse"},
186197
"errors":[
198+
{"shape":"DisabledOperationException"},
187199
{"shape":"LimitExceededException"},
188200
{"shape":"ValidationException"},
189201
{"shape":"InternalException"},
@@ -201,6 +213,7 @@
201213
"input":{"shape":"UntagResourceRequest"},
202214
"output":{"shape":"UntagResourceResponse"},
203215
"errors":[
216+
{"shape":"DisabledOperationException"},
204217
{"shape":"ValidationException"},
205218
{"shape":"ResourceNotFoundException"},
206219
{"shape":"InternalException"},
@@ -217,6 +230,7 @@
217230
"input":{"shape":"UpdatePipelineRequest"},
218231
"output":{"shape":"UpdatePipelineResponse"},
219232
"errors":[
233+
{"shape":"DisabledOperationException"},
220234
{"shape":"ValidationException"},
221235
{"shape":"InternalException"},
222236
{"shape":"AccessDeniedException"},
@@ -234,6 +248,7 @@
234248
"input":{"shape":"ValidatePipelineRequest"},
235249
"output":{"shape":"ValidatePipelineResponse"},
236250
"errors":[
251+
{"shape":"DisabledOperationException"},
237252
{"shape":"AccessDeniedException"},
238253
{"shape":"InternalException"},
239254
{"shape":"ValidationException"}
@@ -250,6 +265,10 @@
250265
"error":{"httpStatusCode":403},
251266
"exception":true
252267
},
268+
"BlueprintFormat":{
269+
"type":"string",
270+
"pattern":"(YAML|JSON)"
271+
},
253272
"Boolean":{"type":"boolean"},
254273
"BufferOptions":{
255274
"type":"structure",
@@ -260,7 +279,7 @@
260279
"documentation":"<p>Whether persistent buffering should be enabled.</p>"
261280
}
262281
},
263-
"documentation":"<p>Options that specify the configuration of a persistent buffer. To configure how OpenSearch Ingestion encrypts this data, set the EncryptionAtRestOptions.</p>"
282+
"documentation":"<p>Options that specify the configuration of a persistent buffer. To configure how OpenSearch Ingestion encrypts this data, set the <code>EncryptionAtRestOptions</code>. For more information, see <a href=\"https://docs.aws.amazon.com/opensearch-service/latest/developerguide/osis-features-overview.html#persistent-buffering\">Persistent buffering</a>.</p>"
264283
},
265284
"ChangeProgressStage":{
266285
"type":"structure",
@@ -332,13 +351,17 @@
332351
"FAILED"
333352
]
334353
},
354+
"CidrBlock":{
355+
"type":"string",
356+
"pattern":"^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/(3[0-2]|[12]?[0-9])$"
357+
},
335358
"CloudWatchLogDestination":{
336359
"type":"structure",
337360
"required":["LogGroup"],
338361
"members":{
339362
"LogGroup":{
340363
"shape":"LogGroup",
341-
"documentation":"<p>The name of the CloudWatch Logs group to send pipeline logs to. You can specify an existing log group or create a new one. For example, <code>/aws/OpenSearchService/IngestionService/my-pipeline</code>.</p>"
364+
"documentation":"<p>The name of the CloudWatch Logs group to send pipeline logs to. You can specify an existing log group or create a new one. For example, <code>/aws/vendedlogs/OpenSearchService/pipelines</code>.</p>"
342365
}
343366
},
344367
"documentation":"<p>The destination for OpenSearch Ingestion logs sent to Amazon CloudWatch.</p>"
@@ -424,16 +447,24 @@
424447
"members":{
425448
}
426449
},
450+
"DisabledOperationException":{
451+
"type":"structure",
452+
"members":{
453+
},
454+
"documentation":"<p>Exception is thrown when an operation has been disabled.</p>",
455+
"error":{"httpStatusCode":409},
456+
"exception":true
457+
},
427458
"EncryptionAtRestOptions":{
428459
"type":"structure",
429460
"required":["KmsKeyArn"],
430461
"members":{
431462
"KmsKeyArn":{
432463
"shape":"KmsKeyArn",
433-
"documentation":"<p>The ARN of the KMS key used to encrypt data-at-rest in OpenSearch Ingestion. By default, data is encrypted using an AWS owned key.</p>"
464+
"documentation":"<p>The ARN of the KMS key used to encrypt buffer data. By default, data is encrypted using an Amazon Web Services owned key.</p>"
434465
}
435466
},
436-
"documentation":"<p>Options to control how OpenSearch encrypts all data-at-rest.</p>"
467+
"documentation":"<p>Options to control how OpenSearch encrypts buffer data.</p>"
437468
},
438469
"GetPipelineBlueprintRequest":{
439470
"type":"structure",
@@ -444,6 +475,12 @@
444475
"documentation":"<p>The name of the blueprint to retrieve.</p>",
445476
"location":"uri",
446477
"locationName":"BlueprintName"
478+
},
479+
"Format":{
480+
"shape":"BlueprintFormat",
481+
"documentation":"<p>The format format of the blueprint to retrieve.</p>",
482+
"location":"querystring",
483+
"locationName":"format"
447484
}
448485
}
449486
},
@@ -453,6 +490,10 @@
453490
"Blueprint":{
454491
"shape":"PipelineBlueprint",
455492
"documentation":"<p>The requested blueprint in YAML format.</p>"
493+
},
494+
"Format":{
495+
"shape":"String",
496+
"documentation":"<p>The format of the blueprint.</p>"
456497
}
457498
}
458499
},
@@ -483,7 +524,7 @@
483524
"members":{
484525
"PipelineName":{
485526
"shape":"PipelineName",
486-
"documentation":"<p>The name of the pipeline to get information about.</p>",
527+
"documentation":"<p>The name of the pipeline.</p>",
487528
"location":"uri",
488529
"locationName":"PipelineName"
489530
}
@@ -683,7 +724,11 @@
683724
"EncryptionAtRestOptions":{"shape":"EncryptionAtRestOptions"},
684725
"ServiceVpcEndpoints":{
685726
"shape":"ServiceVpcEndpointsList",
686-
"documentation":"<p>A list of VPC endpoints that OpenSearch Ingestion has created to other AWS services.</p>"
727+
"documentation":"<p>A list of VPC endpoints that OpenSearch Ingestion has created to other Amazon Web Services services.</p>"
728+
},
729+
"Destinations":{
730+
"shape":"PipelineDestinationList",
731+
"documentation":"<p>Destinations to which the pipeline writes data.</p>"
687732
},
688733
"Tags":{
689734
"shape":"TagList",
@@ -708,6 +753,22 @@
708753
"PipelineConfigurationBody":{
709754
"shape":"String",
710755
"documentation":"<p>The YAML configuration of the blueprint.</p>"
756+
},
757+
"DisplayName":{
758+
"shape":"String",
759+
"documentation":"<p>The display name of the blueprint.</p>"
760+
},
761+
"DisplayDescription":{
762+
"shape":"String",
763+
"documentation":"<p>A description of the blueprint.</p>"
764+
},
765+
"Service":{
766+
"shape":"String",
767+
"documentation":"<p>The name of the service that the blueprint is associated with.</p>"
768+
},
769+
"UseCase":{
770+
"shape":"String",
771+
"documentation":"<p>The use case that the blueprint relates to.</p>"
711772
}
712773
},
713774
"documentation":"<p>Container for information about an OpenSearch Ingestion blueprint.</p>"
@@ -718,6 +779,22 @@
718779
"BlueprintName":{
719780
"shape":"String",
720781
"documentation":"<p>The name of the blueprint.</p>"
782+
},
783+
"DisplayName":{
784+
"shape":"String",
785+
"documentation":"<p>The display name of the blueprint.</p>"
786+
},
787+
"DisplayDescription":{
788+
"shape":"String",
789+
"documentation":"<p>A description of the blueprint.</p>"
790+
},
791+
"Service":{
792+
"shape":"String",
793+
"documentation":"<p>The name of the service that the blueprint is associated with.</p>"
794+
},
795+
"UseCase":{
796+
"shape":"String",
797+
"documentation":"<p>The use case that the blueprint relates to.</p>"
721798
}
722799
},
723800
"documentation":"<p>A summary of an OpenSearch Ingestion blueprint.</p>"
@@ -731,6 +808,24 @@
731808
"max":24000,
732809
"min":1
733810
},
811+
"PipelineDestination":{
812+
"type":"structure",
813+
"members":{
814+
"ServiceName":{
815+
"shape":"String",
816+
"documentation":"<p>The name of the service receiving data from the pipeline.</p>"
817+
},
818+
"Endpoint":{
819+
"shape":"String",
820+
"documentation":"<p>The endpoint receiving data from the pipeline.</p>"
821+
}
822+
},
823+
"documentation":"<p>An object representing the destination of a pipeline.</p>"
824+
},
825+
"PipelineDestinationList":{
826+
"type":"list",
827+
"member":{"shape":"PipelineDestination"}
828+
},
734829
"PipelineName":{
735830
"type":"string",
736831
"max":28,
@@ -794,6 +889,10 @@
794889
"shape":"Timestamp",
795890
"documentation":"<p>The date and time when the pipeline was last updated.</p>"
796891
},
892+
"Destinations":{
893+
"shape":"PipelineDestinationList",
894+
"documentation":"<p>A list of destinations to which the pipeline writes data.</p>"
895+
},
797896
"Tags":{
798897
"shape":"TagList",
799898
"documentation":"<p>A list of tags associated with the given pipeline.</p>"
@@ -846,7 +945,7 @@
846945
},
847946
"VpcEndpointId":{
848947
"shape":"String",
849-
"documentation":"<p>The ID of the VPC endpoint that was created.</p>"
948+
"documentation":"<p>The unique identifier of the VPC endpoint that was created.</p>"
850949
}
851950
},
852951
"documentation":"<p>A container for information about VPC endpoints that were created to other services</p>"
@@ -1081,6 +1180,21 @@
10811180
"type":"list",
10821181
"member":{"shape":"ValidationMessage"}
10831182
},
1183+
"VpcAttachmentOptions":{
1184+
"type":"structure",
1185+
"required":["AttachToVpc"],
1186+
"members":{
1187+
"AttachToVpc":{
1188+
"shape":"Boolean",
1189+
"documentation":"<p>Whether a VPC is attached to the pipeline.</p>"
1190+
},
1191+
"CidrBlock":{
1192+
"shape":"CidrBlock",
1193+
"documentation":"<p>The CIDR block to be reserved for OpenSearch Ingestion to create elastic network interfaces (ENIs).</p>"
1194+
}
1195+
},
1196+
"documentation":"<p>Options for attaching a VPC to pipeline.</p>"
1197+
},
10841198
"VpcEndpoint":{
10851199
"type":"structure",
10861200
"members":{
@@ -1118,6 +1232,10 @@
11181232
"SecurityGroupIds":{
11191233
"shape":"SecurityGroupIds",
11201234
"documentation":"<p>A list of security groups associated with the VPC endpoint.</p>"
1235+
},
1236+
"VpcAttachmentOptions":{
1237+
"shape":"VpcAttachmentOptions",
1238+
"documentation":"<p>Options for attaching a VPC to a pipeline.</p>"
11211239
}
11221240
},
11231241
"documentation":"<p>Options that specify the subnets and security groups for an OpenSearch Ingestion VPC endpoint.</p>"

0 commit comments

Comments
 (0)