@aws-sdk/client-s3-control 3.454.0 → 3.458.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/README.md +232 -72
  2. package/dist-cjs/S3Control.js +40 -0
  3. package/dist-cjs/commands/AssociateAccessGrantsIdentityCenterCommand.js +58 -0
  4. package/dist-cjs/commands/CreateAccessGrantCommand.js +58 -0
  5. package/dist-cjs/commands/CreateAccessGrantsInstanceCommand.js +58 -0
  6. package/dist-cjs/commands/CreateAccessGrantsLocationCommand.js +58 -0
  7. package/dist-cjs/commands/DeleteAccessGrantCommand.js +58 -0
  8. package/dist-cjs/commands/DeleteAccessGrantsInstanceCommand.js +58 -0
  9. package/dist-cjs/commands/DeleteAccessGrantsInstanceResourcePolicyCommand.js +58 -0
  10. package/dist-cjs/commands/DeleteAccessGrantsLocationCommand.js +58 -0
  11. package/dist-cjs/commands/DissociateAccessGrantsIdentityCenterCommand.js +58 -0
  12. package/dist-cjs/commands/GetAccessGrantCommand.js +58 -0
  13. package/dist-cjs/commands/GetAccessGrantsInstanceCommand.js +58 -0
  14. package/dist-cjs/commands/GetAccessGrantsInstanceForPrefixCommand.js +58 -0
  15. package/dist-cjs/commands/GetAccessGrantsInstanceResourcePolicyCommand.js +58 -0
  16. package/dist-cjs/commands/GetAccessGrantsLocationCommand.js +58 -0
  17. package/dist-cjs/commands/GetDataAccessCommand.js +59 -0
  18. package/dist-cjs/commands/ListAccessGrantsCommand.js +58 -0
  19. package/dist-cjs/commands/ListAccessGrantsInstancesCommand.js +58 -0
  20. package/dist-cjs/commands/ListAccessGrantsLocationsCommand.js +58 -0
  21. package/dist-cjs/commands/PutAccessGrantsInstanceResourcePolicyCommand.js +58 -0
  22. package/dist-cjs/commands/UpdateAccessGrantsLocationCommand.js +58 -0
  23. package/dist-cjs/commands/index.js +20 -0
  24. package/dist-cjs/models/index.js +1 -0
  25. package/dist-cjs/models/models_0.js +41 -47
  26. package/dist-cjs/models/models_1.js +40 -0
  27. package/dist-cjs/pagination/ListAccessGrantsInstancesPaginator.js +29 -0
  28. package/dist-cjs/pagination/ListAccessGrantsLocationsPaginator.js +29 -0
  29. package/dist-cjs/pagination/ListAccessGrantsPaginator.js +29 -0
  30. package/dist-cjs/pagination/index.js +3 -0
  31. package/dist-cjs/protocols/Aws_restXml.js +1777 -117
  32. package/dist-es/S3Control.js +40 -0
  33. package/dist-es/commands/AssociateAccessGrantsIdentityCenterCommand.js +54 -0
  34. package/dist-es/commands/CreateAccessGrantCommand.js +54 -0
  35. package/dist-es/commands/CreateAccessGrantsInstanceCommand.js +54 -0
  36. package/dist-es/commands/CreateAccessGrantsLocationCommand.js +54 -0
  37. package/dist-es/commands/DeleteAccessGrantCommand.js +54 -0
  38. package/dist-es/commands/DeleteAccessGrantsInstanceCommand.js +54 -0
  39. package/dist-es/commands/DeleteAccessGrantsInstanceResourcePolicyCommand.js +54 -0
  40. package/dist-es/commands/DeleteAccessGrantsLocationCommand.js +54 -0
  41. package/dist-es/commands/DissociateAccessGrantsIdentityCenterCommand.js +54 -0
  42. package/dist-es/commands/GetAccessGrantCommand.js +54 -0
  43. package/dist-es/commands/GetAccessGrantsInstanceCommand.js +54 -0
  44. package/dist-es/commands/GetAccessGrantsInstanceForPrefixCommand.js +54 -0
  45. package/dist-es/commands/GetAccessGrantsInstanceResourcePolicyCommand.js +54 -0
  46. package/dist-es/commands/GetAccessGrantsLocationCommand.js +54 -0
  47. package/dist-es/commands/GetDataAccessCommand.js +55 -0
  48. package/dist-es/commands/ListAccessGrantsCommand.js +54 -0
  49. package/dist-es/commands/ListAccessGrantsInstancesCommand.js +54 -0
  50. package/dist-es/commands/ListAccessGrantsLocationsCommand.js +54 -0
  51. package/dist-es/commands/PutAccessGrantsInstanceResourcePolicyCommand.js +54 -0
  52. package/dist-es/commands/UpdateAccessGrantsLocationCommand.js +54 -0
  53. package/dist-es/commands/index.js +20 -0
  54. package/dist-es/models/index.js +1 -0
  55. package/dist-es/models/models_0.js +37 -43
  56. package/dist-es/models/models_1.js +35 -0
  57. package/dist-es/pagination/ListAccessGrantsInstancesPaginator.js +25 -0
  58. package/dist-es/pagination/ListAccessGrantsLocationsPaginator.js +25 -0
  59. package/dist-es/pagination/ListAccessGrantsPaginator.js +25 -0
  60. package/dist-es/pagination/index.js +3 -0
  61. package/dist-es/protocols/Aws_restXml.js +1731 -112
  62. package/dist-types/S3Control.d.ts +140 -0
  63. package/dist-types/S3ControlClient.d.ts +22 -2
  64. package/dist-types/commands/AssociateAccessGrantsIdentityCenterCommand.d.ts +82 -0
  65. package/dist-types/commands/CreateAccessGrantCommand.d.ts +118 -0
  66. package/dist-types/commands/CreateAccessGrantsInstanceCommand.d.ts +93 -0
  67. package/dist-types/commands/CreateAccessGrantsLocationCommand.d.ts +111 -0
  68. package/dist-types/commands/CreateJobCommand.d.ts +16 -0
  69. package/dist-types/commands/DeleteAccessGrantCommand.d.ts +78 -0
  70. package/dist-types/commands/DeleteAccessGrantsInstanceCommand.d.ts +77 -0
  71. package/dist-types/commands/DeleteAccessGrantsInstanceResourcePolicyCommand.d.ts +77 -0
  72. package/dist-types/commands/DeleteAccessGrantsLocationCommand.d.ts +78 -0
  73. package/dist-types/commands/DescribeJobCommand.d.ts +16 -0
  74. package/dist-types/commands/DissociateAccessGrantsIdentityCenterCommand.d.ts +81 -0
  75. package/dist-types/commands/GetAccessGrantCommand.d.ts +93 -0
  76. package/dist-types/commands/GetAccessGrantsInstanceCommand.d.ts +82 -0
  77. package/dist-types/commands/GetAccessGrantsInstanceForPrefixCommand.d.ts +85 -0
  78. package/dist-types/commands/GetAccessGrantsInstanceResourcePolicyCommand.d.ts +81 -0
  79. package/dist-types/commands/GetAccessGrantsLocationCommand.d.ts +84 -0
  80. package/dist-types/commands/GetBucketReplicationCommand.d.ts +2 -1
  81. package/dist-types/commands/GetDataAccessCommand.d.ts +94 -0
  82. package/dist-types/commands/ListAccessGrantsCommand.d.ts +104 -0
  83. package/dist-types/commands/ListAccessGrantsInstancesCommand.d.ts +89 -0
  84. package/dist-types/commands/ListAccessGrantsLocationsCommand.d.ts +91 -0
  85. package/dist-types/commands/ListStorageLensGroupsCommand.d.ts +2 -1
  86. package/dist-types/commands/ListTagsForResourceCommand.d.ts +12 -9
  87. package/dist-types/commands/PutAccessGrantsInstanceResourcePolicyCommand.d.ts +83 -0
  88. package/dist-types/commands/PutAccessPointConfigurationForObjectLambdaCommand.d.ts +1 -1
  89. package/dist-types/commands/PutAccessPointPolicyCommand.d.ts +1 -1
  90. package/dist-types/commands/PutAccessPointPolicyForObjectLambdaCommand.d.ts +1 -1
  91. package/dist-types/commands/PutBucketLifecycleConfigurationCommand.d.ts +1 -1
  92. package/dist-types/commands/PutBucketPolicyCommand.d.ts +1 -1
  93. package/dist-types/commands/PutBucketReplicationCommand.d.ts +10 -9
  94. package/dist-types/commands/PutBucketTaggingCommand.d.ts +1 -1
  95. package/dist-types/commands/PutBucketVersioningCommand.d.ts +6 -6
  96. package/dist-types/commands/PutJobTaggingCommand.d.ts +1 -1
  97. package/dist-types/commands/PutMultiRegionAccessPointPolicyCommand.d.ts +1 -1
  98. package/dist-types/commands/PutPublicAccessBlockCommand.d.ts +1 -1
  99. package/dist-types/commands/PutStorageLensConfigurationCommand.d.ts +1 -1
  100. package/dist-types/commands/PutStorageLensConfigurationTaggingCommand.d.ts +1 -1
  101. package/dist-types/commands/SubmitMultiRegionAccessPointRoutesCommand.d.ts +3 -2
  102. package/dist-types/commands/TagResourceCommand.d.ts +12 -8
  103. package/dist-types/commands/UntagResourceCommand.d.ts +12 -8
  104. package/dist-types/commands/UpdateAccessGrantsLocationCommand.d.ts +90 -0
  105. package/dist-types/commands/UpdateJobPriorityCommand.d.ts +1 -1
  106. package/dist-types/commands/UpdateJobStatusCommand.d.ts +1 -1
  107. package/dist-types/commands/UpdateStorageLensGroupCommand.d.ts +1 -1
  108. package/dist-types/commands/index.d.ts +20 -0
  109. package/dist-types/models/index.d.ts +1 -0
  110. package/dist-types/models/models_0.d.ts +1211 -831
  111. package/dist-types/models/models_1.d.ts +775 -0
  112. package/dist-types/pagination/ListAccessGrantsInstancesPaginator.d.ts +7 -0
  113. package/dist-types/pagination/ListAccessGrantsLocationsPaginator.d.ts +7 -0
  114. package/dist-types/pagination/ListAccessGrantsPaginator.d.ts +7 -0
  115. package/dist-types/pagination/index.d.ts +3 -0
  116. package/dist-types/protocols/Aws_restXml.d.ts +180 -0
  117. package/dist-types/ts3.4/S3Control.d.ts +370 -0
  118. package/dist-types/ts3.4/S3ControlClient.d.ts +120 -0
  119. package/dist-types/ts3.4/commands/AssociateAccessGrantsIdentityCenterCommand.d.ts +38 -0
  120. package/dist-types/ts3.4/commands/CreateAccessGrantCommand.d.ts +39 -0
  121. package/dist-types/ts3.4/commands/CreateAccessGrantsInstanceCommand.d.ts +42 -0
  122. package/dist-types/ts3.4/commands/CreateAccessGrantsLocationCommand.d.ts +42 -0
  123. package/dist-types/ts3.4/commands/DeleteAccessGrantCommand.d.ts +34 -0
  124. package/dist-types/ts3.4/commands/DeleteAccessGrantsInstanceCommand.d.ts +38 -0
  125. package/dist-types/ts3.4/commands/DeleteAccessGrantsInstanceResourcePolicyCommand.d.ts +38 -0
  126. package/dist-types/ts3.4/commands/DeleteAccessGrantsLocationCommand.d.ts +38 -0
  127. package/dist-types/ts3.4/commands/DissociateAccessGrantsIdentityCenterCommand.d.ts +38 -0
  128. package/dist-types/ts3.4/commands/GetAccessGrantCommand.d.ts +38 -0
  129. package/dist-types/ts3.4/commands/GetAccessGrantsInstanceCommand.d.ts +42 -0
  130. package/dist-types/ts3.4/commands/GetAccessGrantsInstanceForPrefixCommand.d.ts +42 -0
  131. package/dist-types/ts3.4/commands/GetAccessGrantsInstanceResourcePolicyCommand.d.ts +42 -0
  132. package/dist-types/ts3.4/commands/GetAccessGrantsLocationCommand.d.ts +42 -0
  133. package/dist-types/ts3.4/commands/GetDataAccessCommand.d.ts +35 -0
  134. package/dist-types/ts3.4/commands/ListAccessGrantsCommand.d.ts +38 -0
  135. package/dist-types/ts3.4/commands/ListAccessGrantsInstancesCommand.d.ts +42 -0
  136. package/dist-types/ts3.4/commands/ListAccessGrantsLocationsCommand.d.ts +42 -0
  137. package/dist-types/ts3.4/commands/ListStorageLensGroupsCommand.d.ts +2 -4
  138. package/dist-types/ts3.4/commands/ListTagsForResourceCommand.d.ts +1 -1
  139. package/dist-types/ts3.4/commands/PutAccessGrantsInstanceResourcePolicyCommand.d.ts +42 -0
  140. package/dist-types/ts3.4/commands/PutAccessPointConfigurationForObjectLambdaCommand.d.ts +1 -1
  141. package/dist-types/ts3.4/commands/PutAccessPointPolicyCommand.d.ts +1 -1
  142. package/dist-types/ts3.4/commands/PutAccessPointPolicyForObjectLambdaCommand.d.ts +1 -1
  143. package/dist-types/ts3.4/commands/PutBucketLifecycleConfigurationCommand.d.ts +1 -1
  144. package/dist-types/ts3.4/commands/PutBucketPolicyCommand.d.ts +1 -1
  145. package/dist-types/ts3.4/commands/PutBucketReplicationCommand.d.ts +1 -1
  146. package/dist-types/ts3.4/commands/PutBucketTaggingCommand.d.ts +1 -1
  147. package/dist-types/ts3.4/commands/PutBucketVersioningCommand.d.ts +1 -1
  148. package/dist-types/ts3.4/commands/PutJobTaggingCommand.d.ts +1 -1
  149. package/dist-types/ts3.4/commands/PutMultiRegionAccessPointPolicyCommand.d.ts +1 -1
  150. package/dist-types/ts3.4/commands/PutPublicAccessBlockCommand.d.ts +1 -1
  151. package/dist-types/ts3.4/commands/PutStorageLensConfigurationCommand.d.ts +1 -1
  152. package/dist-types/ts3.4/commands/PutStorageLensConfigurationTaggingCommand.d.ts +1 -1
  153. package/dist-types/ts3.4/commands/SubmitMultiRegionAccessPointRoutesCommand.d.ts +1 -1
  154. package/dist-types/ts3.4/commands/TagResourceCommand.d.ts +1 -1
  155. package/dist-types/ts3.4/commands/UntagResourceCommand.d.ts +1 -1
  156. package/dist-types/ts3.4/commands/UpdateAccessGrantsLocationCommand.d.ts +42 -0
  157. package/dist-types/ts3.4/commands/UpdateJobPriorityCommand.d.ts +1 -1
  158. package/dist-types/ts3.4/commands/UpdateJobStatusCommand.d.ts +1 -1
  159. package/dist-types/ts3.4/commands/UpdateStorageLensGroupCommand.d.ts +1 -1
  160. package/dist-types/ts3.4/commands/index.d.ts +20 -0
  161. package/dist-types/ts3.4/models/index.d.ts +1 -0
  162. package/dist-types/ts3.4/models/models_0.d.ts +248 -181
  163. package/dist-types/ts3.4/models/models_1.d.ts +205 -0
  164. package/dist-types/ts3.4/pagination/ListAccessGrantsInstancesPaginator.d.ts +11 -0
  165. package/dist-types/ts3.4/pagination/ListAccessGrantsLocationsPaginator.d.ts +11 -0
  166. package/dist-types/ts3.4/pagination/ListAccessGrantsPaginator.d.ts +11 -0
  167. package/dist-types/ts3.4/pagination/index.d.ts +3 -0
  168. package/dist-types/ts3.4/protocols/Aws_restXml.d.ts +240 -0
  169. package/package.json +3 -3
