Skip to content

Commit 26fab56

Browse files
author
awstools
committed
feat(client-osis): Add support for enabling a persistent buffer when creating or updating an OpenSearch Ingestion pipeline. Add tags to Pipeline and PipelineSummary response models.
1 parent e581203 commit 26fab56

File tree

9 files changed

+397
-22
lines changed

9 files changed

+397
-22
lines changed

clients/client-osis/src/commands/CreatePipelineCommand.ts

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,12 @@ export interface CreatePipelineCommandOutput extends CreatePipelineResponse, __M
6363
* "STRING_VALUE",
6464
* ],
6565
* },
66+
* BufferOptions: { // BufferOptions
67+
* PersistentBufferEnabled: true || false, // required
68+
* },
69+
* EncryptionAtRestOptions: { // EncryptionAtRestOptions
70+
* KmsKeyArn: "STRING_VALUE", // required
71+
* },
6672
* Tags: [ // TagList
6773
* { // Tag
6874
* Key: "STRING_VALUE", // required
@@ -108,6 +114,24 @@ export interface CreatePipelineCommandOutput extends CreatePipelineResponse, __M
108114
* // },
109115
* // },
110116
* // ],
117+
* // BufferOptions: { // BufferOptions
118+
* // PersistentBufferEnabled: true || false, // required
119+
* // },
120+
* // EncryptionAtRestOptions: { // EncryptionAtRestOptions
121+
* // KmsKeyArn: "STRING_VALUE", // required
122+
* // },
123+
* // ServiceVpcEndpoints: [ // ServiceVpcEndpointsList
124+
* // { // ServiceVpcEndpoint
125+
* // ServiceName: "OPENSEARCH_SERVERLESS",
126+
* // VpcEndpointId: "STRING_VALUE",
127+
* // },
128+
* // ],
129+
* // Tags: [ // TagList
130+
* // { // Tag
131+
* // Key: "STRING_VALUE", // required
132+
* // Value: "STRING_VALUE", // required
133+
* // },
134+
* // ],
111135
* // },
112136
* // };
113137
*
@@ -132,6 +156,9 @@ export interface CreatePipelineCommandOutput extends CreatePipelineResponse, __M
132156
* @throws {@link ResourceAlreadyExistsException} (client fault)
133157
* <p>You attempted to create a resource that already exists.</p>
134158
*
159+
* @throws {@link ResourceNotFoundException} (client fault)
160+
* <p>You attempted to access or delete a resource that does not exist.</p>
161+
*
135162
* @throws {@link ValidationException} (client fault)
136163
* <p>An exception for missing or invalid input fields.</p>
137164
*

clients/client-osis/src/commands/GetPipelineCommand.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,24 @@ export interface GetPipelineCommandOutput extends GetPipelineResponse, __Metadat
8585
* // },
8686
* // },
8787
* // ],
88+
* // BufferOptions: { // BufferOptions
89+
* // PersistentBufferEnabled: true || false, // required
90+
* // },
91+
* // EncryptionAtRestOptions: { // EncryptionAtRestOptions
92+
* // KmsKeyArn: "STRING_VALUE", // required
93+
* // },
94+
* // ServiceVpcEndpoints: [ // ServiceVpcEndpointsList
95+
* // { // ServiceVpcEndpoint
96+
* // ServiceName: "OPENSEARCH_SERVERLESS",
97+
* // VpcEndpointId: "STRING_VALUE",
98+
* // },
99+
* // ],
100+
* // Tags: [ // TagList
101+
* // { // Tag
102+
* // Key: "STRING_VALUE", // required
103+
* // Value: "STRING_VALUE", // required
104+
* // },
105+
* // ],
88106
* // },
89107
* // };
90108
*

clients/client-osis/src/commands/ListPipelinesCommand.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,12 @@ export interface ListPipelinesCommandOutput extends ListPipelinesResponse, __Met
6565
* // MaxUnits: Number("int"),
6666
* // CreatedAt: new Date("TIMESTAMP"),
6767
* // LastUpdatedAt: new Date("TIMESTAMP"),
68+
* // Tags: [ // TagList
69+
* // { // Tag
70+
* // Key: "STRING_VALUE", // required
71+
* // Value: "STRING_VALUE", // required
72+
* // },
73+
* // ],
6874
* // },
6975
* // ],
7076
* // };

clients/client-osis/src/commands/StartPipelineCommand.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,24 @@ export interface StartPipelineCommandOutput extends StartPipelineResponse, __Met
8585
* // },
8686
* // },
8787
* // ],
88+
* // BufferOptions: { // BufferOptions
89+
* // PersistentBufferEnabled: true || false, // required
90+
* // },
91+
* // EncryptionAtRestOptions: { // EncryptionAtRestOptions
92+
* // KmsKeyArn: "STRING_VALUE", // required
93+
* // },
94+
* // ServiceVpcEndpoints: [ // ServiceVpcEndpointsList
95+
* // { // ServiceVpcEndpoint
96+
* // ServiceName: "OPENSEARCH_SERVERLESS",
97+
* // VpcEndpointId: "STRING_VALUE",
98+
* // },
99+
* // ],
100+
* // Tags: [ // TagList
101+
* // { // Tag
102+
* // Key: "STRING_VALUE", // required
103+
* // Value: "STRING_VALUE", // required
104+
* // },
105+
* // ],
88106
* // },
89107
* // };
90108
*

clients/client-osis/src/commands/StopPipelineCommand.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,24 @@ export interface StopPipelineCommandOutput extends StopPipelineResponse, __Metad
8585
* // },
8686
* // },
8787
* // ],
88+
* // BufferOptions: { // BufferOptions
89+
* // PersistentBufferEnabled: true || false, // required
90+
* // },
91+
* // EncryptionAtRestOptions: { // EncryptionAtRestOptions
92+
* // KmsKeyArn: "STRING_VALUE", // required
93+
* // },
94+
* // ServiceVpcEndpoints: [ // ServiceVpcEndpointsList
95+
* // { // ServiceVpcEndpoint
96+
* // ServiceName: "OPENSEARCH_SERVERLESS",
97+
* // VpcEndpointId: "STRING_VALUE",
98+
* // },
99+
* // ],
100+
* // Tags: [ // TagList
101+
* // { // Tag
102+
* // Key: "STRING_VALUE", // required
103+
* // Value: "STRING_VALUE", // required
104+
* // },
105+
* // ],
88106
* // },
89107
* // };
90108
*

clients/client-osis/src/commands/UpdatePipelineCommand.ts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,12 @@ export interface UpdatePipelineCommandOutput extends UpdatePipelineResponse, __M
5555
* LogGroup: "STRING_VALUE", // required
5656
* },
5757
* },
58+
* BufferOptions: { // BufferOptions
59+
* PersistentBufferEnabled: true || false, // required
60+
* },
61+
* EncryptionAtRestOptions: { // EncryptionAtRestOptions
62+
* KmsKeyArn: "STRING_VALUE", // required
63+
* },
5864
* };
5965
* const command = new UpdatePipelineCommand(input);
6066
* const response = await client.send(command);
@@ -94,6 +100,24 @@ export interface UpdatePipelineCommandOutput extends UpdatePipelineResponse, __M
94100
* // },
95101
* // },
96102
* // ],
103+
* // BufferOptions: { // BufferOptions
104+
* // PersistentBufferEnabled: true || false, // required
105+
* // },
106+
* // EncryptionAtRestOptions: { // EncryptionAtRestOptions
107+
* // KmsKeyArn: "STRING_VALUE", // required
108+
* // },
109+
* // ServiceVpcEndpoints: [ // ServiceVpcEndpointsList
110+
* // { // ServiceVpcEndpoint
111+
* // ServiceName: "OPENSEARCH_SERVERLESS",
112+
* // VpcEndpointId: "STRING_VALUE",
113+
* // },
114+
* // ],
115+
* // Tags: [ // TagList
116+
* // { // Tag
117+
* // Key: "STRING_VALUE", // required
118+
* // Value: "STRING_VALUE", // required
119+
* // },
120+
* // ],
97121
* // },
98122
* // };
99123
*

