Skip to content

Commit 6e82020

Browse files
Add support for the ability to use Amazon S3 Access Points with Amazon FSx for OpenZFS file systems.
1 parent d217acd commit 6e82020

19 files changed

+399
-79
lines changed

generator/ServiceModels/s3control/s3control-2018-08-20.api.json

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1707,12 +1707,18 @@
17071707
"Name":{"shape":"AccessPointName"},
17081708
"NetworkOrigin":{"shape":"NetworkOrigin"},
17091709
"VpcConfiguration":{"shape":"VpcConfiguration"},
1710-
"Bucket":{"shape":"BucketName"},
1710+
"Bucket":{"shape":"AccessPointBucketName"},
17111711
"AccessPointArn":{"shape":"S3AccessPointArn"},
17121712
"Alias":{"shape":"Alias"},
1713-
"BucketAccountId":{"shape":"AccountId"}
1713+
"BucketAccountId":{"shape":"AccountId"},
1714+
"DataSourceId":{"shape":"DataSourceId"},
1715+
"DataSourceType":{"shape":"DataSourceType"}
17141716
}
17151717
},
1718+
"AccessPointBucketName":{
1719+
"type":"string",
1720+
"max":255
1721+
},
17161722
"AccessPointList":{
17171723
"type":"list",
17181724
"member":{
@@ -2302,6 +2308,11 @@
23022308
},
23032309
"sensitive":true
23042310
},
2311+
"DataSourceId":{
2312+
"type":"string",
2313+
"max":191
2314+
},
2315+
"DataSourceType":{"type":"string"},
23052316
"Date":{"type":"timestamp"},
23062317
"Days":{"type":"integer"},
23072318
"DaysAfterInitiation":{"type":"integer"},
@@ -3258,15 +3269,17 @@
32583269
"type":"structure",
32593270
"members":{
32603271
"Name":{"shape":"AccessPointName"},
3261-
"Bucket":{"shape":"BucketName"},
3272+
"Bucket":{"shape":"AccessPointBucketName"},
32623273
"NetworkOrigin":{"shape":"NetworkOrigin"},
32633274
"VpcConfiguration":{"shape":"VpcConfiguration"},
32643275
"PublicAccessBlockConfiguration":{"shape":"PublicAccessBlockConfiguration"},
32653276
"CreationDate":{"shape":"CreationDate"},
32663277
"Alias":{"shape":"Alias"},
32673278
"AccessPointArn":{"shape":"S3AccessPointArn"},
32683279
"Endpoints":{"shape":"Endpoints"},
3269-
"BucketAccountId":{"shape":"AccountId"}
3280+
"BucketAccountId":{"shape":"AccountId"},
3281+
"DataSourceId":{"shape":"DataSourceId"},
3282+
"DataSourceType":{"shape":"DataSourceType"}
32703283
}
32713284
},
32723285
"GetAccessPointScopeRequest":{
@@ -4534,6 +4547,16 @@
45344547
"shape":"MaxResults",
45354548
"location":"querystring",
45364549
"locationName":"maxResults"
4550+
},
4551+
"DataSourceId":{
4552+
"shape":"DataSourceId",
4553+
"location":"querystring",
4554+
"locationName":"dataSourceId"
4555+
},
4556+
"DataSourceType":{
4557+
"shape":"DataSourceType",
4558+
"location":"querystring",
4559+
"locationName":"dataSourceType"
45374560
}
45384561
}
45394562
},

generator/ServiceModels/s3control/s3control-2018-08-20.docs.json

Lines changed: 29 additions & 8 deletions
Large diffs are not rendered by default.

generator/ServiceModels/s3control/s3control-2018-08-20.normal.json

