Skip to content

Commit 2426699

Browse files
author
awstools
committed
feat(client-translate): This release enables customers to access control rights on Translate resources like Parallel Data and Custom Terminology using Tag Based Authorization.
1 parent 9f1d83e commit 2426699

File tree

9 files changed

+1269
-211
lines changed

9 files changed

+1269
-211
lines changed

clients/client-translate/src/Translate.ts

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,11 @@ import {
4646
ListParallelDataCommandInput,
4747
ListParallelDataCommandOutput,
4848
} from "./commands/ListParallelDataCommand";
49+
import {
50+
ListTagsForResourceCommand,
51+
ListTagsForResourceCommandInput,
52+
ListTagsForResourceCommandOutput,
53+
} from "./commands/ListTagsForResourceCommand";
4954
import {
5055
ListTerminologiesCommand,
5156
ListTerminologiesCommandInput,
@@ -66,11 +71,17 @@ import {
6671
StopTextTranslationJobCommandInput,
6772
StopTextTranslationJobCommandOutput,
6873
} from "./commands/StopTextTranslationJobCommand";
74+
import { TagResourceCommand, TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
6975
import {
7076
TranslateTextCommand,
7177
TranslateTextCommandInput,
7278
TranslateTextCommandOutput,
7379
} from "./commands/TranslateTextCommand";
80+
import {
81+
UntagResourceCommand,
82+
UntagResourceCommandInput,
83+
UntagResourceCommandOutput,
84+
} from "./commands/UntagResourceCommand";
7485
import {
7586
UpdateParallelDataCommand,
7687
UpdateParallelDataCommandInput,
@@ -382,6 +393,35 @@ export class Translate extends TranslateClient {
382393
}
383394
}
384395

396+
public listTagsForResource(
397+
args: ListTagsForResourceCommandInput,
398+
options?: __HttpHandlerOptions
399+
): Promise<ListTagsForResourceCommandOutput>;
400+
public listTagsForResource(
401+
args: ListTagsForResourceCommandInput,
402+
cb: (err: any, data?: ListTagsForResourceCommandOutput) => void
403+
): void;
404+
public listTagsForResource(
405+
args: ListTagsForResourceCommandInput,
406+
options: __HttpHandlerOptions,
407+
cb: (err: any, data?: ListTagsForResourceCommandOutput) => void
408+
): void;
409+
public listTagsForResource(
410+
args: ListTagsForResourceCommandInput,
411+
optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListTagsForResourceCommandOutput) => void),
412+
cb?: (err: any, data?: ListTagsForResourceCommandOutput) => void
413+
): Promise<ListTagsForResourceCommandOutput> | void {
414+
const command = new ListTagsForResourceCommand(args);
415+
if (typeof optionsOrCb === "function") {
416+
this.send(command, optionsOrCb);
417+
} else if (typeof cb === "function") {
418+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
419+
this.send(command, optionsOrCb || {}, cb);
420+
} else {
421+
return this.send(command, optionsOrCb);
422+
}
423+
}
424+
385425
/**
386426
* <p>Provides a list of custom terminologies associated with your account.</p>
387427
*/
@@ -523,6 +563,29 @@ export class Translate extends TranslateClient {
523563
}
524564
}
525565

