Skip to content

Commit cb2d0f3

Browse files
author
awstools
committed
feat(client-fsx): S3 Access Points support for FSx for NetApp ONTAP
1 parent f82c5bd commit cb2d0f3

File tree

7 files changed

+352
-9
lines changed

7 files changed

+352
-9
lines changed

clients/client-fsx/src/commands/CreateAndAttachS3AccessPointCommand.ts

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ export interface CreateAndAttachS3AccessPointCommandOutput
8686
* const input = { // CreateAndAttachS3AccessPointRequest
8787
* ClientRequestToken: "STRING_VALUE",
8888
* Name: "STRING_VALUE", // required
89-
* Type: "OPENZFS", // required
89+
* Type: "OPENZFS" || "ONTAP", // required
9090
* OpenZFSConfiguration: { // CreateAndAttachS3AccessPointOpenZFSConfiguration
9191
* VolumeId: "STRING_VALUE", // required
9292
* FileSystemIdentity: { // OpenZFSFileSystemIdentity
@@ -100,6 +100,18 @@ export interface CreateAndAttachS3AccessPointCommandOutput
100100
* },
101101
* },
102102
* },
103+
* OntapConfiguration: { // CreateAndAttachS3AccessPointOntapConfiguration
104+
* VolumeId: "STRING_VALUE", // required
105+
* FileSystemIdentity: { // OntapFileSystemIdentity
106+
* Type: "UNIX" || "WINDOWS", // required
107+
* UnixUser: { // OntapUnixFileSystemUser
108+
* Name: "STRING_VALUE", // required
109+
* },
110+
* WindowsUser: { // OntapWindowsFileSystemUser
111+
* Name: "STRING_VALUE", // required
112+
* },
113+
* },
114+
* },
103115
* S3AccessPoint: { // CreateAndAttachS3AccessPointS3Configuration
104116
* VpcConfiguration: { // S3AccessPointVpcConfiguration
105117
* VpcId: "STRING_VALUE",
@@ -111,13 +123,13 @@ export interface CreateAndAttachS3AccessPointCommandOutput
111123
* const response = await client.send(command);
112124
* // { // CreateAndAttachS3AccessPointResponse
113125
* // S3AccessPointAttachment: { // S3AccessPointAttachment
114-
* // Lifecycle: "AVAILABLE" || "CREATING" || "DELETING" || "UPDATING" || "FAILED",
126+
* // Lifecycle: "AVAILABLE" || "CREATING" || "DELETING" || "UPDATING" || "FAILED" || "MISCONFIGURED",
115127
* // LifecycleTransitionReason: { // LifecycleTransitionReason
116128
* // Message: "STRING_VALUE",
117129
* // },
118130
* // CreationTime: new Date("TIMESTAMP"),
119131
* // Name: "STRING_VALUE",
120-
* // Type: "OPENZFS",
132+
* // Type: "OPENZFS" || "ONTAP",
121133
* // OpenZFSConfiguration: { // S3AccessPointOpenZFSConfiguration
122134
* // VolumeId: "STRING_VALUE",
123135
* // FileSystemIdentity: { // OpenZFSFileSystemIdentity
@@ -131,6 +143,18 @@ export interface CreateAndAttachS3AccessPointCommandOutput
131143
* // },
132144
* // },
133145
* // },
146+
* // OntapConfiguration: { // S3AccessPointOntapConfiguration
147+
* // VolumeId: "STRING_VALUE",
148+
* // FileSystemIdentity: { // OntapFileSystemIdentity
149+
* // Type: "UNIX" || "WINDOWS", // required
150+
* // UnixUser: { // OntapUnixFileSystemUser
151+
* // Name: "STRING_VALUE", // required
152+
* // },
153+
* // WindowsUser: { // OntapWindowsFileSystemUser
154+
* // Name: "STRING_VALUE", // required
155+
* // },
156+
* // },
157+
* // },
134158
* // S3AccessPoint: { // S3AccessPoint
135159
* // ResourceARN: "STRING_VALUE",
136160
* // Alias: "STRING_VALUE",

clients/client-fsx/src/commands/DescribeS3AccessPointAttachmentsCommand.ts

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,13 +66,13 @@ export interface DescribeS3AccessPointAttachmentsCommandOutput
6666
* // { // DescribeS3AccessPointAttachmentsResponse
6767
* // S3AccessPointAttachments: [ // S3AccessPointAttachments
6868
* // { // S3AccessPointAttachment
69-
* // Lifecycle: "AVAILABLE" || "CREATING" || "DELETING" || "UPDATING" || "FAILED",
69+
* // Lifecycle: "AVAILABLE" || "CREATING" || "DELETING" || "UPDATING" || "FAILED" || "MISCONFIGURED",
7070
* // LifecycleTransitionReason: { // LifecycleTransitionReason
7171
* // Message: "STRING_VALUE",
7272
* // },
7373
* // CreationTime: new Date("TIMESTAMP"),
7474
* // Name: "STRING_VALUE",
75-
* // Type: "OPENZFS",
75+
* // Type: "OPENZFS" || "ONTAP",
7676
* // OpenZFSConfiguration: { // S3AccessPointOpenZFSConfiguration
7777
* // VolumeId: "STRING_VALUE",
7878
* // FileSystemIdentity: { // OpenZFSFileSystemIdentity
@@ -86,6 +86,18 @@ export interface DescribeS3AccessPointAttachmentsCommandOutput
8686
* // },
8787
* // },
8888
* // },
89+
* // OntapConfiguration: { // S3AccessPointOntapConfiguration
90+
* // VolumeId: "STRING_VALUE",
91+
* // FileSystemIdentity: { // OntapFileSystemIdentity
92+
* // Type: "UNIX" || "WINDOWS", // required
93+
* // UnixUser: { // OntapUnixFileSystemUser
94+
* // Name: "STRING_VALUE", // required
95+
* // },
96+
* // WindowsUser: { // OntapWindowsFileSystemUser
97+
* // Name: "STRING_VALUE", // required
98+
* // },
99+
* // },
100+
* // },
89101
* // S3AccessPoint: { // S3AccessPoint
90102
* // ResourceARN: "STRING_VALUE",
91103
* // Alias: "STRING_VALUE",

clients/client-fsx/src/commands/DetachAndDeleteS3AccessPointCommand.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ export interface DetachAndDeleteS3AccessPointCommandOutput
5858
* const command = new DetachAndDeleteS3AccessPointCommand(input);
5959
* const response = await client.send(command);
6060
* // { // DetachAndDeleteS3AccessPointResponse
61-
* // Lifecycle: "AVAILABLE" || "CREATING" || "DELETING" || "UPDATING" || "FAILED",
61+
* // Lifecycle: "AVAILABLE" || "CREATING" || "DELETING" || "UPDATING" || "FAILED" || "MISCONFIGURED",
6262
* // Name: "STRING_VALUE",
6363
* // };
6464
*

clients/client-fsx/src/models/enums.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -684,6 +684,19 @@ export const UpdateOpenZFSVolumeOption = {
684684
*/
685685
export type UpdateOpenZFSVolumeOption = (typeof UpdateOpenZFSVolumeOption)[keyof typeof UpdateOpenZFSVolumeOption];
686686

687+
/**
688+
* @public
689+
* @enum
690+
*/
691+
export const OntapFileSystemUserType = {
692+
UNIX: "UNIX",
693+
WINDOWS: "WINDOWS",
694+
} as const;
695+
/**
696+
* @public
697+
*/
698+
export type OntapFileSystemUserType = (typeof OntapFileSystemUserType)[keyof typeof OntapFileSystemUserType];
699+
687700
/**
688701
* @public
689702
* @enum
@@ -701,6 +714,7 @@ export type OpenZFSFileSystemUserType = (typeof OpenZFSFileSystemUserType)[keyof
701714
* @enum
702715
*/
703716
export const S3AccessPointAttachmentType = {
717+
ONTAP: "ONTAP",
704718
OPENZFS: "OPENZFS",
705719
} as const;
706720
/**
@@ -718,6 +732,7 @@ export const S3AccessPointAttachmentLifecycle = {
718732
CREATING: "CREATING",
719733
DELETING: "DELETING",
720734
FAILED: "FAILED",
735+
MISCONFIGURED: "MISCONFIGURED",
721736
UPDATING: "UPDATING",
722737
} as const;
723738
/**

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

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import {
3232
NetworkType,
3333
NfsVersion,
3434
OntapDeploymentType,
35+
OntapFileSystemUserType,
3536
OntapVolumeType,
3637
OpenZFSCopyStrategy,
3738
OpenZFSDataCompressionType,
@@ -2579,6 +2580,72 @@ export interface CopySnapshotAndUpdateVolumeRequest {
25792580
Options?: UpdateOpenZFSVolumeOption[] | undefined;
25802581
}
25812582

2583+
/**
2584+
* <p>The FSx for ONTAP UNIX file system user that is used for authorizing all file access requests that are made using the S3 access point.</p>
2585+
* @public
2586+
*/
2587+
export interface OntapUnixFileSystemUser {
2588+
/**
2589+
* <p>The name of the UNIX user. The name can be up to 256 characters long.</p>
2590+
* @public
2591+
*/
2592+
Name: string | undefined;
2593+
}
2594+
2595+
/**
2596+
* <p>The FSx for ONTAP Windows file system user that is used for authorizing all file access requests that are made using the S3 access point.</p>
2597+
* @public
2598+
*/
2599+
export interface OntapWindowsFileSystemUser {
2600+
/**
2601+
* <p>The name of the Windows user. The name can be up to 256 characters long and supports Active Directory users.</p>
2602+
* @public
2603+
*/
2604+
Name: string | undefined;
2605+
}
2606+
2607+
/**
2608+
* <p>Specifies the file system user identity that will be used for authorizing all file access requests that are made using the S3 access point. The identity can be either a UNIX user or a Windows user.</p>
2609+
* @public
2610+
*/
2611+
export interface OntapFileSystemIdentity {
2612+
/**
2613+
* <p>Specifies the FSx for ONTAP user identity type. Valid values are <code>UNIX</code> and <code>WINDOWS</code>.</p>
2614+
* @public
2615+
*/
2616+
Type: OntapFileSystemUserType | undefined;
2617+
2618+
/**
2619+
* <p>Specifies the UNIX user identity for file system operations.</p>
2620+
* @public
2621+
*/
2622+
UnixUser?: OntapUnixFileSystemUser | undefined;
2623+
2624+
/**
2625+
* <p>Specifies the Windows user identity for file system operations.</p>
2626+
* @public
2627+
*/
2628+
WindowsUser?: OntapWindowsFileSystemUser | undefined;
2629+
}
2630+
2631+
/**
2632+
* <p>Specifies the FSx for ONTAP volume that the S3 access point will be attached to, and the file system user identity.</p>
2633+
* @public
2634+
*/
2635+
export interface CreateAndAttachS3AccessPointOntapConfiguration {
2636+
/**
2637+
* <p>The ID of the FSx for ONTAP volume to which you want the S3 access point attached.</p>
2638+
* @public
2639+
*/
2640+
VolumeId: string | undefined;
2641+
2642+
/**
2643+
* <p>Specifies the file system user identity to use for authorizing file read and write requests that are made using this S3 access point.</p>
2644+
* @public
2645+
*/
2646+
FileSystemIdentity: OntapFileSystemIdentity | undefined;
2647+
}
2648+
25822649
/**
25832650
* <p>The FSx for OpenZFS file system user that is used for authorizing all file access requests that are made using the S3 access point.</p>
25842651
* @public
@@ -2701,6 +2768,12 @@ export interface CreateAndAttachS3AccessPointRequest {
27012768
*/
27022769
OpenZFSConfiguration?: CreateAndAttachS3AccessPointOpenZFSConfiguration | undefined;
27032770

2771+
/**
2772+
* <p>Specifies the FSx for ONTAP volume that the S3 access point will be attached to, and the file system user identity.</p>
2773+
* @public
2774+
*/
2775+
OntapConfiguration?: CreateAndAttachS3AccessPointOntapConfiguration | undefined;
2776+
27042777
/**
27052778
* <p>Specifies the virtual private cloud (VPC) configuration if you're creating an access point that is restricted to a VPC.
27062779
* For more information, see <a href="https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/access-points-vpc.html">Creating access points restricted to a virtual private cloud</a>.</p>
@@ -2709,6 +2782,24 @@ export interface CreateAndAttachS3AccessPointRequest {
27092782
S3AccessPoint?: CreateAndAttachS3AccessPointS3Configuration | undefined;
27102783
}
27112784

2785+
/**
2786+
* <p>Describes the FSx for ONTAP attachment configuration of an S3 access point attachment.</p>
2787+
* @public
2788+
*/
2789+
export interface S3AccessPointOntapConfiguration {
2790+
/**
2791+
* <p>The ID of the FSx for ONTAP volume that the S3 access point is attached to.</p>
2792+
* @public
2793+
*/
2794+
VolumeId?: string | undefined;
2795+
2796+
/**
2797+
* <p>The file system identity used to authorize file access requests made using the S3 access point.</p>
2798+
* @public
2799+
*/
2800+
FileSystemIdentity?: OntapFileSystemIdentity | undefined;
2801+
}
2802+
27122803
/**
27132804
* <p>Describes the FSx for OpenZFS attachment configuration of an S3 access point attachment.</p>
27142805
* @public
@@ -2811,6 +2902,12 @@ export interface S3AccessPointAttachment {
28112902
*/
28122903
OpenZFSConfiguration?: S3AccessPointOpenZFSConfiguration | undefined;
28132904

2905+
/**
2906+
* <p>The ONTAP configuration of the S3 access point attachment.</p>
2907+
* @public
2908+
*/
2909+
OntapConfiguration?: S3AccessPointOntapConfiguration | undefined;
2910+
28142911
/**
28152912
* <p>The S3 access point configuration of the S3 access point attachment.</p>
28162913
* @public

0 commit comments

Comments
 (0)