Lines changed: 45 additions & 8 deletions
Large diffs are not rendered by default.

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

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -647,14 +647,17 @@
647647
</property-value-rule>
648648
<property-value-rule>
649649
<property>Amazon.S3Control.Model.GetAccessPointResponse.Bucket</property>
650-
<min>3</min>
651650
<max>255</max>
652651
</property-value-rule>
653652
<property-value-rule>
654653
<property>Amazon.S3Control.Model.GetAccessPointResponse.BucketAccountId</property>
655654
<max>64</max>
656655
<pattern>^\d{12}$</pattern>
657656
</property-value-rule>
657+
<property-value-rule>
658+
<property>Amazon.S3Control.Model.GetAccessPointResponse.DataSourceId</property>
659+
<max>191</max>
660+
</property-value-rule>
658661
<property-value-rule>
659662
<property>Amazon.S3Control.Model.GetAccessPointResponse.Name</property>
660663
<min>3</min>
@@ -975,6 +978,10 @@
975978
<min>3</min>
976979
<max>255</max>
977980
</property-value-rule>
981+
<property-value-rule>
982+
<property>Amazon.S3Control.Model.ListAccessPointsRequest.DataSourceId</property>
983+
<max>191</max>
984+
</property-value-rule>
978985
<property-value-rule>
979986
<property>Amazon.S3Control.Model.ListAccessPointsRequest.MaxResults</property>
980987
<min>0</min>
@@ -1457,14 +1464,17 @@
14571464
</property-value-rule>
14581465
<property-value-rule>
14591466
<property>Amazon.S3Control.Model.AccessPoint.Bucket</property>
1460-
<min>3</min>
14611467
<max>255</max>
14621468
</property-value-rule>
14631469
<property-value-rule>
14641470
<property>Amazon.S3Control.Model.AccessPoint.BucketAccountId</property>
14651471
<max>64</max>
14661472
<pattern>^\d{12}$</pattern>
14671473
</property-value-rule>
1474+
<property-value-rule>
1475+
<property>Amazon.S3Control.Model.AccessPoint.DataSourceId</property>
1476+
<max>191</max>
1477+
</property-value-rule>
14681478
<property-value-rule>
14691479
<property>Amazon.S3Control.Model.AccessPoint.Name</property>
14701480
<min>3</min>

sdk/src/Services/S3Control/Generated/Model/AccessPoint.cs

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ public partial class AccessPoint
3838
private string _alias;
3939
private string _bucket;
4040
private string _bucketAccountId;
41+
private string _dataSourceId;
42+
private string _dataSourceType;
4143
private string _name;
4244
private NetworkOrigin _networkOrigin;
4345
private VpcConfiguration _vpcConfiguration;
@@ -86,7 +88,7 @@ internal bool IsSetAlias()
8688
/// The name of the bucket associated with this access point.
8789
/// </para>
8890
/// </summary>
89-
[AWSProperty(Required=true, Min=3, Max=255)]
91+
[AWSProperty(Required=true, Max=255)]
9092
public string Bucket
9193
{
9294
get { return this._bucket; }
@@ -119,6 +121,43 @@ internal bool IsSetBucketAccountId()
119121
return this._bucketAccountId != null;
120122
}
121123

124+
/// <summary>
125+
/// Gets and sets the property DataSourceId.
126+
/// <para>
127+
/// A unique identifier for the data source of the access point.
128+
/// </para>
129+
/// </summary>
130+
[AWSProperty(Max=191)]
131+
public string DataSourceId
132+
{
133+
get { return this._dataSourceId; }
134+
set { this._dataSourceId = value; }
135+
}
136+
137+
// Check to see if DataSourceId property is set
138+
internal bool IsSetDataSourceId()
139+
{
140+
return this._dataSourceId != null;
141+
}
142+
143+
/// <summary>
144+
/// Gets and sets the property DataSourceType.
145+
/// <para>
146+
/// The type of the data source that the access point is attached to.
147+
/// </para>
148+
/// </summary>
149+
public string DataSourceType
150+
{
151+
get { return this._dataSourceType; }
152+
set { this._dataSourceType = value; }
153+
}
154+
155+
// Check to see if DataSourceType property is set
156+
internal bool IsSetDataSourceType()
157+
{
158+
return this._dataSourceType != null;
159+
}
160+
122161
/// <summary>
123162
/// Gets and sets the property Name.
124163
/// <para>

