Skip to content

Commit d227a3e

Browse files
author
awstools
committed
feat(client-transfer): This release enables customers using SFTP connectors to query the transfer status of their files to meet their monitoring needs as well as orchestrate post transfer actions.
1 parent 375e4e5 commit d227a3e

File tree

11 files changed

+554
-21
lines changed

11 files changed

+554
-21
lines changed

clients/client-transfer/README.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Additionally, you can use Applicability Statement 2 (AS2) to transfer files into
1313
Amazon Web Services helps you seamlessly migrate your file transfer workflows to Transfer Family by integrating
1414
with existing authentication systems, and providing DNS routing with Amazon Route 53 so
1515
nothing changes for your customers and partners, or their applications. With your data in
16-
Amazon S3, you can use it with Amazon Web Services for processing, analytics, machine learning, and
16+
Amazon S3, you can use it with Amazon Web Services services for processing, analytics, machine learning, and
1717
archiving. Getting started with Transfer Family is easy since there is no infrastructure to buy and
1818
set up.</p>
1919

@@ -499,6 +499,14 @@ ListExecutions
499499

500500
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/transfer/command/ListExecutionsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-transfer/Interface/ListExecutionsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-transfer/Interface/ListExecutionsCommandOutput/)
501501

502+
</details>
503+
<details>
504+
<summary>
505+
ListFileTransferResults
506+
</summary>
507+
508+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/transfer/command/ListFileTransferResultsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-transfer/Interface/ListFileTransferResultsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-transfer/Interface/ListFileTransferResultsCommandOutput/)
509+
502510
</details>
503511
<details>
504512
<summary>

