Skip to content

Commit 2ef74c7

Browse files
authored
Check for config.useDualstackEndpoint in S3/S3Control customizations (#3969)
1 parent 53119da commit 2ef74c7

File tree

6 files changed

+35
-29
lines changed

6 files changed

+35
-29
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"type": "bugfix",
3+
"category": "S3/S3Control",
4+
"description": "Check for config.useDualstackEndpoint in customizations"
5+
}

lib/services/s3.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,7 @@ AWS.util.update(AWS.S3.prototype, {
300300
if (b) {
301301
if (!service.pathStyleBucketName(b)) {
302302
if (service.config.useAccelerateEndpoint && service.isValidAccelerateOperation(req.operation)) {
303-
if (service.config.useDualstack) {
303+
if (service.config.useDualstackEndpoint) {
304304
endpoint.hostname = b + '.s3-accelerate.dualstack.amazonaws.com';
305305
} else {
306306
endpoint.hostname = b + '.s3-accelerate.amazonaws.com';
@@ -360,7 +360,8 @@ AWS.util.update(AWS.S3.prototype, {
360360
var outpostsSuffix = isOutpostArn ? '.' + accessPointArn.outpostId: '';
361361
var serviceName = isOutpostArn ? 's3-outposts': 's3-accesspoint';
362362
var fipsSuffix = !isOutpostArn && req.service.config.useFipsEndpoint ? '-fips': '';
363-
var dualStackSuffix = !isOutpostArn && req.service.config.useDualstack ? '.dualstack' : '';
363+
var dualStackSuffix = !isOutpostArn &&
364+
req.service.config.useDualstackEndpoint ? '.dualstack' : '';
364365

365366
var endpoint = req.httpRequest.endpoint;
366367
var dnsSuffix = regionUtil.getEndpointSuffix(accessPointArn.region);

lib/services/s3util.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -186,10 +186,10 @@ var s3util = {
186186
});
187187
}
188188

189-
if (req._parsedArn.service === 's3-outposts' && req.service.config.useDualstack) {
189+
if (req._parsedArn.service === 's3-outposts' && req.service.config.useDualstackEndpoint) {
190190
throw AWS.util.error(new Error(), {
191191
code: 'InvalidConfiguration',
192-
message: 'useDualstack config is not supported with outposts access point ARN'
192+
message: 'Dualstack is not supported with outposts access point ARN'
193193
});
194194
}
195195
},

scripts/region-checker/allowlist.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,13 @@ var allowlist = {
4141
262,
4242
275,
4343
281,
44-
639,
45-
641,
46-
760,
47-
771,
44+
640,
45+
642,
46+
761,
4847
772,
4948
773,
50-
778
49+
774,
50+
779
5151
]
5252
};
5353

test/services/s3.spec.js

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -77,19 +77,19 @@ describe('AWS.S3', function() {
7777
it('sets a region-specific dualstack endpoint when dualstack enabled', function() {
7878
s3 = new AWS.S3({
7979
region: 'us-west-1',
80-
useDualstack: true
80+
useDualstackEndpoint: true
8181
});
8282
expect(s3.endpoint.hostname).to.equal('s3.dualstack.us-west-1.amazonaws.com');
8383

8484
s3 = new AWS.S3({
8585
region: 'us-east-1',
86-
useDualstack: true
86+
useDualstackEndpoint: true
8787
});
8888
expect(s3.endpoint.hostname).to.equal('s3.dualstack.us-east-1.amazonaws.com');
8989

9090
s3 = new AWS.S3({
9191
region: 'cn-north-1',
92-
useDualstack: true
92+
useDualstackEndpoint: true
9393
});
9494
expect(s3.endpoint.hostname).to.equal('s3.dualstack.cn-north-1.amazonaws.com.cn');
9595
});
@@ -680,7 +680,7 @@ describe('AWS.S3', function() {
680680
beforeEach(function() {
681681
s3 = new AWS.S3({
682682
useAccelerateEndpoint: true,
683-
useDualstack: true
683+
useDualstackEndpoint: true
684684
});
685685
});
686686

@@ -696,7 +696,7 @@ describe('AWS.S3', function() {
696696
var req;
697697
s3 = new AWS.S3({
698698
useAccelerateEndpoint: true,
699-
useDualstack: true,
699+
useDualstackEndpoint: true,
700700
s3BucketEndpoint: true,
701701
endpoint: 'foo.region.amazonaws.com'
702702
});
@@ -1043,7 +1043,7 @@ describe('AWS.S3', function() {
10431043
s3 = new AWS.S3({
10441044
sslEnabled: true,
10451045
region: void 0,
1046-
useDualstack: true
1046+
useDualstackEndpoint: true
10471047
});
10481048
});
10491049

@@ -1078,7 +1078,7 @@ describe('AWS.S3', function() {
10781078
sslEnabled: true,
10791079
s3ForcePathStyle: true,
10801080
region: void 0,
1081-
useDualstack: true
1081+
useDualstackEndpoint: true
10821082
});
10831083
var req = build('listObjects', {
10841084
Bucket: 'bucket-name'
@@ -1101,7 +1101,7 @@ describe('AWS.S3', function() {
11011101
s3 = new AWS.S3({
11021102
sslEnabled: false,
11031103
region: void 0,
1104-
useDualstack: true
1104+
useDualstackEndpoint: true
11051105
});
11061106
});
11071107

@@ -1796,7 +1796,7 @@ describe('AWS.S3', function() {
17961796
region: 'eu-west-1'
17971797
};
17981798
s3 = new AWS.S3({
1799-
useDualstack: true
1799+
useDualstackEndpoint: true
18001800
});
18011801
var req = request('putObject', {
18021802
Bucket: 'test',
@@ -1817,7 +1817,7 @@ describe('AWS.S3', function() {
18171817
region: 'eu-west-1'
18181818
};
18191819
s3 = new AWS.S3({
1820-
useDualstack: true
1820+
useDualstackEndpoint: true
18211821
});
18221822
var req = request('putObject', {
18231823
Bucket: 'foo',
@@ -1841,7 +1841,7 @@ describe('AWS.S3', function() {
18411841
};
18421842
s3 = new AWS.S3({
18431843
useAccelerateEndpoint: true,
1844-
useDualstack: true
1844+
useDualstackEndpoint: true
18451845
});
18461846
var req = request('putObject', {
18471847
Bucket: 'test',
@@ -1863,7 +1863,7 @@ describe('AWS.S3', function() {
18631863
};
18641864
s3 = new AWS.S3({
18651865
useAccelerateEndpoint: true,
1866-
useDualstack: true
1866+
useDualstackEndpoint: true
18671867
});
18681868
var req = request('putObject', {
18691869
Bucket: 'foo',
@@ -1945,7 +1945,7 @@ describe('AWS.S3', function() {
19451945
region: 'eu-west-1'
19461946
};
19471947
s3 = new AWS.S3({
1948-
useDualstack: true
1948+
useDualstackEndpoint: true
19491949
});
19501950
var req = request('operation', {
19511951
Bucket: 'name'
@@ -3613,8 +3613,8 @@ describe('AWS.S3', function() {
36133613
});
36143614
});
36153615

3616-
it('should throw if useDualstack it set to true for outposts Arn', function(done) {
3617-
s3 = new AWS.S3({region: 'us-west-2', useDualstack: true});
3616+
it('should throw if useDualstackEndpoint it set to true for outposts Arn', function(done) {
3617+
s3 = new AWS.S3({region: 'us-west-2', useDualstackEndpoint: true});
36183618
helpers.mockHttpResponse(200, {}, '');
36193619
var request = s3.getObject({
36203620
Bucket: 'arn:aws:s3-outposts:us-west-2:123456789012:outpost/op-01234567890123456/accesspoint/myendpoint',
@@ -3623,7 +3623,7 @@ describe('AWS.S3', function() {
36233623
request.send(function(err, data) {
36243624
expect(err).to.exist;
36253625
expect(err.name).to.equal('InvalidConfiguration');
3626-
expect(err.message).to.equal('useDualstack config is not supported with outposts access point ARN');
3626+
expect(err.message).to.equal('Dualstack is not supported with outposts access point ARN');
36273627
done();
36283628
});
36293629
});
@@ -3909,7 +3909,7 @@ describe('AWS.S3', function() {
39093909
});
39103910

39113911
it('should correctly generate dualstack endpoint from access point arn', function(done) {
3912-
s3 = new AWS.S3({region: 'us-west-2', useDualstack: true});
3912+
s3 = new AWS.S3({region: 'us-west-2', useDualstackEndpoint: true});
39133913
helpers.mockHttpResponse(200, {}, '');
39143914
var request = s3.getObject({
39153915
Bucket: 'arn:aws:s3:us-west-2:123456789012:accesspoint/myendpoint',

test/services/s3control.spec.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -350,16 +350,16 @@ describe('AWS.S3Control', function() {
350350
});
351351
});
352352

353-
it('should throw if useDualstack it set to true for outposts Arn', function(done) {
354-
var client = new AWS.S3Control({region: 'us-west-2', useDualstack: true});
353+
it('should throw if useDualstackEndpoint it set to true for outposts Arn', function(done) {
354+
var client = new AWS.S3Control({region: 'us-west-2', useDualstackEndpoint: true});
355355
helpers.mockHttpResponse(200, {}, '');
356356
var request = client.getBucket({
357357
Bucket: 'arn:aws:s3-outposts:us-west-2:123456789012:outpost/op-01234567890123456/accesspoint/myendpoint'
358358
});
359359
request.send(function(err, data) {
360360
expect(err).to.exist;
361361
expect(err.name).to.equal('InvalidConfiguration');
362-
expect(err.message).to.equal('useDualstack config is not supported with outposts access point ARN');
362+
expect(err.message).to.equal('Dualstack is not supported with outposts access point ARN');
363363
done();
364364
});
365365
});

0 commit comments

Comments
 (0)