Skip to content

Commit

Permalink
feat(client-transfer): This release enables customers using SFTP conn…
Browse files Browse the repository at this point in the history
…ectors to query the transfer status of their files to meet their monitoring needs as well as orchestrate post transfer actions.
  • Loading branch information
awstools committed Oct 14, 2024
1 parent 375e4e5 commit d227a3e
Show file tree
Hide file tree
Showing 11 changed files with 554 additions and 21 deletions.
10 changes: 9 additions & 1 deletion clients/client-transfer/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Additionally, you can use Applicability Statement 2 (AS2) to transfer files into
Amazon Web Services helps you seamlessly migrate your file transfer workflows to Transfer Family by integrating
with existing authentication systems, and providing DNS routing with Amazon Route 53 so
nothing changes for your customers and partners, or their applications. With your data in
Amazon S3, you can use it with Amazon Web Services for processing, analytics, machine learning, and
Amazon S3, you can use it with Amazon Web Services services for processing, analytics, machine learning, and
archiving. Getting started with Transfer Family is easy since there is no infrastructure to buy and
set up.</p>

Expand Down Expand Up @@ -499,6 +499,14 @@ ListExecutions

[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/)

</details>
<details>
<summary>
ListFileTransferResults
</summary>

[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/)

</details>
<details>
<summary>
Expand Down
25 changes: 24 additions & 1 deletion clients/client-transfer/src/Transfer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,11 @@ import {
ListExecutionsCommandInput,
ListExecutionsCommandOutput,
} from "./commands/ListExecutionsCommand";
import {
ListFileTransferResultsCommand,
ListFileTransferResultsCommandInput,
ListFileTransferResultsCommandOutput,
} from "./commands/ListFileTransferResultsCommand";
import {
ListHostKeysCommand,
ListHostKeysCommandInput,
Expand Down Expand Up @@ -309,6 +314,7 @@ const commands = {
ListCertificatesCommand,
ListConnectorsCommand,
ListExecutionsCommand,
ListFileTransferResultsCommand,
ListHostKeysCommand,
ListProfilesCommand,
ListSecurityPoliciesCommand,
Expand Down Expand Up @@ -840,6 +846,23 @@ export interface Transfer {
cb: (err: any, data?: ListExecutionsCommandOutput) => void
): void;

/**
* @see {@link ListFileTransferResultsCommand}
*/
listFileTransferResults(
args: ListFileTransferResultsCommandInput,
options?: __HttpHandlerOptions
): Promise<ListFileTransferResultsCommandOutput>;
listFileTransferResults(
args: ListFileTransferResultsCommandInput,
cb: (err: any, data?: ListFileTransferResultsCommandOutput) => void
): void;
listFileTransferResults(
args: ListFileTransferResultsCommandInput,
options: __HttpHandlerOptions,
cb: (err: any, data?: ListFileTransferResultsCommandOutput) => void
): void;

/**
* @see {@link ListHostKeysCommand}
*/
Expand Down Expand Up @@ -1168,7 +1191,7 @@ export interface Transfer {
* Amazon Web Services helps you seamlessly migrate your file transfer workflows to Transfer Family by integrating
* with existing authentication systems, and providing DNS routing with Amazon Route 53 so
* nothing changes for your customers and partners, or their applications. With your data in
* Amazon S3, you can use it with Amazon Web Services for processing, analytics, machine learning, and
* Amazon S3, you can use it with Amazon Web Services services for processing, analytics, machine learning, and
* archiving. Getting started with Transfer Family is easy since there is no infrastructure to buy and
* set up.</p>
* @public
Expand Down
8 changes: 7 additions & 1 deletion clients/client-transfer/src/TransferClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,10 @@ import { ListAgreementsCommandInput, ListAgreementsCommandOutput } from "./comma
import { ListCertificatesCommandInput, ListCertificatesCommandOutput } from "./commands/ListCertificatesCommand";
import { ListConnectorsCommandInput, ListConnectorsCommandOutput } from "./commands/ListConnectorsCommand";
import { ListExecutionsCommandInput, ListExecutionsCommandOutput } from "./commands/ListExecutionsCommand";
import {
ListFileTransferResultsCommandInput,
ListFileTransferResultsCommandOutput,
} from "./commands/ListFileTransferResultsCommand";
import { ListHostKeysCommandInput, ListHostKeysCommandOutput } from "./commands/ListHostKeysCommand";
import { ListProfilesCommandInput, ListProfilesCommandOutput } from "./commands/ListProfilesCommand";
import {
Expand Down Expand Up @@ -185,6 +189,7 @@ export type ServiceInputTypes =
| ListCertificatesCommandInput
| ListConnectorsCommandInput
| ListExecutionsCommandInput
| ListFileTransferResultsCommandInput
| ListHostKeysCommandInput
| ListProfilesCommandInput
| ListSecurityPoliciesCommandInput
Expand Down Expand Up @@ -250,6 +255,7 @@ export type ServiceOutputTypes =
| ListCertificatesCommandOutput
| ListConnectorsCommandOutput
| ListExecutionsCommandOutput
| ListFileTransferResultsCommandOutput
| ListHostKeysCommandOutput
| ListProfilesCommandOutput
| ListSecurityPoliciesCommandOutput
Expand Down Expand Up @@ -454,7 +460,7 @@ export interface TransferClientResolvedConfig extends TransferClientResolvedConf
* Amazon Web Services helps you seamlessly migrate your file transfer workflows to Transfer Family by integrating
* with existing authentication systems, and providing DNS routing with Amazon Route 53 so
* nothing changes for your customers and partners, or their applications. With your data in
* Amazon S3, you can use it with Amazon Web Services for processing, analytics, machine learning, and
* Amazon S3, you can use it with Amazon Web Services services for processing, analytics, machine learning, and
* archiving. Getting started with Transfer Family is easy since there is no infrastructure to buy and
* set up.</p>
* @public
Expand Down
121 changes: 121 additions & 0 deletions clients/client-transfer/src/commands/ListFileTransferResultsCommand.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
// smithy-typescript generated code
import { getEndpointPlugin } from "@smithy/middleware-endpoint";
import { getSerdePlugin } from "@smithy/middleware-serde";
import { Command as $Command } from "@smithy/smithy-client";
import { MetadataBearer as __MetadataBearer } from "@smithy/types";

import { commonParams } from "../endpoint/EndpointParameters";
import { ListFileTransferResultsRequest, ListFileTransferResultsResponse } from "../models/models_0";
import { de_ListFileTransferResultsCommand, se_ListFileTransferResultsCommand } from "../protocols/Aws_json1_1";
import { ServiceInputTypes, ServiceOutputTypes, TransferClientResolvedConfig } from "../TransferClient";

/**
* @public
*/
export type { __MetadataBearer };
export { $Command };
/**
* @public
*
* The input for {@link ListFileTransferResultsCommand}.
*/
export interface ListFileTransferResultsCommandInput extends ListFileTransferResultsRequest {}
/**
* @public
*
* The output of {@link ListFileTransferResultsCommand}.
*/
export interface ListFileTransferResultsCommandOutput extends ListFileTransferResultsResponse, __MetadataBearer {}

/**
* <p>
* Returns real-time updates and detailed information on the status of each individual file being transferred in a specific file transfer operation.
* You specify the file transfer by providing its <code>ConnectorId</code> and its <code>TransferId</code>.</p>
* <note>
* <p>File transfer results are available up to 7 days after an operation has been requested.</p>
* </note>
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
* import { TransferClient, ListFileTransferResultsCommand } from "@aws-sdk/client-transfer"; // ES Modules import
* // const { TransferClient, ListFileTransferResultsCommand } = require("@aws-sdk/client-transfer"); // CommonJS import
* const client = new TransferClient(config);
* const input = { // ListFileTransferResultsRequest
* ConnectorId: "STRING_VALUE", // required
* TransferId: "STRING_VALUE", // required
* NextToken: "STRING_VALUE",
* MaxResults: Number("int"),
* };
* const command = new ListFileTransferResultsCommand(input);
* const response = await client.send(command);
* // { // ListFileTransferResultsResponse
* // FileTransferResults: [ // ConnectorFileTransferResults // required
* // { // ConnectorFileTransferResult
* // FilePath: "STRING_VALUE", // required
* // StatusCode: "QUEUED" || "IN_PROGRESS" || "COMPLETED" || "FAILED", // required
* // FailureCode: "STRING_VALUE",
* // FailureMessage: "STRING_VALUE",
* // },
* // ],
* // NextToken: "STRING_VALUE",
* // };
*
* ```
*
* @param ListFileTransferResultsCommandInput - {@link ListFileTransferResultsCommandInput}
* @returns {@link ListFileTransferResultsCommandOutput}
* @see {@link ListFileTransferResultsCommandInput} for command's `input` shape.
* @see {@link ListFileTransferResultsCommandOutput} for command's `response` shape.
* @see {@link TransferClientResolvedConfig | config} for TransferClient's `config` shape.
*
* @throws {@link InternalServiceError} (server fault)
* <p>This exception is thrown when an error occurs in the Transfer Family service.</p>
*
* @throws {@link InvalidRequestException} (client fault)
* <p>This exception is thrown when the client submits a malformed request.</p>
*
* @throws {@link ResourceNotFoundException} (client fault)
* <p>This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer Family
* service.</p>
*
* @throws {@link ServiceUnavailableException} (server fault)
* <p>The request has failed because the Amazon Web ServicesTransfer Family service is not available.</p>
*
* @throws {@link TransferServiceException}
* <p>Base exception class for all service exceptions from Transfer service.</p>
*
* @public
*/
export class ListFileTransferResultsCommand extends $Command
.classBuilder<
ListFileTransferResultsCommandInput,
ListFileTransferResultsCommandOutput,
TransferClientResolvedConfig,
ServiceInputTypes,
ServiceOutputTypes
>()
.ep(commonParams)
.m(function (this: any, Command: any, cs: any, config: TransferClientResolvedConfig, o: any) {
return [
getSerdePlugin(config, this.serialize, this.deserialize),
getEndpointPlugin(config, Command.getEndpointParameterInstructions()),
];
})
.s("TransferService", "ListFileTransferResults", {})
.n("TransferClient", "ListFileTransferResultsCommand")
.f(void 0, void 0)
.ser(se_ListFileTransferResultsCommand)
.de(de_ListFileTransferResultsCommand)
.build() {
/** @internal type navigation helper, not in runtime. */
protected declare static __types: {
api: {
input: ListFileTransferResultsRequest;
output: ListFileTransferResultsResponse;
};
sdk: {
input: ListFileTransferResultsCommandInput;
output: ListFileTransferResultsCommandOutput;
};
};
}
1 change: 1 addition & 0 deletions clients/client-transfer/src/commands/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ export * from "./ListAgreementsCommand";
export * from "./ListCertificatesCommand";
export * from "./ListConnectorsCommand";
export * from "./ListExecutionsCommand";
export * from "./ListFileTransferResultsCommand";
export * from "./ListHostKeysCommand";
export * from "./ListProfilesCommand";
export * from "./ListSecurityPoliciesCommand";
Expand Down
2 changes: 1 addition & 1 deletion clients/client-transfer/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
* Amazon Web Services helps you seamlessly migrate your file transfer workflows to Transfer Family by integrating
* with existing authentication systems, and providing DNS routing with Amazon Route 53 so
* nothing changes for your customers and partners, or their applications. With your data in
* Amazon S3, you can use it with Amazon Web Services for processing, analytics, machine learning, and
* Amazon S3, you can use it with Amazon Web Services services for processing, analytics, machine learning, and
* archiving. Getting started with Transfer Family is easy since there is no infrastructure to buy and
* set up.</p>
*
Expand Down
Loading

0 comments on commit d227a3e

Please sign in to comment.