@@ -3,8 +3,208 @@ import { HttpRequest as __HttpRequest, isValidHostname as __isValidHostname, } f
3
3
  import { collectBody, decorateServiceException as __decorateServiceException, expectNonNull as __expectNonNull, expectObject as __expectObject, expectString as __expectString, expectUnion as __expectUnion, getArrayIfSingleItem as __getArrayIfSingleItem, getValueFromTextNode as __getValueFromTextNode, map, parseBoolean as __parseBoolean, parseRfc3339DateTimeWithOffset as __parseRfc3339DateTimeWithOffset, resolvedPath as __resolvedPath, strictParseFloat as __strictParseFloat, strictParseInt32 as __strictParseInt32, strictParseLong as __strictParseLong, withBaseException, } from "@smithy/smithy-client";
4
4
  import { XMLParser } from "fast-xml-parser";
5
5
  import { v4 as generateIdempotencyToken } from "uuid";
6
- import { BadRequestException, BucketAlreadyExists, BucketAlreadyOwnedByYou, IdempotencyException, InternalServiceException, InvalidNextTokenException, InvalidRequestException, JobManifestGenerator, JobStatusException, NoSuchPublicAccessBlockConfiguration, NotFoundException, ObjectLambdaContentTransformation, TooManyRequestsException, TooManyTagsException, } from "../models/models_0";
6
+ import { BadRequestException, BucketAlreadyExists, BucketAlreadyOwnedByYou, IdempotencyException, InternalServiceException, InvalidNextTokenException, InvalidRequestException, JobManifestGenerator, NoSuchPublicAccessBlockConfiguration, NotFoundException, ObjectLambdaContentTransformation, TooManyRequestsException, } from "../models/models_0";
7
+ import { JobStatusException, TooManyTagsException, } from "../models/models_1";
7
8
  import { S3ControlServiceException as __BaseException } from "../models/S3ControlServiceException";