clients/client-osis/src/models/models_0.ts

Lines changed: 132 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,32 @@ export class AccessDeniedException extends __BaseException {
2323
}
2424
}
2525

26+
/**
27+
* @public
28+
* <p>Options that specify the configuration of a persistent buffer.
29+
* To configure how OpenSearch Ingestion encrypts this data, set the EncryptionAtRestOptions.</p>
30+
*/
31+
export interface BufferOptions {
32+
/**
33+
* @public
34+
* <p>Whether persistent buffering should be enabled.</p>
35+
*/
36+
PersistentBufferEnabled: boolean | undefined;
37+
}
38+
39+
/**
40+
* @public
41+
* <p>Options to control how OpenSearch encrypts all data-at-rest.</p>
42+
*/
43+
export interface EncryptionAtRestOptions {
44+
/**
45+
* @public
46+
* <p>The ARN of the KMS key used to encrypt data-at-rest in OpenSearch Ingestion.
47+
* By default, data is encrypted using an AWS owned key.</p>
48+
*/
49+
KmsKeyArn: string | undefined;
50+
}
51+
2652
/**
2753
* @public
2854
* <p>The destination for OpenSearch Ingestion logs sent to Amazon CloudWatch.</p>
@@ -142,13 +168,56 @@ export interface CreatePipelineRequest {
142168
*/
143169
VpcOptions?: VpcOptions;
144170

171+
/**
172+
* @public
173+
* <p>Key-value pairs to configure persistent buffering for the pipeline.</p>
174+
*/
175+
BufferOptions?: BufferOptions;
176+
177+
/**
178+
* @public
179+
* <p>Key-value pairs to configure encryption for data that is written to a persistent buffer.</p>
180+
*/
181+
EncryptionAtRestOptions?: EncryptionAtRestOptions;
182+
145183
/**
146184
* @public
147185
* <p>List of tags to add to the pipeline upon creation.</p>
148186
*/
149187
Tags?: Tag[];
150188
}
151189