sdk/src/Services/S3Control/Generated/Model/CreateAccessPointRequest.cs

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,16 @@ namespace Amazon.S3Control.Model
3333
/// Container for the parameters to the CreateAccessPoint operation.
3434
/// Creates an access point and associates it to a specified bucket. For more information,
3535
/// see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html">Managing
36-
/// access to shared datasets in general purpose buckets with access points</a> or <a
37-
/// href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-directory-buckets.html">Managing
36+
/// access to shared datasets with access points</a> or <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-directory-buckets.html">Managing
3837
/// access to shared datasets in directory buckets with access points</a> in the <i>Amazon
3938
/// S3 User Guide</i>.
4039
///
40+
///
41+
/// <para>
42+
/// To create an access point and attach it to a volume on an Amazon FSx file system,
43+
/// see <a href="https://docs.aws.amazon.com/fsx/latest/APIReference/API_CreateAndAttachS3AccessPoint.html">CreateAndAttachS3AccessPoint</a>
44+
/// in the <i>Amazon FSx API Reference</i>.
45+
/// </para>
4146
/// <note>
4247
/// <para>
4348
/// S3 on Outposts only supports VPC-style access points.
@@ -185,8 +190,8 @@ internal bool IsSetBucketAccountId()
185190
/// provide and suffix that includes the <c>ZoneID</c> (Amazon Web Services Availability
186191
/// Zone or Local Zone) of your bucket location, followed by <c>--xa-s3</c>. For more
187192
/// information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-directory-buckets.html">Managing
188-
/// access to shared datasets in directory buckets with access points</a> in the Amazon
189-
/// S3 User Guide.
193+
/// access to shared datasets in directory buckets with access points</a> in the <i>Amazon
194+
/// S3 User Guide</i>.
190195
/// </para>
191196
/// </summary>
192197
[AWSProperty(Required=true, Min=3, Max=255)]
@@ -226,12 +231,12 @@ internal bool IsSetPublicAccessBlockConfiguration()
226231
/// <para>
227232
/// For directory buckets, you can filter access control to specific prefixes, API operations,
228233
/// or a combination of both. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-directory-buckets.html">Managing
229-
/// access to shared datasets in directory buckets with access points</a> in the Amazon
230-
/// S3 User Guide.
234+
/// access to shared datasets in directory buckets with access points</a> in the <i>Amazon
235+
/// S3 User Guide</i>.
231236
/// </para>
232237
/// <note>
233238
/// <para>
234-
/// Scope is not supported for access points for general purpose buckets.
239+
/// Scope is only supported for access points attached to directory buckets.
235240
/// </para>
236241
/// </note>
237242
/// </summary>

sdk/src/Services/S3Control/Generated/Model/GetAccessPointResponse.cs

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ public partial class GetAccessPointResponse : AmazonWebServiceResponse
3939
private string _bucket;
4040
private string _bucketAccountId;
4141
private DateTime? _creationDate;
42+
private string _dataSourceId;
43+
private string _dataSourceType;
4244
private Dictionary<string, string> _endpoints = AWSConfigs.InitializeCollections ? new Dictionary<string, string>() : null;
4345
private string _name;
4446
private NetworkOrigin _networkOrigin;
@@ -89,7 +91,7 @@ internal bool IsSetAlias()
8991
/// The name of the bucket associated with the specified access point.
9092
/// </para>
9193
/// </summary>
92-
[AWSProperty(Min=3, Max=255)]
94+
[AWSProperty(Max=255)]
9395
public string Bucket
9496
{
9597
get { return this._bucket; }
@@ -140,6 +142,43 @@ internal bool IsSetCreationDate()
140142
return this._creationDate.HasValue;
141143
}
142144