9
+ export const se_AssociateAccessGrantsIdentityCenterCommand = async (input, context) => {
10
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
11
+ const headers = map({}, isSerializableHeaderValue, {
12
+ "content-type": "application/xml",
13
+ "x-amz-account-id": input.AccountId,
14
+ });
15
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
16
+ "/v20180820/accessgrantsinstance/identitycenter";
17
+ let body;
18
+ body = '<?xml version="1.0" encoding="UTF-8"?>';
19
+ const bodyNode = new __XmlNode("AssociateAccessGrantsIdentityCenterRequest");
20
+ bodyNode.addAttribute("xmlns", "http://awss3control.amazonaws.com/doc/2018-08-20/");
21
+ if (input.IdentityCenterArn !== undefined) {
22
+ const node = __XmlNode.of("IdentityCenterArn", input.IdentityCenterArn).withName("IdentityCenterArn");
23
+ bodyNode.addChildNode(node);
24
+ }
25
+ body += bodyNode.toString();
26
+ let { hostname: resolvedHostname } = await context.endpoint();
27
+ if (context.disableHostPrefix !== true) {
28
+ resolvedHostname = "{AccountId}." + resolvedHostname;
29
+ if (input.AccountId === undefined) {
30
+ throw new Error("Empty value provided for input host prefix: AccountId.");
31
+ }
32
+ resolvedHostname = resolvedHostname.replace("{AccountId}", input.AccountId);
33
+ if (!__isValidHostname(resolvedHostname)) {
34
+ throw new Error("ValidationError: prefixed hostname must be hostname compatible.");
35
+ }
36
+ }
37
+ return new __HttpRequest({
38
+ protocol,
39
+ hostname: resolvedHostname,
40
+ port,
41
+ method: "POST",
42
+ headers,
43
+ path: resolvedPath,
44
+ body,
45
+ });
46
+ };
47
+ export const se_CreateAccessGrantCommand = async (input, context) => {
48
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
49
+ const headers = map({}, isSerializableHeaderValue, {
50
+ "content-type": "application/xml",
51
+ "x-amz-account-id": input.AccountId,
52
+ });
53
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/accessgrantsinstance/grant";
54
+ let body;
55
+ body = '<?xml version="1.0" encoding="UTF-8"?>';
56
+ const bodyNode = new __XmlNode("CreateAccessGrantRequest");
57
+ bodyNode.addAttribute("xmlns", "http://awss3control.amazonaws.com/doc/2018-08-20/");
58
+ if (input.AccessGrantsLocationConfiguration !== undefined) {
59
+ const node = se_AccessGrantsLocationConfiguration(input.AccessGrantsLocationConfiguration, context).withName("AccessGrantsLocationConfiguration");
60
+ bodyNode.addChildNode(node);
61
+ }
62
+ if (input.AccessGrantsLocationId !== undefined) {
63
+ const node = __XmlNode
64
+ .of("AccessGrantsLocationId", input.AccessGrantsLocationId)
65
+ .withName("AccessGrantsLocationId");
66
+ bodyNode.addChildNode(node);
67
+ }
68
+ if (input.ApplicationArn !== undefined) {
69
+ const node = __XmlNode.of("IdentityCenterApplicationArn", input.ApplicationArn).withName("ApplicationArn");
70
+ bodyNode.addChildNode(node);
71
+ }
72
+ if (input.Grantee !== undefined) {
73
+ const node = se_Grantee(input.Grantee, context).withName("Grantee");
74
+ bodyNode.addChildNode(node);
75
+ }
76
+ if (input.Permission !== undefined) {
77
+ const node = __XmlNode.of("Permission", input.Permission).withName("Permission");
78
+ bodyNode.addChildNode(node);
79
+ }
80
+ if (input.S3PrefixType !== undefined) {
81
+ const node = __XmlNode.of("S3PrefixType", input.S3PrefixType).withName("S3PrefixType");
82
+ bodyNode.addChildNode(node);
83
+ }
84
+ if (input.Tags !== undefined) {
85
+ const nodes = se_TagList(input.Tags, context);
86
+ const containerNode = new __XmlNode("Tags");
87
+ nodes.map((node) => {
88
+ containerNode.addChildNode(node);
89
+ });
90
+ bodyNode.addChildNode(containerNode);
91
+ }
92
+ body += bodyNode.toString();
93
+ let { hostname: resolvedHostname } = await context.endpoint();
94
+ if (context.disableHostPrefix !== true) {
95
+ resolvedHostname = "{AccountId}." + resolvedHostname;
96
+ if (input.AccountId === undefined) {
97
+ throw new Error("Empty value provided for input host prefix: AccountId.");
98
+ }
99
+ resolvedHostname = resolvedHostname.replace("{AccountId}", input.AccountId);
100
+ if (!__isValidHostname(resolvedHostname)) {
101
+ throw new Error("ValidationError: prefixed hostname must be hostname compatible.");
102
+ }
103
+ }
104
+ return new __HttpRequest({
105
+ protocol,
106
+ hostname: resolvedHostname,
107
+ port,
108
+ method: "POST",
109
+ headers,
110
+ path: resolvedPath,
111
+ body,
112
+ });
113
+ };
114
+ export const se_CreateAccessGrantsInstanceCommand = async (input, context) => {
115
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
116
+ const headers = map({}, isSerializableHeaderValue, {
117
+ "content-type": "application/xml",
118
+ "x-amz-account-id": input.AccountId,
119
+ });
120
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/accessgrantsinstance";
121
+ let body;
122
+ body = '<?xml version="1.0" encoding="UTF-8"?>';
123
+ const bodyNode = new __XmlNode("CreateAccessGrantsInstanceRequest");
124
+ bodyNode.addAttribute("xmlns", "http://awss3control.amazonaws.com/doc/2018-08-20/");
125
+ if (input.IdentityCenterArn !== undefined) {
126
+ const node = __XmlNode.of("IdentityCenterArn", input.IdentityCenterArn).withName("IdentityCenterArn");
127
+ bodyNode.addChildNode(node);
128
+ }
129
+ if (input.Tags !== undefined) {
130
+ const nodes = se_TagList(input.Tags, context);
131
+ const containerNode = new __XmlNode("Tags");
132
+ nodes.map((node) => {
133
+ containerNode.addChildNode(node);
134
+ });
135
+ bodyNode.addChildNode(containerNode);
136
+ }
137
+ body += bodyNode.toString();
138
+ let { hostname: resolvedHostname } = await context.endpoint();
139
+ if (context.disableHostPrefix !== true) {
140
+ resolvedHostname = "{AccountId}." + resolvedHostname;
141
+ if (input.AccountId === undefined) {
142
+ throw new Error("Empty value provided for input host prefix: AccountId.");
143
+ }
144
+ resolvedHostname = resolvedHostname.replace("{AccountId}", input.AccountId);
145
+ if (!__isValidHostname(resolvedHostname)) {
146
+ throw new Error("ValidationError: prefixed hostname must be hostname compatible.");
147
+ }
148
+ }
149
+ return new __HttpRequest({
150
+ protocol,
151
+ hostname: resolvedHostname,
152
+ port,
153
+ method: "POST",
154
+ headers,
155
+ path: resolvedPath,
156
+ body,
157
+ });
158
+ };
159
+ export const se_CreateAccessGrantsLocationCommand = async (input, context) => {
160
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
161
+ const headers = map({}, isSerializableHeaderValue, {
162
+ "content-type": "application/xml",
163
+ "x-amz-account-id": input.AccountId,
164
+ });
165
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/accessgrantsinstance/location";
166
+ let body;
167
+ body = '<?xml version="1.0" encoding="UTF-8"?>';
168
+ const bodyNode = new __XmlNode("CreateAccessGrantsLocationRequest");
169
+ bodyNode.addAttribute("xmlns", "http://awss3control.amazonaws.com/doc/2018-08-20/");
170
+ if (input.IAMRoleArn !== undefined) {
171
+ const node = __XmlNode.of("IAMRoleArn", input.IAMRoleArn).withName("IAMRoleArn");
172
+ bodyNode.addChildNode(node);
173
+ }
174
+ if (input.LocationScope !== undefined) {
175
+ const node = __XmlNode.of("S3Prefix", input.LocationScope).withName("LocationScope");
176
+ bodyNode.addChildNode(node);
177
+ }
178
+ if (input.Tags !== undefined) {
179
+ const nodes = se_TagList(input.Tags, context);
180
+ const containerNode = new __XmlNode("Tags");
181
+ nodes.map((node) => {
182
+ containerNode.addChildNode(node);
183
+ });
184
+ bodyNode.addChildNode(containerNode);
185
+ }
186
+ body += bodyNode.toString();
187
+ let { hostname: resolvedHostname } = await context.endpoint();
188
+ if (context.disableHostPrefix !== true) {
189
+ resolvedHostname = "{AccountId}." + resolvedHostname;
190
+ if (input.AccountId === undefined) {
191
+ throw new Error("Empty value provided for input host prefix: AccountId.");
192
+ }
193
+ resolvedHostname = resolvedHostname.replace("{AccountId}", input.AccountId);
194
+ if (!__isValidHostname(resolvedHostname)) {
195
+ throw new Error("ValidationError: prefixed hostname must be hostname compatible.");
196
+ }
197
+ }
198
+ return new __HttpRequest({
199
+ protocol,
200
+ hostname: resolvedHostname,
201
+ port,
202
+ method: "POST",
203
+ headers,
204
+ path: resolvedPath,
205
+ body,
206
+ });
207
+ };
8
208
  export const se_CreateAccessPointCommand = async (input, context) => {
9
209
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
10
210
  const headers = map({}, isSerializableHeaderValue, {
@@ -298,19 +498,313 @@ export const se_CreateStorageLensGroupCommand = async (input, context) => {
298
498
  protocol,
299
499
  hostname: resolvedHostname,
300
500
  port,
301
- method: "POST",
501
+ method: "POST",
502
+ headers,
503
+ path: resolvedPath,
504
+ body,
505
+ });
506
+ };
507
+ export const se_DeleteAccessGrantCommand = async (input, context) => {
508
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
509
+ const headers = map({}, isSerializableHeaderValue, {
510
+ "x-amz-account-id": input.AccountId,
511
+ });
512
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
513
+ "/v20180820/accessgrantsinstance/grant/{AccessGrantId}";
514
+ resolvedPath = __resolvedPath(resolvedPath, input, "AccessGrantId", () => input.AccessGrantId, "{AccessGrantId}", false);
515
+ let body;
516
+ let { hostname: resolvedHostname } = await context.endpoint();
517
+ if (context.disableHostPrefix !== true) {
518
+ resolvedHostname = "{AccountId}." + resolvedHostname;
519
+ if (input.AccountId === undefined) {
520
+ throw new Error("Empty value provided for input host prefix: AccountId.");
521
+ }
522
+ resolvedHostname = resolvedHostname.replace("{AccountId}", input.AccountId);
523
+ if (!__isValidHostname(resolvedHostname)) {
524
+ throw new Error("ValidationError: prefixed hostname must be hostname compatible.");
525
+ }
526
+ }
527
+ return new __HttpRequest({
528
+ protocol,
529
+ hostname: resolvedHostname,
530
+ port,
531
+ method: "DELETE",
532
+ headers,
533
+ path: resolvedPath,
534
+ body,
535
+ });
536
+ };
537
+ export const se_DeleteAccessGrantsInstanceCommand = async (input, context) => {
538
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
539
+ const headers = map({}, isSerializableHeaderValue, {
540
+ "x-amz-account-id": input.AccountId,
541
+ });
542
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/accessgrantsinstance";
543
+ let body;
544
+ let { hostname: resolvedHostname } = await context.endpoint();
545
+ if (context.disableHostPrefix !== true) {
546
+ resolvedHostname = "{AccountId}." + resolvedHostname;
547
+ if (input.AccountId === undefined) {
548
+ throw new Error("Empty value provided for input host prefix: AccountId.");
549
+ }
550
+ resolvedHostname = resolvedHostname.replace("{AccountId}", input.AccountId);
551
+ if (!__isValidHostname(resolvedHostname)) {
552
+ throw new Error("ValidationError: prefixed hostname must be hostname compatible.");
553
+ }
554
+ }
555
+ return new __HttpRequest({
556
+ protocol,
557
+ hostname: resolvedHostname,
558
+ port,
559
+ method: "DELETE",
560
+ headers,
561
+ path: resolvedPath,
562
+ body,
563
+ });
564
+ };
565
+ export const se_DeleteAccessGrantsInstanceResourcePolicyCommand = async (input, context) => {
566
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
567
+ const headers = map({}, isSerializableHeaderValue, {
568
+ "x-amz-account-id": input.AccountId,
569
+ });
570
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
571
+ "/v20180820/accessgrantsinstance/resourcepolicy";
572
+ let body;
573
+ let { hostname: resolvedHostname } = await context.endpoint();
574
+ if (context.disableHostPrefix !== true) {
575
+ resolvedHostname = "{AccountId}." + resolvedHostname;
576
+ if (input.AccountId === undefined) {
577
+ throw new Error("Empty value provided for input host prefix: AccountId.");
578
+ }
579
+ resolvedHostname = resolvedHostname.replace("{AccountId}", input.AccountId);
580
+ if (!__isValidHostname(resolvedHostname)) {
581
+ throw new Error("ValidationError: prefixed hostname must be hostname compatible.");
582
+ }
583
+ }
584
+ return new __HttpRequest({
585
+ protocol,
586
+ hostname: resolvedHostname,
587
+ port,
588
+ method: "DELETE",
589
+ headers,
590
+ path: resolvedPath,
591
+ body,
592
+ });
593
+ };
594
+ export const se_DeleteAccessGrantsLocationCommand = async (input, context) => {
595
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
596
+ const headers = map({}, isSerializableHeaderValue, {
597
+ "x-amz-account-id": input.AccountId,
598
+ });
599
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
600
+ "/v20180820/accessgrantsinstance/location/{AccessGrantsLocationId}";
601
+ resolvedPath = __resolvedPath(resolvedPath, input, "AccessGrantsLocationId", () => input.AccessGrantsLocationId, "{AccessGrantsLocationId}", false);
602
+ let body;
603
+ let { hostname: resolvedHostname } = await context.endpoint();
604
+ if (context.disableHostPrefix !== true) {
605
+ resolvedHostname = "{AccountId}." + resolvedHostname;
606
+ if (input.AccountId === undefined) {
607
+ throw new Error("Empty value provided for input host prefix: AccountId.");
608
+ }
609
+ resolvedHostname = resolvedHostname.replace("{AccountId}", input.AccountId);
610
+ if (!__isValidHostname(resolvedHostname)) {
611
+ throw new Error("ValidationError: prefixed hostname must be hostname compatible.");
612
+ }
613
+ }
614
+ return new __HttpRequest({
615
+ protocol,
616
+ hostname: resolvedHostname,
617
+ port,
618
+ method: "DELETE",
619
+ headers,
620
+ path: resolvedPath,
621
+ body,
622
+ });
623
+ };
624
+ export const se_DeleteAccessPointCommand = async (input, context) => {
625
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
626
+ const headers = map({}, isSerializableHeaderValue, {
627
+ "x-amz-account-id": input.AccountId,
628
+ });
629
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/accesspoint/{Name}";
630
+ resolvedPath = __resolvedPath(resolvedPath, input, "Name", () => input.Name, "{Name}", false);
631
+ let body;
632
+ let { hostname: resolvedHostname } = await context.endpoint();
633
+ if (context.disableHostPrefix !== true) {
634
+ resolvedHostname = "{AccountId}." + resolvedHostname;
635
+ if (input.AccountId === undefined) {
636
+ throw new Error("Empty value provided for input host prefix: AccountId.");
637
+ }
638
+ resolvedHostname = resolvedHostname.replace("{AccountId}", input.AccountId);
639
+ if (!__isValidHostname(resolvedHostname)) {
640
+ throw new Error("ValidationError: prefixed hostname must be hostname compatible.");
641
+ }
642
+ }
643
+ return new __HttpRequest({
644
+ protocol,
645
+ hostname: resolvedHostname,
646
+ port,
647
+ method: "DELETE",
648
+ headers,
649
+ path: resolvedPath,
650
+ body,
651
+ });
652
+ };
653
+ export const se_DeleteAccessPointForObjectLambdaCommand = async (input, context) => {
654
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
655
+ const headers = map({}, isSerializableHeaderValue, {
656
+ "x-amz-account-id": input.AccountId,
657
+ });
658
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
659
+ "/v20180820/accesspointforobjectlambda/{Name}";
660
+ resolvedPath = __resolvedPath(resolvedPath, input, "Name", () => input.Name, "{Name}", false);
661
+ let body;
662
+ let { hostname: resolvedHostname } = await context.endpoint();
663
+ if (context.disableHostPrefix !== true) {
664
+ resolvedHostname = "{AccountId}." + resolvedHostname;
665
+ if (input.AccountId === undefined) {
666
+ throw new Error("Empty value provided for input host prefix: AccountId.");
667
+ }
668
+ resolvedHostname = resolvedHostname.replace("{AccountId}", input.AccountId);
669
+ if (!__isValidHostname(resolvedHostname)) {
670
+ throw new Error("ValidationError: prefixed hostname must be hostname compatible.");
671
+ }
672
+ }
673
+ return new __HttpRequest({
674
+ protocol,
675
+ hostname: resolvedHostname,
676
+ port,
677
+ method: "DELETE",
678
+ headers,
679
+ path: resolvedPath,
680
+ body,
681
+ });
682
+ };
683
+ export const se_DeleteAccessPointPolicyCommand = async (input, context) => {
684
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
685
+ const headers = map({}, isSerializableHeaderValue, {
686
+ "x-amz-account-id": input.AccountId,
687
+ });
688
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/accesspoint/{Name}/policy";
689
+ resolvedPath = __resolvedPath(resolvedPath, input, "Name", () => input.Name, "{Name}", false);
690
+ let body;
691
+ let { hostname: resolvedHostname } = await context.endpoint();
692
+ if (context.disableHostPrefix !== true) {
693
+ resolvedHostname = "{AccountId}." + resolvedHostname;
694
+ if (input.AccountId === undefined) {
695
+ throw new Error("Empty value provided for input host prefix: AccountId.");
696
+ }
697
+ resolvedHostname = resolvedHostname.replace("{AccountId}", input.AccountId);
698
+ if (!__isValidHostname(resolvedHostname)) {
699
+ throw new Error("ValidationError: prefixed hostname must be hostname compatible.");
700
+ }
701
+ }
702
+ return new __HttpRequest({
703
+ protocol,
704
+ hostname: resolvedHostname,
705
+ port,
706
+ method: "DELETE",
707
+ headers,
708
+ path: resolvedPath,
709
+ body,
710
+ });
711
+ };
712
+ export const se_DeleteAccessPointPolicyForObjectLambdaCommand = async (input, context) => {
713
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
714
+ const headers = map({}, isSerializableHeaderValue, {
715
+ "x-amz-account-id": input.AccountId,
716
+ });
717
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
718
+ "/v20180820/accesspointforobjectlambda/{Name}/policy";
719
+ resolvedPath = __resolvedPath(resolvedPath, input, "Name", () => input.Name, "{Name}", false);
720
+ let body;
721
+ let { hostname: resolvedHostname } = await context.endpoint();
722
+ if (context.disableHostPrefix !== true) {
723
+ resolvedHostname = "{AccountId}." + resolvedHostname;
724
+ if (input.AccountId === undefined) {
725
+ throw new Error("Empty value provided for input host prefix: AccountId.");
726
+ }
727
+ resolvedHostname = resolvedHostname.replace("{AccountId}", input.AccountId);
728
+ if (!__isValidHostname(resolvedHostname)) {
729
+ throw new Error("ValidationError: prefixed hostname must be hostname compatible.");
730
+ }
731
+ }
732
+ return new __HttpRequest({
733
+ protocol,
734
+ hostname: resolvedHostname,
735
+ port,
736
+ method: "DELETE",
737
+ headers,
738
+ path: resolvedPath,
739
+ body,
740
+ });
741
+ };
742
+ export const se_DeleteBucketCommand = async (input, context) => {
743
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
744
+ const headers = map({}, isSerializableHeaderValue, {
745
+ "x-amz-account-id": input.AccountId,
746
+ });
747
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/bucket/{Bucket}";
748
+ resolvedPath = __resolvedPath(resolvedPath, input, "Bucket", () => input.Bucket, "{Bucket}", false);
749
+ let body;
750
+ let { hostname: resolvedHostname } = await context.endpoint();
751
+ if (context.disableHostPrefix !== true) {
752
+ resolvedHostname = "{AccountId}." + resolvedHostname;
753
+ if (input.AccountId === undefined) {
754
+ throw new Error("Empty value provided for input host prefix: AccountId.");
755
+ }
756
+ resolvedHostname = resolvedHostname.replace("{AccountId}", input.AccountId);
757
+ if (!__isValidHostname(resolvedHostname)) {
758
+ throw new Error("ValidationError: prefixed hostname must be hostname compatible.");
759
+ }
760
+ }
761
+ return new __HttpRequest({
762
+ protocol,
763
+ hostname: resolvedHostname,
764
+ port,
765
+ method: "DELETE",
766
+ headers,
767
+ path: resolvedPath,
768
+ body,
769
+ });
770
+ };
771
+ export const se_DeleteBucketLifecycleConfigurationCommand = async (input, context) => {
772
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
773
+ const headers = map({}, isSerializableHeaderValue, {
774
+ "x-amz-account-id": input.AccountId,
775
+ });
776
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
777
+ "/v20180820/bucket/{Bucket}/lifecycleconfiguration";
778
+ resolvedPath = __resolvedPath(resolvedPath, input, "Bucket", () => input.Bucket, "{Bucket}", false);
779
+ let body;
780
+ let { hostname: resolvedHostname } = await context.endpoint();
781
+ if (context.disableHostPrefix !== true) {
782
+ resolvedHostname = "{AccountId}." + resolvedHostname;
783
+ if (input.AccountId === undefined) {
784
+ throw new Error("Empty value provided for input host prefix: AccountId.");
785
+ }
786
+ resolvedHostname = resolvedHostname.replace("{AccountId}", input.AccountId);
787
+ if (!__isValidHostname(resolvedHostname)) {
788
+ throw new Error("ValidationError: prefixed hostname must be hostname compatible.");
789
+ }
790
+ }
791
+ return new __HttpRequest({
792
+ protocol,
793
+ hostname: resolvedHostname,
794
+ port,
795
+ method: "DELETE",
302
796
  headers,
303
797
  path: resolvedPath,
304
798
  body,
305
799
  });
306
800
  };
307
- export const se_DeleteAccessPointCommand = async (input, context) => {
801
+ export const se_DeleteBucketPolicyCommand = async (input, context) => {
308
802
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
309
803
  const headers = map({}, isSerializableHeaderValue, {
310
804
  "x-amz-account-id": input.AccountId,
311
805
  });
312
- let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/accesspoint/{Name}";
313
- resolvedPath = __resolvedPath(resolvedPath, input, "Name", () => input.Name, "{Name}", false);
806
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/bucket/{Bucket}/policy";
807
+ resolvedPath = __resolvedPath(resolvedPath, input, "Bucket", () => input.Bucket, "{Bucket}", false);
314
808
  let body;
315
809
  let { hostname: resolvedHostname } = await context.endpoint();
316
810
  if (context.disableHostPrefix !== true) {
@@ -333,14 +827,13 @@ export const se_DeleteAccessPointCommand = async (input, context) => {
333
827
  body,
334
828
  });
335
829
  };
336
- export const se_DeleteAccessPointForObjectLambdaCommand = async (input, context) => {
830
+ export const se_DeleteBucketReplicationCommand = async (input, context) => {
337
831
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
338
832
  const headers = map({}, isSerializableHeaderValue, {
339
833
  "x-amz-account-id": input.AccountId,
340
834
  });
341
- let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
342
- "/v20180820/accesspointforobjectlambda/{Name}";
343
- resolvedPath = __resolvedPath(resolvedPath, input, "Name", () => input.Name, "{Name}", false);
835
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/bucket/{Bucket}/replication";
836
+ resolvedPath = __resolvedPath(resolvedPath, input, "Bucket", () => input.Bucket, "{Bucket}", false);
344
837
  let body;
345
838
  let { hostname: resolvedHostname } = await context.endpoint();
346
839
  if (context.disableHostPrefix !== true) {
@@ -363,13 +856,13 @@ export const se_DeleteAccessPointForObjectLambdaCommand = async (input, context)
363
856
  body,
364
857
  });
365
858
  };
366
- export const se_DeleteAccessPointPolicyCommand = async (input, context) => {
859
+ export const se_DeleteBucketTaggingCommand = async (input, context) => {
367
860
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
368
861
  const headers = map({}, isSerializableHeaderValue, {
369
862
  "x-amz-account-id": input.AccountId,
370
863
  });
371
- let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/accesspoint/{Name}/policy";
372
- resolvedPath = __resolvedPath(resolvedPath, input, "Name", () => input.Name, "{Name}", false);
864
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/bucket/{Bucket}/tagging";
865
+ resolvedPath = __resolvedPath(resolvedPath, input, "Bucket", () => input.Bucket, "{Bucket}", false);
373
866
  let body;
374
867
  let { hostname: resolvedHostname } = await context.endpoint();
375
868
  if (context.disableHostPrefix !== true) {
@@ -392,14 +885,13 @@ export const se_DeleteAccessPointPolicyCommand = async (input, context) => {
392
885
  body,
393
886
  });
394
887
  };
395
- export const se_DeleteAccessPointPolicyForObjectLambdaCommand = async (input, context) => {
888
+ export const se_DeleteJobTaggingCommand = async (input, context) => {
396
889
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
397
890
  const headers = map({}, isSerializableHeaderValue, {
398
891
  "x-amz-account-id": input.AccountId,
399
892
  });
400
- let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
401
- "/v20180820/accesspointforobjectlambda/{Name}/policy";
402
- resolvedPath = __resolvedPath(resolvedPath, input, "Name", () => input.Name, "{Name}", false);
893
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/jobs/{JobId}/tagging";
894
+ resolvedPath = __resolvedPath(resolvedPath, input, "JobId", () => input.JobId, "{JobId}", false);
403
895
  let body;
404
896
  let { hostname: resolvedHostname } = await context.endpoint();
405
897
  if (context.disableHostPrefix !== true) {
@@ -422,14 +914,29 @@ export const se_DeleteAccessPointPolicyForObjectLambdaCommand = async (input, co
422
914
  body,
423
915
  });
424
916
  };
425
- export const se_DeleteBucketCommand = async (input, context) => {
917
+ export const se_DeleteMultiRegionAccessPointCommand = async (input, context) => {
426
918
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
427
919
  const headers = map({}, isSerializableHeaderValue, {
920
+ "content-type": "application/xml",
428
921
  "x-amz-account-id": input.AccountId,
429
922
  });
430
- let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/bucket/{Bucket}";
431
- resolvedPath = __resolvedPath(resolvedPath, input, "Bucket", () => input.Bucket, "{Bucket}", false);
923
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/async-requests/mrap/delete";
432
924
  let body;
925
+ body = '<?xml version="1.0" encoding="UTF-8"?>';
926
+ const bodyNode = new __XmlNode("DeleteMultiRegionAccessPointRequest");
927
+ bodyNode.addAttribute("xmlns", "http://awss3control.amazonaws.com/doc/2018-08-20/");
928
+ if (input.ClientToken === undefined) {
929
+ input.ClientToken = generateIdempotencyToken();
930
+ }
931
+ if (input.ClientToken !== undefined) {
932
+ const node = __XmlNode.of("MultiRegionAccessPointClientToken", input.ClientToken).withName("ClientToken");
933
+ bodyNode.addChildNode(node);
934
+ }
935
+ if (input.Details !== undefined) {
936
+ const node = se_DeleteMultiRegionAccessPointInput(input.Details, context).withName("Details");
937
+ bodyNode.addChildNode(node);
938
+ }
939
+ body += bodyNode.toString();
433
940
  let { hostname: resolvedHostname } = await context.endpoint();
434
941
  if (context.disableHostPrefix !== true) {
435
942
  resolvedHostname = "{AccountId}." + resolvedHostname;
@@ -445,20 +952,19 @@ export const se_DeleteBucketCommand = async (input, context) => {
445
952
  protocol,
446
953
  hostname: resolvedHostname,
447
954
  port,
448
- method: "DELETE",
955
+ method: "POST",
449
956
  headers,
450
957
  path: resolvedPath,
451
958
  body,
452
959
  });
453
960
  };
454
- export const se_DeleteBucketLifecycleConfigurationCommand = async (input, context) => {
961
+ export const se_DeletePublicAccessBlockCommand = async (input, context) => {
455
962
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
456
963
  const headers = map({}, isSerializableHeaderValue, {
457
964
  "x-amz-account-id": input.AccountId,
458
965
  });
459
- let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
460
- "/v20180820/bucket/{Bucket}/lifecycleconfiguration";
461
- resolvedPath = __resolvedPath(resolvedPath, input, "Bucket", () => input.Bucket, "{Bucket}", false);
966
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
967
+ "/v20180820/configuration/publicAccessBlock";
462
968
  let body;
463
969
  let { hostname: resolvedHostname } = await context.endpoint();
464
970
  if (context.disableHostPrefix !== true) {
@@ -481,13 +987,13 @@ export const se_DeleteBucketLifecycleConfigurationCommand = async (input, contex
481
987
  body,
482
988
  });
483
989
  };
484
- export const se_DeleteBucketPolicyCommand = async (input, context) => {
990
+ export const se_DeleteStorageLensConfigurationCommand = async (input, context) => {
485
991
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
486
992
  const headers = map({}, isSerializableHeaderValue, {
487
993
  "x-amz-account-id": input.AccountId,
488
994
  });
489
- let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/bucket/{Bucket}/policy";
490
- resolvedPath = __resolvedPath(resolvedPath, input, "Bucket", () => input.Bucket, "{Bucket}", false);
995
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/storagelens/{ConfigId}";
996
+ resolvedPath = __resolvedPath(resolvedPath, input, "ConfigId", () => input.ConfigId, "{ConfigId}", false);
491
997
  let body;
492
998
  let { hostname: resolvedHostname } = await context.endpoint();
493
999
  if (context.disableHostPrefix !== true) {
@@ -510,13 +1016,13 @@ export const se_DeleteBucketPolicyCommand = async (input, context) => {
510
1016
  body,
511
1017
  });
512
1018
  };
513
- export const se_DeleteBucketReplicationCommand = async (input, context) => {
1019
+ export const se_DeleteStorageLensConfigurationTaggingCommand = async (input, context) => {
514
1020
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
515
1021
  const headers = map({}, isSerializableHeaderValue, {
516
1022
  "x-amz-account-id": input.AccountId,
517
1023
  });
518
- let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/bucket/{Bucket}/replication";
519
- resolvedPath = __resolvedPath(resolvedPath, input, "Bucket", () => input.Bucket, "{Bucket}", false);
1024
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/storagelens/{ConfigId}/tagging";
1025
+ resolvedPath = __resolvedPath(resolvedPath, input, "ConfigId", () => input.ConfigId, "{ConfigId}", false);
520
1026
  let body;
521
1027
  let { hostname: resolvedHostname } = await context.endpoint();
522
1028
  if (context.disableHostPrefix !== true) {
@@ -539,13 +1045,13 @@ export const se_DeleteBucketReplicationCommand = async (input, context) => {
539
1045
  body,
540
1046
  });
541
1047
  };
542
- export const se_DeleteBucketTaggingCommand = async (input, context) => {
1048
+ export const se_DeleteStorageLensGroupCommand = async (input, context) => {
543
1049
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
544
1050
  const headers = map({}, isSerializableHeaderValue, {
545
1051
  "x-amz-account-id": input.AccountId,
546
1052
  });
547
- let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/bucket/{Bucket}/tagging";
548
- resolvedPath = __resolvedPath(resolvedPath, input, "Bucket", () => input.Bucket, "{Bucket}", false);
1053
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/storagelensgroup/{Name}";
1054
+ resolvedPath = __resolvedPath(resolvedPath, input, "Name", () => input.Name, "{Name}", false);
549
1055
  let body;
550
1056
  let { hostname: resolvedHostname } = await context.endpoint();
551
1057
  if (context.disableHostPrefix !== true) {
@@ -568,12 +1074,12 @@ export const se_DeleteBucketTaggingCommand = async (input, context) => {
568
1074
  body,
569
1075
  });
570
1076
  };
571
- export const se_DeleteJobTaggingCommand = async (input, context) => {
1077
+ export const se_DescribeJobCommand = async (input, context) => {
572
1078
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
573
1079
  const headers = map({}, isSerializableHeaderValue, {
574
1080
  "x-amz-account-id": input.AccountId,
575
1081
  });
576
- let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/jobs/{JobId}/tagging";
1082
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/jobs/{JobId}";
577
1083
  resolvedPath = __resolvedPath(resolvedPath, input, "JobId", () => input.JobId, "{JobId}", false);
578
1084
  let body;
579
1085
  let { hostname: resolvedHostname } = await context.endpoint();
@@ -591,35 +1097,21 @@ export const se_DeleteJobTaggingCommand = async (input, context) => {
591
1097
  protocol,
592
1098
  hostname: resolvedHostname,
593
1099
  port,
594
- method: "DELETE",
1100
+ method: "GET",
595
1101
  headers,
596
1102
  path: resolvedPath,
597
1103
  body,
598
1104
  });
599
1105
  };
600
- export const se_DeleteMultiRegionAccessPointCommand = async (input, context) => {
1106
+ export const se_DescribeMultiRegionAccessPointOperationCommand = async (input, context) => {
601
1107
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
602
1108
  const headers = map({}, isSerializableHeaderValue, {
603
- "content-type": "application/xml",
604
1109
  "x-amz-account-id": input.AccountId,
605
1110
  });
606
- const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/async-requests/mrap/delete";
1111
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
1112
+ "/v20180820/async-requests/mrap/{RequestTokenARN+}";
1113
+ resolvedPath = __resolvedPath(resolvedPath, input, "RequestTokenARN", () => input.RequestTokenARN, "{RequestTokenARN+}", true);
607
1114
  let body;
608
- body = '<?xml version="1.0" encoding="UTF-8"?>';
609
- const bodyNode = new __XmlNode("DeleteMultiRegionAccessPointRequest");
610
- bodyNode.addAttribute("xmlns", "http://awss3control.amazonaws.com/doc/2018-08-20/");
611
- if (input.ClientToken === undefined) {
612
- input.ClientToken = generateIdempotencyToken();
613
- }
614
- if (input.ClientToken !== undefined) {
615
- const node = __XmlNode.of("MultiRegionAccessPointClientToken", input.ClientToken).withName("ClientToken");
616
- bodyNode.addChildNode(node);
617
- }
618
- if (input.Details !== undefined) {
619
- const node = se_DeleteMultiRegionAccessPointInput(input.Details, context).withName("Details");
620
- bodyNode.addChildNode(node);
621
- }
622
- body += bodyNode.toString();
623
1115
  let { hostname: resolvedHostname } = await context.endpoint();
624
1116
  if (context.disableHostPrefix !== true) {
625
1117
  resolvedHostname = "{AccountId}." + resolvedHostname;
@@ -635,19 +1127,19 @@ export const se_DeleteMultiRegionAccessPointCommand = async (input, context) =>
635
1127
  protocol,
636
1128
  hostname: resolvedHostname,
637
1129
  port,
638
- method: "POST",
1130
+ method: "GET",
639
1131
  headers,
640
1132
  path: resolvedPath,
641
1133
  body,
642
1134
  });
643
1135
  };
644
- export const se_DeletePublicAccessBlockCommand = async (input, context) => {
1136
+ export const se_DissociateAccessGrantsIdentityCenterCommand = async (input, context) => {
645
1137
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
646
1138
  const headers = map({}, isSerializableHeaderValue, {
647
1139
  "x-amz-account-id": input.AccountId,
648
1140
  });
649
1141
  const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
650
- "/v20180820/configuration/publicAccessBlock";
1142
+ "/v20180820/accessgrantsinstance/identitycenter";
651
1143
  let body;
652
1144
  let { hostname: resolvedHostname } = await context.endpoint();
653
1145
  if (context.disableHostPrefix !== true) {
@@ -670,13 +1162,14 @@ export const se_DeletePublicAccessBlockCommand = async (input, context) => {
670
1162
  body,
671
1163
  });
672
1164
  };
673
- export const se_DeleteStorageLensConfigurationCommand = async (input, context) => {
1165
+ export const se_GetAccessGrantCommand = async (input, context) => {
674
1166
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
675
1167
  const headers = map({}, isSerializableHeaderValue, {
676
1168
  "x-amz-account-id": input.AccountId,
677
1169
  });
678
- let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/storagelens/{ConfigId}";
679
- resolvedPath = __resolvedPath(resolvedPath, input, "ConfigId", () => input.ConfigId, "{ConfigId}", false);
1170
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
1171
+ "/v20180820/accessgrantsinstance/grant/{AccessGrantId}";
1172
+ resolvedPath = __resolvedPath(resolvedPath, input, "AccessGrantId", () => input.AccessGrantId, "{AccessGrantId}", false);
680
1173
  let body;
681
1174
  let { hostname: resolvedHostname } = await context.endpoint();
682
1175
  if (context.disableHostPrefix !== true) {
@@ -693,19 +1186,18 @@ export const se_DeleteStorageLensConfigurationCommand = async (input, context) =
693
1186
  protocol,
694
1187
  hostname: resolvedHostname,
695
1188
  port,
696
- method: "DELETE",
1189
+ method: "GET",
697
1190
  headers,
698
1191
  path: resolvedPath,
699
1192
  body,
700
1193
  });
701
1194
  };
702
- export const se_DeleteStorageLensConfigurationTaggingCommand = async (input, context) => {
1195
+ export const se_GetAccessGrantsInstanceCommand = async (input, context) => {
703
1196
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
704
1197
  const headers = map({}, isSerializableHeaderValue, {
705
1198
  "x-amz-account-id": input.AccountId,
706
1199
  });
707
- let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/storagelens/{ConfigId}/tagging";
708
- resolvedPath = __resolvedPath(resolvedPath, input, "ConfigId", () => input.ConfigId, "{ConfigId}", false);
1200
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/accessgrantsinstance";
709
1201
  let body;
710
1202
  let { hostname: resolvedHostname } = await context.endpoint();
711
1203
  if (context.disableHostPrefix !== true) {
@@ -722,19 +1214,21 @@ export const se_DeleteStorageLensConfigurationTaggingCommand = async (input, con
722
1214
  protocol,
723
1215
  hostname: resolvedHostname,
724
1216
  port,
725
- method: "DELETE",
1217
+ method: "GET",
726
1218
  headers,
727
1219
  path: resolvedPath,
728
1220
  body,
729
1221
  });
730
1222
  };
731
- export const se_DeleteStorageLensGroupCommand = async (input, context) => {
1223
+ export const se_GetAccessGrantsInstanceForPrefixCommand = async (input, context) => {
732
1224
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
733
1225
  const headers = map({}, isSerializableHeaderValue, {
734
1226
  "x-amz-account-id": input.AccountId,
735
1227
  });
736
- let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/storagelensgroup/{Name}";
737
- resolvedPath = __resolvedPath(resolvedPath, input, "Name", () => input.Name, "{Name}", false);
1228
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/accessgrantsinstance/prefix";
1229
+ const query = map({
1230
+ s3prefix: [, __expectNonNull(input.S3Prefix, `S3Prefix`)],
1231
+ });
738
1232
  let body;
739
1233
  let { hostname: resolvedHostname } = await context.endpoint();
740
1234
  if (context.disableHostPrefix !== true) {
@@ -751,19 +1245,20 @@ export const se_DeleteStorageLensGroupCommand = async (input, context) => {
751
1245
  protocol,
752
1246
  hostname: resolvedHostname,
753
1247
  port,
754
- method: "DELETE",
1248
+ method: "GET",
755
1249
  headers,
756
1250
  path: resolvedPath,
1251
+ query,
757
1252
  body,
758
1253
  });
759
1254
  };
760
- export const se_DescribeJobCommand = async (input, context) => {
1255
+ export const se_GetAccessGrantsInstanceResourcePolicyCommand = async (input, context) => {
761
1256
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
762
1257
  const headers = map({}, isSerializableHeaderValue, {
763
1258
  "x-amz-account-id": input.AccountId,
764
1259
  });
765
- let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/jobs/{JobId}";
766
- resolvedPath = __resolvedPath(resolvedPath, input, "JobId", () => input.JobId, "{JobId}", false);
1260
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
1261
+ "/v20180820/accessgrantsinstance/resourcepolicy";
767
1262
  let body;
768
1263
  let { hostname: resolvedHostname } = await context.endpoint();
769
1264
  if (context.disableHostPrefix !== true) {
@@ -786,14 +1281,14 @@ export const se_DescribeJobCommand = async (input, context) => {
786
1281
  body,
787
1282
  });
788
1283
  };
789
- export const se_DescribeMultiRegionAccessPointOperationCommand = async (input, context) => {
1284
+ export const se_GetAccessGrantsLocationCommand = async (input, context) => {
790
1285
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
791
1286
  const headers = map({}, isSerializableHeaderValue, {
792
1287
  "x-amz-account-id": input.AccountId,
793
1288
  });
794
1289
  let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
795
- "/v20180820/async-requests/mrap/{RequestTokenARN+}";
796
- resolvedPath = __resolvedPath(resolvedPath, input, "RequestTokenARN", () => input.RequestTokenARN, "{RequestTokenARN+}", true);
1290
+ "/v20180820/accessgrantsinstance/location/{AccessGrantsLocationId}";
1291
+ resolvedPath = __resolvedPath(resolvedPath, input, "AccessGrantsLocationId", () => input.AccessGrantsLocationId, "{AccessGrantsLocationId}", false);
797
1292
  let body;
798
1293
  let { hostname: resolvedHostname } = await context.endpoint();
799
1294
  if (context.disableHostPrefix !== true) {
@@ -1199,6 +1694,43 @@ export const se_GetBucketVersioningCommand = async (input, context) => {
1199
1694
  body,
1200
1695
  });
1201
1696
  };
1697
+ export const se_GetDataAccessCommand = async (input, context) => {
1698
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
1699
+ const headers = map({}, isSerializableHeaderValue, {
1700
+ "x-amz-account-id": input.AccountId,
1701
+ });
1702
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
1703
+ "/v20180820/accessgrantsinstance/dataaccess";
1704
+ const query = map({
1705
+ target: [, __expectNonNull(input.Target, `Target`)],
1706
+ permission: [, __expectNonNull(input.Permission, `Permission`)],
1707
+ durationSeconds: [() => input.DurationSeconds !== void 0, () => input.DurationSeconds.toString()],
1708
+ privilege: [, input.Privilege],
1709
+ targetType: [, input.TargetType],
1710
+ });
1711
+ let body;
1712
+ let { hostname: resolvedHostname } = await context.endpoint();
1713
+ if (context.disableHostPrefix !== true) {
1714
+ resolvedHostname = "{AccountId}." + resolvedHostname;
1715
+ if (input.AccountId === undefined) {
1716
+ throw new Error("Empty value provided for input host prefix: AccountId.");
1717
+ }
1718
+ resolvedHostname = resolvedHostname.replace("{AccountId}", input.AccountId);
1719
+ if (!__isValidHostname(resolvedHostname)) {
1720
+ throw new Error("ValidationError: prefixed hostname must be hostname compatible.");
1721
+ }
1722
+ }
1723
+ return new __HttpRequest({
1724
+ protocol,
1725
+ hostname: resolvedHostname,
1726
+ port,
1727
+ method: "GET",
1728
+ headers,
1729
+ path: resolvedPath,
1730
+ query,
1731
+ body,
1732
+ });
1733
+ };
1202
1734
  export const se_GetJobTaggingCommand = async (input, context) => {
1203
1735
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
1204
1736
  const headers = map({}, isSerializableHeaderValue, {
@@ -1437,8 +1969,112 @@ export const se_GetStorageLensGroupCommand = async (input, context) => {
1437
1969
  const headers = map({}, isSerializableHeaderValue, {
1438
1970
  "x-amz-account-id": input.AccountId,
1439
1971
  });
1440
- let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/storagelensgroup/{Name}";
1441
- resolvedPath = __resolvedPath(resolvedPath, input, "Name", () => input.Name, "{Name}", false);
1972
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/storagelensgroup/{Name}";
1973
+ resolvedPath = __resolvedPath(resolvedPath, input, "Name", () => input.Name, "{Name}", false);
1974
+ let body;
1975
+ let { hostname: resolvedHostname } = await context.endpoint();
1976
+ if (context.disableHostPrefix !== true) {
1977
+ resolvedHostname = "{AccountId}." + resolvedHostname;
1978
+ if (input.AccountId === undefined) {
1979
+ throw new Error("Empty value provided for input host prefix: AccountId.");
1980
+ }
1981
+ resolvedHostname = resolvedHostname.replace("{AccountId}", input.AccountId);
1982
+ if (!__isValidHostname(resolvedHostname)) {
1983
+ throw new Error("ValidationError: prefixed hostname must be hostname compatible.");
1984
+ }
1985
+ }
1986
+ return new __HttpRequest({
1987
+ protocol,
1988
+ hostname: resolvedHostname,
1989
+ port,
1990
+ method: "GET",
1991
+ headers,
1992
+ path: resolvedPath,
1993
+ body,
1994
+ });
1995
+ };
1996
+ export const se_ListAccessGrantsCommand = async (input, context) => {
1997
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
1998
+ const headers = map({}, isSerializableHeaderValue, {
1999
+ "x-amz-account-id": input.AccountId,
2000
+ });
2001
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/accessgrantsinstance/grants";
2002
+ const query = map({
2003
+ nextToken: [, input.NextToken],
2004
+ maxResults: [() => input.MaxResults !== void 0, () => input.MaxResults.toString()],
2005
+ granteetype: [, input.GranteeType],
2006
+ granteeidentifier: [, input.GranteeIdentifier],
2007
+ permission: [, input.Permission],
2008
+ grantscope: [, input.GrantScope],
2009
+ application_arn: [, input.ApplicationArn],
2010
+ });
2011
+ let body;
2012
+ let { hostname: resolvedHostname } = await context.endpoint();
2013
+ if (context.disableHostPrefix !== true) {
2014
+ resolvedHostname = "{AccountId}." + resolvedHostname;
2015
+ if (input.AccountId === undefined) {
2016
+ throw new Error("Empty value provided for input host prefix: AccountId.");
2017
+ }
2018
+ resolvedHostname = resolvedHostname.replace("{AccountId}", input.AccountId);
2019
+ if (!__isValidHostname(resolvedHostname)) {
2020
+ throw new Error("ValidationError: prefixed hostname must be hostname compatible.");
2021
+ }
2022
+ }
2023
+ return new __HttpRequest({
2024
+ protocol,
2025
+ hostname: resolvedHostname,
2026
+ port,
2027
+ method: "GET",
2028
+ headers,
2029
+ path: resolvedPath,
2030
+ query,
2031
+ body,
2032
+ });
2033
+ };
2034
+ export const se_ListAccessGrantsInstancesCommand = async (input, context) => {
2035
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
2036
+ const headers = map({}, isSerializableHeaderValue, {
2037
+ "x-amz-account-id": input.AccountId,
2038
+ });
2039
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/accessgrantsinstances";
2040
+ const query = map({
2041
+ nextToken: [, input.NextToken],
2042
+ maxResults: [() => input.MaxResults !== void 0, () => input.MaxResults.toString()],
2043
+ });
2044
+ let body;
2045
+ let { hostname: resolvedHostname } = await context.endpoint();
2046
+ if (context.disableHostPrefix !== true) {
2047
+ resolvedHostname = "{AccountId}." + resolvedHostname;
2048
+ if (input.AccountId === undefined) {
2049
+ throw new Error("Empty value provided for input host prefix: AccountId.");
2050
+ }
2051
+ resolvedHostname = resolvedHostname.replace("{AccountId}", input.AccountId);
2052
+ if (!__isValidHostname(resolvedHostname)) {
2053
+ throw new Error("ValidationError: prefixed hostname must be hostname compatible.");
2054
+ }
2055
+ }
2056
+ return new __HttpRequest({
2057
+ protocol,
2058
+ hostname: resolvedHostname,
2059
+ port,
2060
+ method: "GET",
2061
+ headers,
2062
+ path: resolvedPath,
2063
+ query,
2064
+ body,
2065
+ });
2066
+ };
2067
+ export const se_ListAccessGrantsLocationsCommand = async (input, context) => {
2068
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
2069
+ const headers = map({}, isSerializableHeaderValue, {
2070
+ "x-amz-account-id": input.AccountId,
2071
+ });
2072
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/v20180820/accessgrantsinstance/locations";
2073
+ const query = map({
2074
+ nextToken: [, input.NextToken],
2075
+ maxResults: [() => input.MaxResults !== void 0, () => input.MaxResults.toString()],
2076
+ locationscope: [, input.LocationScope],
2077
+ });
1442
2078
  let body;
1443
2079
  let { hostname: resolvedHostname } = await context.endpoint();
1444
2080
  if (context.disableHostPrefix !== true) {
@@ -1458,6 +2094,7 @@ export const se_GetStorageLensGroupCommand = async (input, context) => {
1458
2094
  method: "GET",
1459
2095
  headers,
1460
2096
  path: resolvedPath,
2097
+ query,
1461
2098
  body,
1462
2099
  });
1463
2100
  };
@@ -1722,6 +2359,48 @@ export const se_ListTagsForResourceCommand = async (input, context) => {
1722
2359
  body,
1723
2360
  });
1724
2361
  };
2362
+ export const se_PutAccessGrantsInstanceResourcePolicyCommand = async (input, context) => {
2363
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
2364
+ const headers = map({}, isSerializableHeaderValue, {
2365
+ "content-type": "application/xml",
2366
+ "x-amz-account-id": input.AccountId,
2367
+ });
2368
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
2369
+ "/v20180820/accessgrantsinstance/resourcepolicy";
2370
+ let body;
2371
+ body = '<?xml version="1.0" encoding="UTF-8"?>';
2372
+ const bodyNode = new __XmlNode("PutAccessGrantsInstanceResourcePolicyRequest");
2373
+ bodyNode.addAttribute("xmlns", "http://awss3control.amazonaws.com/doc/2018-08-20/");
2374
+ if (input.Organization !== undefined) {
2375
+ const node = __XmlNode.of("Organization", input.Organization).withName("Organization");
2376
+ bodyNode.addChildNode(node);
2377
+ }
2378
+ if (input.Policy !== undefined) {
2379
+ const node = __XmlNode.of("PolicyDocument", input.Policy).withName("Policy");
2380
+ bodyNode.addChildNode(node);
2381
+ }
2382
+ body += bodyNode.toString();
2383
+ let { hostname: resolvedHostname } = await context.endpoint();
2384
+ if (context.disableHostPrefix !== true) {
2385
+ resolvedHostname = "{AccountId}." + resolvedHostname;
2386
+ if (input.AccountId === undefined) {
2387
+ throw new Error("Empty value provided for input host prefix: AccountId.");
2388
+ }
2389
+ resolvedHostname = resolvedHostname.replace("{AccountId}", input.AccountId);
2390
+ if (!__isValidHostname(resolvedHostname)) {
2391
+ throw new Error("ValidationError: prefixed hostname must be hostname compatible.");
2392
+ }
2393
+ }
2394
+ return new __HttpRequest({
2395
+ protocol,
2396
+ hostname: resolvedHostname,
2397
+ port,
2398
+ method: "PUT",
2399
+ headers,
2400
+ path: resolvedPath,
2401
+ body,
2402
+ });
2403
+ };
1725
2404
  export const se_PutAccessPointConfigurationForObjectLambdaCommand = async (input, context) => {
1726
2405
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
1727
2406
  const headers = map({}, isSerializableHeaderValue, {
@@ -2376,6 +3055,45 @@ export const se_UntagResourceCommand = async (input, context) => {
2376
3055
  body,
2377
3056
  });
2378
3057
  };
3058
+ export const se_UpdateAccessGrantsLocationCommand = async (input, context) => {
3059
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
3060
+ const headers = map({}, isSerializableHeaderValue, {
3061
+ "content-type": "application/xml",
3062
+ "x-amz-account-id": input.AccountId,
3063
+ });
3064
+ let resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
3065
+ "/v20180820/accessgrantsinstance/location/{AccessGrantsLocationId}";
3066
+ resolvedPath = __resolvedPath(resolvedPath, input, "AccessGrantsLocationId", () => input.AccessGrantsLocationId, "{AccessGrantsLocationId}", false);
3067
+ let body;
3068
+ body = '<?xml version="1.0" encoding="UTF-8"?>';
3069
+ const bodyNode = new __XmlNode("UpdateAccessGrantsLocationRequest");
3070
+ bodyNode.addAttribute("xmlns", "http://awss3control.amazonaws.com/doc/2018-08-20/");
3071
+ if (input.IAMRoleArn !== undefined) {
3072
+ const node = __XmlNode.of("IAMRoleArn", input.IAMRoleArn).withName("IAMRoleArn");
3073
+ bodyNode.addChildNode(node);
3074
+ }
3075
+ body += bodyNode.toString();
3076
+ let { hostname: resolvedHostname } = await context.endpoint();
3077
+ if (context.disableHostPrefix !== true) {
3078
+ resolvedHostname = "{AccountId}." + resolvedHostname;
3079
+ if (input.AccountId === undefined) {
3080
+ throw new Error("Empty value provided for input host prefix: AccountId.");
3081
+ }
3082
+ resolvedHostname = resolvedHostname.replace("{AccountId}", input.AccountId);
3083
+ if (!__isValidHostname(resolvedHostname)) {
3084
+ throw new Error("ValidationError: prefixed hostname must be hostname compatible.");
3085
+ }
3086
+ }
3087
+ return new __HttpRequest({
3088
+ protocol,
3089
+ hostname: resolvedHostname,
3090
+ port,
3091
+ method: "PUT",
3092
+ headers,
3093
+ path: resolvedPath,
3094
+ body,
3095
+ });
3096
+ };
2379
3097
  export const se_UpdateJobPriorityCommand = async (input, context) => {
2380
3098
  const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
2381
3099
  const headers = map({}, isSerializableHeaderValue, {
@@ -2481,6 +3199,152 @@ export const se_UpdateStorageLensGroupCommand = async (input, context) => {
2481
3199
  body,
2482
3200
  });
2483
3201
  };
3202
+ export const de_AssociateAccessGrantsIdentityCenterCommand = async (output, context) => {
3203
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
3204
+ return de_AssociateAccessGrantsIdentityCenterCommandError(output, context);
3205
+ }
3206
+ const contents = map({
3207
+ $metadata: deserializeMetadata(output),
3208
+ });
3209
+ await collectBody(output.body, context);
3210
+ return contents;
3211
+ };
3212
+ const de_AssociateAccessGrantsIdentityCenterCommandError = async (output, context) => {
3213
+ const parsedOutput = {
3214
+ ...output,
3215
+ body: await parseErrorBody(output.body, context),
3216
+ };
3217
+ const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);
3218
+ const parsedBody = parsedOutput.body;
3219
+ return throwDefaultError({
3220
+ output,
3221
+ parsedBody: parsedBody.Error,
3222
+ errorCode,
3223
+ });
3224
+ };
3225
+ export const de_CreateAccessGrantCommand = async (output, context) => {
3226
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
3227
+ return de_CreateAccessGrantCommandError(output, context);
3228
+ }
3229
+ const contents = map({
3230
+ $metadata: deserializeMetadata(output),
3231
+ });
3232
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3233
+ if (data["AccessGrantArn"] !== undefined) {
3234
+ contents.AccessGrantArn = __expectString(data["AccessGrantArn"]);
3235
+ }
3236
+ if (data["AccessGrantId"] !== undefined) {
3237
+ contents.AccessGrantId = __expectString(data["AccessGrantId"]);
3238
+ }
3239
+ if (data["AccessGrantsLocationConfiguration"] !== undefined) {
3240
+ contents.AccessGrantsLocationConfiguration = de_AccessGrantsLocationConfiguration(data["AccessGrantsLocationConfiguration"], context);
3241
+ }
3242
+ if (data["AccessGrantsLocationId"] !== undefined) {
3243
+ contents.AccessGrantsLocationId = __expectString(data["AccessGrantsLocationId"]);
3244
+ }
3245
+ if (data["ApplicationArn"] !== undefined) {
3246
+ contents.ApplicationArn = __expectString(data["ApplicationArn"]);
3247
+ }
3248
+ if (data["CreatedAt"] !== undefined) {
3249
+ contents.CreatedAt = __expectNonNull(__parseRfc3339DateTimeWithOffset(data["CreatedAt"]));
3250
+ }
3251
+ if (data["GrantScope"] !== undefined) {
3252
+ contents.GrantScope = __expectString(data["GrantScope"]);
3253
+ }
3254
+ if (data["Grantee"] !== undefined) {
3255
+ contents.Grantee = de_Grantee(data["Grantee"], context);
3256
+ }
3257
+ if (data["Permission"] !== undefined) {
3258
+ contents.Permission = __expectString(data["Permission"]);
3259
+ }
3260
+ return contents;
3261
+ };
3262
+ const de_CreateAccessGrantCommandError = async (output, context) => {
3263
+ const parsedOutput = {
3264
+ ...output,
3265
+ body: await parseErrorBody(output.body, context),
3266
+ };
3267
+ const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);
3268
+ const parsedBody = parsedOutput.body;
3269
+ return throwDefaultError({
3270
+ output,
3271
+ parsedBody: parsedBody.Error,
3272
+ errorCode,
3273
+ });
3274
+ };
3275
+ export const de_CreateAccessGrantsInstanceCommand = async (output, context) => {
3276
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
3277
+ return de_CreateAccessGrantsInstanceCommandError(output, context);
3278
+ }
3279
+ const contents = map({
3280
+ $metadata: deserializeMetadata(output),
3281
+ });
3282
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3283
+ if (data["AccessGrantsInstanceArn"] !== undefined) {
3284
+ contents.AccessGrantsInstanceArn = __expectString(data["AccessGrantsInstanceArn"]);
3285
+ }
3286
+ if (data["AccessGrantsInstanceId"] !== undefined) {
3287
+ contents.AccessGrantsInstanceId = __expectString(data["AccessGrantsInstanceId"]);
3288
+ }
3289
+ if (data["CreatedAt"] !== undefined) {
3290
+ contents.CreatedAt = __expectNonNull(__parseRfc3339DateTimeWithOffset(data["CreatedAt"]));
3291
+ }
3292
+ if (data["IdentityCenterArn"] !== undefined) {
3293
+ contents.IdentityCenterArn = __expectString(data["IdentityCenterArn"]);
3294
+ }
3295
+ return contents;
3296
+ };
3297
+ const de_CreateAccessGrantsInstanceCommandError = async (output, context) => {
3298
+ const parsedOutput = {
3299
+ ...output,
3300
+ body: await parseErrorBody(output.body, context),
3301
+ };
3302
+ const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);
3303
+ const parsedBody = parsedOutput.body;
3304
+ return throwDefaultError({
3305
+ output,
3306
+ parsedBody: parsedBody.Error,
3307
+ errorCode,
3308
+ });
3309
+ };
3310
+ export const de_CreateAccessGrantsLocationCommand = async (output, context) => {
3311
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
3312
+ return de_CreateAccessGrantsLocationCommandError(output, context);
3313
+ }
3314
+ const contents = map({
3315
+ $metadata: deserializeMetadata(output),
3316
+ });
3317
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3318
+ if (data["AccessGrantsLocationArn"] !== undefined) {
3319
+ contents.AccessGrantsLocationArn = __expectString(data["AccessGrantsLocationArn"]);
3320
+ }
3321
+ if (data["AccessGrantsLocationId"] !== undefined) {
3322
+ contents.AccessGrantsLocationId = __expectString(data["AccessGrantsLocationId"]);
3323
+ }
3324
+ if (data["CreatedAt"] !== undefined) {
3325
+ contents.CreatedAt = __expectNonNull(__parseRfc3339DateTimeWithOffset(data["CreatedAt"]));
3326
+ }
3327
+ if (data["IAMRoleArn"] !== undefined) {
3328
+ contents.IAMRoleArn = __expectString(data["IAMRoleArn"]);
3329
+ }
3330
+ if (data["LocationScope"] !== undefined) {
3331
+ contents.LocationScope = __expectString(data["LocationScope"]);
3332
+ }
3333
+ return contents;
3334
+ };
3335
+ const de_CreateAccessGrantsLocationCommandError = async (output, context) => {
3336
+ const parsedOutput = {
3337
+ ...output,
3338
+ body: await parseErrorBody(output.body, context),
3339
+ };
3340
+ const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);
3341
+ const parsedBody = parsedOutput.body;
3342
+ return throwDefaultError({
3343
+ output,
3344
+ parsedBody: parsedBody.Error,
3345
+ errorCode,
3346
+ });
3347
+ };
2484
3348
  export const de_CreateAccessPointCommand = async (output, context) => {
2485
3349
  if (output.statusCode !== 200 && output.statusCode >= 300) {
2486
3350
  return de_CreateAccessPointCommandError(output, context);
@@ -2629,7 +3493,99 @@ export const de_CreateMultiRegionAccessPointCommand = async (output, context) =>
2629
3493
  }
2630
3494
  return contents;
2631
3495
  };
2632
- const de_CreateMultiRegionAccessPointCommandError = async (output, context) => {
3496
+ const de_CreateMultiRegionAccessPointCommandError = async (output, context) => {
3497
+ const parsedOutput = {
3498
+ ...output,
3499
+ body: await parseErrorBody(output.body, context),
3500
+ };
3501
+ const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);
3502
+ const parsedBody = parsedOutput.body;
3503
+ return throwDefaultError({
3504
+ output,
3505
+ parsedBody: parsedBody.Error,
3506
+ errorCode,
3507
+ });
3508
+ };
3509
+ export const de_CreateStorageLensGroupCommand = async (output, context) => {
3510
+ if (output.statusCode !== 204 && output.statusCode >= 300) {
3511
+ return de_CreateStorageLensGroupCommandError(output, context);
3512
+ }
3513
+ const contents = map({
3514
+ $metadata: deserializeMetadata(output),
3515
+ });
3516
+ await collectBody(output.body, context);
3517
+ return contents;
3518
+ };
3519
+ const de_CreateStorageLensGroupCommandError = async (output, context) => {
3520
+ const parsedOutput = {
3521
+ ...output,
3522
+ body: await parseErrorBody(output.body, context),
3523
+ };
3524
+ const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);
3525
+ const parsedBody = parsedOutput.body;
3526
+ return throwDefaultError({
3527
+ output,
3528
+ parsedBody: parsedBody.Error,
3529
+ errorCode,
3530
+ });
3531
+ };
3532
+ export const de_DeleteAccessGrantCommand = async (output, context) => {
3533
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
3534
+ return de_DeleteAccessGrantCommandError(output, context);
3535
+ }
3536
+ const contents = map({
3537
+ $metadata: deserializeMetadata(output),
3538
+ });
3539
+ await collectBody(output.body, context);
3540
+ return contents;
3541
+ };
3542
+ const de_DeleteAccessGrantCommandError = async (output, context) => {
3543
+ const parsedOutput = {
3544
+ ...output,
3545
+ body: await parseErrorBody(output.body, context),
3546
+ };
3547
+ const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);
3548
+ const parsedBody = parsedOutput.body;
3549
+ return throwDefaultError({
3550
+ output,
3551
+ parsedBody: parsedBody.Error,
3552
+ errorCode,
3553
+ });
3554
+ };
3555
+ export const de_DeleteAccessGrantsInstanceCommand = async (output, context) => {
3556
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
3557
+ return de_DeleteAccessGrantsInstanceCommandError(output, context);
3558
+ }
3559
+ const contents = map({
3560
+ $metadata: deserializeMetadata(output),
3561
+ });
3562
+ await collectBody(output.body, context);
3563
+ return contents;
3564
+ };
3565
+ const de_DeleteAccessGrantsInstanceCommandError = async (output, context) => {
3566
+ const parsedOutput = {
3567
+ ...output,
3568
+ body: await parseErrorBody(output.body, context),
3569
+ };
3570
+ const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);
3571
+ const parsedBody = parsedOutput.body;
3572
+ return throwDefaultError({
3573
+ output,
3574
+ parsedBody: parsedBody.Error,
3575
+ errorCode,
3576
+ });
3577
+ };
3578
+ export const de_DeleteAccessGrantsInstanceResourcePolicyCommand = async (output, context) => {
3579
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
3580
+ return de_DeleteAccessGrantsInstanceResourcePolicyCommandError(output, context);
3581
+ }
3582
+ const contents = map({
3583
+ $metadata: deserializeMetadata(output),
3584
+ });
3585
+ await collectBody(output.body, context);
3586
+ return contents;
3587
+ };
3588
+ const de_DeleteAccessGrantsInstanceResourcePolicyCommandError = async (output, context) => {
2633
3589
  const parsedOutput = {
2634
3590
  ...output,
2635
3591
  body: await parseErrorBody(output.body, context),
@@ -2642,9 +3598,9 @@ const de_CreateMultiRegionAccessPointCommandError = async (output, context) => {
2642
3598
  errorCode,
2643
3599
  });
2644
3600
  };
2645
- export const de_CreateStorageLensGroupCommand = async (output, context) => {
2646
- if (output.statusCode !== 204 && output.statusCode >= 300) {
2647
- return de_CreateStorageLensGroupCommandError(output, context);
3601
+ export const de_DeleteAccessGrantsLocationCommand = async (output, context) => {
3602
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
3603
+ return de_DeleteAccessGrantsLocationCommandError(output, context);
2648
3604
  }
2649
3605
  const contents = map({
2650
3606
  $metadata: deserializeMetadata(output),
@@ -2652,7 +3608,7 @@ export const de_CreateStorageLensGroupCommand = async (output, context) => {
2652
3608
  await collectBody(output.body, context);
2653
3609
  return contents;
2654
3610
  };
2655
- const de_CreateStorageLensGroupCommandError = async (output, context) => {
3611
+ const de_DeleteAccessGrantsLocationCommandError = async (output, context) => {
2656
3612
  const parsedOutput = {
2657
3613
  ...output,
2658
3614
  body: await parseErrorBody(output.body, context),
@@ -3092,6 +4048,213 @@ const de_DescribeMultiRegionAccessPointOperationCommandError = async (output, co
3092
4048
  errorCode,
3093
4049
  });
3094
4050
  };
4051
+ export const de_DissociateAccessGrantsIdentityCenterCommand = async (output, context) => {
4052
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
4053
+ return de_DissociateAccessGrantsIdentityCenterCommandError(output, context);
4054
+ }
4055
+ const contents = map({
4056
+ $metadata: deserializeMetadata(output),
4057
+ });
4058
+ await collectBody(output.body, context);
4059
+ return contents;
4060
+ };
4061
+ const de_DissociateAccessGrantsIdentityCenterCommandError = async (output, context) => {
4062
+ const parsedOutput = {
4063
+ ...output,
4064
+ body: await parseErrorBody(output.body, context),
4065
+ };
4066
+ const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);
4067
+ const parsedBody = parsedOutput.body;
4068
+ return throwDefaultError({
4069
+ output,
4070
+ parsedBody: parsedBody.Error,
4071
+ errorCode,
4072
+ });
4073
+ };
4074
+ export const de_GetAccessGrantCommand = async (output, context) => {
4075
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
4076
+ return de_GetAccessGrantCommandError(output, context);
4077
+ }
4078
+ const contents = map({
4079
+ $metadata: deserializeMetadata(output),
4080
+ });
4081
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
4082
+ if (data["AccessGrantArn"] !== undefined) {
4083
+ contents.AccessGrantArn = __expectString(data["AccessGrantArn"]);
4084
+ }
4085
+ if (data["AccessGrantId"] !== undefined) {
4086
+ contents.AccessGrantId = __expectString(data["AccessGrantId"]);
4087
+ }
4088
+ if (data["AccessGrantsLocationConfiguration"] !== undefined) {
4089
+ contents.AccessGrantsLocationConfiguration = de_AccessGrantsLocationConfiguration(data["AccessGrantsLocationConfiguration"], context);
4090
+ }
4091
+ if (data["AccessGrantsLocationId"] !== undefined) {
4092
+ contents.AccessGrantsLocationId = __expectString(data["AccessGrantsLocationId"]);
4093
+ }
4094
+ if (data["ApplicationArn"] !== undefined) {
4095
+ contents.ApplicationArn = __expectString(data["ApplicationArn"]);
4096
+ }
4097
+ if (data["CreatedAt"] !== undefined) {
4098
+ contents.CreatedAt = __expectNonNull(__parseRfc3339DateTimeWithOffset(data["CreatedAt"]));
4099
+ }
4100
+ if (data["GrantScope"] !== undefined) {
4101
+ contents.GrantScope = __expectString(data["GrantScope"]);
4102
+ }
4103
+ if (data["Grantee"] !== undefined) {
4104
+ contents.Grantee = de_Grantee(data["Grantee"], context);
4105
+ }
4106
+ if (data["Permission"] !== undefined) {
4107
+ contents.Permission = __expectString(data["Permission"]);
4108
+ }
4109
+ return contents;
4110
+ };
4111
+ const de_GetAccessGrantCommandError = async (output, context) => {
4112
+ const parsedOutput = {
4113
+ ...output,
4114
+ body: await parseErrorBody(output.body, context),
4115
+ };
4116
+ const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);
4117
+ const parsedBody = parsedOutput.body;
4118
+ return throwDefaultError({
4119
+ output,
4120
+ parsedBody: parsedBody.Error,
4121
+ errorCode,
4122
+ });
4123
+ };
4124
+ export const de_GetAccessGrantsInstanceCommand = async (output, context) => {
4125
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
4126
+ return de_GetAccessGrantsInstanceCommandError(output, context);
4127
+ }
4128
+ const contents = map({
4129
+ $metadata: deserializeMetadata(output),
4130
+ });
4131
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
4132
+ if (data["AccessGrantsInstanceArn"] !== undefined) {
4133
+ contents.AccessGrantsInstanceArn = __expectString(data["AccessGrantsInstanceArn"]);
4134
+ }
4135
+ if (data["AccessGrantsInstanceId"] !== undefined) {
4136
+ contents.AccessGrantsInstanceId = __expectString(data["AccessGrantsInstanceId"]);
4137
+ }
4138
+ if (data["CreatedAt"] !== undefined) {
4139
+ contents.CreatedAt = __expectNonNull(__parseRfc3339DateTimeWithOffset(data["CreatedAt"]));
4140
+ }
4141
+ if (data["IdentityCenterArn"] !== undefined) {
4142
+ contents.IdentityCenterArn = __expectString(data["IdentityCenterArn"]);
4143
+ }
4144
+ return contents;
4145
+ };
4146
+ const de_GetAccessGrantsInstanceCommandError = async (output, context) => {
4147
+ const parsedOutput = {
4148
+ ...output,
4149
+ body: await parseErrorBody(output.body, context),
4150
+ };
4151
+ const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);
4152
+ const parsedBody = parsedOutput.body;
4153
+ return throwDefaultError({
4154
+ output,
4155
+ parsedBody: parsedBody.Error,
4156
+ errorCode,
4157
+ });
4158
+ };
4159
+ export const de_GetAccessGrantsInstanceForPrefixCommand = async (output, context) => {
4160
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
4161
+ return de_GetAccessGrantsInstanceForPrefixCommandError(output, context);
4162
+ }
4163
+ const contents = map({
4164
+ $metadata: deserializeMetadata(output),
4165
+ });
4166
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
4167
+ if (data["AccessGrantsInstanceArn"] !== undefined) {
4168
+ contents.AccessGrantsInstanceArn = __expectString(data["AccessGrantsInstanceArn"]);
4169
+ }
4170
+ if (data["AccessGrantsInstanceId"] !== undefined) {
4171
+ contents.AccessGrantsInstanceId = __expectString(data["AccessGrantsInstanceId"]);
4172
+ }
4173
+ return contents;
4174
+ };
4175
+ const de_GetAccessGrantsInstanceForPrefixCommandError = async (output, context) => {
4176
+ const parsedOutput = {
4177
+ ...output,
4178
+ body: await parseErrorBody(output.body, context),
4179
+ };
4180
+ const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);
4181
+ const parsedBody = parsedOutput.body;
4182
+ return throwDefaultError({
4183
+ output,
4184
+ parsedBody: parsedBody.Error,
4185
+ errorCode,
4186
+ });
4187
+ };
4188
+ export const de_GetAccessGrantsInstanceResourcePolicyCommand = async (output, context) => {
4189
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
4190
+ return de_GetAccessGrantsInstanceResourcePolicyCommandError(output, context);
4191
+ }
4192
+ const contents = map({
4193
+ $metadata: deserializeMetadata(output),
4194
+ });
4195
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
4196
+ if (data["CreatedAt"] !== undefined) {
4197
+ contents.CreatedAt = __expectNonNull(__parseRfc3339DateTimeWithOffset(data["CreatedAt"]));
4198
+ }
4199
+ if (data["Organization"] !== undefined) {
4200
+ contents.Organization = __expectString(data["Organization"]);
4201
+ }
4202
+ if (data["Policy"] !== undefined) {
4203
+ contents.Policy = __expectString(data["Policy"]);
4204
+ }
4205
+ return contents;
4206
+ };
4207
+ const de_GetAccessGrantsInstanceResourcePolicyCommandError = async (output, context) => {
4208
+ const parsedOutput = {
4209
+ ...output,
4210
+ body: await parseErrorBody(output.body, context),
4211
+ };
4212
+ const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);
4213
+ const parsedBody = parsedOutput.body;
4214
+ return throwDefaultError({
4215
+ output,
4216
+ parsedBody: parsedBody.Error,
4217
+ errorCode,
4218
+ });
4219
+ };
4220
+ export const de_GetAccessGrantsLocationCommand = async (output, context) => {
4221
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
4222
+ return de_GetAccessGrantsLocationCommandError(output, context);
4223
+ }
4224
+ const contents = map({
4225
+ $metadata: deserializeMetadata(output),
4226
+ });
4227
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
4228
+ if (data["AccessGrantsLocationArn"] !== undefined) {
4229
+ contents.AccessGrantsLocationArn = __expectString(data["AccessGrantsLocationArn"]);
4230
+ }
4231
+ if (data["AccessGrantsLocationId"] !== undefined) {
4232
+ contents.AccessGrantsLocationId = __expectString(data["AccessGrantsLocationId"]);
4233
+ }
4234
+ if (data["CreatedAt"] !== undefined) {
4235
+ contents.CreatedAt = __expectNonNull(__parseRfc3339DateTimeWithOffset(data["CreatedAt"]));
4236
+ }
4237
+ if (data["IAMRoleArn"] !== undefined) {
4238
+ contents.IAMRoleArn = __expectString(data["IAMRoleArn"]);
4239
+ }
4240
+ if (data["LocationScope"] !== undefined) {
4241
+ contents.LocationScope = __expectString(data["LocationScope"]);
4242
+ }
4243
+ return contents;
4244
+ };
4245
+ const de_GetAccessGrantsLocationCommandError = async (output, context) => {
4246
+ const parsedOutput = {
4247
+ ...output,
4248
+ body: await parseErrorBody(output.body, context),
4249
+ };
4250
+ const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);
4251
+ const parsedBody = parsedOutput.body;
4252
+ return throwDefaultError({
4253
+ output,
4254
+ parsedBody: parsedBody.Error,
4255
+ errorCode,
4256
+ });
4257
+ };
3095
4258
  export const de_GetAccessPointCommand = async (output, context) => {
3096
4259
  if (output.statusCode !== 200 && output.statusCode >= 300) {
3097
4260
  return de_GetAccessPointCommandError(output, context);
@@ -3484,6 +4647,35 @@ const de_GetBucketVersioningCommandError = async (output, context) => {
3484
4647
  errorCode,
3485
4648
  });
3486
4649
  };