190+
/**
191+
* @public
192+
* @enum
193+
*/
194+
export const VpcEndpointServiceName = {
195+
OPENSEARCH_SERVERLESS: "OPENSEARCH_SERVERLESS",
196+
} as const;
197+
198+
/**
199+
* @public
200+
*/
201+
export type VpcEndpointServiceName = (typeof VpcEndpointServiceName)[keyof typeof VpcEndpointServiceName];
202+
203+
/**
204+
* @public
205+
* <p>A container for information about VPC endpoints that were created to other services</p>
206+
*/
207+
export interface ServiceVpcEndpoint {
208+
/**
209+
* @public
210+
* <p>The name of the service for which a VPC endpoint was created.</p>
211+
*/
212+
ServiceName?: VpcEndpointServiceName;
213+
214+
/**
215+
* @public
216+
* <p>The ID of the VPC endpoint that was created.</p>
217+
*/
218+
VpcEndpointId?: string;
219+
}
220+
152221
/**
153222
* @public
154223
* @enum
@@ -285,6 +354,31 @@ export interface Pipeline {
285354
* <p>The VPC interface endpoints that have access to the pipeline.</p>
286355
*/
287356
VpcEndpoints?: VpcEndpoint[];
357+
358+
/**
359+
* @public
360+
* <p>Options that specify the configuration of a persistent buffer.
361+
* To configure how OpenSearch Ingestion encrypts this data, set the EncryptionAtRestOptions.</p>
362+
*/
363+
BufferOptions?: BufferOptions;
364+
365+
/**
366+
* @public
367+
* <p>Options to control how OpenSearch encrypts all data-at-rest.</p>
368+
*/
369+
EncryptionAtRestOptions?: EncryptionAtRestOptions;
370+
371+
/**
372+
* @public
373+
* <p>A list of VPC endpoints that OpenSearch Ingestion has created to other AWS services.</p>
374+
*/
375+
ServiceVpcEndpoints?: ServiceVpcEndpoint[];
376+
377+
/**
378+
* @public
379+
* <p>A list of tags associated with the given pipeline.</p>
380+
*/
381+
Tags?: Tag[];
288382
}
289383

290384
/**
@@ -359,6 +453,26 @@ export class ResourceAlreadyExistsException extends __BaseException {
359453
}
360454
}
361455

456+
/**
457+
* @public
458+
* <p>You attempted to access or delete a resource that does not exist.</p>
459+
*/
460+
export class ResourceNotFoundException extends __BaseException {
461+
readonly name: "ResourceNotFoundException" = "ResourceNotFoundException";
462+
readonly $fault: "client" = "client";
463+
/**
464+
* @internal
465+
*/
466+
constructor(opts: __ExceptionOptionType<ResourceNotFoundException, __BaseException>) {
467+
super({
468+
name: "ResourceNotFoundException",
469+
$fault: "client",
470+
...opts,
471+
});
472+
Object.setPrototypeOf(this, ResourceNotFoundException.prototype);
473+
}
474+
}
475+
362476
/**
363477
* @public
364478
* <p>An exception for missing or invalid input fields.</p>
@@ -415,26 +529,6 @@ export interface DeletePipelineRequest {
415529
*/
416530
export interface DeletePipelineResponse {}
417531

418-
/**
419-
* @public
420-
* <p>You attempted to access or delete a resource that does not exist.</p>
421-
*/
422-
export class ResourceNotFoundException extends __BaseException {
423-
readonly name: "ResourceNotFoundException" = "ResourceNotFoundException";
424-
readonly $fault: "client" = "client";
425-
/**
426-
* @internal
427-
*/
428-
constructor(opts: __ExceptionOptionType<ResourceNotFoundException, __BaseException>) {
429-
super({
430-
name: "ResourceNotFoundException",
431-
$fault: "client",
432-
...opts,
433-
});
434-
Object.setPrototypeOf(this, ResourceNotFoundException.prototype);
435-
}
436-
}
437-
438532
/**
439533
* @public
440534
*/
@@ -732,6 +826,12 @@ export interface PipelineSummary {
732826
* <p>The date and time when the pipeline was last updated.</p>
733827
*/
734828
LastUpdatedAt?: Date;
829+
830+
/**
831+
* @public
832+
* <p>A list of tags associated with the given pipeline.</p>
833+
*/
834+
Tags?: Tag[];
735835
}
736836

737837
/**
@@ -898,6 +998,18 @@ export interface UpdatePipelineRequest {
898998
* <p>Key-value pairs to configure log publishing.</p>
899999
*/
9001000
LogPublishingOptions?: LogPublishingOptions;
1001+
1002+
/**
1003+
* @public
1004+
* <p>Key-value pairs to configure persistent buffering for the pipeline.</p>
1005+
*/
1006+
BufferOptions?: BufferOptions;
1007+
1008+
/**
1009+
* @public
1010+
* <p>Key-value pairs to configure encryption for data that is written to a persistent buffer.</p>
1011+
*/
1012+
EncryptionAtRestOptions?: EncryptionAtRestOptions;
9011013
}
9021014

9031015
/**

0 commit comments

Comments
 (0)