145+
/// <summary>
146+
/// Gets and sets the property DataSourceId.
147+
/// <para>
148+
/// The unique identifier for the data source of the access point.
149+
/// </para>
150+
/// </summary>
151+
[AWSProperty(Max=191)]
152+
public string DataSourceId
153+
{
154+
get { return this._dataSourceId; }
155+
set { this._dataSourceId = value; }
156+
}
157+
158+
// Check to see if DataSourceId property is set
159+
internal bool IsSetDataSourceId()
160+
{
161+
return this._dataSourceId != null;
162+
}
163+
164+
/// <summary>
165+
/// Gets and sets the property DataSourceType.
166+
/// <para>
167+
/// The type of the data source that the access point is attached to.
168+
/// </para>
169+
/// </summary>
170+
public string DataSourceType
171+
{
172+
get { return this._dataSourceType; }
173+
set { this._dataSourceType = value; }
174+
}
175+
176+
// Check to see if DataSourceType property is set
177+
internal bool IsSetDataSourceType()
178+
{
179+
return this._dataSourceType != null;
180+
}
181+
143182
/// <summary>
144183
/// Gets and sets the property Endpoints.
145184
/// <para>

sdk/src/Services/S3Control/Generated/Model/Internal/MarshallTransformations/AccessPointUnmarshaller.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,18 @@ public AccessPoint Unmarshall(XmlUnmarshallerContext context)
8080
unmarshalledObject.BucketAccountId = unmarshaller.Unmarshall(context);
8181
continue;
8282
}
83+
if (context.TestExpression("DataSourceId", targetDepth))
84+
{
85+
var unmarshaller = StringUnmarshaller.Instance;
86+
unmarshalledObject.DataSourceId = unmarshaller.Unmarshall(context);
87+
continue;
88+
}
89+
if (context.TestExpression("DataSourceType", targetDepth))
90+
{
91+
var unmarshaller = StringUnmarshaller.Instance;
92+
unmarshalledObject.DataSourceType = unmarshaller.Unmarshall(context);
93+
continue;
94+
}
8395
if (context.TestExpression("Name", targetDepth))
8496
{
8597
var unmarshaller = StringUnmarshaller.Instance;

sdk/src/Services/S3Control/Generated/Model/Internal/MarshallTransformations/GetAccessPointResponseUnmarshaller.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,18 @@ private static void UnmarshallResult(XmlUnmarshallerContext context, GetAccessPo
9595
response.CreationDate = unmarshaller.Unmarshall(context);
9696
continue;
9797
}
98+
if (context.TestExpression("DataSourceId", targetDepth))
99+
{
100+
var unmarshaller = StringUnmarshaller.Instance;
101+
response.DataSourceId = unmarshaller.Unmarshall(context);
102+
continue;
103+
}
104+
if (context.TestExpression("DataSourceType", targetDepth))
105+
{
106+
var unmarshaller = StringUnmarshaller.Instance;
107+
response.DataSourceType = unmarshaller.Unmarshall(context);
108+
continue;
109+
}
98110
if (context.TestExpression("Endpoints", targetDepth))
99111
{
100112
var unmarshaller = new DictionaryUnmarshaller<string, string, StringUnmarshaller, StringUnmarshaller>(StringUnmarshaller.Instance, StringUnmarshaller.Instance);

sdk/src/Services/S3Control/Generated/Model/Internal/MarshallTransformations/ListAccessPointsRequestMarshaller.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,12 @@ public IRequest Marshall(ListAccessPointsRequest publicRequest)
6666
if (publicRequest.IsSetBucket())
6767
request.Parameters.Add("bucket", StringUtils.FromString(publicRequest.Bucket));
6868

69+
if (publicRequest.IsSetDataSourceId())
70+
request.Parameters.Add("dataSourceId", StringUtils.FromString(publicRequest.DataSourceId));
71+
72+
if (publicRequest.IsSetDataSourceType())
73+
request.Parameters.Add("dataSourceType", StringUtils.FromString(publicRequest.DataSourceType));
74+
6975
if (publicRequest.IsSetMaxResults())
7076
request.Parameters.Add("maxResults", StringUtils.FromInt(publicRequest.MaxResults));
7177

0 commit comments

Comments
 (0)