4650
+ export const de_GetDataAccessCommand = async (output, context) => {
4651
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
4652
+ return de_GetDataAccessCommandError(output, context);
4653
+ }
4654
+ const contents = map({
4655
+ $metadata: deserializeMetadata(output),
4656
+ });
4657
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
4658
+ if (data["Credentials"] !== undefined) {
4659
+ contents.Credentials = de_Credentials(data["Credentials"], context);
4660
+ }
4661
+ if (data["MatchedGrantTarget"] !== undefined) {
4662
+ contents.MatchedGrantTarget = __expectString(data["MatchedGrantTarget"]);
4663
+ }
4664
+ return contents;
4665
+ };
4666
+ const de_GetDataAccessCommandError = async (output, context) => {
4667
+ const parsedOutput = {
4668
+ ...output,
4669
+ body: await parseErrorBody(output.body, context),
4670
+ };
4671
+ const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);
4672
+ const parsedBody = parsedOutput.body;
4673
+ return throwDefaultError({
4674
+ output,
4675
+ parsedBody: parsedBody.Error,
4676
+ errorCode,
4677
+ });
4678
+ };
3487
4679
  export const de_GetJobTaggingCommand = async (output, context) => {
3488
4680
  if (output.statusCode !== 200 && output.statusCode >= 300) {
3489
4681
  return de_GetJobTaggingCommandError(output, context);
@@ -3646,37 +4838,122 @@ export const de_GetPublicAccessBlockCommand = async (output, context) => {
3646
4838
  contents.PublicAccessBlockConfiguration = de_PublicAccessBlockConfiguration(data, context);
3647
4839
  return contents;
3648
4840
  };
3649
- const de_GetPublicAccessBlockCommandError = async (output, context) => {
4841
+ const de_GetPublicAccessBlockCommandError = async (output, context) => {
4842
+ const parsedOutput = {
4843
+ ...output,
4844
+ body: await parseErrorBody(output.body, context),
4845
+ };
4846
+ const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);
4847
+ switch (errorCode) {
4848
+ case "NoSuchPublicAccessBlockConfiguration":
4849
+ case "com.amazonaws.s3control#NoSuchPublicAccessBlockConfiguration":
4850
+ throw await de_NoSuchPublicAccessBlockConfigurationRes(parsedOutput, context);
4851
+ default:
4852
+ const parsedBody = parsedOutput.body;
4853
+ return throwDefaultError({
4854
+ output,
4855
+ parsedBody: parsedBody.Error,
4856
+ errorCode,
4857
+ });
4858
+ }
4859
+ };
4860
+ export const de_GetStorageLensConfigurationCommand = async (output, context) => {
4861
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
4862
+ return de_GetStorageLensConfigurationCommandError(output, context);
4863
+ }
4864
+ const contents = map({
4865
+ $metadata: deserializeMetadata(output),
4866
+ });
4867
+ const data = __expectObject(await parseBody(output.body, context));
4868
+ contents.StorageLensConfiguration = de_StorageLensConfiguration(data, context);
4869
+ return contents;
4870
+ };
4871
+ const de_GetStorageLensConfigurationCommandError = async (output, context) => {
4872
+ const parsedOutput = {
4873
+ ...output,
4874
+ body: await parseErrorBody(output.body, context),
4875
+ };
4876
+ const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);
4877
+ const parsedBody = parsedOutput.body;
4878
+ return throwDefaultError({
4879
+ output,
4880
+ parsedBody: parsedBody.Error,
4881
+ errorCode,
4882
+ });
4883
+ };
4884
+ export const de_GetStorageLensConfigurationTaggingCommand = async (output, context) => {
4885
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
4886
+ return de_GetStorageLensConfigurationTaggingCommandError(output, context);
4887
+ }
4888
+ const contents = map({
4889
+ $metadata: deserializeMetadata(output),
4890
+ });
4891
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
4892
+ if (data.Tags === "") {
4893
+ contents.Tags = [];
4894
+ }
4895
+ else if (data["Tags"] !== undefined && data["Tags"]["Tag"] !== undefined) {
4896
+ contents.Tags = de_StorageLensTags(__getArrayIfSingleItem(data["Tags"]["Tag"]), context);
4897
+ }
4898
+ return contents;
4899
+ };
4900
+ const de_GetStorageLensConfigurationTaggingCommandError = async (output, context) => {
4901
+ const parsedOutput = {
4902
+ ...output,
4903
+ body: await parseErrorBody(output.body, context),
4904
+ };
4905
+ const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);
4906
+ const parsedBody = parsedOutput.body;
4907
+ return throwDefaultError({
4908
+ output,
4909
+ parsedBody: parsedBody.Error,
4910
+ errorCode,
4911
+ });
4912
+ };
4913
+ export const de_GetStorageLensGroupCommand = async (output, context) => {
4914
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
4915
+ return de_GetStorageLensGroupCommandError(output, context);
4916
+ }
4917
+ const contents = map({
4918
+ $metadata: deserializeMetadata(output),
4919
+ });
4920
+ const data = __expectObject(await parseBody(output.body, context));
4921
+ contents.StorageLensGroup = de_StorageLensGroup(data, context);
4922
+ return contents;
4923
+ };
4924
+ const de_GetStorageLensGroupCommandError = async (output, context) => {
3650
4925
  const parsedOutput = {
3651
4926
  ...output,
3652
4927
  body: await parseErrorBody(output.body, context),
3653
4928
  };
3654
4929
  const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);
