Skip to content

Commit d64f70c

Browse files
Add support for the ability to create Amazon S3 Access Points for Amazon FSx for OpenZFS file systems.
1 parent 1a6de65 commit d64f70c

File tree

63 files changed

+7662
-7
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+7662
-7
lines changed

generator/ServiceModels/fsx/fsx-2018-03-01.api.json

Lines changed: 314 additions & 0 deletions
Large diffs are not rendered by default.

generator/ServiceModels/fsx/fsx-2018-03-01.docs.json

Lines changed: 229 additions & 3 deletions
Large diffs are not rendered by default.

generator/ServiceModels/fsx/fsx-2018-03-01.normal.json

Lines changed: 444 additions & 2 deletions
Large diffs are not rendered by default.

generator/ServiceModels/fsx/fsx-2018-03-01.paginators.json

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,17 @@
3030
"output_token": "NextToken",
3131
"limit_key": "MaxResults"
3232
},
33+
"DescribeS3AccessPointAttachments": {
34+
"input_token": "NextToken",
35+
"output_token": "NextToken",
36+
"limit_key": "MaxResults",
37+
"result_key": "S3AccessPointAttachments"
38+
},
3339
"DescribeSnapshots": {
3440
"input_token": "NextToken",
3541
"output_token": "NextToken",
36-
"limit_key": "MaxResults"
42+
"limit_key": "MaxResults",
43+
"result_key": "Snapshots"
3744
},
3845
"DescribeStorageVirtualMachines": {
3946
"input_token": "NextToken",

sdk/code-analysis/ServiceAnalysis/FSx/Generated/PropertyValueRules.xml

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,18 @@
7272
<max>23</max>
7373
<pattern>^(fsvol-[0-9a-f]{17,})$</pattern>
7474
</property-value-rule>
75+
<property-value-rule>
76+
<property>Amazon.FSx.Model.CreateAndAttachS3AccessPointRequest.ClientRequestToken</property>
77+
<min>1</min>
78+
<max>63</max>
79+
<pattern>[A-za-z0-9_.-]{0,63}$</pattern>
80+
</property-value-rule>
81+
<property-value-rule>
82+
<property>Amazon.FSx.Model.CreateAndAttachS3AccessPointRequest.Name</property>
83+
<min>3</min>
84+
<max>50</max>
85+
<pattern>^(?=[a-z0-9])[a-z0-9-]{1,48}[a-z0-9]$</pattern>
86+
</property-value-rule>
7587
<property-value-rule>
7688
<property>Amazon.FSx.Model.CreateBackupRequest.ClientRequestToken</property>
7789
<min>1</min>
@@ -523,6 +535,23 @@
523535
<max>255</max>
524536
<pattern>^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$</pattern>
525537
</property-value-rule>
538+
<property-value-rule>
539+
<property>Amazon.FSx.Model.DescribeS3AccessPointAttachmentsRequest.MaxResults</property>
540+
<min>1</min>
541+
<max>2147483647</max>
542+
</property-value-rule>
543+
<property-value-rule>
544+
<property>Amazon.FSx.Model.DescribeS3AccessPointAttachmentsRequest.NextToken</property>
545+
<min>1</min>
546+
<max>255</max>
547+
<pattern>^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$</pattern>
548+
</property-value-rule>
549+
<property-value-rule>
550+
<property>Amazon.FSx.Model.DescribeS3AccessPointAttachmentsResponse.NextToken</property>
551+
<min>1</min>
552+
<max>255</max>
553+
<pattern>^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$</pattern>
554+
</property-value-rule>
526555
<property-value-rule>
527556
<property>Amazon.FSx.Model.DescribeSharedVpcConfigurationResponse.EnableFsxRouteTableUpdatesFromParticipantAccounts</property>
528557
<min>4</min>
@@ -580,6 +609,24 @@
580609
<max>255</max>
581610
<pattern>^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$</pattern>
582611
</property-value-rule>
612+
<property-value-rule>
613+
<property>Amazon.FSx.Model.DetachAndDeleteS3AccessPointRequest.ClientRequestToken</property>
614+
<min>1</min>
615+
<max>63</max>
616+
<pattern>[A-za-z0-9_.-]{0,63}$</pattern>
617+
</property-value-rule>
618+
<property-value-rule>
619+
<property>Amazon.FSx.Model.DetachAndDeleteS3AccessPointRequest.Name</property>
620+
<min>3</min>
621+
<max>50</max>
622+
<pattern>^(?=[a-z0-9])[a-z0-9-]{1,48}[a-z0-9]$</pattern>
623+
</property-value-rule>
624+
<property-value-rule>
625+
<property>Amazon.FSx.Model.DetachAndDeleteS3AccessPointResponse.Name</property>
626+
<min>3</min>
627+
<max>50</max>
628+
<pattern>^(?=[a-z0-9])[a-z0-9-]{1,48}[a-z0-9]$</pattern>
629+
</property-value-rule>
583630
<property-value-rule>
584631
<property>Amazon.FSx.Model.DisassociateFileSystemAliasesRequest.ClientRequestToken</property>
585632
<min>1</min>
@@ -799,6 +846,11 @@
799846
<max>23</max>
800847
<pattern>^(fsvol-[0-9a-f]{17,})$</pattern>
801848
</property-value-rule>
849+
<property-value-rule>
850+
<property>Amazon.FSx.Model.AccessPointAlreadyOwnedByYouException.ErrorCode</property>
851+
<min>1</min>
852+
<max>128</max>
853+
</property-value-rule>
802854
<property-value-rule>
803855
<property>Amazon.FSx.Model.ActiveDirectoryBackupAttributes.ActiveDirectoryId</property>
804856
<min>12</min>
@@ -930,6 +982,17 @@
930982
<min>1</min>
931983
<max>200</max>
932984
</property-value-rule>
985+
<property-value-rule>
986+
<property>Amazon.FSx.Model.CreateAndAttachS3AccessPointOpenZFSConfiguration.VolumeId</property>
987+
<min>23</min>
988+
<max>23</max>
989+
<pattern>^(fsvol-[0-9a-f]{17,})$</pattern>
990+
</property-value-rule>
991+
<property-value-rule>
992+
<property>Amazon.FSx.Model.CreateAndAttachS3AccessPointS3Configuration.Policy</property>
993+
<min>1</min>
994+
<max>200000</max>
995+
</property-value-rule>
933996
<property-value-rule>
934997
<property>Amazon.FSx.Model.CreateFileCacheLustreConfiguration.PerUnitStorageThroughput</property>
935998
<min>12</min>
@@ -1504,6 +1567,11 @@
15041567
<property>Amazon.FSx.Model.IncompatibleParameterErrorException.Parameter</property>
15051568
<min>1</min>
15061569
</property-value-rule>
1570+
<property-value-rule>
1571+
<property>Amazon.FSx.Model.InvalidAccessPointException.ErrorCode</property>
1572+
<min>1</min>
1573+
<max>128</max>
1574+
</property-value-rule>
15071575
<property-value-rule>
15081576
<property>Amazon.FSx.Model.InvalidNetworkSettingsException.InvalidRouteTableId</property>
15091577
<min>12</min>
@@ -1522,6 +1590,11 @@
15221590
<max>24</max>
15231591
<pattern>^(subnet-[0-9a-f]{8,})$</pattern>
15241592
</property-value-rule>
1593+
<property-value-rule>
1594+
<property>Amazon.FSx.Model.InvalidRequestException.ErrorCode</property>
1595+
<min>1</min>
1596+
<max>128</max>
1597+
</property-value-rule>
15251598
<property-value-rule>
15261599
<property>Amazon.FSx.Model.LifecycleTransitionReason.Message</property>
15271600
<min>1</min>
@@ -1734,6 +1807,16 @@
17341807
<max>512</max>
17351808
<pattern>^arn:(?=[^:]+:fsx:[^:]+:\d{12}:)((|(?=[a-z0-9-.]{1,63})(?!\d{1,3}(\.\d{1,3}){3})(?![^:]*-{2})(?![^:]*-\.)(?![^:]*\.-)[a-z0-9].*(?&lt;!-)):){4}(?!/).{0,1024}$</pattern>
17361809
</property-value-rule>
1810+
<property-value-rule>
1811+
<property>Amazon.FSx.Model.OpenZFSPosixFileSystemUser.Gid</property>
1812+
<min>0</min>
1813+
<max>4294967295</max>
1814+
</property-value-rule>
1815+
<property-value-rule>
1816+
<property>Amazon.FSx.Model.OpenZFSPosixFileSystemUser.Uid</property>
1817+
<min>0</min>
1818+
<max>4294967295</max>
1819+
</property-value-rule>
17371820
<property-value-rule>
17381821
<property>Amazon.FSx.Model.OpenZFSReadCacheConfiguration.SizeGiB</property>
17391822
<min>0</min>
@@ -1810,6 +1893,36 @@
18101893
<min>0</min>
18111894
<max>65535</max>
18121895
</property-value-rule>
1896+
<property-value-rule>
1897+
<property>Amazon.FSx.Model.S3AccessPoint.Alias</property>
1898+
<min>1</min>
1899+
<max>63</max>
1900+
<pattern>^[0-9a-z\\-]{1,63}</pattern>
1901+
</property-value-rule>
1902+
<property-value-rule>
1903+
<property>Amazon.FSx.Model.S3AccessPoint.ResourceARN</property>
1904+
<min>8</min>
1905+
<max>1024</max>
1906+
<pattern>^arn:[^:]{1,63}:[^:]{0,63}:[^:]{0,63}:(?:|\d{12}):[^/].{0,1023}$</pattern>
1907+
</property-value-rule>
1908+
<property-value-rule>
1909+
<property>Amazon.FSx.Model.S3AccessPointAttachment.Name</property>
1910+
<min>3</min>
1911+
<max>50</max>
1912+
<pattern>^(?=[a-z0-9])[a-z0-9-]{1,48}[a-z0-9]$</pattern>
1913+
</property-value-rule>
1914+
<property-value-rule>
1915+
<property>Amazon.FSx.Model.S3AccessPointOpenZFSConfiguration.VolumeId</property>
1916+
<min>23</min>
1917+
<max>23</max>
1918+
<pattern>^(fsvol-[0-9a-f]{17,})$</pattern>
1919+
</property-value-rule>
1920+
<property-value-rule>
1921+
<property>Amazon.FSx.Model.S3AccessPointVpcConfiguration.VpcId</property>
1922+
<min>12</min>
1923+
<max>21</max>
1924+
<pattern>^(vpc-[0-9a-f]{8,})$</pattern>
1925+
</property-value-rule>
18131926
<property-value-rule>
18141927
<property>Amazon.FSx.Model.SelfManagedActiveDirectoryAttributes.DomainName</property>
18151928
<min>1</min>
@@ -1982,6 +2095,11 @@
19822095
<min>2</min>
19832096
<max>183</max>
19842097
</property-value-rule>
2098+
<property-value-rule>
2099+
<property>Amazon.FSx.Model.TooManyAccessPointsException.ErrorCode</property>
2100+
<min>1</min>
2101+
<max>128</max>
2102+
</property-value-rule>
19852103
<property-value-rule>
19862104
<property>Amazon.FSx.Model.UpdateFileCacheLustreConfiguration.WeeklyMaintenanceStartTime</property>
19872105
<min>7</min>
Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
/*
2+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License").
5+
* You may not use this file except in compliance with the License.
6+
* A copy of the License is located at
7+
*
8+
* http://aws.amazon.com/apache2.0
9+
*
10+
* or in the "license" file accompanying this file. This file is distributed
11+
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12+
* express or implied. See the License for the specific language governing
13+
* permissions and limitations under the License.
14+
*/
15+
16+
/*
17+
* Do not modify this file. This file is generated from the fsx-2018-03-01.normal.json service model.
18+
*/
19+
using System;
20+
using System.Collections.Generic;
21+
using System.Xml.Serialization;
22+
using System.Text;
23+
using System.IO;
24+
using System.Net;
25+
26+
using Amazon.Runtime;
27+
using Amazon.Runtime.Internal;
28+
29+
#pragma warning disable CS0612,CS0618,CS1570
30+
namespace Amazon.FSx.Model
31+
{
32+
/// <summary>
33+
/// An access point with that name already exists in the Amazon Web Services Region in
34+
/// your Amazon Web Services account.
35+
/// </summary>
36+
#if !NETSTANDARD
37+
[Serializable]
38+
#endif
39+
public partial class AccessPointAlreadyOwnedByYouException : AmazonFSxException
40+
{
41+
42+
/// <summary>
43+
/// Constructs a new AccessPointAlreadyOwnedByYouException with the specified error
44+
/// message.
45+
/// </summary>
46+
/// <param name="message">
47+
/// Describes the error encountered.
48+
/// </param>
49+
public AccessPointAlreadyOwnedByYouException(string message)
50+
: base(message) {}
51+
52+
/// <summary>
53+
/// Construct instance of AccessPointAlreadyOwnedByYouException
54+
/// </summary>
55+
/// <param name="message"></param>
56+
/// <param name="innerException"></param>
57+
public AccessPointAlreadyOwnedByYouException(string message, Exception innerException)
58+
: base(message, innerException) {}
59+
60+
/// <summary>
61+
/// Construct instance of AccessPointAlreadyOwnedByYouException
62+
/// </summary>
63+
/// <param name="innerException"></param>
64+
public AccessPointAlreadyOwnedByYouException(Exception innerException)
65+
: base(innerException) {}
66+
67+
/// <summary>
68+
/// Construct instance of AccessPointAlreadyOwnedByYouException
69+
/// </summary>
70+
/// <param name="message"></param>
71+
/// <param name="innerException"></param>
72+
/// <param name="errorType"></param>
73+
/// <param name="errorCode"></param>
74+
/// <param name="requestId"></param>
75+
/// <param name="statusCode"></param>
76+
public AccessPointAlreadyOwnedByYouException(string message, Exception innerException, Amazon.Runtime.ErrorType errorType, string errorCode, string requestId, HttpStatusCode statusCode)
77+
: base(message, innerException, errorType, errorCode, requestId, statusCode) {}
78+
79+
/// <summary>
80+
/// Construct instance of AccessPointAlreadyOwnedByYouException
81+
/// </summary>
82+
/// <param name="message"></param>
83+
/// <param name="errorType"></param>
84+
/// <param name="errorCode"></param>
85+
/// <param name="requestId"></param>
86+
/// <param name="statusCode"></param>
87+
public AccessPointAlreadyOwnedByYouException(string message, Amazon.Runtime.ErrorType errorType, string errorCode, string requestId, HttpStatusCode statusCode)
88+
: base(message, errorType, errorCode, requestId, statusCode) {}
89+
90+
91+
#if !NETSTANDARD
92+
/// <summary>
93+
/// Constructs a new instance of the AccessPointAlreadyOwnedByYouException class with serialized data.
94+
/// </summary>
95+
/// <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
96+
/// <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
97+
/// <exception cref="T:System.ArgumentNullException">The <paramref name="info" /> parameter is null. </exception>
98+
/// <exception cref="T:System.Runtime.Serialization.SerializationException">The class name is null or <see cref="P:System.Exception.HResult" /> is zero (0). </exception>
99+
protected AccessPointAlreadyOwnedByYouException(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context)
100+
: base(info, context)
101+
{
102+
this.ErrorCode = (string)info.GetValue("ErrorCode", typeof(string));
103+
}
104+
105+
/// <summary>
106+
/// Sets the <see cref="T:System.Runtime.Serialization.SerializationInfo" /> with information about the exception.
107+
/// </summary>
108+
/// <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
109+
/// <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
110+
/// <exception cref="T:System.ArgumentNullException">The <paramref name="info" /> parameter is a null reference (Nothing in Visual Basic). </exception>
111+
#if BCL35
112+
[System.Security.Permissions.SecurityPermission(
113+
System.Security.Permissions.SecurityAction.LinkDemand,
114+
Flags = System.Security.Permissions.SecurityPermissionFlag.SerializationFormatter)]
115+
#endif
116+
[System.Security.SecurityCritical]
117+
// These FxCop rules are giving false-positives for this method
118+
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2123:OverrideLinkDemandsShouldBeIdenticalToBase")]
119+
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2134:MethodsMustOverrideWithConsistentTransparencyFxCopRule")]
120+
public override void GetObjectData(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context)
121+
{
122+
base.GetObjectData(info, context);
123+
info.AddValue("ErrorCode", this.ErrorCode);
124+
}
125+
#endif
126+
127+
}
128+
}

0 commit comments

Comments
 (0)