566+
public tagResource(args: TagResourceCommandInput, options?: __HttpHandlerOptions): Promise<TagResourceCommandOutput>;
567+
public tagResource(args: TagResourceCommandInput, cb: (err: any, data?: TagResourceCommandOutput) => void): void;
568+
public tagResource(
569+
args: TagResourceCommandInput,
570+
options: __HttpHandlerOptions,
571+
cb: (err: any, data?: TagResourceCommandOutput) => void
572+
): void;
573+
public tagResource(
574+
args: TagResourceCommandInput,
575+
optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: TagResourceCommandOutput) => void),
576+
cb?: (err: any, data?: TagResourceCommandOutput) => void
577+
): Promise<TagResourceCommandOutput> | void {
578+
const command = new TagResourceCommand(args);
579+
if (typeof optionsOrCb === "function") {
580+
this.send(command, optionsOrCb);
581+
} else if (typeof cb === "function") {
582+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
583+
this.send(command, optionsOrCb || {}, cb);
584+
} else {
585+
return this.send(command, optionsOrCb);
586+
}
587+
}
588+
526589
/**
527590
* <p>Translates input text from the source language to the target language. For a list of
528591
* available languages and language codes, see <a>what-is-languages</a>.</p>
@@ -556,6 +619,35 @@ export class Translate extends TranslateClient {
556619
}
557620
}
558621

622+
public untagResource(
623+
args: UntagResourceCommandInput,
624+
options?: __HttpHandlerOptions
625+
): Promise<UntagResourceCommandOutput>;
626+
public untagResource(
627+
args: UntagResourceCommandInput,
628+
cb: (err: any, data?: UntagResourceCommandOutput) => void
629+
): void;
630+
public untagResource(
631+
args: UntagResourceCommandInput,
632+
options: __HttpHandlerOptions,
633+
cb: (err: any, data?: UntagResourceCommandOutput) => void
634+
): void;
635+
public untagResource(
636+
args: UntagResourceCommandInput,
637+
optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UntagResourceCommandOutput) => void),
638+
cb?: (err: any, data?: UntagResourceCommandOutput) => void
639+
): Promise<UntagResourceCommandOutput> | void {
640+
const command = new UntagResourceCommand(args);
641+
if (typeof optionsOrCb === "function") {
642+
this.send(command, optionsOrCb);
643+
} else if (typeof cb === "function") {
644+
if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
645+
this.send(command, optionsOrCb || {}, cb);
646+
} else {
647+
return this.send(command, optionsOrCb);
648+
}
649+
}
650+
559651
/**
560652
* <p>Updates a previously created parallel data resource by importing a new input file from
561653
* Amazon S3.</p>

clients/client-translate/src/TranslateClient.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,10 @@ import { GetTerminologyCommandInput, GetTerminologyCommandOutput } from "./comma
6565
import { ImportTerminologyCommandInput, ImportTerminologyCommandOutput } from "./commands/ImportTerminologyCommand";
6666
import { ListLanguagesCommandInput, ListLanguagesCommandOutput } from "./commands/ListLanguagesCommand";
6767
import { ListParallelDataCommandInput, ListParallelDataCommandOutput } from "./commands/ListParallelDataCommand";
68+
import {
69+
ListTagsForResourceCommandInput,
70+
ListTagsForResourceCommandOutput,
71+
} from "./commands/ListTagsForResourceCommand";
6872
import { ListTerminologiesCommandInput, ListTerminologiesCommandOutput } from "./commands/ListTerminologiesCommand";
6973
import {
7074
ListTextTranslationJobsCommandInput,
@@ -78,7 +82,9 @@ import {
7882
StopTextTranslationJobCommandInput,
7983
StopTextTranslationJobCommandOutput,
8084
} from "./commands/StopTextTranslationJobCommand";
85+
import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
8186
import { TranslateTextCommandInput, TranslateTextCommandOutput } from "./commands/TranslateTextCommand";
87+
import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand";
8288
import { UpdateParallelDataCommandInput, UpdateParallelDataCommandOutput } from "./commands/UpdateParallelDataCommand";
8389
import { getRuntimeConfig as __getRuntimeConfig } from "./runtimeConfig";
8490

@@ -92,11 +98,14 @@ export type ServiceInputTypes =
9298
| ImportTerminologyCommandInput
9399
| ListLanguagesCommandInput
94100
| ListParallelDataCommandInput
101+
| ListTagsForResourceCommandInput
95102
| ListTerminologiesCommandInput
96103
| ListTextTranslationJobsCommandInput
97104
| StartTextTranslationJobCommandInput
98105
| StopTextTranslationJobCommandInput
106+
| TagResourceCommandInput
99107
| TranslateTextCommandInput
108+
| UntagResourceCommandInput
100109
| UpdateParallelDataCommandInput;
101110

102111
export type ServiceOutputTypes =
@@ -109,11 +118,14 @@ export type ServiceOutputTypes =
109118
| ImportTerminologyCommandOutput
110119
| ListLanguagesCommandOutput
111120
| ListParallelDataCommandOutput
121+
| ListTagsForResourceCommandOutput
112122
| ListTerminologiesCommandOutput
113123
| ListTextTranslationJobsCommandOutput
114124
| StartTextTranslationJobCommandOutput
115125
| StopTextTranslationJobCommandOutput
126+
| TagResourceCommandOutput
116127
| TranslateTextCommandOutput
128+
| UntagResourceCommandOutput
117129
| UpdateParallelDataCommandOutput;
118130

119131
export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> {
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
// smithy-typescript generated code
2+
import { getSerdePlugin } from "@aws-sdk/middleware-serde";
3+
import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http";
4+
import { Command as $Command } from "@aws-sdk/smithy-client";
5+
import {
6+
FinalizeHandlerArguments,
7+
Handler,
8+
HandlerExecutionContext,
9+
HttpHandlerOptions as __HttpHandlerOptions,
10+
MetadataBearer as __MetadataBearer,
11+
MiddlewareStack,
12+
SerdeContext as __SerdeContext,
13+
} from "@aws-sdk/types";
14+
15+
import {
16+
ListTagsForResourceRequest,
17+
ListTagsForResourceRequestFilterSensitiveLog,
18+
ListTagsForResourceResponse,
19+
ListTagsForResourceResponseFilterSensitiveLog,
20+
} from "../models/models_0";
21+
import {
22+
deserializeAws_json1_1ListTagsForResourceCommand,
23+
serializeAws_json1_1ListTagsForResourceCommand,
24+
} from "../protocols/Aws_json1_1";
25+
import { ServiceInputTypes, ServiceOutputTypes, TranslateClientResolvedConfig } from "../TranslateClient";
26+
27+
export interface ListTagsForResourceCommandInput extends ListTagsForResourceRequest {}
28+
export interface ListTagsForResourceCommandOutput extends ListTagsForResourceResponse, __MetadataBearer {}
29+
30+
export class ListTagsForResourceCommand extends $Command<
31+
ListTagsForResourceCommandInput,
32+
ListTagsForResourceCommandOutput,
33+
TranslateClientResolvedConfig
34+
> {
35+
// Start section: command_properties
36+
// End section: command_properties
37+
38+
constructor(readonly input: ListTagsForResourceCommandInput) {
39+
// Start section: command_constructor
40+
super();
41+
// End section: command_constructor
42+
}
43+
44+
/**
45+
* @internal
46+
*/
47+
resolveMiddleware(
48+
clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>,
49+
configuration: TranslateClientResolvedConfig,
50+
options?: __HttpHandlerOptions
51+
): Handler<ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput> {
52+
this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
53+
54+
const stack = clientStack.concat(this.middlewareStack);
55+
56+
const { logger } = configuration;
57+
const clientName = "TranslateClient";
58+
const commandName = "ListTagsForResourceCommand";
59+
const handlerExecutionContext: HandlerExecutionContext = {
60+
logger,
61+
clientName,
62+
commandName,
63+
inputFilterSensitiveLog: ListTagsForResourceRequestFilterSensitiveLog,
64+
outputFilterSensitiveLog: ListTagsForResourceResponseFilterSensitiveLog,
65+
};
66+
const { requestHandler } = configuration;
67+
return stack.resolve(
68+
(request: FinalizeHandlerArguments<any>) =>
69+
requestHandler.handle(request.request as __HttpRequest, options || {}),
70+
handlerExecutionContext
71+
);
72+
}
73+
74+
private serialize(input: ListTagsForResourceCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
75+
return serializeAws_json1_1ListTagsForResourceCommand(input, context);
76+
}
77+
78+
private deserialize(output: __HttpResponse, context: __SerdeContext): Promise<ListTagsForResourceCommandOutput> {
79+
return deserializeAws_json1_1ListTagsForResourceCommand(output, context);
80+
}
81+
82+
// Start section: command_body_extra
83+
// End section: command_body_extra
84+
}
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
// smithy-typescript generated code
2+
import { getSerdePlugin } from "@aws-sdk/middleware-serde";
3+
import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http";
4+
import { Command as $Command } from "@aws-sdk/smithy-client";
5+
import {
6+
FinalizeHandlerArguments,
7+
Handler,
8+
HandlerExecutionContext,
9+
HttpHandlerOptions as __HttpHandlerOptions,
10+
MetadataBearer as __MetadataBearer,
11+
MiddlewareStack,
12+
SerdeContext as __SerdeContext,
13+
} from "@aws-sdk/types";
14+
15+
import {
16+
TagResourceRequest,
17+
TagResourceRequestFilterSensitiveLog,
18+
TagResourceResponse,
19+
TagResourceResponseFilterSensitiveLog,
20+
} from "../models/models_0";
21+
import {
22+
deserializeAws_json1_1TagResourceCommand,
23+
serializeAws_json1_1TagResourceCommand,
24+
} from "../protocols/Aws_json1_1";
25+
import { ServiceInputTypes, ServiceOutputTypes, TranslateClientResolvedConfig } from "../TranslateClient";
26+
27+
export interface TagResourceCommandInput extends TagResourceRequest {}
28+
export interface TagResourceCommandOutput extends TagResourceResponse, __MetadataBearer {}
29+
30+
export class TagResourceCommand extends $Command<
31+
TagResourceCommandInput,
32+
TagResourceCommandOutput,
33+
TranslateClientResolvedConfig
34+
> {
35+
// Start section: command_properties
36+
// End section: command_properties
37+
38+
constructor(readonly input: TagResourceCommandInput) {
39+
// Start section: command_constructor
40+
super();
41+
// End section: command_constructor
42+
}
43+
44+
/**
45+
* @internal
46+
*/
47+
resolveMiddleware(
48+
clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>,
49+
configuration: TranslateClientResolvedConfig,
50+
options?: __HttpHandlerOptions
51+
): Handler<TagResourceCommandInput, TagResourceCommandOutput> {
52+
this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
53+
54+
const stack = clientStack.concat(this.middlewareStack);
55+
56+
const { logger } = configuration;
57+
const clientName = "TranslateClient";
58+
const commandName = "TagResourceCommand";
59+
const handlerExecutionContext: HandlerExecutionContext = {
60+
logger,
61+
clientName,
62+
commandName,
63+
inputFilterSensitiveLog: TagResourceRequestFilterSensitiveLog,
64+
outputFilterSensitiveLog: TagResourceResponseFilterSensitiveLog,
65+
};
66+
const { requestHandler } = configuration;
67+
return stack.resolve(
68+
(request: FinalizeHandlerArguments<any>) =>
69+
requestHandler.handle(request.request as __HttpRequest, options || {}),
70+
handlerExecutionContext
71+
);
72+
}
73+
74+
private serialize(input: TagResourceCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
75+
return serializeAws_json1_1TagResourceCommand(input, context);
76+
}
77+
78+
private deserialize(output: __HttpResponse, context: __SerdeContext): Promise<TagResourceCommandOutput> {
79+
return deserializeAws_json1_1TagResourceCommand(output, context);
80+
}
81+
82+
// Start section: command_body_extra
83+
// End section: command_body_extra
84+
}

0 commit comments

Comments
 (0)