Skip to content

Commit 064a6d7

Browse files
author
AWS
committed
AWS S3 Control Update: Added TagResource, UntagResource, and ListTagsForResource support for directory bucket
1 parent b60e206 commit 064a6d7

File tree

4 files changed

+774
-8
lines changed

4 files changed

+774
-8
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"type": "feature",
3+
"category": "AWS S3 Control",
4+
"contributor": "",
5+
"description": "Added TagResource, UntagResource, and ListTagsForResource support for directory bucket"
6+
}

services/s3control/src/main/resources/codegen-resources/endpoint-rule-set.json

Lines changed: 280 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,11 @@
5858
"documentation": "When an Access Point ARN is provided and this flag is enabled, the SDK MUST use the ARN's region when constructing the endpoint instead of the client's configured region.",
5959
"type": "Boolean"
6060
},
61+
"ResourceArn": {
62+
"required": false,
63+
"documentation": "The resource ARN included in the request. Only set on TagResource, UntagResourceand ListTagsForResource",
64+
"type": "String"
65+
},
6166
"UseS3ExpressControlEndpoint": {
6267
"required": false,
6368
"documentation": "Internal parameter to indicate whether S3Express operation should use control plane, (ex. ListDirectoryAccessPoints)",
@@ -422,6 +427,281 @@
422427
],
423428
"type": "tree"
424429
},
430+
{
431+
"conditions": [
432+
{
433+
"fn": "isSet",
434+
"argv": [
435+
{
436+
"ref": "ResourceArn"
437+
}
438+
]
439+
},
440+
{
441+
"fn": "aws.parseArn",
442+
"argv": [
443+
{
444+
"ref": "ResourceArn"
445+
}
446+
],
447+
"assign": "resourceArn"
448+
},
449+
{
450+
"fn": "stringEquals",
451+
"argv": [
452+
{
453+
"fn": "getAttr",
454+
"argv": [
455+
{
456+
"ref": "resourceArn"
457+
},
458+
"service"
459+
]
460+
},
461+
"s3express"
462+
]
463+
}
464+
],
465+
"rules": [
466+
{
467+
"conditions": [
468+
{
469+
"fn": "aws.partition",
470+
"argv": [
471+
{
472+
"ref": "Region"
473+
}
474+
],
475+
"assign": "partitionResult"
476+
}
477+
],
478+
"rules": [
479+
{
480+
"conditions": [
481+
{
482+
"fn": "aws.partition",
483+
"argv": [
484+
{
485+
"fn": "getAttr",
486+
"argv": [
487+
{
488+
"ref": "resourceArn"
489+
},
490+
"region"
491+
]
492+
}
493+
],
494+
"assign": "arnPartition"
495+
}
496+
],
497+
"rules": [
498+
{
499+
"conditions": [
500+
{
501+
"fn": "stringEquals",
502+
"argv": [
503+
{
504+
"fn": "getAttr",
505+
"argv": [
506+
{
507+
"ref": "arnPartition"
508+
},
509+
"name"
510+
]
511+
},
512+
{
513+
"fn": "getAttr",
514+
"argv": [
515+
{
516+
"ref": "partitionResult"
517+
},
518+
"name"
519+
]
520+
}
521+
]
522+
}
523+
],
524+
"rules": [
525+
{
526+
"conditions": [
527+
{
528+
"fn": "isSet",
529+
"argv": [
530+
{
531+
"ref": "UseArnRegion"
532+
}
533+
]
534+
},
535+
{
536+
"fn": "booleanEquals",
537+
"argv": [
538+
{
539+
"ref": "UseArnRegion"
540+
},
541+
false
542+
]
543+
},
544+
{
545+
"fn": "not",
546+
"argv": [
547+
{
548+
"fn": "stringEquals",
549+
"argv": [
550+
{
551+
"fn": "getAttr",
552+
"argv": [
553+
{
554+
"ref": "resourceArn"
555+
},
556+
"region"
557+
]
558+
},
559+
"{Region}"
560+
]
561+
}
562+
]
563+
}
564+
],
565+
"error": "Invalid configuration: region from ARN `{resourceArn#region}` does not match client region `{Region}` and UseArnRegion is `false`",
566+
"type": "error"
567+
},
568+
{
569+
"conditions": [
570+
{
571+
"fn": "isSet",
572+
"argv": [
573+
{
574+
"ref": "Endpoint"
575+
}
576+
]
577+
},
578+
{
579+
"fn": "booleanEquals",
580+
"argv": [
581+
{
582+
"ref": "UseDualStack"
583+
},
584+
true
585+
]
586+
}
587+
],
588+
"error": "Invalid Configuration: DualStack and custom endpoint are not supported",
589+
"type": "error"
590+
},
591+
{
592+
"conditions": [
593+
{
594+
"fn": "booleanEquals",
595+
"argv": [
596+
{
597+
"ref": "UseDualStack"
598+
},
599+
true
600+
]
601+
}
602+
],
603+
"error": "S3Express does not support Dual-stack.",
604+
"type": "error"
605+
},
606+
{
607+
"conditions": [
608+
{
609+
"fn": "isSet",
610+
"argv": [
611+
{
612+
"ref": "Endpoint"
613+
}
614+
]
615+
},
616+
{
617+
"fn": "parseURL",
618+
"argv": [
619+
{
620+
"ref": "Endpoint"
621+
}
622+
],
623+
"assign": "url"
624+
}
625+
],
626+
"endpoint": {
627+
"url": "{url#scheme}://{url#authority}",
628+
"properties": {
629+
"authSchemes": [
630+
{
631+
"disableDoubleEncoding": true,
632+
"name": "sigv4",
633+
"signingName": "s3express",
634+
"signingRegion": "{Region}"
635+
}
636+
]
637+
},
638+
"headers": {}
639+
},
640+
"type": "endpoint"
641+
},
642+
{
643+
"conditions": [
644+
{
645+
"fn": "booleanEquals",
646+
"argv": [
647+
{
648+
"ref": "UseFIPS"
649+
},
650+
true
651+
]
652+
}
653+
],
654+
"endpoint": {
655+
"url": "https://s3express-control-fips.{Region}.{partitionResult#dnsSuffix}",
656+
"properties": {
657+
"authSchemes": [
658+
{
659+
"disableDoubleEncoding": true,
660+
"name": "sigv4",
661+
"signingName": "s3express",
662+
"signingRegion": "{Region}"
663+
}
664+
]
665+
},
666+
"headers": {}
667+
},
668+
"type": "endpoint"
669+
},
670+
{
671+
"conditions": [],
672+
"endpoint": {
673+
"url": "https://s3express-control.{Region}.{partitionResult#dnsSuffix}",
674+
"properties": {
675+
"authSchemes": [
676+
{
677+
"disableDoubleEncoding": true,
678+
"name": "sigv4",
679+
"signingName": "s3express",
680+
"signingRegion": "{Region}"
681+
}
682+
]
683+
},
684+
"headers": {}
685+
},
686+
"type": "endpoint"
687+
}
688+
],
689+
"type": "tree"
690+
},
691+
{
692+
"conditions": [],
693+
"error": "Client was configured for partition `{partitionResult#name}` but ARN has `{arnPartition#name}`",
694+
"type": "error"
695+
}
696+
],
697+
"type": "tree"
698+
}
699+
],
700+
"type": "tree"
701+
}
702+
],
703+
"type": "tree"
704+
},
425705
{
426706
"conditions": [
427707
{

0 commit comments

Comments
 (0)