3655
- switch (errorCode) {
3656
- case "NoSuchPublicAccessBlockConfiguration":
3657
- case "com.amazonaws.s3control#NoSuchPublicAccessBlockConfiguration":
3658
- throw await de_NoSuchPublicAccessBlockConfigurationRes(parsedOutput, context);
3659
- default:
3660
- const parsedBody = parsedOutput.body;
3661
- return throwDefaultError({
3662
- output,
3663
- parsedBody: parsedBody.Error,
3664
- errorCode,
3665
- });
3666
- }
4930
+ const parsedBody = parsedOutput.body;
4931
+ return throwDefaultError({
4932
+ output,
4933
+ parsedBody: parsedBody.Error,
4934
+ errorCode,
4935
+ });
3667
4936
  };
3668
- export const de_GetStorageLensConfigurationCommand = async (output, context) => {
4937
+ export const de_ListAccessGrantsCommand = async (output, context) => {
3669
4938
  if (output.statusCode !== 200 && output.statusCode >= 300) {
3670
- return de_GetStorageLensConfigurationCommandError(output, context);
4939
+ return de_ListAccessGrantsCommandError(output, context);
3671
4940
  }
3672
4941
  const contents = map({
3673
4942
  $metadata: deserializeMetadata(output),
3674
4943
  });
3675
- const data = __expectObject(await parseBody(output.body, context));
3676
- contents.StorageLensConfiguration = de_StorageLensConfiguration(data, context);
4944
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
4945
+ if (data.AccessGrantsList === "") {
4946
+ contents.AccessGrantsList = [];
4947
+ }
4948
+ else if (data["AccessGrantsList"] !== undefined && data["AccessGrantsList"]["AccessGrant"] !== undefined) {
4949
+ contents.AccessGrantsList = de_AccessGrantsList(__getArrayIfSingleItem(data["AccessGrantsList"]["AccessGrant"]), context);
4950
+ }
4951
+ if (data["NextToken"] !== undefined) {
4952
+ contents.NextToken = __expectString(data["NextToken"]);
4953
+ }
3677
4954
  return contents;
3678
4955
  };
3679
- const de_GetStorageLensConfigurationCommandError = async (output, context) => {
4956
+ const de_ListAccessGrantsCommandError = async (output, context) => {
3680
4957
  const parsedOutput = {
3681
4958
  ...output,
3682
4959
  body: await parseErrorBody(output.body, context),
@@ -3689,23 +4966,27 @@ const de_GetStorageLensConfigurationCommandError = async (output, context) => {
3689
4966
  errorCode,
3690
4967
  });
3691
4968
  };
3692
- export const de_GetStorageLensConfigurationTaggingCommand = async (output, context) => {
4969
+ export const de_ListAccessGrantsInstancesCommand = async (output, context) => {
3693
4970
  if (output.statusCode !== 200 && output.statusCode >= 300) {
3694
- return de_GetStorageLensConfigurationTaggingCommandError(output, context);
4971
+ return de_ListAccessGrantsInstancesCommandError(output, context);
3695
4972
  }
3696
4973
  const contents = map({
3697
4974
  $metadata: deserializeMetadata(output),
3698
4975
  });
3699
4976
  const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
3700
- if (data.Tags === "") {
3701
- contents.Tags = [];
4977
+ if (data.AccessGrantsInstancesList === "") {
4978
+ contents.AccessGrantsInstancesList = [];
3702
4979
  }
3703
- else if (data["Tags"] !== undefined && data["Tags"]["Tag"] !== undefined) {
3704
- contents.Tags = de_StorageLensTags(__getArrayIfSingleItem(data["Tags"]["Tag"]), context);
4980
+ else if (data["AccessGrantsInstancesList"] !== undefined &&
4981
+ data["AccessGrantsInstancesList"]["AccessGrantsInstance"] !== undefined) {
4982
+ contents.AccessGrantsInstancesList = de_AccessGrantsInstancesList(__getArrayIfSingleItem(data["AccessGrantsInstancesList"]["AccessGrantsInstance"]), context);
4983
+ }
4984
+ if (data["NextToken"] !== undefined) {
4985
+ contents.NextToken = __expectString(data["NextToken"]);
3705
4986
  }
3706
4987
  return contents;
3707
4988
  };
3708
- const de_GetStorageLensConfigurationTaggingCommandError = async (output, context) => {
4989
+ const de_ListAccessGrantsInstancesCommandError = async (output, context) => {
3709
4990
  const parsedOutput = {
3710
4991
  ...output,
3711
4992
  body: await parseErrorBody(output.body, context),
@@ -3718,18 +4999,27 @@ const de_GetStorageLensConfigurationTaggingCommandError = async (output, context
3718
4999
  errorCode,
3719
5000
  });
3720
5001
  };
3721
- export const de_GetStorageLensGroupCommand = async (output, context) => {
5002
+ export const de_ListAccessGrantsLocationsCommand = async (output, context) => {
3722
5003
  if (output.statusCode !== 200 && output.statusCode >= 300) {
3723
- return de_GetStorageLensGroupCommandError(output, context);
5004
+ return de_ListAccessGrantsLocationsCommandError(output, context);
3724
5005
  }
3725
5006
  const contents = map({
3726
5007
  $metadata: deserializeMetadata(output),
3727
5008
  });
3728
- const data = __expectObject(await parseBody(output.body, context));
3729
- contents.StorageLensGroup = de_StorageLensGroup(data, context);
5009
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
5010
+ if (data.AccessGrantsLocationsList === "") {
5011
+ contents.AccessGrantsLocationsList = [];
5012
+ }
5013
+ else if (data["AccessGrantsLocationsList"] !== undefined &&
5014
+ data["AccessGrantsLocationsList"]["AccessGrantsLocation"] !== undefined) {
5015
+ contents.AccessGrantsLocationsList = de_AccessGrantsLocationsList(__getArrayIfSingleItem(data["AccessGrantsLocationsList"]["AccessGrantsLocation"]), context);
5016
+ }
5017
+ if (data["NextToken"] !== undefined) {
5018
+ contents.NextToken = __expectString(data["NextToken"]);
5019
+ }
3730
5020
  return contents;
3731
5021
  };
3732
- const de_GetStorageLensGroupCommandError = async (output, context) => {
5022
+ const de_ListAccessGrantsLocationsCommandError = async (output, context) => {
3733
5023
  const parsedOutput = {
3734
5024
  ...output,
3735
5025
  body: await parseErrorBody(output.body, context),
@@ -4008,6 +5298,38 @@ const de_ListTagsForResourceCommandError = async (output, context) => {
4008
5298
  errorCode,
4009
5299
  });
4010
5300
  };
5301
+ export const de_PutAccessGrantsInstanceResourcePolicyCommand = async (output, context) => {
5302
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
5303
+ return de_PutAccessGrantsInstanceResourcePolicyCommandError(output, context);
5304
+ }
5305
+ const contents = map({
5306
+ $metadata: deserializeMetadata(output),
5307
+ });
5308
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
5309
+ if (data["CreatedAt"] !== undefined) {
5310
+ contents.CreatedAt = __expectNonNull(__parseRfc3339DateTimeWithOffset(data["CreatedAt"]));
5311
+ }
5312
+ if (data["Organization"] !== undefined) {
5313
+ contents.Organization = __expectString(data["Organization"]);
5314
+ }
5315
+ if (data["Policy"] !== undefined) {
5316
+ contents.Policy = __expectString(data["Policy"]);
5317
+ }
5318
+ return contents;
5319
+ };
5320
+ const de_PutAccessGrantsInstanceResourcePolicyCommandError = async (output, context) => {
5321
+ const parsedOutput = {
5322
+ ...output,
5323
+ body: await parseErrorBody(output.body, context),
5324
+ };
5325
+ const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);
5326
+ const parsedBody = parsedOutput.body;
5327
+ return throwDefaultError({
5328
+ output,
5329
+ parsedBody: parsedBody.Error,
5330
+ errorCode,
5331
+ });
5332
+ };
4011
5333
  export const de_PutAccessPointConfigurationForObjectLambdaCommand = async (output, context) => {
4012
5334
  if (output.statusCode !== 200 && output.statusCode >= 300) {
4013
5335
  return de_PutAccessPointConfigurationForObjectLambdaCommandError(output, context);
@@ -4394,6 +5716,44 @@ const de_UntagResourceCommandError = async (output, context) => {
4394
5716
  errorCode,
4395
5717
  });
4396
5718
  };
5719
+ export const de_UpdateAccessGrantsLocationCommand = async (output, context) => {
5720
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
5721
+ return de_UpdateAccessGrantsLocationCommandError(output, context);
5722
+ }
5723
+ const contents = map({
5724
+ $metadata: deserializeMetadata(output),
5725
+ });
5726
+ const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
5727
+ if (data["AccessGrantsLocationArn"] !== undefined) {
5728
+ contents.AccessGrantsLocationArn = __expectString(data["AccessGrantsLocationArn"]);
5729
+ }
5730
+ if (data["AccessGrantsLocationId"] !== undefined) {
5731
+ contents.AccessGrantsLocationId = __expectString(data["AccessGrantsLocationId"]);
5732
+ }
5733
+ if (data["CreatedAt"] !== undefined) {
5734
+ contents.CreatedAt = __expectNonNull(__parseRfc3339DateTimeWithOffset(data["CreatedAt"]));
5735
+ }
5736
+ if (data["IAMRoleArn"] !== undefined) {
5737
+ contents.IAMRoleArn = __expectString(data["IAMRoleArn"]);
5738
+ }
5739
+ if (data["LocationScope"] !== undefined) {
5740
+ contents.LocationScope = __expectString(data["LocationScope"]);
5741
+ }
5742
+ return contents;
5743
+ };
5744
+ const de_UpdateAccessGrantsLocationCommandError = async (output, context) => {
5745
+ const parsedOutput = {
5746
+ ...output,
5747
+ body: await parseErrorBody(output.body, context),
5748
+ };
5749
+ const errorCode = loadRestXmlErrorCode(output, parsedOutput.body);
5750
+ const parsedBody = parsedOutput.body;
5751
+ return throwDefaultError({
5752
+ output,
5753
+ parsedBody: parsedBody.Error,
5754
+ errorCode,
5755
+ });
5756
+ };
4397
5757
  export const de_UpdateJobPriorityCommand = async (output, context) => {
4398
5758
  if (output.statusCode !== 200 && output.statusCode >= 300) {
4399
5759
  return de_UpdateJobPriorityCommandError(output, context);
@@ -4666,6 +6026,14 @@ const se_AccessControlTranslation = (input, context) => {
4666
6026
  }
4667
6027
  return bodyNode;
4668
6028
  };
6029
+ const se_AccessGrantsLocationConfiguration = (input, context) => {
6030
+ const bodyNode = new __XmlNode("AccessGrantsLocationConfiguration");
6031
+ if (input.S3SubPrefix != null) {
6032
+ const node = __XmlNode.of("S3Prefix", input.S3SubPrefix).withName("S3SubPrefix");
6033
+ bodyNode.addChildNode(node);
6034
+ }
6035
+ return bodyNode;
6036
+ };
4669
6037
  const se_AccountLevel = (input, context) => {
4670
6038
  const bodyNode = new __XmlNode("AccountLevel");
4671
6039
  if (input.ActivityMetrics != null) {
@@ -4902,6 +6270,18 @@ const se_GeneratedManifestEncryption = (input, context) => {
4902
6270
  }
4903
6271
  return bodyNode;
4904
6272
  };
6273
+ const se_Grantee = (input, context) => {
6274
+ const bodyNode = new __XmlNode("Grantee");
6275
+ if (input.GranteeType != null) {
6276
+ const node = __XmlNode.of("GranteeType", input.GranteeType).withName("GranteeType");
6277
+ bodyNode.addChildNode(node);
6278
+ }
6279
+ if (input.GranteeIdentifier != null) {
6280
+ const node = __XmlNode.of("GranteeIdentifier", input.GranteeIdentifier).withName("GranteeIdentifier");
6281
+ bodyNode.addChildNode(node);
6282
+ }
6283
+ return bodyNode;
6284
+ };
4905
6285
  const se_Include = (input, context) => {
4906
6286
  const bodyNode = new __XmlNode("Include");
4907
6287
  if (input.Buckets != null) {
@@ -4984,6 +6364,30 @@ const se_JobManifestGeneratorFilter = (input, context) => {
4984
6364
  });
4985
6365
  bodyNode.addChildNode(containerNode);
4986
6366
  }
6367
+ if (input.KeyNameConstraint != null) {
6368
+ const node = se_KeyNameConstraint(input.KeyNameConstraint, context).withName("KeyNameConstraint");
6369
+ bodyNode.addChildNode(node);
6370
+ }
6371
+ if (input.ObjectSizeGreaterThanBytes != null) {
6372
+ const node = __XmlNode
6373
+ .of("ObjectSizeGreaterThanBytes", String(input.ObjectSizeGreaterThanBytes))
6374
+ .withName("ObjectSizeGreaterThanBytes");
6375
+ bodyNode.addChildNode(node);
6376
+ }
6377
+ if (input.ObjectSizeLessThanBytes != null) {
6378
+ const node = __XmlNode
6379
+ .of("ObjectSizeLessThanBytes", String(input.ObjectSizeLessThanBytes))
6380
+ .withName("ObjectSizeLessThanBytes");
6381
+ bodyNode.addChildNode(node);
6382
+ }
6383
+ if (input.MatchAnyStorageClass != null) {
6384
+ const nodes = se_StorageClassList(input.MatchAnyStorageClass, context);
6385
+ const containerNode = new __XmlNode("MatchAnyStorageClass");
6386
+ nodes.map((node) => {
6387
+ containerNode.addChildNode(node);
6388
+ });
6389
+ bodyNode.addChildNode(containerNode);
6390
+ }
4987
6391
  return bodyNode;
4988
6392
  };
4989
6393
  const se_JobManifestLocation = (input, context) => {
@@ -5082,6 +6486,34 @@ const se_JobReport = (input, context) => {
5082
6486
  }
5083
6487
  return bodyNode;
5084
6488
  };
6489
+ const se_KeyNameConstraint = (input, context) => {
6490
+ const bodyNode = new __XmlNode("KeyNameConstraint");
6491
+ if (input.MatchAnyPrefix != null) {
6492
+ const nodes = se_NonEmptyMaxLength1024StringList(input.MatchAnyPrefix, context);
6493
+ const containerNode = new __XmlNode("MatchAnyPrefix");
6494
+ nodes.map((node) => {
6495
+ containerNode.addChildNode(node);
6496
+ });
6497
+ bodyNode.addChildNode(containerNode);
6498
+ }
6499
+ if (input.MatchAnySuffix != null) {
6500
+ const nodes = se_NonEmptyMaxLength1024StringList(input.MatchAnySuffix, context);
6501
+ const containerNode = new __XmlNode("MatchAnySuffix");
6502
+ nodes.map((node) => {
6503
+ containerNode.addChildNode(node);
6504
+ });
6505
+ bodyNode.addChildNode(containerNode);
6506
+ }
6507
+ if (input.MatchAnySubstring != null) {
6508
+ const nodes = se_NonEmptyMaxLength1024StringList(input.MatchAnySubstring, context);
6509
+ const containerNode = new __XmlNode("MatchAnySubstring");
6510
+ nodes.map((node) => {
6511
+ containerNode.addChildNode(node);
6512
+ });
6513
+ bodyNode.addChildNode(containerNode);
6514
+ }
6515
+ return bodyNode;
6516
+ };
5085
6517
  const se_LambdaInvokeOperation = (input, context) => {
5086
6518
  const bodyNode = new __XmlNode("LambdaInvokeOperation");
5087
6519
  if (input.FunctionArn != null) {
@@ -5340,6 +6772,14 @@ const se_NoncurrentVersionTransitionList = (input, context) => {
5340
6772
  return node.withName("NoncurrentVersionTransition");
5341
6773
  });
5342
6774
  };
6775
+ const se_NonEmptyMaxLength1024StringList = (input, context) => {
6776
+ return input
6777
+ .filter((e) => e != null)
6778
+ .map((entry) => {
6779
+ const node = __XmlNode.of("NonEmptyMaxLength1024String", entry);
6780
+ return node.withName("member");
6781
+ });
6782
+ };
5343
6783
  const se_ObjectLambdaAllowedFeaturesList = (input, context) => {
5344
6784
  return input
5345
6785
  .filter((e) => e != null)
@@ -6129,6 +7569,14 @@ const se_SSES3Encryption = (input, context) => {
6129
7569
  const bodyNode = new __XmlNode("SSE-S3");
6130
7570
  return bodyNode;
6131
7571
  };
7572
+ const se_StorageClassList = (input, context) => {
7573
+ return input
7574
+ .filter((e) => e != null)
7575
+ .map((entry) => {
7576
+ const node = __XmlNode.of("S3StorageClass", entry);
7577
+ return node.withName("member");
7578
+ });
7579
+ };
6132
7580
  const se_StorageLensAwsOrg = (input, context) => {
6133
7581
  const bodyNode = new __XmlNode("StorageLensAwsOrg");
6134
7582
  if (input.Arn != null) {
@@ -6483,6 +7931,34 @@ const de_AccessControlTranslation = (output, context) => {
6483
7931
  }
6484
7932
  return contents;
6485
7933
  };
7934
+ const de_AccessGrantsInstancesList = (output, context) => {
7935
+ return (output || [])
7936
+ .filter((e) => e != null)
7937
+ .map((entry) => {
7938
+ return de_ListAccessGrantsInstanceEntry(entry, context);
7939
+ });
7940
+ };
7941
+ const de_AccessGrantsList = (output, context) => {
7942
+ return (output || [])
7943
+ .filter((e) => e != null)
7944
+ .map((entry) => {
7945
+ return de_ListAccessGrantEntry(entry, context);
7946
+ });
7947
+ };
7948
+ const de_AccessGrantsLocationConfiguration = (output, context) => {
7949
+ const contents = {};
7950
+ if (output["S3SubPrefix"] !== undefined) {
7951
+ contents.S3SubPrefix = __expectString(output["S3SubPrefix"]);
7952
+ }
7953
+ return contents;
7954
+ };
7955
+ const de_AccessGrantsLocationsList = (output, context) => {
7956
+ return (output || [])
7957
+ .filter((e) => e != null)
7958
+ .map((entry) => {
7959
+ return de_ListAccessGrantsLocationsEntry(entry, context);
7960
+ });
7961
+ };
6486
7962
  const de_AccessPoint = (output, context) => {
6487
7963
  const contents = {};
6488
7964
  if (output["Name"] !== undefined) {
@@ -6678,6 +8154,22 @@ const de_CreateMultiRegionAccessPointInput = (output, context) => {
6678
8154
  }
6679
8155
  return contents;
6680
8156
  };
8157
+ const de_Credentials = (output, context) => {
8158
+ const contents = {};
8159
+ if (output["AccessKeyId"] !== undefined) {
8160
+ contents.AccessKeyId = __expectString(output["AccessKeyId"]);
8161
+ }
8162
+ if (output["SecretAccessKey"] !== undefined) {
8163
+ contents.SecretAccessKey = __expectString(output["SecretAccessKey"]);
8164
+ }
8165
+ if (output["SessionToken"] !== undefined) {
8166
+ contents.SessionToken = __expectString(output["SessionToken"]);
8167
+ }
8168
+ if (output["Expiration"] !== undefined) {
8169
+ contents.Expiration = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["Expiration"]));
8170
+ }
8171
+ return contents;
8172
+ };
6681
8173
  const de_DeleteMarkerReplication = (output, context) => {
6682
8174
  const contents = {};
6683
8175
  if (output["Status"] !== undefined) {
@@ -6780,6 +8272,16 @@ const de_GeneratedManifestEncryption = (output, context) => {
6780
8272
  }
6781
8273
  return contents;
6782
8274
  };
8275
+ const de_Grantee = (output, context) => {
8276
+ const contents = {};
8277
+ if (output["GranteeType"] !== undefined) {
8278
+ contents.GranteeType = __expectString(output["GranteeType"]);
8279
+ }
8280
+ if (output["GranteeIdentifier"] !== undefined) {
8281
+ contents.GranteeIdentifier = __expectString(output["GranteeIdentifier"]);
8282
+ }
8283
+ return contents;
8284
+ };
6783
8285
  const de_Include = (output, context) => {
6784
8286
  const contents = {};
6785
8287
  if (output.Buckets === "") {
@@ -6957,6 +8459,21 @@ const de_JobManifestGeneratorFilter = (output, context) => {
6957
8459
  output["ObjectReplicationStatuses"]["member"] !== undefined) {
6958
8460
  contents.ObjectReplicationStatuses = de_ReplicationStatusFilterList(__getArrayIfSingleItem(output["ObjectReplicationStatuses"]["member"]), context);
6959
8461
  }
8462
+ if (output["KeyNameConstraint"] !== undefined) {
8463
+ contents.KeyNameConstraint = de_KeyNameConstraint(output["KeyNameConstraint"], context);
8464
+ }
8465
+ if (output["ObjectSizeGreaterThanBytes"] !== undefined) {
8466
+ contents.ObjectSizeGreaterThanBytes = __strictParseLong(output["ObjectSizeGreaterThanBytes"]);
8467
+ }
8468
+ if (output["ObjectSizeLessThanBytes"] !== undefined) {
8469
+ contents.ObjectSizeLessThanBytes = __strictParseLong(output["ObjectSizeLessThanBytes"]);
8470
+ }
8471
+ if (output.MatchAnyStorageClass === "") {
8472
+ contents.MatchAnyStorageClass = [];
8473
+ }
8474
+ else if (output["MatchAnyStorageClass"] !== undefined && output["MatchAnyStorageClass"]["member"] !== undefined) {
8475
+ contents.MatchAnyStorageClass = de_StorageClassList(__getArrayIfSingleItem(output["MatchAnyStorageClass"]["member"]), context);
8476
+ }
6960
8477
  return contents;
6961
8478
  };
6962
8479
  const de_JobManifestLocation = (output, context) => {
@@ -7058,6 +8575,28 @@ const de_JobTimers = (output, context) => {
7058
8575
  }
7059
8576
  return contents;
7060
8577
  };
8578
+ const de_KeyNameConstraint = (output, context) => {
8579
+ const contents = {};
8580
+ if (output.MatchAnyPrefix === "") {
8581
+ contents.MatchAnyPrefix = [];
8582
+ }
8583
+ else if (output["MatchAnyPrefix"] !== undefined && output["MatchAnyPrefix"]["member"] !== undefined) {
8584
+ contents.MatchAnyPrefix = de_NonEmptyMaxLength1024StringList(__getArrayIfSingleItem(output["MatchAnyPrefix"]["member"]), context);
8585
+ }
8586
+ if (output.MatchAnySuffix === "") {
8587
+ contents.MatchAnySuffix = [];
8588
+ }
8589
+ else if (output["MatchAnySuffix"] !== undefined && output["MatchAnySuffix"]["member"] !== undefined) {
8590
+ contents.MatchAnySuffix = de_NonEmptyMaxLength1024StringList(__getArrayIfSingleItem(output["MatchAnySuffix"]["member"]), context);
8591
+ }
8592
+ if (output.MatchAnySubstring === "") {
8593
+ contents.MatchAnySubstring = [];
8594
+ }
8595
+ else if (output["MatchAnySubstring"] !== undefined && output["MatchAnySubstring"]["member"] !== undefined) {
8596
+ contents.MatchAnySubstring = de_NonEmptyMaxLength1024StringList(__getArrayIfSingleItem(output["MatchAnySubstring"]["member"]), context);
8597
+ }
8598
+ return contents;
8599
+ };
7061
8600
  const de_LambdaInvokeOperation = (output, context) => {
7062
8601
  const contents = {};
7063
8602
  if (output["FunctionArn"] !== undefined) {
@@ -7158,6 +8697,72 @@ const de_LifecycleRules = (output, context) => {
7158
8697
  return de_LifecycleRule(entry, context);
7159
8698
  });
7160
8699
  };
8700
+ const de_ListAccessGrantEntry = (output, context) => {
8701
+ const contents = {};
8702
+ if (output["CreatedAt"] !== undefined) {
8703
+ contents.CreatedAt = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["CreatedAt"]));
8704
+ }
8705
+ if (output["AccessGrantId"] !== undefined) {
8706
+ contents.AccessGrantId = __expectString(output["AccessGrantId"]);
8707
+ }
8708
+ if (output["AccessGrantArn"] !== undefined) {
8709
+ contents.AccessGrantArn = __expectString(output["AccessGrantArn"]);
8710
+ }
8711
+ if (output["Grantee"] !== undefined) {
8712
+ contents.Grantee = de_Grantee(output["Grantee"], context);
8713
+ }
8714
+ if (output["Permission"] !== undefined) {
8715
+ contents.Permission = __expectString(output["Permission"]);
8716
+ }
8717
+ if (output["AccessGrantsLocationId"] !== undefined) {
8718
+ contents.AccessGrantsLocationId = __expectString(output["AccessGrantsLocationId"]);
8719
+ }
8720
+ if (output["AccessGrantsLocationConfiguration"] !== undefined) {
8721
+ contents.AccessGrantsLocationConfiguration = de_AccessGrantsLocationConfiguration(output["AccessGrantsLocationConfiguration"], context);
8722
+ }
8723
+ if (output["GrantScope"] !== undefined) {
8724
+ contents.GrantScope = __expectString(output["GrantScope"]);
8725
+ }
8726
+ if (output["ApplicationArn"] !== undefined) {
8727
+ contents.ApplicationArn = __expectString(output["ApplicationArn"]);
8728
+ }
8729
+ return contents;
8730
+ };
8731
+ const de_ListAccessGrantsInstanceEntry = (output, context) => {
8732
+ const contents = {};
8733
+ if (output["AccessGrantsInstanceId"] !== undefined) {
8734
+ contents.AccessGrantsInstanceId = __expectString(output["AccessGrantsInstanceId"]);
8735
+ }
8736
+ if (output["AccessGrantsInstanceArn"] !== undefined) {
8737
+ contents.AccessGrantsInstanceArn = __expectString(output["AccessGrantsInstanceArn"]);
8738
+ }
8739
+ if (output["CreatedAt"] !== undefined) {
8740
+ contents.CreatedAt = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["CreatedAt"]));
8741
+ }
8742
+ if (output["IdentityCenterArn"] !== undefined) {
8743
+ contents.IdentityCenterArn = __expectString(output["IdentityCenterArn"]);
8744
+ }
8745
+ return contents;
8746
+ };
8747
+ const de_ListAccessGrantsLocationsEntry = (output, context) => {
8748
+ const contents = {};
8749
+ if (output["CreatedAt"] !== undefined) {
8750
+ contents.CreatedAt = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["CreatedAt"]));
8751
+ }
8752
+ if (output["AccessGrantsLocationId"] !== undefined) {
8753
+ contents.AccessGrantsLocationId = __expectString(output["AccessGrantsLocationId"]);
8754
+ }
8755
+ if (output["AccessGrantsLocationArn"] !== undefined) {
8756
+ contents.AccessGrantsLocationArn = __expectString(output["AccessGrantsLocationArn"]);
8757
+ }
8758
+ if (output["LocationScope"] !== undefined) {
8759
+ contents.LocationScope = __expectString(output["LocationScope"]);
8760
+ }
8761
+ if (output["IAMRoleArn"] !== undefined) {
8762
+ contents.IAMRoleArn = __expectString(output["IAMRoleArn"]);
8763
+ }
8764
+ return contents;
8765
+ };
7161
8766
  const de_ListStorageLensConfigurationEntry = (output, context) => {
7162
8767
  const contents = {};
7163
8768
  if (output["Id"] !== undefined) {
@@ -7347,6 +8952,13 @@ const de_NoncurrentVersionTransitionList = (output, context) => {
7347
8952
  return de_NoncurrentVersionTransition(entry, context);
7348
8953
  });
7349
8954
  };
8955
+ const de_NonEmptyMaxLength1024StringList = (output, context) => {
8956
+ return (output || [])
8957
+ .filter((e) => e != null)
8958
+ .map((entry) => {
8959
+ return __expectString(entry);
8960
+ });
8961
+ };
7350
8962
  const de_ObjectLambdaAccessPoint = (output, context) => {
7351
8963
  const contents = {};
7352
8964
  if (output["Name"] !== undefined) {
@@ -8073,6 +9685,13 @@ const de_SSES3Encryption = (output, context) => {
8073
9685
  const contents = {};
8074
9686
  return contents;
8075
9687
  };
9688
+ const de_StorageClassList = (output, context) => {
9689
+ return (output || [])
9690
+ .filter((e) => e != null)
9691
+ .map((entry) => {
9692
+ return __expectString(entry);
9693
+ });
9694
+ };
8076
9695
  const de_StorageLensAwsOrg = (output, context) => {
8077
9696
  const contents = {};
8078
9697
  if (output["Arn"] !== undefined) {