Skip to content

Commit

Permalink
feat(client-datasync): Display cloud storage used capacity at a clust…
Browse files Browse the repository at this point in the history
…er level.
  • Loading branch information
awstools committed Aug 4, 2023
1 parent d6977c9 commit 70146be
Show file tree
Hide file tree
Showing 9 changed files with 240 additions and 269 deletions.
10 changes: 8 additions & 2 deletions clients/client-datasync/src/commands/CreateLocationNfsCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,14 @@ export interface CreateLocationNfsCommandOutput extends CreateLocationNfsRespons

/**
* @public
* <p>Creates an endpoint for an Network File System (NFS) file server that DataSync can use for a
* data transfer.</p>
* <p>Creates an endpoint for a Network File System (NFS) file server that DataSync can use for a data transfer.</p>
* <p>For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html">Configuring transfers to or from an NFS file
* server</a>.</p>
* <note>
* <p>If you're copying data to or from an Snowcone device, you can also use
* <code>CreateLocationNfs</code> to create your transfer location. For more information, see
* <a href="https://docs.aws.amazon.com/datasync/latest/userguide/nfs-on-snowcone.html">Configuring transfers with Snowcone</a>.</p>
* </note>
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,8 @@ export interface DescribeLocationNfsCommandOutput extends DescribeLocationNfsRes

/**
* @public
* <p>Returns metadata, such as the path information, about an NFS location.</p>
* <p>Provides details about how an DataSync transfer location for a Network
* File System (NFS) file server is configured.</p>
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ export interface DescribeStorageSystemResourceMetricsCommandOutput
* // Used: Number("long"),
* // Provisioned: Number("long"),
* // LogicalUsed: Number("long"),
* // ClusterCloudStorageUsed: Number("long"),
* // },
* // ResourceId: "STRING_VALUE",
* // ResourceType: "SVM" || "VOLUME" || "CLUSTER",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,7 @@ export interface DescribeStorageSystemResourcesCommandOutput
* // ],
* // RecommendationStatus: "NONE" || "IN_PROGRESS" || "COMPLETED" || "FAILED",
* // LunCount: Number("long"),
* // ClusterCloudStorageUsed: Number("long"),
* // },
* // ],
* // },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,10 @@ export interface UpdateLocationNfsCommandOutput extends UpdateLocationNfsRespons

/**
* @public
* <p>Updates some of the parameters of a previously created location for Network File System
* (NFS) access. For information about creating an NFS location, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html">Creating a location for
* NFS</a>.</p>
* <p>Modifies some configurations of the Network File System (NFS) transfer location that
* you're using with DataSync.</p>
* <p>For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html">Configuring transfers to or from an
* NFS file server</a>.</p>
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
Expand Down
2 changes: 1 addition & 1 deletion clients/client-datasync/src/endpoint/ruleset.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,5 @@ m={[r]:"booleanEquals",[s]:[true,{[r]:"getAttr",[s]:[{[t]:e},"supportsDualStack"
n=[i],
o=[j],
p=[{[t]:"Region"}];
const _data={version:"1.0",parameters:{Region:f,UseDualStack:g,UseFIPS:g,Endpoint:f},rules:[{conditions:[{[r]:a,[s]:[h]}],type:b,rules:[{conditions:n,error:"Invalid Configuration: FIPS and custom endpoint are not supported",type:c},{type:b,rules:[{conditions:o,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",type:c},{endpoint:{url:h,properties:k,headers:k},type:d}]}]},{type:b,rules:[{conditions:[{[r]:a,[s]:p}],type:b,rules:[{conditions:[{[r]:"aws.partition",[s]:p,assign:e}],type:b,rules:[{conditions:[i,j],type:b,rules:[{conditions:[l,m],type:b,rules:[{type:b,rules:[{endpoint:{url:"https://datasync-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:k,headers:k},type:d}]}]},{error:"FIPS and DualStack are enabled, but this partition does not support one or both",type:c}]},{conditions:n,type:b,rules:[{conditions:[l],type:b,rules:[{type:b,rules:[{endpoint:{url:"https://datasync-fips.{Region}.{PartitionResult#dnsSuffix}",properties:k,headers:k},type:d}]}]},{error:"FIPS is enabled but this partition does not support FIPS",type:c}]},{conditions:o,type:b,rules:[{conditions:[m],type:b,rules:[{type:b,rules:[{endpoint:{url:"https://datasync.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:k,headers:k},type:d}]}]},{error:"DualStack is enabled but this partition does not support DualStack",type:c}]},{type:b,rules:[{endpoint:{url:"https://datasync.{Region}.{PartitionResult#dnsSuffix}",properties:k,headers:k},type:d}]}]}]},{error:"Invalid Configuration: Missing Region",type:c}]}]};
const _data={version:"1.0",parameters:{Region:f,UseDualStack:g,UseFIPS:g,Endpoint:f},rules:[{conditions:[{[r]:a,[s]:[h]}],type:b,rules:[{conditions:n,error:"Invalid Configuration: FIPS and custom endpoint are not supported",type:c},{conditions:o,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",type:c},{endpoint:{url:h,properties:k,headers:k},type:d}]},{conditions:[{[r]:a,[s]:p}],type:b,rules:[{conditions:[{[r]:"aws.partition",[s]:p,assign:e}],type:b,rules:[{conditions:[i,j],type:b,rules:[{conditions:[l,m],type:b,rules:[{endpoint:{url:"https://datasync-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:k,headers:k},type:d}]},{error:"FIPS and DualStack are enabled, but this partition does not support one or both",type:c}]},{conditions:n,type:b,rules:[{conditions:[l],type:b,rules:[{endpoint:{url:"https://datasync-fips.{Region}.{PartitionResult#dnsSuffix}",properties:k,headers:k},type:d}]},{error:"FIPS is enabled but this partition does not support FIPS",type:c}]},{conditions:o,type:b,rules:[{conditions:[m],type:b,rules:[{endpoint:{url:"https://datasync.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:k,headers:k},type:d}]},{error:"DualStack is enabled but this partition does not support DualStack",type:c}]},{endpoint:{url:"https://datasync.{Region}.{PartitionResult#dnsSuffix}",properties:k,headers:k},type:d}]}]},{error:"Invalid Configuration: Missing Region",type:c}]};
export const ruleSet: RuleSetObject = _data;
96 changes: 40 additions & 56 deletions clients/client-datasync/src/models/models_0.ts
Original file line number Diff line number Diff line change
Expand Up @@ -359,6 +359,12 @@ export interface Capacity {
* compression or deduplication.</p>
*/
LogicalUsed?: number;