clients/client-transfer/src/Transfer.ts

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,11 @@ import {
174174
ListExecutionsCommandInput,
175175
ListExecutionsCommandOutput,
176176
} from "./commands/ListExecutionsCommand";
177+
import {
178+
ListFileTransferResultsCommand,
179+
ListFileTransferResultsCommandInput,
180+
ListFileTransferResultsCommandOutput,
181+
} from "./commands/ListFileTransferResultsCommand";
177182
import {
178183
ListHostKeysCommand,
179184
ListHostKeysCommandInput,
@@ -309,6 +314,7 @@ const commands = {
309314
ListCertificatesCommand,
310315
ListConnectorsCommand,
311316
ListExecutionsCommand,
317+
ListFileTransferResultsCommand,
312318
ListHostKeysCommand,
313319
ListProfilesCommand,
314320
ListSecurityPoliciesCommand,
@@ -840,6 +846,23 @@ export interface Transfer {
840846
cb: (err: any, data?: ListExecutionsCommandOutput) => void
841847
): void;
842848

849+
/**
850+
* @see {@link ListFileTransferResultsCommand}
851+
*/
852+
listFileTransferResults(
853+
args: ListFileTransferResultsCommandInput,
854+
options?: __HttpHandlerOptions
855+
): Promise<ListFileTransferResultsCommandOutput>;
856+
listFileTransferResults(
857+
args: ListFileTransferResultsCommandInput,
858+
cb: (err: any, data?: ListFileTransferResultsCommandOutput) => void
859+
): void;
860+
listFileTransferResults(
861+
args: ListFileTransferResultsCommandInput,
862+
options: __HttpHandlerOptions,
863+
cb: (err: any, data?: ListFileTransferResultsCommandOutput) => void
864+
): void;
865+
843866
/**
844867
* @see {@link ListHostKeysCommand}
845868
*/
@@ -1168,7 +1191,7 @@ export interface Transfer {
11681191
* Amazon Web Services helps you seamlessly migrate your file transfer workflows to Transfer Family by integrating
11691192
* with existing authentication systems, and providing DNS routing with Amazon Route 53 so
11701193
* nothing changes for your customers and partners, or their applications. With your data in
1171-
* Amazon S3, you can use it with Amazon Web Services for processing, analytics, machine learning, and
1194+
* Amazon S3, you can use it with Amazon Web Services services for processing, analytics, machine learning, and
11721195
* archiving. Getting started with Transfer Family is easy since there is no infrastructure to buy and
11731196
* set up.</p>
11741197
* @public

clients/client-transfer/src/TransferClient.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,10 @@ import { ListAgreementsCommandInput, ListAgreementsCommandOutput } from "./comma
9595
import { ListCertificatesCommandInput, ListCertificatesCommandOutput } from "./commands/ListCertificatesCommand";
9696
import { ListConnectorsCommandInput, ListConnectorsCommandOutput } from "./commands/ListConnectorsCommand";
9797
import { ListExecutionsCommandInput, ListExecutionsCommandOutput } from "./commands/ListExecutionsCommand";
98+
import {
99+
ListFileTransferResultsCommandInput,
100+
ListFileTransferResultsCommandOutput,
101+
} from "./commands/ListFileTransferResultsCommand";
98102
import { ListHostKeysCommandInput, ListHostKeysCommandOutput } from "./commands/ListHostKeysCommand";
99103
import { ListProfilesCommandInput, ListProfilesCommandOutput } from "./commands/ListProfilesCommand";
100104
import {
@@ -185,6 +189,7 @@ export type ServiceInputTypes =
185189
| ListCertificatesCommandInput
186190
| ListConnectorsCommandInput
187191
| ListExecutionsCommandInput
192+
| ListFileTransferResultsCommandInput
188193
| ListHostKeysCommandInput
189194
| ListProfilesCommandInput
190195
| ListSecurityPoliciesCommandInput
@@ -250,6 +255,7 @@ export type ServiceOutputTypes =
250255
| ListCertificatesCommandOutput
251256
| ListConnectorsCommandOutput
252257
| ListExecutionsCommandOutput
258+
| ListFileTransferResultsCommandOutput
253259
| ListHostKeysCommandOutput
254260
| ListProfilesCommandOutput
255261
| ListSecurityPoliciesCommandOutput
@@ -454,7 +460,7 @@ export interface TransferClientResolvedConfig extends TransferClientResolvedConf
454460
* Amazon Web Services helps you seamlessly migrate your file transfer workflows to Transfer Family by integrating
455461
* with existing authentication systems, and providing DNS routing with Amazon Route 53 so
456462
* nothing changes for your customers and partners, or their applications. With your data in
457-
* Amazon S3, you can use it with Amazon Web Services for processing, analytics, machine learning, and
463+
* Amazon S3, you can use it with Amazon Web Services services for processing, analytics, machine learning, and
458464
* archiving. Getting started with Transfer Family is easy since there is no infrastructure to buy and
459465
* set up.</p>
460466
* @public
Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
// smithy-typescript generated code
2+
import { getEndpointPlugin } from "@smithy/middleware-endpoint";
3+
import { getSerdePlugin } from "@smithy/middleware-serde";
4+
import { Command as $Command } from "@smithy/smithy-client";
5+
import { MetadataBearer as __MetadataBearer } from "@smithy/types";
6+
7+
import { commonParams } from "../endpoint/EndpointParameters";
8+
import { ListFileTransferResultsRequest, ListFileTransferResultsResponse } from "../models/models_0";
9+
import { de_ListFileTransferResultsCommand, se_ListFileTransferResultsCommand } from "../protocols/Aws_json1_1";
10+
import { ServiceInputTypes, ServiceOutputTypes, TransferClientResolvedConfig } from "../TransferClient";
11+
12+
/**
13+
* @public
14+
*/
15+
export type { __MetadataBearer };
16+
export { $Command };
17+
/**
18+
* @public
19+
*
20+
* The input for {@link ListFileTransferResultsCommand}.
21+
*/
22+
export interface ListFileTransferResultsCommandInput extends ListFileTransferResultsRequest {}
23+
/**
24+
* @public
25+
*
26+
* The output of {@link ListFileTransferResultsCommand}.
27+
*/
28+
export interface ListFileTransferResultsCommandOutput extends ListFileTransferResultsResponse, __MetadataBearer {}
29+
30+
/**
31+
* <p>
32+
* Returns real-time updates and detailed information on the status of each individual file being transferred in a specific file transfer operation.
33+
* You specify the file transfer by providing its <code>ConnectorId</code> and its <code>TransferId</code>.</p>
34+
* <note>
35+
* <p>File transfer results are available up to 7 days after an operation has been requested.</p>
36+
* </note>
37+
* @example
38+
* Use a bare-bones client and the command you need to make an API call.
39+
* ```javascript
40+
* import { TransferClient, ListFileTransferResultsCommand } from "@aws-sdk/client-transfer"; // ES Modules import
41+
* // const { TransferClient, ListFileTransferResultsCommand } = require("@aws-sdk/client-transfer"); // CommonJS import
42+
* const client = new TransferClient(config);
43+
* const input = { // ListFileTransferResultsRequest
44+
* ConnectorId: "STRING_VALUE", // required
45+
* TransferId: "STRING_VALUE", // required
46+
* NextToken: "STRING_VALUE",
47+
* MaxResults: Number("int"),
48+
* };
49+
* const command = new ListFileTransferResultsCommand(input);
50+
* const response = await client.send(command);
51+
* // { // ListFileTransferResultsResponse
52+
* // FileTransferResults: [ // ConnectorFileTransferResults // required
53+
* // { // ConnectorFileTransferResult
54+
* // FilePath: "STRING_VALUE", // required
55+
* // StatusCode: "QUEUED" || "IN_PROGRESS" || "COMPLETED" || "FAILED", // required
56+
* // FailureCode: "STRING_VALUE",
57+
* // FailureMessage: "STRING_VALUE",
58+
* // },
59+
* // ],
60+
* // NextToken: "STRING_VALUE",
61+
* // };
62+
*
63+
* ```
64+
*
65+
* @param ListFileTransferResultsCommandInput - {@link ListFileTransferResultsCommandInput}
66+
* @returns {@link ListFileTransferResultsCommandOutput}
67+
* @see {@link ListFileTransferResultsCommandInput} for command's `input` shape.
68+
* @see {@link ListFileTransferResultsCommandOutput} for command's `response` shape.
69+
* @see {@link TransferClientResolvedConfig | config} for TransferClient's `config` shape.
70+
*
71+
* @throws {@link InternalServiceError} (server fault)
72+
* <p>This exception is thrown when an error occurs in the Transfer Family service.</p>
73+
*
74+
* @throws {@link InvalidRequestException} (client fault)
75+
* <p>This exception is thrown when the client submits a malformed request.</p>
76+
*
77+
* @throws {@link ResourceNotFoundException} (client fault)
78+
* <p>This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer Family
79+
* service.</p>
80+
*
81+
* @throws {@link ServiceUnavailableException} (server fault)
82+
* <p>The request has failed because the Amazon Web ServicesTransfer Family service is not available.</p>
83+
*
84+
* @throws {@link TransferServiceException}
85+
* <p>Base exception class for all service exceptions from Transfer service.</p>
86+
*
87+
* @public
88+
*/
89+
export class ListFileTransferResultsCommand extends $Command
90+
.classBuilder<
91+
ListFileTransferResultsCommandInput,
92+
ListFileTransferResultsCommandOutput,
93+
TransferClientResolvedConfig,
94+
ServiceInputTypes,
95+
ServiceOutputTypes
96+
>()
97+
.ep(commonParams)
98+
.m(function (this: any, Command: any, cs: any, config: TransferClientResolvedConfig, o: any) {
99+
return [
100+
getSerdePlugin(config, this.serialize, this.deserialize),
101+
getEndpointPlugin(config, Command.getEndpointParameterInstructions()),
102+
];
103+
})
104+
.s("TransferService", "ListFileTransferResults", {})
105+
.n("TransferClient", "ListFileTransferResultsCommand")
106+
.f(void 0, void 0)
107+
.ser(se_ListFileTransferResultsCommand)
108+
.de(de_ListFileTransferResultsCommand)
109+
.build() {
110+
/** @internal type navigation helper, not in runtime. */
111+
protected declare static __types: {
112+
api: {
113+
input: ListFileTransferResultsRequest;
114+
output: ListFileTransferResultsResponse;
115+
};
116+
sdk: {
117+
input: ListFileTransferResultsCommandInput;
118+
output: ListFileTransferResultsCommandOutput;
119+
};
120+
};
121+
}

clients/client-transfer/src/commands/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ export * from "./ListAgreementsCommand";
3535
export * from "./ListCertificatesCommand";
3636
export * from "./ListConnectorsCommand";
3737
export * from "./ListExecutionsCommand";
38+
export * from "./ListFileTransferResultsCommand";
3839
export * from "./ListHostKeysCommand";
3940
export * from "./ListProfilesCommand";
4041
export * from "./ListSecurityPoliciesCommand";

clients/client-transfer/src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
* Amazon Web Services helps you seamlessly migrate your file transfer workflows to Transfer Family by integrating
99
* with existing authentication systems, and providing DNS routing with Amazon Route 53 so
1010
* nothing changes for your customers and partners, or their applications. With your data in
11-
* Amazon S3, you can use it with Amazon Web Services for processing, analytics, machine learning, and
11+
* Amazon S3, you can use it with Amazon Web Services services for processing, analytics, machine learning, and
1212
* archiving. Getting started with Transfer Family is easy since there is no infrastructure to buy and
1313
* set up.</p>
1414
*

0 commit comments

Comments
 (0)