/**
* @public
* <p>The amount of space in the cluster that's in cloud storage (for example, if you're using data tiering).</p>
*/
ClusterCloudStorageUsed?: number;
}

/**
Expand Down Expand Up @@ -1305,13 +1311,14 @@ export interface CreateLocationHdfsResponse {

/**
* @public
* <p>A list of Amazon Resource Names (ARNs) of agents to use for a Network File System (NFS)
* <p>The DataSync agents that are connecting to a Network File System (NFS)
* location.</p>
*/
export interface OnPremConfig {
/**
* @public
* <p>ARNs of the agents to use for an NFS location.</p>
* <p>The Amazon Resource Names (ARNs) of the agents connecting to a transfer
* location.</p>
*/
AgentArns: string[] | undefined;
}
Expand All @@ -1323,51 +1330,33 @@ export interface OnPremConfig {
export interface CreateLocationNfsRequest {
/**
* @public
* <p>Specifies the subdirectory in the NFS file server that DataSync transfers to
* or from. The NFS path should be a path that's exported by the NFS server, or a
* subdirectory of that path. The path should be such that it can be mounted by other NFS clients
* in your network. </p>
* <p>To see all the paths exported by your NFS server, run "<code>showmount -e
* nfs-server-name</code>" from an NFS client that has access to your server. You can specify
* any directory that appears in the results, and any subdirectory of that directory. Ensure that
* the NFS export is accessible without Kerberos authentication. </p>
* <p>To transfer all the data in the folder you specified, DataSync needs to have
* permissions to read all the data. To ensure this, either configure the NFS export with
* <code>no_root_squash,</code> or ensure that the permissions for all of the files that you
* want DataSync allow read access for all users. Doing either enables the agent to
* read the files. For the agent to access directories, you must additionally enable all execute
* access.</p>
* <p>If you are copying data to or from your Snowcone device, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone">NFS Server on
* Snowcone</a> for more information.</p>
* <p>Specifies the export path in your NFS file server that you want DataSync to
* mount.</p>
* <p>This path (or a subdirectory of the path) is where DataSync transfers data to
* or from. For information on configuring an export for DataSync, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#accessing-nfs">Accessing NFS file servers</a>.</p>
*/
Subdirectory: string | undefined;

/**
* @public
* <p>Specifies the IP address or domain name of your NFS file server. An agent that is
* installed on-premises uses this hostname to mount the NFS server in a network. </p>
* <p>If you are copying data to or from your Snowcone device, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone">NFS Server on
* Snowcone</a> for more information.</p>
* <note>
* <p>You must specify be an IP version 4 address or Domain Name System (DNS)-compliant
* name.</p>
* </note>
* <p>Specifies the Domain Name System (DNS) name or IP version 4 address of the NFS file
* server that your DataSync agent connects to.</p>
*/
ServerHostname: string | undefined;

/**
* @public
* <p>Specifies the Amazon Resource Names (ARNs) of agents that DataSync uses to
* connect to your NFS file server. </p>
* <p>If you are copying data to or from your Snowcone device, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone">NFS Server on
* Snowcone</a> for more information.</p>
* <p>Specifies the Amazon Resource Name (ARN) of the DataSync agent that want to
* connect to your NFS file server.</p>
* <p>You can specify more than one agent. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/multiple-agents.html">Using multiple
* agents for transfers</a>.</p>
*/
OnPremConfig: OnPremConfig | undefined;

/**
* @public
* <p>Specifies the mount options that DataSync can use to mount your NFS
* share.</p>
* <p>Specifies the options that DataSync can use to mount your NFS file
* server.</p>
*/
MountOptions?: NfsMountOptions;

Expand Down Expand Up @@ -2982,7 +2971,8 @@ export interface DescribeLocationHdfsResponse {
export interface DescribeLocationNfsRequest {
/**
* @public
* <p>The Amazon Resource Name (ARN) of the NFS location to describe.</p>
* <p>Specifies the Amazon Resource Name (ARN) of the NFS location that you want information
* about.</p>
*/
LocationArn: string | undefined;
}
Expand All @@ -2994,32 +2984,32 @@ export interface DescribeLocationNfsRequest {
export interface DescribeLocationNfsResponse {
/**
* @public
* <p>The Amazon Resource Name (ARN) of the NFS location that was described.</p>
* <p>The ARN of the NFS location.</p>
*/
LocationArn?: string;

/**
* @public
* <p>The URL of the source NFS location that was described.</p>
* <p>The URL of the NFS location.</p>
*/
LocationUri?: string;

/**
* @public
* <p>A list of Amazon Resource Names (ARNs) of agents to use for a Network File System (NFS)
* <p>The DataSync agents that are connecting to a Network File System (NFS)
* location.</p>
*/
OnPremConfig?: OnPremConfig;

/**
* @public
* <p>The mount options that DataSync uses to mount your NFS share.</p>
* <p>The mount options that DataSync uses to mount your NFS file server.</p>
*/
MountOptions?: NfsMountOptions;

/**
* @public
* <p>The time that the NFS location was created.</p>
* <p>The time when the NFS location was created.</p>
*/
CreationTime?: Date;
}
Expand Down Expand Up @@ -3821,6 +3811,12 @@ export interface NetAppONTAPCluster {
* <p>The number of LUNs (logical unit numbers) in the cluster.</p>
*/
LunCount?: number;

/**
* @public
* <p>The amount of space in the cluster that's in cloud storage (for example, if you're using data tiering).</p>
*/
ClusterCloudStorageUsed?: number;
}

/**
Expand Down Expand Up @@ -5423,35 +5419,23 @@ export interface UpdateLocationHdfsResponse {}
export interface UpdateLocationNfsRequest {
/**
* @public
* <p>Specifies the Amazon Resource Name (ARN) of the NFS location that you want to
* <p>Specifies the Amazon Resource Name (ARN) of the NFS transfer location that you want to
* update.</p>
*/
LocationArn: string | undefined;

/**
* @public
* <p>Specifies the subdirectory in your NFS file system that DataSync uses to read
* from or write to during a transfer. The NFS path should be exported by the NFS server, or a
* subdirectory of that path. The path should be such that it can be mounted by other NFS clients
* in your network.</p>
* <p>To see all the paths exported by your NFS server, run "<code>showmount -e
* nfs-server-name</code>" from an NFS client that has access to your server. You can specify
* any directory that appears in the results, and any subdirectory of that directory. Ensure that
* the NFS export is accessible without Kerberos authentication. </p>
* <p>To transfer all the data in the folder that you specified, DataSync must have
* permissions to read all the data. To ensure this, either configure the NFS export with
* <code>no_root_squash</code>, or ensure that the files you want DataSync to access
* have permissions that allow read access for all users. Doing either option enables the agent
* to read the files. For the agent to access directories, you must additionally enable all
* execute access.</p>
* <p>If you are copying data to or from your Snowcone device, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#nfs-on-snowcone">NFS Server on
* Snowcone</a> for more information.</p>
* <p>Specifies the export path in your NFS file server that you want DataSync to
* mount.</p>
* <p>This path (or a subdirectory of the path) is where DataSync transfers data to
* or from. For information on configuring an export for DataSync, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/create-nfs-location.html#accessing-nfs">Accessing NFS file servers</a>.</p>
*/
Subdirectory?: string;

/**
* @public
* <p>A list of Amazon Resource Names (ARNs) of agents to use for a Network File System (NFS)
* <p>The DataSync agents that are connecting to a Network File System (NFS)
* location.</p>
*/
OnPremConfig?: OnPremConfig;
Expand Down
1 change: 1 addition & 0 deletions clients/client-datasync/src/protocols/Aws_json1_1.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4888,6 +4888,7 @@ const de_NetAppONTAPCluster = (output: any, context: __SerdeContext): NetAppONTA
ClusterBlockStorageLogicalUsed: __expectLong,
ClusterBlockStorageSize: __expectLong,
ClusterBlockStorageUsed: __expectLong,
ClusterCloudStorageUsed: __expectLong,
ClusterName: __expectString,
LunCount: __expectLong,
MaxP95Performance: (_: any) => de_MaxP95Performance(_, context),
Expand Down
Loading

0 comments on commit 70146be

Please sign in to comment.