@aws-sdk/client-accessanalyzer 3.34.0 → 3.37.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 (368) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/{dist/cjs → dist-cjs}/AccessAnalyzer.js +0 -12
  3. package/dist-cjs/AccessAnalyzerClient.js +35 -0
  4. package/{dist/cjs → dist-cjs}/commands/ApplyArchiveRuleCommand.js +2 -28
  5. package/{dist/cjs → dist-cjs}/commands/CancelPolicyGenerationCommand.js +2 -27
  6. package/{dist/cjs → dist-cjs}/commands/CreateAccessPreviewCommand.js +2 -28
  7. package/{dist/cjs → dist-cjs}/commands/CreateAnalyzerCommand.js +2 -27
  8. package/{dist/cjs → dist-cjs}/commands/CreateArchiveRuleCommand.js +2 -29
  9. package/{dist/cjs → dist-cjs}/commands/DeleteAnalyzerCommand.js +2 -29
  10. package/{dist/cjs → dist-cjs}/commands/DeleteArchiveRuleCommand.js +2 -27
  11. package/{dist/cjs → dist-cjs}/commands/GetAccessPreviewCommand.js +2 -27
  12. package/{dist/cjs → dist-cjs}/commands/GetAnalyzedResourceCommand.js +2 -27
  13. package/{dist/cjs → dist-cjs}/commands/GetAnalyzerCommand.js +2 -27
  14. package/{dist/cjs → dist-cjs}/commands/GetArchiveRuleCommand.js +2 -28
  15. package/{dist/cjs → dist-cjs}/commands/GetFindingCommand.js +2 -27
  16. package/{dist/cjs → dist-cjs}/commands/GetGeneratedPolicyCommand.js +2 -28
  17. package/{dist/cjs → dist-cjs}/commands/ListAccessPreviewFindingsCommand.js +2 -28
  18. package/{dist/cjs → dist-cjs}/commands/ListAccessPreviewsCommand.js +2 -27
  19. package/{dist/cjs → dist-cjs}/commands/ListAnalyzedResourcesCommand.js +2 -28
  20. package/{dist/cjs → dist-cjs}/commands/ListAnalyzersCommand.js +2 -27
  21. package/{dist/cjs → dist-cjs}/commands/ListArchiveRulesCommand.js +2 -27
  22. package/{dist/cjs → dist-cjs}/commands/ListFindingsCommand.js +2 -28
  23. package/{dist/cjs → dist-cjs}/commands/ListPolicyGenerationsCommand.js +2 -27
  24. package/{dist/cjs → dist-cjs}/commands/ListTagsForResourceCommand.js +2 -27
  25. package/{dist/cjs → dist-cjs}/commands/StartPolicyGenerationCommand.js +2 -27
  26. package/{dist/cjs → dist-cjs}/commands/StartResourceScanCommand.js +2 -27
  27. package/{dist/cjs → dist-cjs}/commands/TagResourceCommand.js +2 -27
  28. package/{dist/cjs → dist-cjs}/commands/UntagResourceCommand.js +2 -27
  29. package/{dist/cjs → dist-cjs}/commands/UpdateArchiveRuleCommand.js +2 -27
  30. package/{dist/cjs → dist-cjs}/commands/UpdateFindingsCommand.js +2 -27
  31. package/{dist/cjs → dist-cjs}/commands/ValidatePolicyCommand.js +2 -29
  32. package/{dist/cjs → dist-cjs}/endpoints.js +1 -2
  33. package/{dist/cjs → dist-cjs}/index.js +0 -1
  34. package/{dist/cjs → dist-cjs}/models/index.js +0 -1
  35. package/{dist/cjs → dist-cjs}/models/models_0.js +0 -316
  36. package/{dist/cjs → dist-cjs}/pagination/Interfaces.js +0 -1
  37. package/{dist/cjs → dist-cjs}/pagination/ListAccessPreviewFindingsPaginator.js +0 -11
  38. package/{dist/cjs → dist-cjs}/pagination/ListAccessPreviewsPaginator.js +0 -11
  39. package/{dist/cjs → dist-cjs}/pagination/ListAnalyzedResourcesPaginator.js +0 -11
  40. package/{dist/cjs → dist-cjs}/pagination/ListAnalyzersPaginator.js +0 -11
  41. package/{dist/cjs → dist-cjs}/pagination/ListArchiveRulesPaginator.js +0 -11
  42. package/{dist/cjs → dist-cjs}/pagination/ListFindingsPaginator.js +0 -11
  43. package/{dist/cjs → dist-cjs}/pagination/ListPolicyGenerationsPaginator.js +0 -11
  44. package/{dist/cjs → dist-cjs}/pagination/ValidatePolicyPaginator.js +0 -11
  45. package/{dist/cjs → dist-cjs}/protocols/Aws_restJson1.js +14 -20
  46. package/{dist/cjs → dist-cjs}/runtimeConfig.browser.js +1 -5
  47. package/{dist/cjs → dist-cjs}/runtimeConfig.js +1 -5
  48. package/{dist/cjs → dist-cjs}/runtimeConfig.native.js +0 -4
  49. package/{dist/cjs → dist-cjs}/runtimeConfig.shared.js +1 -5
  50. package/{dist/es → dist-es}/AccessAnalyzer.js +0 -1
  51. package/{dist/es → dist-es}/AccessAnalyzerClient.js +1 -2
  52. package/{dist/es → dist-es}/commands/ApplyArchiveRuleCommand.js +2 -3
  53. package/{dist/es → dist-es}/commands/CancelPolicyGenerationCommand.js +2 -3
  54. package/{dist/es → dist-es}/commands/CreateAccessPreviewCommand.js +2 -3
  55. package/{dist/es → dist-es}/commands/CreateAnalyzerCommand.js +2 -3
  56. package/{dist/es → dist-es}/commands/CreateArchiveRuleCommand.js +2 -3
  57. package/{dist/es → dist-es}/commands/DeleteAnalyzerCommand.js +2 -3
  58. package/{dist/es → dist-es}/commands/DeleteArchiveRuleCommand.js +2 -3
  59. package/{dist/es → dist-es}/commands/GetAccessPreviewCommand.js +2 -3
  60. package/{dist/es → dist-es}/commands/GetAnalyzedResourceCommand.js +2 -3
  61. package/{dist/es → dist-es}/commands/GetAnalyzerCommand.js +2 -3
  62. package/{dist/es → dist-es}/commands/GetArchiveRuleCommand.js +2 -3
  63. package/{dist/es → dist-es}/commands/GetFindingCommand.js +2 -3
  64. package/{dist/es → dist-es}/commands/GetGeneratedPolicyCommand.js +2 -3
  65. package/{dist/es → dist-es}/commands/ListAccessPreviewFindingsCommand.js +2 -3
  66. package/{dist/es → dist-es}/commands/ListAccessPreviewsCommand.js +2 -3
  67. package/{dist/es → dist-es}/commands/ListAnalyzedResourcesCommand.js +2 -3
  68. package/{dist/es → dist-es}/commands/ListAnalyzersCommand.js +2 -3
  69. package/{dist/es → dist-es}/commands/ListArchiveRulesCommand.js +2 -3
  70. package/{dist/es → dist-es}/commands/ListFindingsCommand.js +2 -3
  71. package/{dist/es → dist-es}/commands/ListPolicyGenerationsCommand.js +2 -3
  72. package/{dist/es → dist-es}/commands/ListTagsForResourceCommand.js +2 -3
  73. package/{dist/es → dist-es}/commands/StartPolicyGenerationCommand.js +2 -3
  74. package/{dist/es → dist-es}/commands/StartResourceScanCommand.js +2 -3
  75. package/{dist/es → dist-es}/commands/TagResourceCommand.js +2 -3
  76. package/{dist/es → dist-es}/commands/UntagResourceCommand.js +2 -3
  77. package/{dist/es → dist-es}/commands/UpdateArchiveRuleCommand.js +2 -3
  78. package/{dist/es → dist-es}/commands/UpdateFindingsCommand.js +2 -3
  79. package/{dist/es → dist-es}/commands/ValidatePolicyCommand.js +2 -3
  80. package/{dist/es → dist-es}/endpoints.js +1 -2
  81. package/{dist/types/index.d.ts → dist-es/index.js} +0 -0
  82. package/{dist/types/models/index.d.ts → dist-es/models/index.js} +0 -0
  83. package/{dist/es → dist-es}/models/models_0.js +0 -1
  84. package/dist-es/pagination/Interfaces.js +1 -0
  85. package/{dist/es → dist-es}/pagination/ListAccessPreviewFindingsPaginator.js +0 -1
  86. package/{dist/es → dist-es}/pagination/ListAccessPreviewsPaginator.js +0 -1
  87. package/{dist/es → dist-es}/pagination/ListAnalyzedResourcesPaginator.js +0 -1
  88. package/{dist/es → dist-es}/pagination/ListAnalyzersPaginator.js +0 -1
  89. package/{dist/es → dist-es}/pagination/ListArchiveRulesPaginator.js +0 -1
  90. package/{dist/es → dist-es}/pagination/ListFindingsPaginator.js +0 -1
  91. package/{dist/es → dist-es}/pagination/ListPolicyGenerationsPaginator.js +0 -1
  92. package/{dist/es → dist-es}/pagination/ValidatePolicyPaginator.js +0 -1
  93. package/{dist/es → dist-es}/protocols/Aws_restJson1.js +1 -2
  94. package/{dist/es → dist-es}/runtimeConfig.browser.js +1 -2
  95. package/{dist/es → dist-es}/runtimeConfig.js +1 -2
  96. package/{dist/es → dist-es}/runtimeConfig.native.js +0 -1
  97. package/{dist/es → dist-es}/runtimeConfig.shared.js +1 -2
  98. package/{dist/types → dist-types}/AccessAnalyzer.d.ts +1 -1
  99. package/{dist/types → dist-types}/AccessAnalyzerClient.d.ts +8 -8
  100. package/{dist/types → dist-types}/commands/ApplyArchiveRuleCommand.d.ts +2 -2
  101. package/{dist/types → dist-types}/commands/CancelPolicyGenerationCommand.d.ts +2 -2
  102. package/{dist/types → dist-types}/commands/CreateAccessPreviewCommand.d.ts +2 -2
  103. package/{dist/types → dist-types}/commands/CreateAnalyzerCommand.d.ts +2 -2
  104. package/{dist/types → dist-types}/commands/CreateArchiveRuleCommand.d.ts +2 -2
  105. package/{dist/types → dist-types}/commands/DeleteAnalyzerCommand.d.ts +2 -2
  106. package/{dist/types → dist-types}/commands/DeleteArchiveRuleCommand.d.ts +2 -2
  107. package/{dist/types → dist-types}/commands/GetAccessPreviewCommand.d.ts +2 -2
  108. package/{dist/types → dist-types}/commands/GetAnalyzedResourceCommand.d.ts +2 -2
  109. package/{dist/types → dist-types}/commands/GetAnalyzerCommand.d.ts +2 -2
  110. package/{dist/types → dist-types}/commands/GetArchiveRuleCommand.d.ts +2 -2
  111. package/{dist/types → dist-types}/commands/GetFindingCommand.d.ts +2 -2
  112. package/{dist/types → dist-types}/commands/GetGeneratedPolicyCommand.d.ts +2 -2
  113. package/{dist/types → dist-types}/commands/ListAccessPreviewFindingsCommand.d.ts +2 -2
  114. package/{dist/types → dist-types}/commands/ListAccessPreviewsCommand.d.ts +2 -2
  115. package/{dist/types → dist-types}/commands/ListAnalyzedResourcesCommand.d.ts +2 -2
  116. package/{dist/types → dist-types}/commands/ListAnalyzersCommand.d.ts +2 -2
  117. package/{dist/types → dist-types}/commands/ListArchiveRulesCommand.d.ts +2 -2
  118. package/{dist/types → dist-types}/commands/ListFindingsCommand.d.ts +2 -2
  119. package/{dist/types → dist-types}/commands/ListPolicyGenerationsCommand.d.ts +2 -2
  120. package/{dist/types → dist-types}/commands/ListTagsForResourceCommand.d.ts +2 -2
  121. package/{dist/types → dist-types}/commands/StartPolicyGenerationCommand.d.ts +2 -2
  122. package/{dist/types → dist-types}/commands/StartResourceScanCommand.d.ts +2 -2
  123. package/{dist/types → dist-types}/commands/TagResourceCommand.d.ts +2 -2
  124. package/{dist/types → dist-types}/commands/UntagResourceCommand.d.ts +2 -2
  125. package/{dist/types → dist-types}/commands/UpdateArchiveRuleCommand.d.ts +2 -2
  126. package/{dist/types → dist-types}/commands/UpdateFindingsCommand.d.ts +2 -2
  127. package/{dist/types → dist-types}/commands/ValidatePolicyCommand.d.ts +2 -2
  128. package/{dist/types → dist-types}/endpoints.d.ts +0 -0
  129. package/{index.ts → dist-types/index.d.ts} +0 -0
  130. package/{models/index.ts → dist-types/models/index.d.ts} +0 -0
  131. package/{dist/types → dist-types}/models/models_0.d.ts +0 -0
  132. package/{dist/types → dist-types}/pagination/Interfaces.d.ts +1 -1
  133. package/{dist/types → dist-types}/pagination/ListAccessPreviewFindingsPaginator.d.ts +1 -1
  134. package/{dist/types → dist-types}/pagination/ListAccessPreviewsPaginator.d.ts +1 -1
  135. package/{dist/types → dist-types}/pagination/ListAnalyzedResourcesPaginator.d.ts +1 -1
  136. package/{dist/types → dist-types}/pagination/ListAnalyzersPaginator.d.ts +1 -1
  137. package/{dist/types → dist-types}/pagination/ListArchiveRulesPaginator.d.ts +1 -1
  138. package/{dist/types → dist-types}/pagination/ListFindingsPaginator.d.ts +1 -1
  139. package/{dist/types → dist-types}/pagination/ListPolicyGenerationsPaginator.d.ts +1 -1
  140. package/{dist/types → dist-types}/pagination/ValidatePolicyPaginator.d.ts +1 -1
  141. package/{dist/types → dist-types}/protocols/Aws_restJson1.d.ts +2 -2
  142. package/{dist/types → dist-types}/runtimeConfig.browser.d.ts +0 -0
  143. package/{dist/types → dist-types}/runtimeConfig.d.ts +1 -1
  144. package/{dist/types → dist-types}/runtimeConfig.native.d.ts +0 -0
  145. package/{dist/types → dist-types}/runtimeConfig.shared.d.ts +0 -0
  146. package/{dist/types → dist-types}/ts3.4/AccessAnalyzer.d.ts +30 -109
  147. package/{dist/types → dist-types}/ts3.4/AccessAnalyzerClient.d.ts +32 -105
  148. package/dist-types/ts3.4/commands/ApplyArchiveRuleCommand.d.ts +17 -0
  149. package/{dist/types → dist-types}/ts3.4/commands/CancelPolicyGenerationCommand.d.ts +4 -22
  150. package/dist-types/ts3.4/commands/CreateAccessPreviewCommand.d.ts +17 -0
  151. package/dist-types/ts3.4/commands/CreateAnalyzerCommand.d.ts +17 -0
  152. package/dist-types/ts3.4/commands/CreateArchiveRuleCommand.d.ts +17 -0
  153. package/dist-types/ts3.4/commands/DeleteAnalyzerCommand.d.ts +17 -0
  154. package/dist-types/ts3.4/commands/DeleteArchiveRuleCommand.d.ts +17 -0
  155. package/dist-types/ts3.4/commands/GetAccessPreviewCommand.d.ts +17 -0
  156. package/{dist/types → dist-types}/ts3.4/commands/GetAnalyzedResourceCommand.d.ts +4 -22
  157. package/dist-types/ts3.4/commands/GetAnalyzerCommand.d.ts +17 -0
  158. package/dist-types/ts3.4/commands/GetArchiveRuleCommand.d.ts +17 -0
  159. package/dist-types/ts3.4/commands/GetFindingCommand.d.ts +17 -0
  160. package/dist-types/ts3.4/commands/GetGeneratedPolicyCommand.d.ts +17 -0
  161. package/{dist/types → dist-types}/ts3.4/commands/ListAccessPreviewFindingsCommand.d.ts +4 -23
  162. package/{dist/types → dist-types}/ts3.4/commands/ListAccessPreviewsCommand.d.ts +4 -22
  163. package/dist-types/ts3.4/commands/ListAnalyzedResourcesCommand.d.ts +17 -0
  164. package/dist-types/ts3.4/commands/ListAnalyzersCommand.d.ts +17 -0
  165. package/dist-types/ts3.4/commands/ListArchiveRulesCommand.d.ts +17 -0
  166. package/dist-types/ts3.4/commands/ListFindingsCommand.d.ts +17 -0
  167. package/{dist/types → dist-types}/ts3.4/commands/ListPolicyGenerationsCommand.d.ts +4 -22
  168. package/{dist/types → dist-types}/ts3.4/commands/ListTagsForResourceCommand.d.ts +4 -22
  169. package/{dist/types → dist-types}/ts3.4/commands/StartPolicyGenerationCommand.d.ts +4 -22
  170. package/dist-types/ts3.4/commands/StartResourceScanCommand.d.ts +17 -0
  171. package/dist-types/ts3.4/commands/TagResourceCommand.d.ts +17 -0
  172. package/dist-types/ts3.4/commands/UntagResourceCommand.d.ts +17 -0
  173. package/dist-types/ts3.4/commands/UpdateArchiveRuleCommand.d.ts +17 -0
  174. package/dist-types/ts3.4/commands/UpdateFindingsCommand.d.ts +17 -0
  175. package/dist-types/ts3.4/commands/ValidatePolicyCommand.d.ts +17 -0
  176. package/{dist/types → dist-types}/ts3.4/endpoints.d.ts +0 -0
  177. package/{dist/types → dist-types}/ts3.4/index.d.ts +0 -0
  178. package/{dist/types → dist-types}/ts3.4/models/index.d.ts +0 -0
  179. package/dist-types/ts3.4/models/models_0.d.ts +1610 -0
  180. package/{dist/types → dist-types}/ts3.4/pagination/Interfaces.d.ts +1 -1
  181. package/{dist/types → dist-types}/ts3.4/pagination/ListAccessPreviewFindingsPaginator.d.ts +1 -1
  182. package/{dist/types → dist-types}/ts3.4/pagination/ListAccessPreviewsPaginator.d.ts +1 -1
  183. package/{dist/types → dist-types}/ts3.4/pagination/ListAnalyzedResourcesPaginator.d.ts +1 -1
  184. package/{dist/types → dist-types}/ts3.4/pagination/ListAnalyzersPaginator.d.ts +1 -1
  185. package/{dist/types → dist-types}/ts3.4/pagination/ListArchiveRulesPaginator.d.ts +1 -1
  186. package/{dist/types → dist-types}/ts3.4/pagination/ListFindingsPaginator.d.ts +1 -1
  187. package/{dist/types → dist-types}/ts3.4/pagination/ListPolicyGenerationsPaginator.d.ts +1 -1
  188. package/{dist/types → dist-types}/ts3.4/pagination/ValidatePolicyPaginator.d.ts +1 -1
  189. package/{dist/types → dist-types}/ts3.4/protocols/Aws_restJson1.d.ts +2 -2
  190. package/{dist/types → dist-types}/ts3.4/runtimeConfig.browser.d.ts +1 -3
  191. package/{dist/types → dist-types}/ts3.4/runtimeConfig.d.ts +2 -4
  192. package/{dist/types → dist-types}/ts3.4/runtimeConfig.native.d.ts +1 -3
  193. package/{dist/types → dist-types}/ts3.4/runtimeConfig.shared.d.ts +1 -3
  194. package/package.json +45 -42
  195. package/AccessAnalyzer.ts +0 -1031
  196. package/AccessAnalyzerClient.ts +0 -351
  197. package/commands/ApplyArchiveRuleCommand.ts +0 -95
  198. package/commands/CancelPolicyGenerationCommand.ts +0 -94
  199. package/commands/CreateAccessPreviewCommand.ts +0 -95
  200. package/commands/CreateAnalyzerCommand.ts +0 -94
  201. package/commands/CreateArchiveRuleCommand.ts +0 -96
  202. package/commands/DeleteAnalyzerCommand.ts +0 -96
  203. package/commands/DeleteArchiveRuleCommand.ts +0 -94
  204. package/commands/GetAccessPreviewCommand.ts +0 -94
  205. package/commands/GetAnalyzedResourceCommand.ts +0 -94
  206. package/commands/GetAnalyzerCommand.ts +0 -94
  207. package/commands/GetArchiveRuleCommand.ts +0 -95
  208. package/commands/GetFindingCommand.ts +0 -94
  209. package/commands/GetGeneratedPolicyCommand.ts +0 -95
  210. package/commands/ListAccessPreviewFindingsCommand.ts +0 -98
  211. package/commands/ListAccessPreviewsCommand.ts +0 -94
  212. package/commands/ListAnalyzedResourcesCommand.ts +0 -95
  213. package/commands/ListAnalyzersCommand.ts +0 -94
  214. package/commands/ListArchiveRulesCommand.ts +0 -94
  215. package/commands/ListFindingsCommand.ts +0 -95
  216. package/commands/ListPolicyGenerationsCommand.ts +0 -94
  217. package/commands/ListTagsForResourceCommand.ts +0 -94
  218. package/commands/StartPolicyGenerationCommand.ts +0 -94
  219. package/commands/StartResourceScanCommand.ts +0 -94
  220. package/commands/TagResourceCommand.ts +0 -94
  221. package/commands/UntagResourceCommand.ts +0 -94
  222. package/commands/UpdateArchiveRuleCommand.ts +0 -94
  223. package/commands/UpdateFindingsCommand.ts +0 -94
  224. package/commands/ValidatePolicyCommand.ts +0 -96
  225. package/dist/cjs/AccessAnalyzer.js.map +0 -1
  226. package/dist/cjs/AccessAnalyzerClient.js +0 -52
  227. package/dist/cjs/AccessAnalyzerClient.js.map +0 -1
  228. package/dist/cjs/commands/ApplyArchiveRuleCommand.js.map +0 -1
  229. package/dist/cjs/commands/CancelPolicyGenerationCommand.js.map +0 -1
  230. package/dist/cjs/commands/CreateAccessPreviewCommand.js.map +0 -1
  231. package/dist/cjs/commands/CreateAnalyzerCommand.js.map +0 -1
  232. package/dist/cjs/commands/CreateArchiveRuleCommand.js.map +0 -1
  233. package/dist/cjs/commands/DeleteAnalyzerCommand.js.map +0 -1
  234. package/dist/cjs/commands/DeleteArchiveRuleCommand.js.map +0 -1
  235. package/dist/cjs/commands/GetAccessPreviewCommand.js.map +0 -1
  236. package/dist/cjs/commands/GetAnalyzedResourceCommand.js.map +0 -1
  237. package/dist/cjs/commands/GetAnalyzerCommand.js.map +0 -1
  238. package/dist/cjs/commands/GetArchiveRuleCommand.js.map +0 -1
  239. package/dist/cjs/commands/GetFindingCommand.js.map +0 -1
  240. package/dist/cjs/commands/GetGeneratedPolicyCommand.js.map +0 -1
  241. package/dist/cjs/commands/ListAccessPreviewFindingsCommand.js.map +0 -1
  242. package/dist/cjs/commands/ListAccessPreviewsCommand.js.map +0 -1
  243. package/dist/cjs/commands/ListAnalyzedResourcesCommand.js.map +0 -1
  244. package/dist/cjs/commands/ListAnalyzersCommand.js.map +0 -1
  245. package/dist/cjs/commands/ListArchiveRulesCommand.js.map +0 -1
  246. package/dist/cjs/commands/ListFindingsCommand.js.map +0 -1
  247. package/dist/cjs/commands/ListPolicyGenerationsCommand.js.map +0 -1
  248. package/dist/cjs/commands/ListTagsForResourceCommand.js.map +0 -1
  249. package/dist/cjs/commands/StartPolicyGenerationCommand.js.map +0 -1
  250. package/dist/cjs/commands/StartResourceScanCommand.js.map +0 -1
  251. package/dist/cjs/commands/TagResourceCommand.js.map +0 -1
  252. package/dist/cjs/commands/UntagResourceCommand.js.map +0 -1
  253. package/dist/cjs/commands/UpdateArchiveRuleCommand.js.map +0 -1
  254. package/dist/cjs/commands/UpdateFindingsCommand.js.map +0 -1
  255. package/dist/cjs/commands/ValidatePolicyCommand.js.map +0 -1
  256. package/dist/cjs/endpoints.js.map +0 -1
  257. package/dist/cjs/index.js.map +0 -1
  258. package/dist/cjs/models/index.js.map +0 -1
  259. package/dist/cjs/models/models_0.js.map +0 -1
  260. package/dist/cjs/package.json +0 -93
  261. package/dist/cjs/pagination/Interfaces.js.map +0 -1
  262. package/dist/cjs/pagination/ListAccessPreviewFindingsPaginator.js.map +0 -1
  263. package/dist/cjs/pagination/ListAccessPreviewsPaginator.js.map +0 -1
  264. package/dist/cjs/pagination/ListAnalyzedResourcesPaginator.js.map +0 -1
  265. package/dist/cjs/pagination/ListAnalyzersPaginator.js.map +0 -1
  266. package/dist/cjs/pagination/ListArchiveRulesPaginator.js.map +0 -1
  267. package/dist/cjs/pagination/ListFindingsPaginator.js.map +0 -1
  268. package/dist/cjs/pagination/ListPolicyGenerationsPaginator.js.map +0 -1
  269. package/dist/cjs/pagination/ValidatePolicyPaginator.js.map +0 -1
  270. package/dist/cjs/protocols/Aws_restJson1.js.map +0 -1
  271. package/dist/cjs/runtimeConfig.browser.js.map +0 -1
  272. package/dist/cjs/runtimeConfig.js.map +0 -1
  273. package/dist/cjs/runtimeConfig.native.js.map +0 -1
  274. package/dist/cjs/runtimeConfig.shared.js.map +0 -1
  275. package/dist/es/AccessAnalyzer.js.map +0 -1
  276. package/dist/es/AccessAnalyzerClient.js.map +0 -1
  277. package/dist/es/commands/ApplyArchiveRuleCommand.js.map +0 -1
  278. package/dist/es/commands/CancelPolicyGenerationCommand.js.map +0 -1
  279. package/dist/es/commands/CreateAccessPreviewCommand.js.map +0 -1
  280. package/dist/es/commands/CreateAnalyzerCommand.js.map +0 -1
  281. package/dist/es/commands/CreateArchiveRuleCommand.js.map +0 -1
  282. package/dist/es/commands/DeleteAnalyzerCommand.js.map +0 -1
  283. package/dist/es/commands/DeleteArchiveRuleCommand.js.map +0 -1
  284. package/dist/es/commands/GetAccessPreviewCommand.js.map +0 -1
  285. package/dist/es/commands/GetAnalyzedResourceCommand.js.map +0 -1
  286. package/dist/es/commands/GetAnalyzerCommand.js.map +0 -1
  287. package/dist/es/commands/GetArchiveRuleCommand.js.map +0 -1
  288. package/dist/es/commands/GetFindingCommand.js.map +0 -1
  289. package/dist/es/commands/GetGeneratedPolicyCommand.js.map +0 -1
  290. package/dist/es/commands/ListAccessPreviewFindingsCommand.js.map +0 -1
  291. package/dist/es/commands/ListAccessPreviewsCommand.js.map +0 -1
  292. package/dist/es/commands/ListAnalyzedResourcesCommand.js.map +0 -1
  293. package/dist/es/commands/ListAnalyzersCommand.js.map +0 -1
  294. package/dist/es/commands/ListArchiveRulesCommand.js.map +0 -1
  295. package/dist/es/commands/ListFindingsCommand.js.map +0 -1
  296. package/dist/es/commands/ListPolicyGenerationsCommand.js.map +0 -1
  297. package/dist/es/commands/ListTagsForResourceCommand.js.map +0 -1
  298. package/dist/es/commands/StartPolicyGenerationCommand.js.map +0 -1
  299. package/dist/es/commands/StartResourceScanCommand.js.map +0 -1
  300. package/dist/es/commands/TagResourceCommand.js.map +0 -1
  301. package/dist/es/commands/UntagResourceCommand.js.map +0 -1
  302. package/dist/es/commands/UpdateArchiveRuleCommand.js.map +0 -1
  303. package/dist/es/commands/UpdateFindingsCommand.js.map +0 -1
  304. package/dist/es/commands/ValidatePolicyCommand.js.map +0 -1
  305. package/dist/es/endpoints.js.map +0 -1
  306. package/dist/es/index.js +0 -41
  307. package/dist/es/index.js.map +0 -1
  308. package/dist/es/models/index.js +0 -2
  309. package/dist/es/models/index.js.map +0 -1
  310. package/dist/es/models/models_0.js.map +0 -1
  311. package/dist/es/package.json +0 -93
  312. package/dist/es/pagination/Interfaces.js +0 -2
  313. package/dist/es/pagination/Interfaces.js.map +0 -1
  314. package/dist/es/pagination/ListAccessPreviewFindingsPaginator.js.map +0 -1
  315. package/dist/es/pagination/ListAccessPreviewsPaginator.js.map +0 -1
  316. package/dist/es/pagination/ListAnalyzedResourcesPaginator.js.map +0 -1
  317. package/dist/es/pagination/ListAnalyzersPaginator.js.map +0 -1
  318. package/dist/es/pagination/ListArchiveRulesPaginator.js.map +0 -1
  319. package/dist/es/pagination/ListFindingsPaginator.js.map +0 -1
  320. package/dist/es/pagination/ListPolicyGenerationsPaginator.js.map +0 -1
  321. package/dist/es/pagination/ValidatePolicyPaginator.js.map +0 -1
  322. package/dist/es/protocols/Aws_restJson1.js.map +0 -1
  323. package/dist/es/runtimeConfig.browser.js.map +0 -1
  324. package/dist/es/runtimeConfig.js.map +0 -1
  325. package/dist/es/runtimeConfig.native.js.map +0 -1
  326. package/dist/es/runtimeConfig.shared.js.map +0 -1
  327. package/dist/types/ts3.4/commands/ApplyArchiveRuleCommand.d.ts +0 -36
  328. package/dist/types/ts3.4/commands/CreateAccessPreviewCommand.d.ts +0 -36
  329. package/dist/types/ts3.4/commands/CreateAnalyzerCommand.d.ts +0 -35
  330. package/dist/types/ts3.4/commands/CreateArchiveRuleCommand.d.ts +0 -37
  331. package/dist/types/ts3.4/commands/DeleteAnalyzerCommand.d.ts +0 -37
  332. package/dist/types/ts3.4/commands/DeleteArchiveRuleCommand.d.ts +0 -35
  333. package/dist/types/ts3.4/commands/GetAccessPreviewCommand.d.ts +0 -35
  334. package/dist/types/ts3.4/commands/GetAnalyzerCommand.d.ts +0 -35
  335. package/dist/types/ts3.4/commands/GetArchiveRuleCommand.d.ts +0 -36
  336. package/dist/types/ts3.4/commands/GetFindingCommand.d.ts +0 -35
  337. package/dist/types/ts3.4/commands/GetGeneratedPolicyCommand.d.ts +0 -36
  338. package/dist/types/ts3.4/commands/ListAnalyzedResourcesCommand.d.ts +0 -36
  339. package/dist/types/ts3.4/commands/ListAnalyzersCommand.d.ts +0 -35
  340. package/dist/types/ts3.4/commands/ListArchiveRulesCommand.d.ts +0 -35
  341. package/dist/types/ts3.4/commands/ListFindingsCommand.d.ts +0 -36
  342. package/dist/types/ts3.4/commands/StartResourceScanCommand.d.ts +0 -35
  343. package/dist/types/ts3.4/commands/TagResourceCommand.d.ts +0 -35
  344. package/dist/types/ts3.4/commands/UntagResourceCommand.d.ts +0 -35
  345. package/dist/types/ts3.4/commands/UpdateArchiveRuleCommand.d.ts +0 -35
  346. package/dist/types/ts3.4/commands/UpdateFindingsCommand.d.ts +0 -35
  347. package/dist/types/ts3.4/commands/ValidatePolicyCommand.d.ts +0 -37
  348. package/dist/types/ts3.4/models/models_0.d.ts +0 -2899
  349. package/endpoints.ts +0 -91
  350. package/jest.config.js +0 -4
  351. package/models/models_0.ts +0 -3591
  352. package/pagination/Interfaces.ts +0 -7
  353. package/pagination/ListAccessPreviewFindingsPaginator.ts +0 -58
  354. package/pagination/ListAccessPreviewsPaginator.ts +0 -58
  355. package/pagination/ListAnalyzedResourcesPaginator.ts +0 -58
  356. package/pagination/ListAnalyzersPaginator.ts +0 -58
  357. package/pagination/ListArchiveRulesPaginator.ts +0 -58
  358. package/pagination/ListFindingsPaginator.ts +0 -58
  359. package/pagination/ListPolicyGenerationsPaginator.ts +0 -58
  360. package/pagination/ValidatePolicyPaginator.ts +0 -58
  361. package/protocols/Aws_restJson1.ts +0 -5106
  362. package/runtimeConfig.browser.ts +0 -40
  363. package/runtimeConfig.native.ts +0 -16
  364. package/runtimeConfig.shared.ts +0 -16
  365. package/runtimeConfig.ts +0 -45
  366. package/tsconfig.es.json +0 -10
  367. package/tsconfig.json +0 -31
  368. package/tsconfig.types.json +0 -8
@@ -1,3591 +0,0 @@
1
- import { MetadataBearer as $MetadataBearer, SmithyException as __SmithyException } from "@aws-sdk/types";
2
-
3
- /**
4
- * <p>You do not have sufficient access to perform this action.</p>
5
- */
6
- export interface AccessDeniedException extends __SmithyException, $MetadataBearer {
7
- name: "AccessDeniedException";
8
- $fault: "client";
9
- message: string | undefined;
10
- }
11
-
12
- export namespace AccessDeniedException {
13
- /**
14
- * @internal
15
- */
16
- export const filterSensitiveLog = (obj: AccessDeniedException): any => ({
17
- ...obj,
18
- });
19
- }
20
-
21
- /**
22
- * <p>A conflict exception error.</p>
23
- */
24
- export interface ConflictException extends __SmithyException, $MetadataBearer {
25
- name: "ConflictException";
26
- $fault: "client";
27
- message: string | undefined;
28
- /**
29
- * <p>The ID of the resource.</p>
30
- */
31
- resourceId: string | undefined;
32
-
33
- /**
34
- * <p>The resource type.</p>
35
- */
36
- resourceType: string | undefined;
37
- }
38
-
39
- export namespace ConflictException {
40
- /**
41
- * @internal
42
- */
43
- export const filterSensitiveLog = (obj: ConflictException): any => ({
44
- ...obj,
45
- });
46
- }
47
-
48
- /**
49
- * <p>The criteria to use in the filter that defines the archive rule.</p>
50
- */
51
- export interface Criterion {
52
- /**
53
- * <p>An "equals" operator to match for the filter used to create the rule.</p>
54
- */
55
- eq?: string[];
56
-
57
- /**
58
- * <p>A "not equals" operator to match for the filter used to create the rule.</p>
59
- */
60
- neq?: string[];
61
-
62
- /**
63
- * <p>A "contains" operator to match for the filter used to create the rule.</p>
64
- */
65
- contains?: string[];
66
-
67
- /**
68
- * <p>An "exists" operator to match for the filter used to create the rule. </p>
69
- */
70
- exists?: boolean;
71
- }
72
-
73
- export namespace Criterion {
74
- /**
75
- * @internal
76
- */
77
- export const filterSensitiveLog = (obj: Criterion): any => ({
78
- ...obj,
79
- });
80
- }
81
-
82
- /**
83
- * <p>Creates an archive rule.</p>
84
- */
85
- export interface CreateArchiveRuleRequest {
86
- /**
87
- * <p>The name of the created analyzer.</p>
88
- */
89
- analyzerName: string | undefined;
90
-
91
- /**
92
- * <p>The name of the rule to create.</p>
93
- */
94
- ruleName: string | undefined;
95
-
96
- /**
97
- * <p>The criteria for the rule.</p>
98
- */
99
- filter: { [key: string]: Criterion } | undefined;
100
-
101
- /**
102
- * <p>A client token.</p>
103
- */
104
- clientToken?: string;
105
- }
106
-
107
- export namespace CreateArchiveRuleRequest {
108
- /**
109
- * @internal
110
- */
111
- export const filterSensitiveLog = (obj: CreateArchiveRuleRequest): any => ({
112
- ...obj,
113
- });
114
- }
115
-
116
- /**
117
- * <p>Internal server error.</p>
118
- */
119
- export interface InternalServerException extends __SmithyException, $MetadataBearer {
120
- name: "InternalServerException";
121
- $fault: "server";
122
- $retryable: {};
123
- message: string | undefined;
124
- /**
125
- * <p>The seconds to wait to retry.</p>
126
- */
127
- retryAfterSeconds?: number;
128
- }
129
-
130
- export namespace InternalServerException {
131
- /**
132
- * @internal
133
- */
134
- export const filterSensitiveLog = (obj: InternalServerException): any => ({
135
- ...obj,
136
- });
137
- }
138
-
139
- /**
140
- * <p>The specified resource could not be found.</p>
141
- */
142
- export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer {
143
- name: "ResourceNotFoundException";
144
- $fault: "client";
145
- message: string | undefined;
146
- /**
147
- * <p>The ID of the resource.</p>
148
- */
149
- resourceId: string | undefined;
150
-
151
- /**
152
- * <p>The type of the resource.</p>
153
- */
154
- resourceType: string | undefined;
155
- }
156
-
157
- export namespace ResourceNotFoundException {
158
- /**
159
- * @internal
160
- */
161
- export const filterSensitiveLog = (obj: ResourceNotFoundException): any => ({
162
- ...obj,
163
- });
164
- }
165
-
166
- /**
167
- * <p>Service quote met error.</p>
168
- */
169
- export interface ServiceQuotaExceededException extends __SmithyException, $MetadataBearer {
170
- name: "ServiceQuotaExceededException";
171
- $fault: "client";
172
- message: string | undefined;
173
- /**
174
- * <p>The resource ID.</p>
175
- */
176
- resourceId: string | undefined;
177
-
178
- /**
179
- * <p>The resource type.</p>
180
- */
181
- resourceType: string | undefined;
182
- }
183
-
184
- export namespace ServiceQuotaExceededException {
185
- /**
186
- * @internal
187
- */
188
- export const filterSensitiveLog = (obj: ServiceQuotaExceededException): any => ({
189
- ...obj,
190
- });
191
- }
192
-
193
- /**
194
- * <p>Throttling limit exceeded error.</p>
195
- */
196
- export interface ThrottlingException extends __SmithyException, $MetadataBearer {
197
- name: "ThrottlingException";
198
- $fault: "client";
199
- $retryable: {
200
- throttling: true;
201
- };
202
- message: string | undefined;
203
- /**
204
- * <p>The seconds to wait to retry.</p>
205
- */
206
- retryAfterSeconds?: number;
207
- }
208
-
209
- export namespace ThrottlingException {
210
- /**
211
- * @internal
212
- */
213
- export const filterSensitiveLog = (obj: ThrottlingException): any => ({
214
- ...obj,
215
- });
216
- }
217
-
218
- /**
219
- * <p>Contains information about a validation exception.</p>
220
- */
221
- export interface ValidationExceptionField {
222
- /**
223
- * <p>The name of the validation exception.</p>
224
- */
225
- name: string | undefined;
226
-
227
- /**
228
- * <p>A message about the validation exception.</p>
229
- */
230
- message: string | undefined;
231
- }
232
-
233
- export namespace ValidationExceptionField {
234
- /**
235
- * @internal
236
- */
237
- export const filterSensitiveLog = (obj: ValidationExceptionField): any => ({
238
- ...obj,
239
- });
240
- }
241
-
242
- export enum ValidationExceptionReason {
243
- CANNOT_PARSE = "cannotParse",
244
- FIELD_VALIDATION_FAILED = "fieldValidationFailed",
245
- OTHER = "other",
246
- UNKNOWN_OPERATION = "unknownOperation",
247
- }
248
-
249
- /**
250
- * <p>Validation exception error.</p>
251
- */
252
- export interface ValidationException extends __SmithyException, $MetadataBearer {
253
- name: "ValidationException";
254
- $fault: "client";
255
- message: string | undefined;
256
- /**
257
- * <p>The reason for the exception.</p>
258
- */
259
- reason: ValidationExceptionReason | string | undefined;
260
-
261
- /**
262
- * <p>A list of fields that didn't validate.</p>
263
- */
264
- fieldList?: ValidationExceptionField[];
265
- }
266
-
267
- export namespace ValidationException {
268
- /**
269
- * @internal
270
- */
271
- export const filterSensitiveLog = (obj: ValidationException): any => ({
272
- ...obj,
273
- });
274
- }
275
-
276
- /**
277
- * <p>Deletes an archive rule.</p>
278
- */
279
- export interface DeleteArchiveRuleRequest {
280
- /**
281
- * <p>The name of the analyzer that associated with the archive rule to delete.</p>
282
- */
283
- analyzerName: string | undefined;
284
-
285
- /**
286
- * <p>The name of the rule to delete.</p>
287
- */
288
- ruleName: string | undefined;
289
-
290
- /**
291
- * <p>A client token.</p>
292
- */
293
- clientToken?: string;
294
- }
295
-
296
- export namespace DeleteArchiveRuleRequest {
297
- /**
298
- * @internal
299
- */
300
- export const filterSensitiveLog = (obj: DeleteArchiveRuleRequest): any => ({
301
- ...obj,
302
- });
303
- }
304
-
305
- /**
306
- * <p>Retrieves an archive rule.</p>
307
- */
308
- export interface GetArchiveRuleRequest {
309
- /**
310
- * <p>The name of the analyzer to retrieve rules from.</p>
311
- */
312
- analyzerName: string | undefined;
313
-
314
- /**
315
- * <p>The name of the rule to retrieve.</p>
316
- */
317
- ruleName: string | undefined;
318
- }
319
-
320
- export namespace GetArchiveRuleRequest {
321
- /**
322
- * @internal
323
- */
324
- export const filterSensitiveLog = (obj: GetArchiveRuleRequest): any => ({
325
- ...obj,
326
- });
327
- }
328
-
329
- /**
330
- * <p>Contains information about an archive rule.</p>
331
- */
332
- export interface ArchiveRuleSummary {
333
- /**
334
- * <p>The name of the archive rule.</p>
335
- */
336
- ruleName: string | undefined;
337
-
338
- /**
339
- * <p>A filter used to define the archive rule.</p>
340
- */
341
- filter: { [key: string]: Criterion } | undefined;
342
-
343
- /**
344
- * <p>The time at which the archive rule was created.</p>
345
- */
346
- createdAt: Date | undefined;
347
-
348
- /**
349
- * <p>The time at which the archive rule was last updated.</p>
350
- */
351
- updatedAt: Date | undefined;
352
- }
353
-
354
- export namespace ArchiveRuleSummary {
355
- /**
356
- * @internal
357
- */
358
- export const filterSensitiveLog = (obj: ArchiveRuleSummary): any => ({
359
- ...obj,
360
- });
361
- }
362
-
363
- /**
364
- * <p>The response to the request.</p>
365
- */
366
- export interface GetArchiveRuleResponse {
367
- /**
368
- * <p>Contains information about an archive rule.</p>
369
- */
370
- archiveRule: ArchiveRuleSummary | undefined;
371
- }
372
-
373
- export namespace GetArchiveRuleResponse {
374
- /**
375
- * @internal
376
- */
377
- export const filterSensitiveLog = (obj: GetArchiveRuleResponse): any => ({
378
- ...obj,
379
- });
380
- }
381
-
382
- /**
383
- * <p>Retrieves a list of archive rules created for the specified analyzer.</p>
384
- */
385
- export interface ListArchiveRulesRequest {
386
- /**
387
- * <p>The name of the analyzer to retrieve rules from.</p>
388
- */
389
- analyzerName: string | undefined;
390
-
391
- /**
392
- * <p>A token used for pagination of results returned.</p>
393
- */
394
- nextToken?: string;
395
-
396
- /**
397
- * <p>The maximum number of results to return in the request.</p>
398
- */
399
- maxResults?: number;
400
- }
401
-
402
- export namespace ListArchiveRulesRequest {
403
- /**
404
- * @internal
405
- */
406
- export const filterSensitiveLog = (obj: ListArchiveRulesRequest): any => ({
407
- ...obj,
408
- });
409
- }
410
-
411
- /**
412
- * <p>The response to the request.</p>
413
- */
414
- export interface ListArchiveRulesResponse {
415
- /**
416
- * <p>A list of archive rules created for the specified analyzer.</p>
417
- */
418
- archiveRules: ArchiveRuleSummary[] | undefined;
419
-
420
- /**
421
- * <p>A token used for pagination of results returned.</p>
422
- */
423
- nextToken?: string;
424
- }
425
-
426
- export namespace ListArchiveRulesResponse {
427
- /**
428
- * @internal
429
- */
430
- export const filterSensitiveLog = (obj: ListArchiveRulesResponse): any => ({
431
- ...obj,
432
- });
433
- }
434
-
435
- /**
436
- * <p>Updates the specified archive rule.</p>
437
- */
438
- export interface UpdateArchiveRuleRequest {
439
- /**
440
- * <p>The name of the analyzer to update the archive rules for.</p>
441
- */
442
- analyzerName: string | undefined;
443
-
444
- /**
445
- * <p>The name of the rule to update.</p>
446
- */
447
- ruleName: string | undefined;
448
-
449
- /**
450
- * <p>A filter to match for the rules to update. Only rules that match the filter are
451
- * updated.</p>
452
- */
453
- filter: { [key: string]: Criterion } | undefined;
454
-
455
- /**
456
- * <p>A client token.</p>
457
- */
458
- clientToken?: string;
459
- }
460
-
461
- export namespace UpdateArchiveRuleRequest {
462
- /**
463
- * @internal
464
- */
465
- export const filterSensitiveLog = (obj: UpdateArchiveRuleRequest): any => ({
466
- ...obj,
467
- });
468
- }
469
-
470
- /**
471
- * <p>An criterion statement in an archive rule. Each archive rule may have multiple
472
- * criteria.</p>
473
- */
474
- export interface InlineArchiveRule {
475
- /**
476
- * <p>The name of the rule.</p>
477
- */
478
- ruleName: string | undefined;
479
-
480
- /**
481
- * <p>The condition and values for a criterion.</p>
482
- */
483
- filter: { [key: string]: Criterion } | undefined;
484
- }
485
-
486
- export namespace InlineArchiveRule {
487
- /**
488
- * @internal
489
- */
490
- export const filterSensitiveLog = (obj: InlineArchiveRule): any => ({
491
- ...obj,
492
- });
493
- }
494
-
495
- export type Type = "ACCOUNT" | "ORGANIZATION";
496
-
497
- /**
498
- * <p>Creates an analyzer.</p>
499
- */
500
- export interface CreateAnalyzerRequest {
501
- /**
502
- * <p>The name of the analyzer to create.</p>
503
- */
504
- analyzerName: string | undefined;
505
-
506
- /**
507
- * <p>The type of analyzer to create. Only ACCOUNT and ORGANIZATION analyzers are supported.
508
- * You can create only one analyzer per account per Region. You can create up to 5 analyzers
509
- * per organization per Region.</p>
510
- */
511
- type: Type | string | undefined;
512
-
513
- /**
514
- * <p>Specifies the archive rules to add for the analyzer. Archive rules automatically archive
515
- * findings that meet the criteria you define for the rule.</p>
516
- */
517
- archiveRules?: InlineArchiveRule[];
518
-
519
- /**
520
- * <p>The tags to apply to the analyzer.</p>
521
- */
522
- tags?: { [key: string]: string };
523
-
524
- /**
525
- * <p>A client token.</p>
526
- */
527
- clientToken?: string;
528
- }
529
-
530
- export namespace CreateAnalyzerRequest {
531
- /**
532
- * @internal
533
- */
534
- export const filterSensitiveLog = (obj: CreateAnalyzerRequest): any => ({
535
- ...obj,
536
- });
537
- }
538
-
539
- /**
540
- * <p>The response to the request to create an analyzer.</p>
541
- */
542
- export interface CreateAnalyzerResponse {
543
- /**
544
- * <p>The ARN of the analyzer that was created by the request.</p>
545
- */
546
- arn?: string;
547
- }
548
-
549
- export namespace CreateAnalyzerResponse {
550
- /**
551
- * @internal
552
- */
553
- export const filterSensitiveLog = (obj: CreateAnalyzerResponse): any => ({
554
- ...obj,
555
- });
556
- }
557
-
558
- /**
559
- * <p>Deletes an analyzer.</p>
560
- */
561
- export interface DeleteAnalyzerRequest {
562
- /**
563
- * <p>The name of the analyzer to delete.</p>
564
- */
565
- analyzerName: string | undefined;
566
-
567
- /**
568
- * <p>A client token.</p>
569
- */
570
- clientToken?: string;
571
- }
572
-
573
- export namespace DeleteAnalyzerRequest {
574
- /**
575
- * @internal
576
- */
577
- export const filterSensitiveLog = (obj: DeleteAnalyzerRequest): any => ({
578
- ...obj,
579
- });
580
- }
581
-
582
- /**
583
- * <p>Retrieves an analyzer.</p>
584
- */
585
- export interface GetAnalyzerRequest {
586
- /**
587
- * <p>The name of the analyzer retrieved.</p>
588
- */
589
- analyzerName: string | undefined;
590
- }
591
-
592
- export namespace GetAnalyzerRequest {
593
- /**
594
- * @internal
595
- */
596
- export const filterSensitiveLog = (obj: GetAnalyzerRequest): any => ({
597
- ...obj,
598
- });
599
- }
600
-
601
- export type AnalyzerStatus = "ACTIVE" | "CREATING" | "DISABLED" | "FAILED";
602
-
603
- export type ReasonCode =
604
- | "AWS_SERVICE_ACCESS_DISABLED"
605
- | "DELEGATED_ADMINISTRATOR_DEREGISTERED"
606
- | "ORGANIZATION_DELETED"
607
- | "SERVICE_LINKED_ROLE_CREATION_FAILED";
608
-
609
- /**
610
- * <p>Provides more details about the current status of the analyzer. For example, if the
611
- * creation for the analyzer fails, a <code>Failed</code> status is returned. For an analyzer
612
- * with organization as the type, this failure can be due to an issue with creating the
613
- * service-linked roles required in the member accounts of the Amazon Web Services organization.</p>
614
- */
615
- export interface StatusReason {
616
- /**
617
- * <p>The reason code for the current status of the analyzer.</p>
618
- */
619
- code: ReasonCode | string | undefined;
620
- }
621
-
622
- export namespace StatusReason {
623
- /**
624
- * @internal
625
- */
626
- export const filterSensitiveLog = (obj: StatusReason): any => ({
627
- ...obj,
628
- });
629
- }
630
-
631
- /**
632
- * <p>Contains information about the analyzer.</p>
633
- */
634
- export interface AnalyzerSummary {
635
- /**
636
- * <p>The ARN of the analyzer.</p>
637
- */
638
- arn: string | undefined;
639
-
640
- /**
641
- * <p>The name of the analyzer.</p>
642
- */
643
- name: string | undefined;
644
-
645
- /**
646
- * <p>The type of analyzer, which corresponds to the zone of trust chosen for the
647
- * analyzer.</p>
648
- */
649
- type: Type | string | undefined;
650
-
651
- /**
652
- * <p>A timestamp for the time at which the analyzer was created.</p>
653
- */
654
- createdAt: Date | undefined;
655
-
656
- /**
657
- * <p>The resource that was most recently analyzed by the analyzer.</p>
658
- */
659
- lastResourceAnalyzed?: string;
660
-
661
- /**
662
- * <p>The time at which the most recently analyzed resource was analyzed.</p>
663
- */
664
- lastResourceAnalyzedAt?: Date;
665
-
666
- /**
667
- * <p>The tags added to the analyzer.</p>
668
- */
669
- tags?: { [key: string]: string };
670
-
671
- /**
672
- * <p>The status of the analyzer. An <code>Active</code> analyzer successfully monitors
673
- * supported resources and generates new findings. The analyzer is <code>Disabled</code> when
674
- * a user action, such as removing trusted access for Identity and Access Management Access Analyzer from Organizations, causes
675
- * the analyzer to stop generating new findings. The status is <code>Creating</code> when the
676
- * analyzer creation is in progress and <code>Failed</code> when the analyzer creation has
677
- * failed. </p>
678
- */
679
- status: AnalyzerStatus | string | undefined;
680
-
681
- /**
682
- * <p>The <code>statusReason</code> provides more details about the current status of the
683
- * analyzer. For example, if the creation for the analyzer fails, a <code>Failed</code> status
684
- * is returned. For an analyzer with organization as the type, this failure can be due to an
685
- * issue with creating the service-linked roles required in the member accounts of the Amazon Web Services
686
- * organization.</p>
687
- */
688
- statusReason?: StatusReason;
689
- }
690
-
691
- export namespace AnalyzerSummary {
692
- /**
693
- * @internal
694
- */
695
- export const filterSensitiveLog = (obj: AnalyzerSummary): any => ({
696
- ...obj,
697
- });
698
- }
699
-
700
- /**
701
- * <p>The response to the request.</p>
702
- */
703
- export interface GetAnalyzerResponse {
704
- /**
705
- * <p>An <code>AnalyzerSummary</code> object that contains information about the
706
- * analyzer.</p>
707
- */
708
- analyzer: AnalyzerSummary | undefined;
709
- }
710
-
711
- export namespace GetAnalyzerResponse {
712
- /**
713
- * @internal
714
- */
715
- export const filterSensitiveLog = (obj: GetAnalyzerResponse): any => ({
716
- ...obj,
717
- });
718
- }
719
-
720
- /**
721
- * <p>Retrieves a list of analyzers.</p>
722
- */
723
- export interface ListAnalyzersRequest {
724
- /**
725
- * <p>A token used for pagination of results returned.</p>
726
- */
727
- nextToken?: string;
728
-
729
- /**
730
- * <p>The maximum number of results to return in the response.</p>
731
- */
732
- maxResults?: number;
733
-
734
- /**
735
- * <p>The type of analyzer.</p>
736
- */
737
- type?: Type | string;
738
- }
739
-
740
- export namespace ListAnalyzersRequest {
741
- /**
742
- * @internal
743
- */
744
- export const filterSensitiveLog = (obj: ListAnalyzersRequest): any => ({
745
- ...obj,
746
- });
747
- }
748
-
749
- /**
750
- * <p>The response to the request.</p>
751
- */
752
- export interface ListAnalyzersResponse {
753
- /**
754
- * <p>The analyzers retrieved.</p>
755
- */
756
- analyzers: AnalyzerSummary[] | undefined;
757
-
758
- /**
759
- * <p>A token used for pagination of results returned.</p>
760
- */
761
- nextToken?: string;
762
- }
763
-
764
- export namespace ListAnalyzersResponse {
765
- /**
766
- * @internal
767
- */
768
- export const filterSensitiveLog = (obj: ListAnalyzersResponse): any => ({
769
- ...obj,
770
- });
771
- }
772
-
773
- /**
774
- * <p>Retroactively applies an archive rule.</p>
775
- */
776
- export interface ApplyArchiveRuleRequest {
777
- /**
778
- * <p>The Amazon resource name (ARN) of the analyzer.</p>
779
- */
780
- analyzerArn: string | undefined;
781
-
782
- /**
783
- * <p>The name of the rule to apply.</p>
784
- */
785
- ruleName: string | undefined;
786
-
787
- /**
788
- * <p>A client token.</p>
789
- */
790
- clientToken?: string;
791
- }
792
-
793
- export namespace ApplyArchiveRuleRequest {
794
- /**
795
- * @internal
796
- */
797
- export const filterSensitiveLog = (obj: ApplyArchiveRuleRequest): any => ({
798
- ...obj,
799
- });
800
- }
801
-
802
- export interface CancelPolicyGenerationRequest {
803
- /**
804
- * <p>The <code>JobId</code> that is returned by the <code>StartPolicyGeneration</code>
805
- * operation. The <code>JobId</code> can be used with <code>GetGeneratedPolicy</code> to
806
- * retrieve the generated policies or used with <code>CancelPolicyGeneration</code> to cancel
807
- * the policy generation request.</p>
808
- */
809
- jobId: string | undefined;
810
- }
811
-
812
- export namespace CancelPolicyGenerationRequest {
813
- /**
814
- * @internal
815
- */
816
- export const filterSensitiveLog = (obj: CancelPolicyGenerationRequest): any => ({
817
- ...obj,
818
- });
819
- }
820
-
821
- export interface CancelPolicyGenerationResponse {}
822
-
823
- export namespace CancelPolicyGenerationResponse {
824
- /**
825
- * @internal
826
- */
827
- export const filterSensitiveLog = (obj: CancelPolicyGenerationResponse): any => ({
828
- ...obj,
829
- });
830
- }
831
-
832
- /**
833
- * <p>The proposed access control configuration for an IAM role. You can propose a
834
- * configuration for a new IAM role or an existing IAM role that you own by specifying the
835
- * trust policy. If the configuration is for a new IAM role, you must specify the trust
836
- * policy. If the configuration is for an existing IAM role that you own and you do not
837
- * propose the trust policy, the access preview uses the existing trust policy for the role.
838
- * The proposed trust policy cannot be an empty string. For more information about role trust
839
- * policy limits, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html">IAM and STS
840
- * quotas</a>.</p>
841
- */
842
- export interface IamRoleConfiguration {
843
- /**
844
- * <p>The proposed trust policy for the IAM role.</p>
845
- */
846
- trustPolicy?: string;
847
- }
848
-
849
- export namespace IamRoleConfiguration {
850
- /**
851
- * @internal
852
- */
853
- export const filterSensitiveLog = (obj: IamRoleConfiguration): any => ({
854
- ...obj,
855
- });
856
- }
857
-
858
- /**
859
- * <p>Use this structure to propose allowing <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations">cryptographic
860
- * operations</a> in the grant only when the operation request includes the specified
861
- * <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context">encryption
862
- * context</a>. You can specify only one type of encryption context. An empty map is
863
- * treated as not specified. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/APIReference/API_GrantConstraints.html">GrantConstraints</a>.</p>
864
- */
865
- export interface KmsGrantConstraints {
866
- /**
867
- * <p>A list of key-value pairs that must match the encryption context in the <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations">cryptographic
868
- * operation</a> request. The grant allows the operation only when the encryption
869
- * context in the request is the same as the encryption context specified in this
870
- * constraint.</p>
871
- */
872
- encryptionContextEquals?: { [key: string]: string };
873
-
874
- /**
875
- * <p>A list of key-value pairs that must be included in the encryption context of the <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations">cryptographic
876
- * operation</a> request. The grant allows the cryptographic operation only when the
877
- * encryption context in the request includes the key-value pairs specified in this
878
- * constraint, although it can include additional key-value pairs.</p>
879
- */
880
- encryptionContextSubset?: { [key: string]: string };
881
- }
882
-
883
- export namespace KmsGrantConstraints {
884
- /**
885
- * @internal
886
- */
887
- export const filterSensitiveLog = (obj: KmsGrantConstraints): any => ({
888
- ...obj,
889
- });
890
- }
891
-
892
- export enum KmsGrantOperation {
893
- CREATE_GRANT = "CreateGrant",
894
- DECRYPT = "Decrypt",
895
- DESCRIBE_KEY = "DescribeKey",
896
- ENCRYPT = "Encrypt",
897
- GENERATE_DATA_KEY = "GenerateDataKey",
898
- GENERATE_DATA_KEY_PAIR = "GenerateDataKeyPair",
899
- GENERATE_DATA_KEY_PAIR_WITHOUT_PLAINTEXT = "GenerateDataKeyPairWithoutPlaintext",
900
- GENERATE_DATA_KEY_WITHOUT_PLAINTEXT = "GenerateDataKeyWithoutPlaintext",
901
- GET_PUBLIC_KEY = "GetPublicKey",
902
- REENCRYPT_FROM = "ReEncryptFrom",
903
- REENCRYPT_TO = "ReEncryptTo",
904
- RETIRE_GRANT = "RetireGrant",
905
- SIGN = "Sign",
906
- VERIFY = "Verify",
907
- }
908
-
909
- /**
910
- * <p>A proposed grant configuration for a KMS key. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html">CreateGrant</a>.</p>
911
- */
912
- export interface KmsGrantConfiguration {
913
- /**
914
- * <p>A list of operations that the grant permits.</p>
915
- */
916
- operations: (KmsGrantOperation | string)[] | undefined;
917
-
918
- /**
919
- * <p>The principal that is given permission to perform the operations that the grant
920
- * permits.</p>
921
- */
922
- granteePrincipal: string | undefined;
923
-
924
- /**
925
- * <p>The principal that is given permission to retire the grant by using <a href="https://docs.aws.amazon.com/kms/latest/APIReference/API_RetireGrant.html">RetireGrant</a> operation.</p>
926
- */
927
- retiringPrincipal?: string;
928
-
929
- /**
930
- * <p>Use this structure to propose allowing <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations">cryptographic
931
- * operations</a> in the grant only when the operation request includes the specified
932
- * <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context">encryption
933
- * context</a>.</p>
934
- */
935
- constraints?: KmsGrantConstraints;
936
-
937
- /**
938
- * <p> The Amazon Web Services account under which the grant was issued. The account is used to propose
939
- * KMS grants issued by accounts other than the owner of the key.</p>
940
- */
941
- issuingAccount: string | undefined;
942
- }
943
-
944
- export namespace KmsGrantConfiguration {
945
- /**
946
- * @internal
947
- */
948
- export const filterSensitiveLog = (obj: KmsGrantConfiguration): any => ({
949
- ...obj,
950
- });
951
- }
952
-
953
- /**
954
- * <p>Proposed access control configuration for a KMS key. You can propose a configuration
955
- * for a new KMS key or an existing KMS key that you own by specifying the key policy and
956
- * KMS grant configuration. If the configuration is for an existing key and you do not
957
- * specify the key policy, the access preview uses the existing policy for the key. If the
958
- * access preview is for a new resource and you do not specify the key policy, then the access
959
- * preview uses the default key policy. The proposed key policy cannot be an empty string. For
960
- * more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default">Default key
961
- * policy</a>. For more information about key policy limits, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/resource-limits.html">Resource
962
- * quotas</a>.</p>
963
- * <p/>
964
- */
965
- export interface KmsKeyConfiguration {
966
- /**
967
- * <p>Resource policy configuration for the KMS key. The only valid value for the name of
968
- * the key policy is <code>default</code>. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default">Default key
969
- * policy</a>.</p>
970
- */
971
- keyPolicies?: { [key: string]: string };
972
-
973
- /**
974
- * <p>A list of proposed grant configurations for the KMS key. If the proposed grant
975
- * configuration is for an existing key, the access preview uses the proposed list of grant
976
- * configurations in place of the existing grants. Otherwise, the access preview uses the
977
- * existing grants for the key.</p>
978
- */
979
- grants?: KmsGrantConfiguration[];
980
- }
981
-
982
- export namespace KmsKeyConfiguration {
983
- /**
984
- * @internal
985
- */
986
- export const filterSensitiveLog = (obj: KmsKeyConfiguration): any => ({
987
- ...obj,
988
- });
989
- }
990
-
991
- /**
992
- * <p>This configuration sets the network origin for the Amazon S3 access point or multi-region
993
- * access point to <code>Internet</code>.</p>
994
- */
995
- export interface InternetConfiguration {}
996
-
997
- export namespace InternetConfiguration {
998
- /**
999
- * @internal
1000
- */
1001
- export const filterSensitiveLog = (obj: InternetConfiguration): any => ({
1002
- ...obj,
1003
- });
1004
- }
1005
-
1006
- /**
1007
- * <p>The proposed virtual private cloud (VPC) configuration for the Amazon S3 access point. VPC
1008
- * configuration does not apply to multi-region access points. For more information, see
1009
- * <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_VpcConfiguration.html">VpcConfiguration</a>. </p>
1010
- */
1011
- export interface VpcConfiguration {
1012
- /**
1013
- * <p> If this field is specified, this access point will only allow connections from the
1014
- * specified VPC ID. </p>
1015
- */
1016
- vpcId: string | undefined;
1017
- }
1018
-
1019
- export namespace VpcConfiguration {
1020
- /**
1021
- * @internal
1022
- */
1023
- export const filterSensitiveLog = (obj: VpcConfiguration): any => ({
1024
- ...obj,
1025
- });
1026
- }
1027
-
1028
- /**
1029
- * <p>The proposed <code>InternetConfiguration</code> or <code>VpcConfiguration</code> to
1030
- * apply to the Amazon S3 access point. <code>VpcConfiguration</code> does not apply to
1031
- * multi-region access points. You can make the access point accessible from the internet, or
1032
- * you can specify that all requests made through that access point must originate from a
1033
- * specific virtual private cloud (VPC). You can specify only one type of network
1034
- * configuration. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/creating-access-points.html">Creating access
1035
- * points</a>.</p>
1036
- */
1037
- export type NetworkOriginConfiguration =
1038
- | NetworkOriginConfiguration.InternetConfigurationMember
1039
- | NetworkOriginConfiguration.VpcConfigurationMember
1040
- | NetworkOriginConfiguration.$UnknownMember;
1041
-
1042
- export namespace NetworkOriginConfiguration {
1043
- /**
1044
- * <p>The proposed virtual private cloud (VPC) configuration for the Amazon S3 access point. VPC
1045
- * configuration does not apply to multi-region access points. For more information, see
1046
- * <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_VpcConfiguration.html">VpcConfiguration</a>. </p>
1047
- */
1048
- export interface VpcConfigurationMember {
1049
- vpcConfiguration: VpcConfiguration;
1050
- internetConfiguration?: never;
1051
- $unknown?: never;
1052
- }
1053
-
1054
- /**
1055
- * <p>The configuration for the Amazon S3 access point or multi-region access point with an
1056
- * <code>Internet</code> origin.</p>
1057
- */
1058
- export interface InternetConfigurationMember {
1059
- vpcConfiguration?: never;
1060
- internetConfiguration: InternetConfiguration;
1061
- $unknown?: never;
1062
- }
1063
-
1064
- export interface $UnknownMember {
1065
- vpcConfiguration?: never;
1066
- internetConfiguration?: never;
1067
- $unknown: [string, any];
1068
- }
1069
-
1070
- export interface Visitor<T> {
1071
- vpcConfiguration: (value: VpcConfiguration) => T;
1072
- internetConfiguration: (value: InternetConfiguration) => T;
1073
- _: (name: string, value: any) => T;
1074
- }
1075
-
1076
- export const visit = <T>(value: NetworkOriginConfiguration, visitor: Visitor<T>): T => {
1077
- if (value.vpcConfiguration !== undefined) return visitor.vpcConfiguration(value.vpcConfiguration);
1078
- if (value.internetConfiguration !== undefined) return visitor.internetConfiguration(value.internetConfiguration);
1079
- return visitor._(value.$unknown[0], value.$unknown[1]);
1080
- };
1081
-
1082
- /**
1083
- * @internal
1084
- */
1085
- export const filterSensitiveLog = (obj: NetworkOriginConfiguration): any => {
1086
- if (obj.vpcConfiguration !== undefined)
1087
- return { vpcConfiguration: VpcConfiguration.filterSensitiveLog(obj.vpcConfiguration) };
1088
- if (obj.internetConfiguration !== undefined)
1089
- return { internetConfiguration: InternetConfiguration.filterSensitiveLog(obj.internetConfiguration) };
1090
- if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" };
1091
- };
1092
- }
1093
-
1094
- /**
1095
- * <p>The <code>PublicAccessBlock</code> configuration to apply to this Amazon S3 bucket. If the
1096
- * proposed configuration is for an existing Amazon S3 bucket and the configuration is not
1097
- * specified, the access preview uses the existing setting. If the proposed configuration is
1098
- * for a new bucket and the configuration is not specified, the access preview uses
1099
- * <code>false</code>. If the proposed configuration is for a new access point or
1100
- * multi-region access point and the access point BPA configuration is not specified, the
1101
- * access preview uses <code>true</code>. For more information, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-publicaccessblockconfiguration.html">PublicAccessBlockConfiguration</a>. </p>
1102
- */
1103
- export interface S3PublicAccessBlockConfiguration {
1104
- /**
1105
- * <p> Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this
1106
- * bucket. </p>
1107
- */
1108
- ignorePublicAcls: boolean | undefined;
1109
-
1110
- /**
1111
- * <p> Specifies whether Amazon S3 should restrict public bucket policies for this bucket. </p>
1112
- */
1113
- restrictPublicBuckets: boolean | undefined;
1114
- }
1115
-
1116
- export namespace S3PublicAccessBlockConfiguration {
1117
- /**
1118
- * @internal
1119
- */
1120
- export const filterSensitiveLog = (obj: S3PublicAccessBlockConfiguration): any => ({
1121
- ...obj,
1122
- });
1123
- }
1124
-
1125
- /**
1126
- * <p>The configuration for an Amazon S3 access point or multi-region access point for the bucket.
1127
- * You can propose up to 10 access points or multi-region access points per bucket. If the
1128
- * proposed Amazon S3 access point configuration is for an existing bucket, the access preview uses
1129
- * the proposed access point configuration in place of the existing access points. To propose
1130
- * an access point without a policy, you can provide an empty string as the access point
1131
- * policy. For more information, see <a href="https://docs.aws.amazon.com/https:/docs.aws.amazon.com/AmazonS3/latest/dev/creating-access-points.html">Creating access points</a>. For more information about access point policy limits,
1132
- * see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-points-restrictions-limitations.html">Access points
1133
- * restrictions and limitations</a>.</p>
1134
- */
1135
- export interface S3AccessPointConfiguration {
1136
- /**
1137
- * <p>The access point or multi-region access point policy.</p>
1138
- */
1139
- accessPointPolicy?: string;
1140
-
1141
- /**
1142
- * <p>The proposed <code>S3PublicAccessBlock</code> configuration to apply to this Amazon S3 access
1143
- * point or multi-region access point.</p>
1144
- */
1145
- publicAccessBlock?: S3PublicAccessBlockConfiguration;
1146
-
1147
- /**
1148
- * <p>The proposed <code>Internet</code> and <code>VpcConfiguration</code> to apply to this
1149
- * Amazon S3 access point. <code>VpcConfiguration</code> does not apply to multi-region access
1150
- * points. If the access preview is for a new resource and neither is specified, the access
1151
- * preview uses <code>Internet</code> for the network origin. If the access preview is for an
1152
- * existing resource and neither is specified, the access preview uses the exiting network
1153
- * origin.</p>
1154
- */
1155
- networkOrigin?: NetworkOriginConfiguration;
1156
- }
1157
-
1158
- export namespace S3AccessPointConfiguration {
1159
- /**
1160
- * @internal
1161
- */
1162
- export const filterSensitiveLog = (obj: S3AccessPointConfiguration): any => ({
1163
- ...obj,
1164
- ...(obj.networkOrigin && { networkOrigin: NetworkOriginConfiguration.filterSensitiveLog(obj.networkOrigin) }),
1165
- });
1166
- }
1167
-
1168
- /**
1169
- * <p>You specify each grantee as a type-value pair using one of these types. You can specify
1170
- * only one type of grantee. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAcl.html">PutBucketAcl</a>.</p>
1171
- */
1172
- export type AclGrantee = AclGrantee.IdMember | AclGrantee.UriMember | AclGrantee.$UnknownMember;
1173
-
1174
- export namespace AclGrantee {
1175
- /**
1176
- * <p>The value specified is the canonical user ID of an Amazon Web Services account.</p>
1177
- */
1178
- export interface IdMember {
1179
- id: string;
1180
- uri?: never;
1181
- $unknown?: never;
1182
- }
1183
-
1184
- /**
1185
- * <p>Used for granting permissions to a predefined group.</p>
1186
- */
1187
- export interface UriMember {
1188
- id?: never;
1189
- uri: string;
1190
- $unknown?: never;
1191
- }
1192
-
1193
- export interface $UnknownMember {
1194
- id?: never;
1195
- uri?: never;
1196
- $unknown: [string, any];
1197
- }
1198
-
1199
- export interface Visitor<T> {
1200
- id: (value: string) => T;
1201
- uri: (value: string) => T;
1202
- _: (name: string, value: any) => T;
1203
- }
1204
-
1205
- export const visit = <T>(value: AclGrantee, visitor: Visitor<T>): T => {
1206
- if (value.id !== undefined) return visitor.id(value.id);
1207
- if (value.uri !== undefined) return visitor.uri(value.uri);
1208
- return visitor._(value.$unknown[0], value.$unknown[1]);
1209
- };
1210
-
1211
- /**
1212
- * @internal
1213
- */
1214
- export const filterSensitiveLog = (obj: AclGrantee): any => {
1215
- if (obj.id !== undefined) return { id: obj.id };
1216
- if (obj.uri !== undefined) return { uri: obj.uri };
1217
- if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" };
1218
- };
1219
- }
1220
-
1221
- export enum AclPermission {
1222
- FULL_CONTROL = "FULL_CONTROL",
1223
- READ = "READ",
1224
- READ_ACP = "READ_ACP",
1225
- WRITE = "WRITE",
1226
- WRITE_ACP = "WRITE_ACP",
1227
- }
1228
-
1229
- /**
1230
- * <p>A proposed access control list grant configuration for an Amazon S3 bucket. For more
1231
- * information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#setting-acls">How to Specify an
1232
- * ACL</a>.</p>
1233
- */
1234
- export interface S3BucketAclGrantConfiguration {
1235
- /**
1236
- * <p>The permissions being granted.</p>
1237
- */
1238
- permission: AclPermission | string | undefined;
1239
-
1240
- /**
1241
- * <p>The grantee to whom you’re assigning access rights.</p>
1242
- */
1243
- grantee: AclGrantee | undefined;
1244
- }
1245
-
1246
- export namespace S3BucketAclGrantConfiguration {
1247
- /**
1248
- * @internal
1249
- */
1250
- export const filterSensitiveLog = (obj: S3BucketAclGrantConfiguration): any => ({
1251
- ...obj,
1252
- ...(obj.grantee && { grantee: AclGrantee.filterSensitiveLog(obj.grantee) }),
1253
- });
1254
- }
1255
-
1256
- /**
1257
- * <p>Proposed access control configuration for an Amazon S3 bucket. You can propose a
1258
- * configuration for a new Amazon S3 bucket or an existing Amazon S3 bucket that you own by specifying
1259
- * the Amazon S3 bucket policy, bucket ACLs, bucket BPA settings, Amazon S3 access points, and
1260
- * multi-region access points attached to the bucket. If the configuration is for an existing
1261
- * Amazon S3 bucket and you do not specify the Amazon S3 bucket policy, the access preview uses the
1262
- * existing policy attached to the bucket. If the access preview is for a new resource and you
1263
- * do not specify the Amazon S3 bucket policy, the access preview assumes a bucket without a
1264
- * policy. To propose deletion of an existing bucket policy, you can specify an empty string.
1265
- * For more information about bucket policy limits, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html">Bucket Policy
1266
- * Examples</a>.</p>
1267
- */
1268
- export interface S3BucketConfiguration {
1269
- /**
1270
- * <p>The proposed bucket policy for the Amazon S3 bucket.</p>
1271
- */
1272
- bucketPolicy?: string;
1273
-
1274
- /**
1275
- * <p>The proposed list of ACL grants for the Amazon S3 bucket. You can propose up to 100 ACL
1276
- * grants per bucket. If the proposed grant configuration is for an existing bucket, the
1277
- * access preview uses the proposed list of grant configurations in place of the existing
1278
- * grants. Otherwise, the access preview uses the existing grants for the bucket.</p>
1279
- */
1280
- bucketAclGrants?: S3BucketAclGrantConfiguration[];
1281
-
1282
- /**
1283
- * <p>The proposed block public access configuration for the Amazon S3 bucket.</p>
1284
- */
1285
- bucketPublicAccessBlock?: S3PublicAccessBlockConfiguration;
1286
-
1287
- /**
1288
- * <p>The configuration of Amazon S3 access points or multi-region access points for the bucket.
1289
- * You can propose up to 10 new access points per bucket.</p>
1290
- */
1291
- accessPoints?: { [key: string]: S3AccessPointConfiguration };
1292
- }
1293
-
1294
- export namespace S3BucketConfiguration {
1295
- /**
1296
- * @internal
1297
- */
1298
- export const filterSensitiveLog = (obj: S3BucketConfiguration): any => ({
1299
- ...obj,
1300
- ...(obj.bucketAclGrants && {
1301
- bucketAclGrants: obj.bucketAclGrants.map((item) => S3BucketAclGrantConfiguration.filterSensitiveLog(item)),
1302
- }),
1303
- ...(obj.accessPoints && {
1304
- accessPoints: Object.entries(obj.accessPoints).reduce(
1305
- (acc: any, [key, value]: [string, S3AccessPointConfiguration]) => ({
1306
- ...acc,
1307
- [key]: S3AccessPointConfiguration.filterSensitiveLog(value),
1308
- }),
1309
- {}
1310
- ),
1311
- }),
1312
- });
1313
- }
1314
-
1315
- /**
1316
- * <p>The configuration for a Secrets Manager secret. For more information, see <a href="https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html">CreateSecret</a>.</p>
1317
- * <p>You can propose a configuration for a new secret or an existing secret that you own by
1318
- * specifying the secret policy and optional KMS encryption key. If the configuration is for
1319
- * an existing secret and you do not specify the secret policy, the access preview uses the
1320
- * existing policy for the secret. If the access preview is for a new resource and you do not
1321
- * specify the policy, the access preview assumes a secret without a policy. To propose
1322
- * deletion of an existing policy, you can specify an empty string. If the proposed
1323
- * configuration is for a new secret and you do not specify the KMS key ID, the access
1324
- * preview uses the default CMK of the Amazon Web Services account. If you specify an empty string for the
1325
- * KMS key ID, the access preview uses the default CMK of the Amazon Web Services account. For more
1326
- * information about secret policy limits, see <a href="https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_limits.html">Quotas for
1327
- * Secrets Manager.</a>.</p>
1328
- */
1329
- export interface SecretsManagerSecretConfiguration {
1330
- /**
1331
- * <p>The proposed ARN, key ID, or alias of the KMS customer master key (CMK).</p>
1332
- */
1333
- kmsKeyId?: string;
1334
-
1335
- /**
1336
- * <p>The proposed resource policy defining who can access or manage the secret.</p>
1337
- */
1338
- secretPolicy?: string;
1339
- }
1340
-
1341
- export namespace SecretsManagerSecretConfiguration {
1342
- /**
1343
- * @internal
1344
- */
1345
- export const filterSensitiveLog = (obj: SecretsManagerSecretConfiguration): any => ({
1346
- ...obj,
1347
- });
1348
- }
1349
-
1350
- /**
1351
- * <p>The proposed access control configuration for an Amazon SQS queue. You can propose a
1352
- * configuration for a new Amazon SQS queue or an existing Amazon SQS queue that you own by specifying
1353
- * the Amazon SQS policy. If the configuration is for an existing Amazon SQS queue and you do not
1354
- * specify the Amazon SQS policy, the access preview uses the existing Amazon SQS policy for the queue.
1355
- * If the access preview is for a new resource and you do not specify the policy, the access
1356
- * preview assumes an Amazon SQS queue without a policy. To propose deletion of an existing Amazon SQS
1357
- * queue policy, you can specify an empty string for the Amazon SQS policy. For more information
1358
- * about Amazon SQS policy limits, see <a href="https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-policies.html">Quotas related
1359
- * to policies</a>.</p>
1360
- */
1361
- export interface SqsQueueConfiguration {
1362
- /**
1363
- * <p> The proposed resource policy for the Amazon SQS queue. </p>
1364
- */
1365
- queuePolicy?: string;
1366
- }
1367
-
1368
- export namespace SqsQueueConfiguration {
1369
- /**
1370
- * @internal
1371
- */
1372
- export const filterSensitiveLog = (obj: SqsQueueConfiguration): any => ({
1373
- ...obj,
1374
- });
1375
- }
1376
-
1377
- /**
1378
- * <p>Access control configuration structures for your resource. You specify the configuration
1379
- * as a type-value pair. You can specify only one type of access control configuration.</p>
1380
- */
1381
- export type Configuration =
1382
- | Configuration.IamRoleMember
1383
- | Configuration.KmsKeyMember
1384
- | Configuration.S3BucketMember
1385
- | Configuration.SecretsManagerSecretMember
1386
- | Configuration.SqsQueueMember
1387
- | Configuration.$UnknownMember;
1388
-
1389
- export namespace Configuration {
1390
- /**
1391
- * <p>The access control configuration is for an IAM role. </p>
1392
- */
1393
- export interface IamRoleMember {
1394
- iamRole: IamRoleConfiguration;
1395
- kmsKey?: never;
1396
- secretsManagerSecret?: never;
1397
- s3Bucket?: never;
1398
- sqsQueue?: never;
1399
- $unknown?: never;
1400
- }
1401
-
1402
- /**
1403
- * <p>The access control configuration is for a KMS key. </p>
1404
- */
1405
- export interface KmsKeyMember {
1406
- iamRole?: never;
1407
- kmsKey: KmsKeyConfiguration;
1408
- secretsManagerSecret?: never;
1409
- s3Bucket?: never;
1410
- sqsQueue?: never;
1411
- $unknown?: never;
1412
- }
1413
-
1414
- /**
1415
- * <p>The access control configuration is for a Secrets Manager secret.</p>
1416
- */
1417
- export interface SecretsManagerSecretMember {
1418
- iamRole?: never;
1419
- kmsKey?: never;
1420
- secretsManagerSecret: SecretsManagerSecretConfiguration;
1421
- s3Bucket?: never;
1422
- sqsQueue?: never;
1423
- $unknown?: never;
1424
- }
1425
-
1426
- /**
1427
- * <p>The access control configuration is for an Amazon S3 Bucket. </p>
1428
- */
1429
- export interface S3BucketMember {
1430
- iamRole?: never;
1431
- kmsKey?: never;
1432
- secretsManagerSecret?: never;
1433
- s3Bucket: S3BucketConfiguration;
1434
- sqsQueue?: never;
1435
- $unknown?: never;
1436
- }
1437
-
1438
- /**
1439
- * <p>The access control configuration is for an Amazon SQS queue. </p>
1440
- */
1441
- export interface SqsQueueMember {
1442
- iamRole?: never;
1443
- kmsKey?: never;
1444
- secretsManagerSecret?: never;
1445
- s3Bucket?: never;
1446
- sqsQueue: SqsQueueConfiguration;
1447
- $unknown?: never;
1448
- }
1449
-
1450
- export interface $UnknownMember {
1451
- iamRole?: never;
1452
- kmsKey?: never;
1453
- secretsManagerSecret?: never;
1454
- s3Bucket?: never;
1455
- sqsQueue?: never;
1456
- $unknown: [string, any];
1457
- }
1458
-
1459
- export interface Visitor<T> {
1460
- iamRole: (value: IamRoleConfiguration) => T;
1461
- kmsKey: (value: KmsKeyConfiguration) => T;
1462
- secretsManagerSecret: (value: SecretsManagerSecretConfiguration) => T;
1463
- s3Bucket: (value: S3BucketConfiguration) => T;
1464
- sqsQueue: (value: SqsQueueConfiguration) => T;
1465
- _: (name: string, value: any) => T;
1466
- }
1467
-
1468
- export const visit = <T>(value: Configuration, visitor: Visitor<T>): T => {
1469
- if (value.iamRole !== undefined) return visitor.iamRole(value.iamRole);
1470
- if (value.kmsKey !== undefined) return visitor.kmsKey(value.kmsKey);
1471
- if (value.secretsManagerSecret !== undefined) return visitor.secretsManagerSecret(value.secretsManagerSecret);
1472
- if (value.s3Bucket !== undefined) return visitor.s3Bucket(value.s3Bucket);
1473
- if (value.sqsQueue !== undefined) return visitor.sqsQueue(value.sqsQueue);
1474
- return visitor._(value.$unknown[0], value.$unknown[1]);
1475
- };
1476
-
1477
- /**
1478
- * @internal
1479
- */
1480
- export const filterSensitiveLog = (obj: Configuration): any => {
1481
- if (obj.iamRole !== undefined) return { iamRole: IamRoleConfiguration.filterSensitiveLog(obj.iamRole) };
1482
- if (obj.kmsKey !== undefined) return { kmsKey: KmsKeyConfiguration.filterSensitiveLog(obj.kmsKey) };
1483
- if (obj.secretsManagerSecret !== undefined)
1484
- return { secretsManagerSecret: SecretsManagerSecretConfiguration.filterSensitiveLog(obj.secretsManagerSecret) };
1485
- if (obj.s3Bucket !== undefined) return { s3Bucket: S3BucketConfiguration.filterSensitiveLog(obj.s3Bucket) };
1486
- if (obj.sqsQueue !== undefined) return { sqsQueue: SqsQueueConfiguration.filterSensitiveLog(obj.sqsQueue) };
1487
- if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" };
1488
- };
1489
- }
1490
-
1491
- export interface CreateAccessPreviewRequest {
1492
- /**
1493
- * <p>The <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources">ARN of
1494
- * the account analyzer</a> used to generate the access preview. You can only create an
1495
- * access preview for analyzers with an <code>Account</code> type and <code>Active</code>
1496
- * status.</p>
1497
- */
1498
- analyzerArn: string | undefined;
1499
-
1500
- /**
1501
- * <p>Access control configuration for your resource that is used to generate the access
1502
- * preview. The access preview includes findings for external access allowed to the resource
1503
- * with the proposed access control configuration. The configuration must contain exactly one
1504
- * element.</p>
1505
- */
1506
- configurations: { [key: string]: Configuration } | undefined;
1507
-
1508
- /**
1509
- * <p>A client token.</p>
1510
- */
1511
- clientToken?: string;
1512
- }
1513
-
1514
- export namespace CreateAccessPreviewRequest {
1515
- /**
1516
- * @internal
1517
- */
1518
- export const filterSensitiveLog = (obj: CreateAccessPreviewRequest): any => ({
1519
- ...obj,
1520
- ...(obj.configurations && {
1521
- configurations: Object.entries(obj.configurations).reduce(
1522
- (acc: any, [key, value]: [string, Configuration]) => ({
1523
- ...acc,
1524
- [key]: Configuration.filterSensitiveLog(value),
1525
- }),
1526
- {}
1527
- ),
1528
- }),
1529
- });
1530
- }
1531
-
1532
- export interface CreateAccessPreviewResponse {
1533
- /**
1534
- * <p>The unique ID for the access preview.</p>
1535
- */
1536
- id: string | undefined;
1537
- }
1538
-
1539
- export namespace CreateAccessPreviewResponse {
1540
- /**
1541
- * @internal
1542
- */
1543
- export const filterSensitiveLog = (obj: CreateAccessPreviewResponse): any => ({
1544
- ...obj,
1545
- });
1546
- }
1547
-
1548
- export interface GetAccessPreviewRequest {
1549
- /**
1550
- * <p>The unique ID for the access preview.</p>
1551
- */
1552
- accessPreviewId: string | undefined;
1553
-
1554
- /**
1555
- * <p>The <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources">ARN of
1556
- * the analyzer</a> used to generate the access preview.</p>
1557
- */
1558
- analyzerArn: string | undefined;
1559
- }
1560
-
1561
- export namespace GetAccessPreviewRequest {
1562
- /**
1563
- * @internal
1564
- */
1565
- export const filterSensitiveLog = (obj: GetAccessPreviewRequest): any => ({
1566
- ...obj,
1567
- });
1568
- }
1569
-
1570
- export enum AccessPreviewStatus {
1571
- COMPLETED = "COMPLETED",
1572
- CREATING = "CREATING",
1573
- FAILED = "FAILED",
1574
- }
1575
-
1576
- export enum AccessPreviewStatusReasonCode {
1577
- INTERNAL_ERROR = "INTERNAL_ERROR",
1578
- INVALID_CONFIGURATION = "INVALID_CONFIGURATION",
1579
- }
1580
-
1581
- /**
1582
- * <p>Provides more details about the current status of the access preview. For example, if
1583
- * the creation of the access preview fails, a <code>Failed</code> status is returned. This
1584
- * failure can be due to an internal issue with the analysis or due to an invalid proposed
1585
- * resource configuration.</p>
1586
- */
1587
- export interface AccessPreviewStatusReason {
1588
- /**
1589
- * <p>The reason code for the current status of the access preview.</p>
1590
- */
1591
- code: AccessPreviewStatusReasonCode | string | undefined;
1592
- }
1593
-
1594
- export namespace AccessPreviewStatusReason {
1595
- /**
1596
- * @internal
1597
- */
1598
- export const filterSensitiveLog = (obj: AccessPreviewStatusReason): any => ({
1599
- ...obj,
1600
- });
1601
- }
1602
-
1603
- /**
1604
- * <p>Contains information about an access preview.</p>
1605
- */
1606
- export interface AccessPreview {
1607
- /**
1608
- * <p>The unique ID for the access preview.</p>
1609
- */
1610
- id: string | undefined;
1611
-
1612
- /**
1613
- * <p>The ARN of the analyzer used to generate the access preview.</p>
1614
- */
1615
- analyzerArn: string | undefined;
1616
-
1617
- /**
1618
- * <p>A map of resource ARNs for the proposed resource configuration.</p>
1619
- */
1620
- configurations: { [key: string]: Configuration } | undefined;
1621
-
1622
- /**
1623
- * <p>The time at which the access preview was created.</p>
1624
- */
1625
- createdAt: Date | undefined;
1626
-
1627
- /**
1628
- * <p>The status of the access preview.</p>
1629
- * <ul>
1630
- * <li>
1631
- * <p>
1632
- * <code>Creating</code> - The access preview creation is in progress.</p>
1633
- * </li>
1634
- * <li>
1635
- * <p>
1636
- * <code>Completed</code> - The access preview is complete. You can preview findings
1637
- * for external access to the resource.</p>
1638
- * </li>
1639
- * <li>
1640
- * <p>
1641
- * <code>Failed</code> - The access preview creation has failed.</p>
1642
- * </li>
1643
- * </ul>
1644
- */
1645
- status: AccessPreviewStatus | string | undefined;
1646
-
1647
- /**
1648
- * <p>Provides more details about the current status of the access preview.</p>
1649
- * <p>For example, if the creation of the access preview fails, a <code>Failed</code> status
1650
- * is returned. This failure can be due to an internal issue with the analysis or due to an
1651
- * invalid resource configuration.</p>
1652
- */
1653
- statusReason?: AccessPreviewStatusReason;
1654
- }
1655
-
1656
- export namespace AccessPreview {
1657
- /**
1658
- * @internal
1659
- */
1660
- export const filterSensitiveLog = (obj: AccessPreview): any => ({
1661
- ...obj,
1662
- ...(obj.configurations && {
1663
- configurations: Object.entries(obj.configurations).reduce(
1664
- (acc: any, [key, value]: [string, Configuration]) => ({
1665
- ...acc,
1666
- [key]: Configuration.filterSensitiveLog(value),
1667
- }),
1668
- {}
1669
- ),
1670
- }),
1671
- });
1672
- }
1673
-
1674
- export interface GetAccessPreviewResponse {
1675
- /**
1676
- * <p>An object that contains information about the access preview.</p>
1677
- */
1678
- accessPreview: AccessPreview | undefined;
1679
- }
1680
-
1681
- export namespace GetAccessPreviewResponse {
1682
- /**
1683
- * @internal
1684
- */
1685
- export const filterSensitiveLog = (obj: GetAccessPreviewResponse): any => ({
1686
- ...obj,
1687
- ...(obj.accessPreview && { accessPreview: AccessPreview.filterSensitiveLog(obj.accessPreview) }),
1688
- });
1689
- }
1690
-
1691
- /**
1692
- * <p>Retrieves an analyzed resource.</p>
1693
- */
1694
- export interface GetAnalyzedResourceRequest {
1695
- /**
1696
- * <p>The <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources">ARN of
1697
- * the analyzer</a> to retrieve information from.</p>
1698
- */
1699
- analyzerArn: string | undefined;
1700
-
1701
- /**
1702
- * <p>The ARN of the resource to retrieve information about.</p>
1703
- */
1704
- resourceArn: string | undefined;
1705
- }
1706
-
1707
- export namespace GetAnalyzedResourceRequest {
1708
- /**
1709
- * @internal
1710
- */
1711
- export const filterSensitiveLog = (obj: GetAnalyzedResourceRequest): any => ({
1712
- ...obj,
1713
- });
1714
- }
1715
-
1716
- export type ResourceType =
1717
- | "AWS::IAM::Role"
1718
- | "AWS::KMS::Key"
1719
- | "AWS::Lambda::Function"
1720
- | "AWS::Lambda::LayerVersion"
1721
- | "AWS::S3::Bucket"
1722
- | "AWS::SQS::Queue"
1723
- | "AWS::SecretsManager::Secret";
1724
-
1725
- export type FindingStatus = "ACTIVE" | "ARCHIVED" | "RESOLVED";
1726
-
1727
- /**
1728
- * <p>Contains details about the analyzed resource.</p>
1729
- */
1730
- export interface AnalyzedResource {
1731
- /**
1732
- * <p>The ARN of the resource that was analyzed.</p>
1733
- */
1734
- resourceArn: string | undefined;
1735
-
1736
- /**
1737
- * <p>The type of the resource that was analyzed.</p>
1738
- */
1739
- resourceType: ResourceType | string | undefined;
1740
-
1741
- /**
1742
- * <p>The time at which the finding was created.</p>
1743
- */
1744
- createdAt: Date | undefined;
1745
-
1746
- /**
1747
- * <p>The time at which the resource was analyzed.</p>
1748
- */
1749
- analyzedAt: Date | undefined;
1750
-
1751
- /**
1752
- * <p>The time at which the finding was updated.</p>
1753
- */
1754
- updatedAt: Date | undefined;
1755
-
1756
- /**
1757
- * <p>Indicates whether the policy that generated the finding grants public access to the
1758
- * resource.</p>
1759
- */
1760
- isPublic: boolean | undefined;
1761
-
1762
- /**
1763
- * <p>The actions that an external principal is granted permission to use by the policy that
1764
- * generated the finding.</p>
1765
- */
1766
- actions?: string[];
1767
-
1768
- /**
1769
- * <p>Indicates how the access that generated the finding is granted. This is populated for
1770
- * Amazon S3 bucket findings.</p>
1771
- */
1772
- sharedVia?: string[];
1773
-
1774
- /**
1775
- * <p>The current status of the finding generated from the analyzed resource.</p>
1776
- */
1777
- status?: FindingStatus | string;
1778
-
1779
- /**
1780
- * <p>The Amazon Web Services account ID that owns the resource.</p>
1781
- */
1782
- resourceOwnerAccount: string | undefined;
1783
-
1784
- /**
1785
- * <p>An error message.</p>
1786
- */
1787
- error?: string;
1788
- }
1789
-
1790
- export namespace AnalyzedResource {
1791
- /**
1792
- * @internal
1793
- */
1794
- export const filterSensitiveLog = (obj: AnalyzedResource): any => ({
1795
- ...obj,
1796
- });
1797
- }
1798
-
1799
- /**
1800
- * <p>The response to the request.</p>
1801
- */
1802
- export interface GetAnalyzedResourceResponse {
1803
- /**
1804
- * <p>An <code>AnalyzedResource</code> object that contains information that IAM Access Analyzer
1805
- * found when it analyzed the resource.</p>
1806
- */
1807
- resource?: AnalyzedResource;
1808
- }
1809
-
1810
- export namespace GetAnalyzedResourceResponse {
1811
- /**
1812
- * @internal
1813
- */
1814
- export const filterSensitiveLog = (obj: GetAnalyzedResourceResponse): any => ({
1815
- ...obj,
1816
- });
1817
- }
1818
-
1819
- /**
1820
- * <p>Retrieves a finding.</p>
1821
- */
1822
- export interface GetFindingRequest {
1823
- /**
1824
- * <p>The <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources">ARN of
1825
- * the analyzer</a> that generated the finding.</p>
1826
- */
1827
- analyzerArn: string | undefined;
1828
-
1829
- /**
1830
- * <p>The ID of the finding to retrieve.</p>
1831
- */
1832
- id: string | undefined;
1833
- }
1834
-
1835
- export namespace GetFindingRequest {
1836
- /**
1837
- * @internal
1838
- */
1839
- export const filterSensitiveLog = (obj: GetFindingRequest): any => ({
1840
- ...obj,
1841
- });
1842
- }
1843
-
1844
- /**
1845
- * <p>Includes details about how the access that generated the finding is granted. This is
1846
- * populated for Amazon S3 bucket findings.</p>
1847
- */
1848
- export interface FindingSourceDetail {
1849
- /**
1850
- * <p>The ARN of the access point that generated the finding. The ARN format depends on
1851
- * whether the ARN represents an access point or a multi-region access point.</p>
1852
- */
1853
- accessPointArn?: string;
1854
- }
1855
-
1856
- export namespace FindingSourceDetail {
1857
- /**
1858
- * @internal
1859
- */
1860
- export const filterSensitiveLog = (obj: FindingSourceDetail): any => ({
1861
- ...obj,
1862
- });
1863
- }
1864
-
1865
- export type FindingSourceType = "BUCKET_ACL" | "POLICY" | "S3_ACCESS_POINT";
1866
-
1867
- /**
1868
- * <p>The source of the finding. This indicates how the access that generated the finding is
1869
- * granted. It is populated for Amazon S3 bucket findings.</p>
1870
- */
1871
- export interface FindingSource {
1872
- /**
1873
- * <p>Indicates the type of access that generated the finding.</p>
1874
- */
1875
- type: FindingSourceType | string | undefined;
1876
-
1877
- /**
1878
- * <p>Includes details about how the access that generated the finding is granted. This is
1879
- * populated for Amazon S3 bucket findings.</p>
1880
- */
1881
- detail?: FindingSourceDetail;
1882
- }
1883
-
1884
- export namespace FindingSource {
1885
- /**
1886
- * @internal
1887
- */
1888
- export const filterSensitiveLog = (obj: FindingSource): any => ({
1889
- ...obj,
1890
- });
1891
- }
1892
-
1893
- /**
1894
- * <p>Contains information about a finding.</p>
1895
- */
1896
- export interface Finding {
1897
- /**
1898
- * <p>The ID of the finding.</p>
1899
- */
1900
- id: string | undefined;
1901
-
1902
- /**
1903
- * <p>The external principal that access to a resource within the zone of trust.</p>
1904
- */
1905
- principal?: { [key: string]: string };
1906
-
1907
- /**
1908
- * <p>The action in the analyzed policy statement that an external principal has permission to
1909
- * use.</p>
1910
- */
1911
- action?: string[];
1912
-
1913
- /**
1914
- * <p>The resource that an external principal has access to.</p>
1915
- */
1916
- resource?: string;
1917
-
1918
- /**
1919
- * <p>Indicates whether the policy that generated the finding allows public access to the
1920
- * resource.</p>
1921
- */
1922
- isPublic?: boolean;
1923
-
1924
- /**
1925
- * <p>The type of the resource identified in the finding.</p>
1926
- */
1927
- resourceType: ResourceType | string | undefined;
1928
-
1929
- /**
1930
- * <p>The condition in the analyzed policy statement that resulted in a finding.</p>
1931
- */
1932
- condition: { [key: string]: string } | undefined;
1933
-
1934
- /**
1935
- * <p>The time at which the finding was generated.</p>
1936
- */
1937
- createdAt: Date | undefined;
1938
-
1939
- /**
1940
- * <p>The time at which the resource was analyzed.</p>
1941
- */
1942
- analyzedAt: Date | undefined;
1943
-
1944
- /**
1945
- * <p>The time at which the finding was updated.</p>
1946
- */
1947
- updatedAt: Date | undefined;
1948
-
1949
- /**
1950
- * <p>The current status of the finding.</p>
1951
- */
1952
- status: FindingStatus | string | undefined;
1953
-
1954
- /**
1955
- * <p>The Amazon Web Services account ID that owns the resource.</p>
1956
- */
1957
- resourceOwnerAccount: string | undefined;
1958
-
1959
- /**
1960
- * <p>An error.</p>
1961
- */
1962
- error?: string;
1963
-
1964
- /**
1965
- * <p>The sources of the finding. This indicates how the access that generated the finding is
1966
- * granted. It is populated for Amazon S3 bucket findings.</p>
1967
- */
1968
- sources?: FindingSource[];
1969
- }
1970
-
1971
- export namespace Finding {
1972
- /**
1973
- * @internal
1974
- */
1975
- export const filterSensitiveLog = (obj: Finding): any => ({
1976
- ...obj,
1977
- });
1978
- }
1979
-
1980
- /**
1981
- * <p>The response to the request.</p>
1982
- */
1983
- export interface GetFindingResponse {
1984
- /**
1985
- * <p>A <code>finding</code> object that contains finding details.</p>
1986
- */
1987
- finding?: Finding;
1988
- }
1989
-
1990
- export namespace GetFindingResponse {
1991
- /**
1992
- * @internal
1993
- */
1994
- export const filterSensitiveLog = (obj: GetFindingResponse): any => ({
1995
- ...obj,
1996
- });
1997
- }
1998
-
1999
- export interface GetGeneratedPolicyRequest {
2000
- /**
2001
- * <p>The <code>JobId</code> that is returned by the <code>StartPolicyGeneration</code>
2002
- * operation. The <code>JobId</code> can be used with <code>GetGeneratedPolicy</code> to
2003
- * retrieve the generated policies or used with <code>CancelPolicyGeneration</code> to cancel
2004
- * the policy generation request.</p>
2005
- */
2006
- jobId: string | undefined;
2007
-
2008
- /**
2009
- * <p>The level of detail that you want to generate. You can specify whether to generate
2010
- * policies with placeholders for resource ARNs for actions that support resource level
2011
- * granularity in policies.</p>
2012
- * <p>For example, in the resource section of a policy, you can receive a placeholder such as
2013
- * <code>"Resource":"arn:aws:s3:::${BucketName}"</code> instead of <code>"*"</code>.</p>
2014
- */
2015
- includeResourcePlaceholders?: boolean;
2016
-
2017
- /**
2018
- * <p>The level of detail that you want to generate. You can specify whether to generate
2019
- * service-level policies. </p>
2020
- * <p>IAM Access Analyzer uses <code>iam:servicelastaccessed</code> to identify services that have
2021
- * been used recently to create this service-level template.</p>
2022
- */
2023
- includeServiceLevelTemplate?: boolean;
2024
- }
2025
-
2026
- export namespace GetGeneratedPolicyRequest {
2027
- /**
2028
- * @internal
2029
- */
2030
- export const filterSensitiveLog = (obj: GetGeneratedPolicyRequest): any => ({
2031
- ...obj,
2032
- });
2033
- }
2034
-
2035
- /**
2036
- * <p>Contains the text for the generated policy.</p>
2037
- */
2038
- export interface GeneratedPolicy {
2039
- /**
2040
- * <p>The text to use as the content for the new policy. The policy is created using the
2041
- * <a href="https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreatePolicy.html">CreatePolicy</a> action.</p>
2042
- */
2043
- policy: string | undefined;
2044
- }
2045
-
2046
- export namespace GeneratedPolicy {
2047
- /**
2048
- * @internal
2049
- */
2050
- export const filterSensitiveLog = (obj: GeneratedPolicy): any => ({
2051
- ...obj,
2052
- });
2053
- }
2054
-
2055
- /**
2056
- * <p>Contains details about the CloudTrail trail being analyzed to generate a policy.</p>
2057
- */
2058
- export interface TrailProperties {
2059
- /**
2060
- * <p>Specifies the ARN of the trail. The format of a trail ARN is
2061
- * <code>arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail</code>.</p>
2062
- */
2063
- cloudTrailArn: string | undefined;
2064
-
2065
- /**
2066
- * <p>A list of regions to get CloudTrail data from and analyze to generate a policy.</p>
2067
- */
2068
- regions?: string[];
2069
-
2070
- /**
2071
- * <p>Possible values are <code>true</code> or <code>false</code>. If set to
2072
- * <code>true</code>, IAM Access Analyzer retrieves CloudTrail data from all regions to analyze and
2073
- * generate a policy.</p>
2074
- */
2075
- allRegions?: boolean;
2076
- }
2077
-
2078
- export namespace TrailProperties {
2079
- /**
2080
- * @internal
2081
- */
2082
- export const filterSensitiveLog = (obj: TrailProperties): any => ({
2083
- ...obj,
2084
- });
2085
- }
2086
-
2087
- /**
2088
- * <p>Contains information about CloudTrail access.</p>
2089
- */
2090
- export interface CloudTrailProperties {
2091
- /**
2092
- * <p>A <code>TrailProperties</code> object that contains settings for trail
2093
- * properties.</p>
2094
- */
2095
- trailProperties: TrailProperties[] | undefined;
2096
-
2097
- /**
2098
- * <p>The start of the time range for which IAM Access Analyzer reviews your CloudTrail events. Events
2099
- * with a timestamp before this time are not considered to generate a policy.</p>
2100
- */
2101
- startTime: Date | undefined;
2102
-
2103
- /**
2104
- * <p>The end of the time range for which IAM Access Analyzer reviews your CloudTrail events. Events with
2105
- * a timestamp after this time are not considered to generate a policy. If this is not
2106
- * included in the request, the default value is the current time.</p>
2107
- */
2108
- endTime: Date | undefined;
2109
- }
2110
-
2111
- export namespace CloudTrailProperties {
2112
- /**
2113
- * @internal
2114
- */
2115
- export const filterSensitiveLog = (obj: CloudTrailProperties): any => ({
2116
- ...obj,
2117
- });
2118
- }
2119
-
2120
- /**
2121
- * <p>Contains the generated policy details.</p>
2122
- */
2123
- export interface GeneratedPolicyProperties {
2124
- /**
2125
- * <p>This value is set to <code>true</code> if the generated policy contains all possible
2126
- * actions for a service that IAM Access Analyzer identified from the CloudTrail trail that you specified,
2127
- * and <code>false</code> otherwise.</p>
2128
- */
2129
- isComplete?: boolean;
2130
-
2131
- /**
2132
- * <p>The ARN of the IAM entity (user or role) for which you are generating a policy.</p>
2133
- */
2134
- principalArn: string | undefined;
2135
-
2136
- /**
2137
- * <p>Lists details about the <code>Trail</code> used to generated policy.</p>
2138
- */
2139
- cloudTrailProperties?: CloudTrailProperties;
2140
- }
2141
-
2142
- export namespace GeneratedPolicyProperties {
2143
- /**
2144
- * @internal
2145
- */
2146
- export const filterSensitiveLog = (obj: GeneratedPolicyProperties): any => ({
2147
- ...obj,
2148
- });
2149
- }
2150
-
2151
- /**
2152
- * <p>Contains the text for the generated policy and its details.</p>
2153
- */
2154
- export interface GeneratedPolicyResult {
2155
- /**
2156
- * <p>A <code>GeneratedPolicyProperties</code> object that contains properties of the
2157
- * generated policy.</p>
2158
- */
2159
- properties: GeneratedPolicyProperties | undefined;
2160
-
2161
- /**
2162
- * <p>The text to use as the content for the new policy. The policy is created using the
2163
- * <a href="https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreatePolicy.html">CreatePolicy</a> action.</p>
2164
- */
2165
- generatedPolicies?: GeneratedPolicy[];
2166
- }
2167
-
2168
- export namespace GeneratedPolicyResult {
2169
- /**
2170
- * @internal
2171
- */
2172
- export const filterSensitiveLog = (obj: GeneratedPolicyResult): any => ({
2173
- ...obj,
2174
- });
2175
- }
2176
-
2177
- export enum JobErrorCode {
2178
- AUTHORIZATION_ERROR = "AUTHORIZATION_ERROR",
2179
- RESOURCE_NOT_FOUND_ERROR = "RESOURCE_NOT_FOUND_ERROR",
2180
- SERVICE_ERROR = "SERVICE_ERROR",
2181
- SERVICE_QUOTA_EXCEEDED_ERROR = "SERVICE_QUOTA_EXCEEDED_ERROR",
2182
- }
2183
-
2184
- /**
2185
- * <p>Contains the details about the policy generation error.</p>
2186
- */
2187
- export interface JobError {
2188
- /**
2189
- * <p>The job error code.</p>
2190
- */
2191
- code: JobErrorCode | string | undefined;
2192
-
2193
- /**
2194
- * <p>Specific information about the error. For example, which service quota was exceeded or
2195
- * which resource was not found.</p>
2196
- */
2197
- message: string | undefined;
2198
- }
2199
-
2200
- export namespace JobError {
2201
- /**
2202
- * @internal
2203
- */
2204
- export const filterSensitiveLog = (obj: JobError): any => ({
2205
- ...obj,
2206
- });
2207
- }
2208
-
2209
- export enum JobStatus {
2210
- CANCELED = "CANCELED",
2211
- FAILED = "FAILED",
2212
- IN_PROGRESS = "IN_PROGRESS",
2213
- SUCCEEDED = "SUCCEEDED",
2214
- }
2215
-
2216
- /**
2217
- * <p>Contains details about the policy generation request.</p>
2218
- */
2219
- export interface JobDetails {
2220
- /**
2221
- * <p>The <code>JobId</code> that is returned by the <code>StartPolicyGeneration</code>
2222
- * operation. The <code>JobId</code> can be used with <code>GetGeneratedPolicy</code> to
2223
- * retrieve the generated policies or used with <code>CancelPolicyGeneration</code> to cancel
2224
- * the policy generation request.</p>
2225
- */
2226
- jobId: string | undefined;
2227
-
2228
- /**
2229
- * <p>The status of the job request.</p>
2230
- */
2231
- status: JobStatus | string | undefined;
2232
-
2233
- /**
2234
- * <p>A timestamp of when the job was started.</p>
2235
- */
2236
- startedOn: Date | undefined;
2237
-
2238
- /**
2239
- * <p>A timestamp of when the job was completed.</p>
2240
- */
2241
- completedOn?: Date;
2242
-
2243
- /**
2244
- * <p>The job error for the policy generation request.</p>
2245
- */
2246
- jobError?: JobError;
2247
- }
2248
-
2249
- export namespace JobDetails {
2250
- /**
2251
- * @internal
2252
- */
2253
- export const filterSensitiveLog = (obj: JobDetails): any => ({
2254
- ...obj,
2255
- });
2256
- }
2257
-
2258
- export interface GetGeneratedPolicyResponse {
2259
- /**
2260
- * <p>A <code>GeneratedPolicyDetails</code> object that contains details about the generated
2261
- * policy.</p>
2262
- */
2263
- jobDetails: JobDetails | undefined;
2264
-
2265
- /**
2266
- * <p>A <code>GeneratedPolicyResult</code> object that contains the generated policies and
2267
- * associated details.</p>
2268
- */
2269
- generatedPolicyResult: GeneratedPolicyResult | undefined;
2270
- }
2271
-
2272
- export namespace GetGeneratedPolicyResponse {
2273
- /**
2274
- * @internal
2275
- */
2276
- export const filterSensitiveLog = (obj: GetGeneratedPolicyResponse): any => ({
2277
- ...obj,
2278
- });
2279
- }
2280
-
2281
- export interface ListAccessPreviewFindingsRequest {
2282
- /**
2283
- * <p>The unique ID for the access preview.</p>
2284
- */
2285
- accessPreviewId: string | undefined;
2286
-
2287
- /**
2288
- * <p>The <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources">ARN of
2289
- * the analyzer</a> used to generate the access.</p>
2290
- */
2291
- analyzerArn: string | undefined;
2292
-
2293
- /**
2294
- * <p>Criteria to filter the returned findings.</p>
2295
- */
2296
- filter?: { [key: string]: Criterion };
2297
-
2298
- /**
2299
- * <p>A token used for pagination of results returned.</p>
2300
- */
2301
- nextToken?: string;
2302
-
2303
- /**
2304
- * <p>The maximum number of results to return in the response.</p>
2305
- */
2306
- maxResults?: number;
2307
- }
2308
-
2309
- export namespace ListAccessPreviewFindingsRequest {
2310
- /**
2311
- * @internal
2312
- */
2313
- export const filterSensitiveLog = (obj: ListAccessPreviewFindingsRequest): any => ({
2314
- ...obj,
2315
- });
2316
- }
2317
-
2318
- export enum FindingChangeType {
2319
- CHANGED = "CHANGED",
2320
- NEW = "NEW",
2321
- UNCHANGED = "UNCHANGED",
2322
- }
2323
-
2324
- /**
2325
- * <p>An access preview finding generated by the access preview.</p>
2326
- */
2327
- export interface AccessPreviewFinding {
2328
- /**
2329
- * <p>The ID of the access preview finding. This ID uniquely identifies the element in the
2330
- * list of access preview findings and is not related to the finding ID in Access
2331
- * Analyzer.</p>
2332
- */
2333
- id: string | undefined;
2334
-
2335
- /**
2336
- * <p>The existing ID of the finding in IAM Access Analyzer, provided only for existing
2337
- * findings.</p>
2338
- */
2339
- existingFindingId?: string;
2340
-
2341
- /**
2342
- * <p>The existing status of the finding, provided only for existing findings.</p>
2343
- */
2344
- existingFindingStatus?: FindingStatus | string;
2345
-
2346
- /**
2347
- * <p>The external principal that has access to a resource within the zone of trust.</p>
2348
- */
2349
- principal?: { [key: string]: string };
2350
-
2351
- /**
2352
- * <p>The action in the analyzed policy statement that an external principal has permission to
2353
- * perform.</p>
2354
- */
2355
- action?: string[];
2356
-
2357
- /**
2358
- * <p>The condition in the analyzed policy statement that resulted in a finding.</p>
2359
- */
2360
- condition?: { [key: string]: string };
2361
-
2362
- /**
2363
- * <p>The resource that an external principal has access to. This is the resource associated
2364
- * with the access preview.</p>
2365
- */
2366
- resource?: string;
2367
-
2368
- /**
2369
- * <p>Indicates whether the policy that generated the finding allows public access to the
2370
- * resource.</p>
2371
- */
2372
- isPublic?: boolean;
2373
-
2374
- /**
2375
- * <p>The type of the resource that can be accessed in the finding.</p>
2376
- */
2377
- resourceType: ResourceType | string | undefined;
2378
-
2379
- /**
2380
- * <p>The time at which the access preview finding was created.</p>
2381
- */
2382
- createdAt: Date | undefined;
2383
-
2384
- /**
2385
- * <p>Provides context on how the access preview finding compares to existing access
2386
- * identified in IAM Access Analyzer.</p>
2387
- * <ul>
2388
- * <li>
2389
- * <p>
2390
- * <code>New</code> - The finding is for newly-introduced access.</p>
2391
- * </li>
2392
- * <li>
2393
- * <p>
2394
- * <code>Unchanged</code> - The preview finding is an existing finding that would
2395
- * remain unchanged.</p>
2396
- * </li>
2397
- * <li>
2398
- * <p>
2399
- * <code>Changed</code> - The preview finding is an existing finding with a change in
2400
- * status.</p>
2401
- * </li>
2402
- * </ul>
2403
- * <p>For example, a <code>Changed</code> finding with preview status <code>Resolved</code>
2404
- * and existing status <code>Active</code> indicates the existing <code>Active</code> finding
2405
- * would become <code>Resolved</code> as a result of the proposed permissions change.</p>
2406
- */
2407
- changeType: FindingChangeType | string | undefined;
2408
-
2409
- /**
2410
- * <p>The preview status of the finding. This is what the status of the finding would be after
2411
- * permissions deployment. For example, a <code>Changed</code> finding with preview status
2412
- * <code>Resolved</code> and existing status <code>Active</code> indicates the existing
2413
- * <code>Active</code> finding would become <code>Resolved</code> as a result of the
2414
- * proposed permissions change.</p>
2415
- */
2416
- status: FindingStatus | string | undefined;
2417
-
2418
- /**
2419
- * <p>The Amazon Web Services account ID that owns the resource. For most Amazon Web Services resources, the owning
2420
- * account is the account in which the resource was created.</p>
2421
- */
2422
- resourceOwnerAccount: string | undefined;
2423
-
2424
- /**
2425
- * <p>An error.</p>
2426
- */
2427
- error?: string;
2428
-
2429
- /**
2430
- * <p>The sources of the finding. This indicates how the access that generated the finding is
2431
- * granted. It is populated for Amazon S3 bucket findings.</p>
2432
- */
2433
- sources?: FindingSource[];
2434
- }
2435
-
2436
- export namespace AccessPreviewFinding {
2437
- /**
2438
- * @internal
2439
- */
2440
- export const filterSensitiveLog = (obj: AccessPreviewFinding): any => ({
2441
- ...obj,
2442
- });
2443
- }
2444
-
2445
- export interface ListAccessPreviewFindingsResponse {
2446
- /**
2447
- * <p>A list of access preview findings that match the specified filter criteria.</p>
2448
- */
2449
- findings: AccessPreviewFinding[] | undefined;
2450
-
2451
- /**
2452
- * <p>A token used for pagination of results returned.</p>
2453
- */
2454
- nextToken?: string;
2455
- }
2456
-
2457
- export namespace ListAccessPreviewFindingsResponse {
2458
- /**
2459
- * @internal
2460
- */
2461
- export const filterSensitiveLog = (obj: ListAccessPreviewFindingsResponse): any => ({
2462
- ...obj,
2463
- });
2464
- }
2465
-
2466
- export interface ListAccessPreviewsRequest {
2467
- /**
2468
- * <p>The <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources">ARN of
2469
- * the analyzer</a> used to generate the access preview.</p>
2470
- */
2471
- analyzerArn: string | undefined;
2472
-
2473
- /**
2474
- * <p>A token used for pagination of results returned.</p>
2475
- */
2476
- nextToken?: string;
2477
-
2478
- /**
2479
- * <p>The maximum number of results to return in the response.</p>
2480
- */
2481
- maxResults?: number;
2482
- }
2483
-
2484
- export namespace ListAccessPreviewsRequest {
2485
- /**
2486
- * @internal
2487
- */
2488
- export const filterSensitiveLog = (obj: ListAccessPreviewsRequest): any => ({
2489
- ...obj,
2490
- });
2491
- }
2492
-
2493
- /**
2494
- * <p>Contains a summary of information about an access preview.</p>
2495
- */
2496
- export interface AccessPreviewSummary {
2497
- /**
2498
- * <p>The unique ID for the access preview.</p>
2499
- */
2500
- id: string | undefined;
2501
-
2502
- /**
2503
- * <p>The ARN of the analyzer used to generate the access preview.</p>
2504
- */
2505
- analyzerArn: string | undefined;
2506
-
2507
- /**
2508
- * <p>The time at which the access preview was created.</p>
2509
- */
2510
- createdAt: Date | undefined;
2511
-
2512
- /**
2513
- * <p>The status of the access preview.</p>
2514
- * <ul>
2515
- * <li>
2516
- * <p>
2517
- * <code>Creating</code> - The access preview creation is in progress.</p>
2518
- * </li>
2519
- * <li>
2520
- * <p>
2521
- * <code>Completed</code> - The access preview is complete and previews the findings
2522
- * for external access to the resource.</p>
2523
- * </li>
2524
- * <li>
2525
- * <p>
2526
- * <code>Failed</code> - The access preview creation has failed.</p>
2527
- * </li>
2528
- * </ul>
2529
- */
2530
- status: AccessPreviewStatus | string | undefined;
2531
-
2532
- /**
2533
- * <p>Provides more details about the current status of the access preview. For example, if
2534
- * the creation of the access preview fails, a <code>Failed</code> status is returned. This
2535
- * failure can be due to an internal issue with the analysis or due to an invalid proposed
2536
- * resource configuration.</p>
2537
- */
2538
- statusReason?: AccessPreviewStatusReason;
2539
- }
2540
-
2541
- export namespace AccessPreviewSummary {
2542
- /**
2543
- * @internal
2544
- */
2545
- export const filterSensitiveLog = (obj: AccessPreviewSummary): any => ({
2546
- ...obj,
2547
- });
2548
- }
2549
-
2550
- export interface ListAccessPreviewsResponse {
2551
- /**
2552
- * <p>A list of access previews retrieved for the analyzer.</p>
2553
- */
2554
- accessPreviews: AccessPreviewSummary[] | undefined;
2555
-
2556
- /**
2557
- * <p>A token used for pagination of results returned.</p>
2558
- */
2559
- nextToken?: string;
2560
- }
2561
-
2562
- export namespace ListAccessPreviewsResponse {
2563
- /**
2564
- * @internal
2565
- */
2566
- export const filterSensitiveLog = (obj: ListAccessPreviewsResponse): any => ({
2567
- ...obj,
2568
- });
2569
- }
2570
-
2571
- /**
2572
- * <p>Retrieves a list of resources that have been analyzed.</p>
2573
- */
2574
- export interface ListAnalyzedResourcesRequest {
2575
- /**
2576
- * <p>The <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources">ARN of
2577
- * the analyzer</a> to retrieve a list of analyzed resources from.</p>
2578
- */
2579
- analyzerArn: string | undefined;
2580
-
2581
- /**
2582
- * <p>The type of resource.</p>
2583
- */
2584
- resourceType?: ResourceType | string;
2585
-
2586
- /**
2587
- * <p>A token used for pagination of results returned.</p>
2588
- */
2589
- nextToken?: string;
2590
-
2591
- /**
2592
- * <p>The maximum number of results to return in the response.</p>
2593
- */
2594
- maxResults?: number;
2595
- }
2596
-
2597
- export namespace ListAnalyzedResourcesRequest {
2598
- /**
2599
- * @internal
2600
- */
2601
- export const filterSensitiveLog = (obj: ListAnalyzedResourcesRequest): any => ({
2602
- ...obj,
2603
- });
2604
- }
2605
-
2606
- /**
2607
- * <p>Contains the ARN of the analyzed resource.</p>
2608
- */
2609
- export interface AnalyzedResourceSummary {
2610
- /**
2611
- * <p>The ARN of the analyzed resource.</p>
2612
- */
2613
- resourceArn: string | undefined;
2614
-
2615
- /**
2616
- * <p>The Amazon Web Services account ID that owns the resource.</p>
2617
- */
2618
- resourceOwnerAccount: string | undefined;
2619
-
2620
- /**
2621
- * <p>The type of resource that was analyzed.</p>
2622
- */
2623
- resourceType: ResourceType | string | undefined;
2624
- }
2625
-
2626
- export namespace AnalyzedResourceSummary {
2627
- /**
2628
- * @internal
2629
- */
2630
- export const filterSensitiveLog = (obj: AnalyzedResourceSummary): any => ({
2631
- ...obj,
2632
- });
2633
- }
2634
-
2635
- /**
2636
- * <p>The response to the request.</p>
2637
- */
2638
- export interface ListAnalyzedResourcesResponse {
2639
- /**
2640
- * <p>A list of resources that were analyzed.</p>
2641
- */
2642
- analyzedResources: AnalyzedResourceSummary[] | undefined;
2643
-
2644
- /**
2645
- * <p>A token used for pagination of results returned.</p>
2646
- */
2647
- nextToken?: string;
2648
- }
2649
-
2650
- export namespace ListAnalyzedResourcesResponse {
2651
- /**
2652
- * @internal
2653
- */
2654
- export const filterSensitiveLog = (obj: ListAnalyzedResourcesResponse): any => ({
2655
- ...obj,
2656
- });
2657
- }
2658
-
2659
- export type OrderBy = "ASC" | "DESC";
2660
-
2661
- /**
2662
- * <p>The criteria used to sort.</p>
2663
- */
2664
- export interface SortCriteria {
2665
- /**
2666
- * <p>The name of the attribute to sort on.</p>
2667
- */
2668
- attributeName?: string;
2669
-
2670
- /**
2671
- * <p>The sort order, ascending or descending.</p>
2672
- */
2673
- orderBy?: OrderBy | string;
2674
- }
2675
-
2676
- export namespace SortCriteria {
2677
- /**
2678
- * @internal
2679
- */
2680
- export const filterSensitiveLog = (obj: SortCriteria): any => ({
2681
- ...obj,
2682
- });
2683
- }
2684
-
2685
- /**
2686
- * <p>Retrieves a list of findings generated by the specified analyzer.</p>
2687
- */
2688
- export interface ListFindingsRequest {
2689
- /**
2690
- * <p>The <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources">ARN of
2691
- * the analyzer</a> to retrieve findings from.</p>
2692
- */
2693
- analyzerArn: string | undefined;
2694
-
2695
- /**
2696
- * <p>A filter to match for the findings to return.</p>
2697
- */
2698
- filter?: { [key: string]: Criterion };
2699
-
2700
- /**
2701
- * <p>The sort order for the findings returned.</p>
2702
- */
2703
- sort?: SortCriteria;
2704
-
2705
- /**
2706
- * <p>A token used for pagination of results returned.</p>
2707
- */
2708
- nextToken?: string;
2709
-
2710
- /**
2711
- * <p>The maximum number of results to return in the response.</p>
2712
- */
2713
- maxResults?: number;
2714
- }
2715
-
2716
- export namespace ListFindingsRequest {
2717
- /**
2718
- * @internal
2719
- */
2720
- export const filterSensitiveLog = (obj: ListFindingsRequest): any => ({
2721
- ...obj,
2722
- });
2723
- }
2724
-
2725
- /**
2726
- * <p>Contains information about a finding.</p>
2727
- */
2728
- export interface FindingSummary {
2729
- /**
2730
- * <p>The ID of the finding.</p>
2731
- */
2732
- id: string | undefined;
2733
-
2734
- /**
2735
- * <p>The external principal that has access to a resource within the zone of trust.</p>
2736
- */
2737
- principal?: { [key: string]: string };
2738
-
2739
- /**
2740
- * <p>The action in the analyzed policy statement that an external principal has permission to
2741
- * use.</p>
2742
- */
2743
- action?: string[];
2744
-
2745
- /**
2746
- * <p>The resource that the external principal has access to.</p>
2747
- */
2748
- resource?: string;
2749
-
2750
- /**
2751
- * <p>Indicates whether the finding reports a resource that has a policy that allows public
2752
- * access.</p>
2753
- */
2754
- isPublic?: boolean;
2755
-
2756
- /**
2757
- * <p>The type of the resource that the external principal has access to.</p>
2758
- */
2759
- resourceType: ResourceType | string | undefined;
2760
-
2761
- /**
2762
- * <p>The condition in the analyzed policy statement that resulted in a finding.</p>
2763
- */
2764
- condition: { [key: string]: string } | undefined;
2765
-
2766
- /**
2767
- * <p>The time at which the finding was created.</p>
2768
- */
2769
- createdAt: Date | undefined;
2770
-
2771
- /**
2772
- * <p>The time at which the resource-based policy that generated the finding was
2773
- * analyzed.</p>
2774
- */
2775
- analyzedAt: Date | undefined;
2776
-
2777
- /**
2778
- * <p>The time at which the finding was most recently updated.</p>
2779
- */
2780
- updatedAt: Date | undefined;
2781
-
2782
- /**
2783
- * <p>The status of the finding.</p>
2784
- */
2785
- status: FindingStatus | string | undefined;
2786
-
2787
- /**
2788
- * <p>The Amazon Web Services account ID that owns the resource.</p>
2789
- */
2790
- resourceOwnerAccount: string | undefined;
2791
-
2792
- /**
2793
- * <p>The error that resulted in an Error finding.</p>
2794
- */
2795
- error?: string;
2796
-
2797
- /**
2798
- * <p>The sources of the finding. This indicates how the access that generated the finding is
2799
- * granted. It is populated for Amazon S3 bucket findings.</p>
2800
- */
2801
- sources?: FindingSource[];
2802
- }
2803
-
2804
- export namespace FindingSummary {
2805
- /**
2806
- * @internal
2807
- */
2808
- export const filterSensitiveLog = (obj: FindingSummary): any => ({
2809
- ...obj,
2810
- });
2811
- }
2812
-
2813
- /**
2814
- * <p>The response to the request.</p>
2815
- */
2816
- export interface ListFindingsResponse {
2817
- /**
2818
- * <p>A list of findings retrieved from the analyzer that match the filter criteria specified,
2819
- * if any.</p>
2820
- */
2821
- findings: FindingSummary[] | undefined;
2822
-
2823
- /**
2824
- * <p>A token used for pagination of results returned.</p>
2825
- */
2826
- nextToken?: string;
2827
- }
2828
-
2829
- export namespace ListFindingsResponse {
2830
- /**
2831
- * @internal
2832
- */
2833
- export const filterSensitiveLog = (obj: ListFindingsResponse): any => ({
2834
- ...obj,
2835
- });
2836
- }
2837
-
2838
- export interface ListPolicyGenerationsRequest {
2839
- /**
2840
- * <p>The ARN of the IAM entity (user or role) for which you are generating a policy. Use
2841
- * this with <code>ListGeneratedPolicies</code> to filter the results to only include results
2842
- * for a specific principal.</p>
2843
- */
2844
- principalArn?: string;
2845
-
2846
- /**
2847
- * <p>The maximum number of results to return in the response.</p>
2848
- */
2849
- maxResults?: number;
2850
-
2851
- /**
2852
- * <p>A token used for pagination of results returned.</p>
2853
- */
2854
- nextToken?: string;
2855
- }
2856
-
2857
- export namespace ListPolicyGenerationsRequest {
2858
- /**
2859
- * @internal
2860
- */
2861
- export const filterSensitiveLog = (obj: ListPolicyGenerationsRequest): any => ({
2862
- ...obj,
2863
- });
2864
- }
2865
-
2866
- /**
2867
- * <p>Contains details about the policy generation status and properties.</p>
2868
- */
2869
- export interface PolicyGeneration {
2870
- /**
2871
- * <p>The <code>JobId</code> that is returned by the <code>StartPolicyGeneration</code>
2872
- * operation. The <code>JobId</code> can be used with <code>GetGeneratedPolicy</code> to
2873
- * retrieve the generated policies or used with <code>CancelPolicyGeneration</code> to cancel
2874
- * the policy generation request.</p>
2875
- */
2876
- jobId: string | undefined;
2877
-
2878
- /**
2879
- * <p>The ARN of the IAM entity (user or role) for which you are generating a policy.</p>
2880
- */
2881
- principalArn: string | undefined;
2882
-
2883
- /**
2884
- * <p>The status of the policy generation request.</p>
2885
- */
2886
- status: JobStatus | string | undefined;
2887
-
2888
- /**
2889
- * <p>A timestamp of when the policy generation started.</p>
2890
- */
2891
- startedOn: Date | undefined;
2892
-
2893
- /**
2894
- * <p>A timestamp of when the policy generation was completed.</p>
2895
- */
2896
- completedOn?: Date;
2897
- }
2898
-
2899
- export namespace PolicyGeneration {
2900
- /**
2901
- * @internal
2902
- */
2903
- export const filterSensitiveLog = (obj: PolicyGeneration): any => ({
2904
- ...obj,
2905
- });
2906
- }
2907
-
2908
- export interface ListPolicyGenerationsResponse {
2909
- /**
2910
- * <p>A <code>PolicyGeneration</code> object that contains details about the generated
2911
- * policy.</p>
2912
- */
2913
- policyGenerations: PolicyGeneration[] | undefined;
2914
-
2915
- /**
2916
- * <p>A token used for pagination of results returned.</p>
2917
- */
2918
- nextToken?: string;
2919
- }
2920
-
2921
- export namespace ListPolicyGenerationsResponse {
2922
- /**
2923
- * @internal
2924
- */
2925
- export const filterSensitiveLog = (obj: ListPolicyGenerationsResponse): any => ({
2926
- ...obj,
2927
- });
2928
- }
2929
-
2930
- /**
2931
- * <p>Retrieves a list of tags applied to the specified resource.</p>
2932
- */
2933
- export interface ListTagsForResourceRequest {
2934
- /**
2935
- * <p>The ARN of the resource to retrieve tags from.</p>
2936
- */
2937
- resourceArn: string | undefined;
2938
- }
2939
-
2940
- export namespace ListTagsForResourceRequest {
2941
- /**
2942
- * @internal
2943
- */
2944
- export const filterSensitiveLog = (obj: ListTagsForResourceRequest): any => ({
2945
- ...obj,
2946
- });
2947
- }
2948
-
2949
- /**
2950
- * <p>The response to the request.</p>
2951
- */
2952
- export interface ListTagsForResourceResponse {
2953
- /**
2954
- * <p>The tags that are applied to the specified resource.</p>
2955
- */
2956
- tags?: { [key: string]: string };
2957
- }
2958
-
2959
- export namespace ListTagsForResourceResponse {
2960
- /**
2961
- * @internal
2962
- */
2963
- export const filterSensitiveLog = (obj: ListTagsForResourceResponse): any => ({
2964
- ...obj,
2965
- });
2966
- }
2967
-
2968
- /**
2969
- * <p>Contains details about the CloudTrail trail being analyzed to generate a policy.</p>
2970
- */
2971
- export interface Trail {
2972
- /**
2973
- * <p>Specifies the ARN of the trail. The format of a trail ARN is
2974
- * <code>arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail</code>.</p>
2975
- */
2976
- cloudTrailArn: string | undefined;
2977
-
2978
- /**
2979
- * <p>A list of regions to get CloudTrail data from and analyze to generate a policy.</p>
2980
- */
2981
- regions?: string[];
2982
-
2983
- /**
2984
- * <p>Possible values are <code>true</code> or <code>false</code>. If set to
2985
- * <code>true</code>, IAM Access Analyzer retrieves CloudTrail data from all regions to analyze and
2986
- * generate a policy.</p>
2987
- */
2988
- allRegions?: boolean;
2989
- }
2990
-
2991
- export namespace Trail {
2992
- /**
2993
- * @internal
2994
- */
2995
- export const filterSensitiveLog = (obj: Trail): any => ({
2996
- ...obj,
2997
- });
2998
- }
2999
-
3000
- /**
3001
- * <p>Contains information about CloudTrail access.</p>
3002
- */
3003
- export interface CloudTrailDetails {
3004
- /**
3005
- * <p>A <code>Trail</code> object that contains settings for a trail.</p>
3006
- */
3007
- trails: Trail[] | undefined;
3008
-
3009
- /**
3010
- * <p>The ARN of the service role that IAM Access Analyzer uses to access your CloudTrail trail and
3011
- * service last accessed information.</p>
3012
- */
3013
- accessRole: string | undefined;
3014
-
3015
- /**
3016
- * <p>The start of the time range for which IAM Access Analyzer reviews your CloudTrail events. Events
3017
- * with a timestamp before this time are not considered to generate a policy.</p>
3018
- */
3019
- startTime: Date | undefined;
3020
-
3021
- /**
3022
- * <p>The end of the time range for which IAM Access Analyzer reviews your CloudTrail events. Events with
3023
- * a timestamp after this time are not considered to generate a policy. If this is not
3024
- * included in the request, the default value is the current time.</p>
3025
- */
3026
- endTime?: Date;
3027
- }
3028
-
3029
- export namespace CloudTrailDetails {
3030
- /**
3031
- * @internal
3032
- */
3033
- export const filterSensitiveLog = (obj: CloudTrailDetails): any => ({
3034
- ...obj,
3035
- });
3036
- }
3037
-
3038
- /**
3039
- * <p>Contains the ARN details about the IAM entity for which the policy is
3040
- * generated.</p>
3041
- */
3042
- export interface PolicyGenerationDetails {
3043
- /**
3044
- * <p>The ARN of the IAM entity (user or role) for which you are generating a policy.</p>
3045
- */
3046
- principalArn: string | undefined;
3047
- }
3048
-
3049
- export namespace PolicyGenerationDetails {
3050
- /**
3051
- * @internal
3052
- */
3053
- export const filterSensitiveLog = (obj: PolicyGenerationDetails): any => ({
3054
- ...obj,
3055
- });
3056
- }
3057
-
3058
- export interface StartPolicyGenerationRequest {
3059
- /**
3060
- * <p>Contains the ARN of the IAM entity (user or role) for which you are generating a
3061
- * policy.</p>
3062
- */
3063
- policyGenerationDetails: PolicyGenerationDetails | undefined;
3064
-
3065
- /**
3066
- * <p>A <code>CloudTrailDetails</code> object that contains details about a <code>Trail</code>
3067
- * that you want to analyze to generate policies.</p>
3068
- */
3069
- cloudTrailDetails?: CloudTrailDetails;
3070
-
3071
- /**
3072
- * <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the
3073
- * request. Idempotency ensures that an API request completes only once. With an idempotent
3074
- * request, if the original request completes successfully, the subsequent retries with the
3075
- * same client token return the result from the original successful request and they have no
3076
- * additional effect.</p>
3077
- * <p>If you do not specify a client token, one is automatically generated by the Amazon Web Services
3078
- * SDK.</p>
3079
- */
3080
- clientToken?: string;
3081
- }
3082
-
3083
- export namespace StartPolicyGenerationRequest {
3084
- /**
3085
- * @internal
3086
- */
3087
- export const filterSensitiveLog = (obj: StartPolicyGenerationRequest): any => ({
3088
- ...obj,
3089
- });
3090
- }
3091
-
3092
- export interface StartPolicyGenerationResponse {
3093
- /**
3094
- * <p>The <code>JobId</code> that is returned by the <code>StartPolicyGeneration</code>
3095
- * operation. The <code>JobId</code> can be used with <code>GetGeneratedPolicy</code> to
3096
- * retrieve the generated policies or used with <code>CancelPolicyGeneration</code> to cancel
3097
- * the policy generation request.</p>
3098
- */
3099
- jobId: string | undefined;
3100
- }
3101
-
3102
- export namespace StartPolicyGenerationResponse {
3103
- /**
3104
- * @internal
3105
- */
3106
- export const filterSensitiveLog = (obj: StartPolicyGenerationResponse): any => ({
3107
- ...obj,
3108
- });
3109
- }
3110
-
3111
- /**
3112
- * <p>Starts a scan of the policies applied to the specified resource.</p>
3113
- */
3114
- export interface StartResourceScanRequest {
3115
- /**
3116
- * <p>The <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources">ARN of
3117
- * the analyzer</a> to use to scan the policies applied to the specified
3118
- * resource.</p>
3119
- */
3120
- analyzerArn: string | undefined;
3121
-
3122
- /**
3123
- * <p>The ARN of the resource to scan.</p>
3124
- */
3125
- resourceArn: string | undefined;
3126
- }
3127
-
3128
- export namespace StartResourceScanRequest {
3129
- /**
3130
- * @internal
3131
- */
3132
- export const filterSensitiveLog = (obj: StartResourceScanRequest): any => ({
3133
- ...obj,
3134
- });
3135
- }
3136
-
3137
- /**
3138
- * <p>Adds a tag to the specified resource.</p>
3139
- */
3140
- export interface TagResourceRequest {
3141
- /**
3142
- * <p>The ARN of the resource to add the tag to.</p>
3143
- */
3144
- resourceArn: string | undefined;
3145
-
3146
- /**
3147
- * <p>The tags to add to the resource.</p>
3148
- */
3149
- tags: { [key: string]: string } | undefined;
3150
- }
3151
-
3152
- export namespace TagResourceRequest {
3153
- /**
3154
- * @internal
3155
- */
3156
- export const filterSensitiveLog = (obj: TagResourceRequest): any => ({
3157
- ...obj,
3158
- });
3159
- }
3160
-
3161
- /**
3162
- * <p>The response to the request.</p>
3163
- */
3164
- export interface TagResourceResponse {}
3165
-
3166
- export namespace TagResourceResponse {
3167
- /**
3168
- * @internal
3169
- */
3170
- export const filterSensitiveLog = (obj: TagResourceResponse): any => ({
3171
- ...obj,
3172
- });
3173
- }
3174
-
3175
- /**
3176
- * <p>Removes a tag from the specified resource.</p>
3177
- */
3178
- export interface UntagResourceRequest {
3179
- /**
3180
- * <p>The ARN of the resource to remove the tag from.</p>
3181
- */
3182
- resourceArn: string | undefined;
3183
-
3184
- /**
3185
- * <p>The key for the tag to add.</p>
3186
- */
3187
- tagKeys: string[] | undefined;
3188
- }
3189
-
3190
- export namespace UntagResourceRequest {
3191
- /**
3192
- * @internal
3193
- */
3194
- export const filterSensitiveLog = (obj: UntagResourceRequest): any => ({
3195
- ...obj,
3196
- });
3197
- }
3198
-
3199
- /**
3200
- * <p>The response to the request.</p>
3201
- */
3202
- export interface UntagResourceResponse {}
3203
-
3204
- export namespace UntagResourceResponse {
3205
- /**
3206
- * @internal
3207
- */
3208
- export const filterSensitiveLog = (obj: UntagResourceResponse): any => ({
3209
- ...obj,
3210
- });
3211
- }
3212
-
3213
- export type FindingStatusUpdate = "ACTIVE" | "ARCHIVED";
3214
-
3215
- /**
3216
- * <p>Updates findings with the new values provided in the request.</p>
3217
- */
3218
- export interface UpdateFindingsRequest {
3219
- /**
3220
- * <p>The <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources">ARN of
3221
- * the analyzer</a> that generated the findings to update.</p>
3222
- */
3223
- analyzerArn: string | undefined;
3224
-
3225
- /**
3226
- * <p>The state represents the action to take to update the finding Status. Use
3227
- * <code>ARCHIVE</code> to change an Active finding to an Archived finding. Use
3228
- * <code>ACTIVE</code> to change an Archived finding to an Active finding.</p>
3229
- */
3230
- status: FindingStatusUpdate | string | undefined;
3231
-
3232
- /**
3233
- * <p>The IDs of the findings to update.</p>
3234
- */
3235
- ids?: string[];
3236
-
3237
- /**
3238
- * <p>The ARN of the resource identified in the finding.</p>
3239
- */
3240
- resourceArn?: string;
3241
-
3242
- /**
3243
- * <p>A client token.</p>
3244
- */
3245
- clientToken?: string;
3246
- }
3247
-
3248
- export namespace UpdateFindingsRequest {
3249
- /**
3250
- * @internal
3251
- */
3252
- export const filterSensitiveLog = (obj: UpdateFindingsRequest): any => ({
3253
- ...obj,
3254
- });
3255
- }
3256
-
3257
- export enum Locale {
3258
- DE = "DE",
3259
- EN = "EN",
3260
- ES = "ES",
3261
- FR = "FR",
3262
- IT = "IT",
3263
- JA = "JA",
3264
- KO = "KO",
3265
- PT_BR = "PT_BR",
3266
- ZH_CN = "ZH_CN",
3267
- ZH_TW = "ZH_TW",
3268
- }
3269
-
3270
- export enum PolicyType {
3271
- IDENTITY_POLICY = "IDENTITY_POLICY",
3272
- RESOURCE_POLICY = "RESOURCE_POLICY",
3273
- SERVICE_CONTROL_POLICY = "SERVICE_CONTROL_POLICY",
3274
- }
3275
-
3276
- export interface ValidatePolicyRequest {
3277
- /**
3278
- * <p>The locale to use for localizing the findings.</p>
3279
- */
3280
- locale?: Locale | string;
3281
-
3282
- /**
3283
- * <p>The maximum number of results to return in the response.</p>
3284
- */
3285
- maxResults?: number;
3286
-
3287
- /**
3288
- * <p>A token used for pagination of results returned.</p>
3289
- */
3290
- nextToken?: string;
3291
-
3292
- /**
3293
- * <p>The JSON policy document to use as the content for the policy.</p>
3294
- */
3295
- policyDocument: string | undefined;
3296
-
3297
- /**
3298
- * <p>The type of policy to validate. Identity policies grant permissions to IAM principals.
3299
- * Identity policies include managed and inline policies for IAM roles, users, and groups.
3300
- * They also include service-control policies (SCPs) that are attached to an Amazon Web Services
3301
- * organization, organizational unit (OU), or an account.</p>
3302
- * <p>Resource policies grant permissions on Amazon Web Services resources. Resource policies include trust
3303
- * policies for IAM roles and bucket policies for Amazon S3 buckets. You can provide a generic
3304
- * input such as identity policy or resource policy or a specific input such as managed policy
3305
- * or Amazon S3 bucket policy. </p>
3306
- */
3307
- policyType: PolicyType | string | undefined;
3308
- }
3309
-
3310
- export namespace ValidatePolicyRequest {
3311
- /**
3312
- * @internal
3313
- */
3314
- export const filterSensitiveLog = (obj: ValidatePolicyRequest): any => ({
3315
- ...obj,
3316
- });
3317
- }
3318
-
3319
- export enum ValidatePolicyFindingType {
3320
- ERROR = "ERROR",
3321
- SECURITY_WARNING = "SECURITY_WARNING",
3322
- SUGGESTION = "SUGGESTION",
3323
- WARNING = "WARNING",
3324
- }
3325
-
3326
- /**
3327
- * <p>A reference to a substring of a literal string in a JSON document.</p>
3328
- */
3329
- export interface Substring {
3330
- /**
3331
- * <p>The start index of the substring, starting from 0.</p>
3332
- */
3333
- start: number | undefined;
3334
-
3335
- /**
3336
- * <p>The length of the substring.</p>
3337
- */
3338
- length: number | undefined;
3339
- }
3340
-
3341
- export namespace Substring {
3342
- /**
3343
- * @internal
3344
- */
3345
- export const filterSensitiveLog = (obj: Substring): any => ({
3346
- ...obj,
3347
- });
3348
- }
3349
-
3350
- /**
3351
- * <p>A single element in a path through the JSON representation of a policy.</p>
3352
- */
3353
- export type PathElement =
3354
- | PathElement.IndexMember
3355
- | PathElement.KeyMember
3356
- | PathElement.SubstringMember
3357
- | PathElement.ValueMember
3358
- | PathElement.$UnknownMember;
3359
-
3360
- export namespace PathElement {
3361
- /**
3362
- * <p>Refers to an index in a JSON array.</p>
3363
- */
3364
- export interface IndexMember {
3365
- index: number;
3366
- key?: never;
3367
- substring?: never;
3368
- value?: never;
3369
- $unknown?: never;
3370
- }
3371
-
3372
- /**
3373
- * <p>Refers to a key in a JSON object.</p>
3374
- */
3375
- export interface KeyMember {
3376
- index?: never;
3377
- key: string;
3378
- substring?: never;
3379
- value?: never;
3380
- $unknown?: never;
3381
- }
3382
-
3383
- /**
3384
- * <p>Refers to a substring of a literal string in a JSON object.</p>
3385
- */
3386
- export interface SubstringMember {
3387
- index?: never;
3388
- key?: never;
3389
- substring: Substring;
3390
- value?: never;
3391
- $unknown?: never;
3392
- }
3393
-
3394
- /**
3395
- * <p>Refers to the value associated with a given key in a JSON object.</p>
3396
- */
3397
- export interface ValueMember {
3398
- index?: never;
3399
- key?: never;
3400
- substring?: never;
3401
- value: string;
3402
- $unknown?: never;
3403
- }
3404
-
3405
- export interface $UnknownMember {
3406
- index?: never;
3407
- key?: never;
3408
- substring?: never;
3409
- value?: never;
3410
- $unknown: [string, any];
3411
- }
3412
-
3413
- export interface Visitor<T> {
3414
- index: (value: number) => T;
3415
- key: (value: string) => T;
3416
- substring: (value: Substring) => T;
3417
- value: (value: string) => T;
3418
- _: (name: string, value: any) => T;
3419
- }
3420
-
3421
- export const visit = <T>(value: PathElement, visitor: Visitor<T>): T => {
3422
- if (value.index !== undefined) return visitor.index(value.index);
3423
- if (value.key !== undefined) return visitor.key(value.key);
3424
- if (value.substring !== undefined) return visitor.substring(value.substring);
3425
- if (value.value !== undefined) return visitor.value(value.value);
3426
- return visitor._(value.$unknown[0], value.$unknown[1]);
3427
- };
3428
-
3429
- /**
3430
- * @internal
3431
- */
3432
- export const filterSensitiveLog = (obj: PathElement): any => {
3433
- if (obj.index !== undefined) return { index: obj.index };
3434
- if (obj.key !== undefined) return { key: obj.key };
3435
- if (obj.substring !== undefined) return { substring: Substring.filterSensitiveLog(obj.substring) };
3436
- if (obj.value !== undefined) return { value: obj.value };
3437
- if (obj.$unknown !== undefined) return { [obj.$unknown[0]]: "UNKNOWN" };
3438
- };
3439
- }
3440
-
3441
- /**
3442
- * <p>A position in a policy.</p>
3443
- */
3444
- export interface Position {
3445
- /**
3446
- * <p>The line of the position, starting from 1.</p>
3447
- */
3448
- line: number | undefined;
3449
-
3450
- /**
3451
- * <p>The column of the position, starting from 0.</p>
3452
- */
3453
- column: number | undefined;
3454
-
3455
- /**
3456
- * <p>The offset within the policy that corresponds to the position, starting from 0.</p>
3457
- */
3458
- offset: number | undefined;
3459
- }
3460
-
3461
- export namespace Position {
3462
- /**
3463
- * @internal
3464
- */
3465
- export const filterSensitiveLog = (obj: Position): any => ({
3466
- ...obj,
3467
- });
3468
- }
3469
-
3470
- /**
3471
- * <p>A span in a policy. The span consists of a start position (inclusive) and end position
3472
- * (exclusive).</p>
3473
- */
3474
- export interface Span {
3475
- /**
3476
- * <p>The start position of the span (inclusive).</p>
3477
- */
3478
- start: Position | undefined;
3479
-
3480
- /**
3481
- * <p>The end position of the span (exclusive).</p>
3482
- */
3483
- end: Position | undefined;
3484
- }
3485
-
3486
- export namespace Span {
3487
- /**
3488
- * @internal
3489
- */
3490
- export const filterSensitiveLog = (obj: Span): any => ({
3491
- ...obj,
3492
- });
3493
- }
3494
-
3495
- /**
3496
- * <p>A location in a policy that is represented as a path through the JSON representation and
3497
- * a corresponding span.</p>
3498
- */
3499
- export interface Location {
3500
- /**
3501
- * <p>A path in a policy, represented as a sequence of path elements.</p>
3502
- */
3503
- path: PathElement[] | undefined;
3504
-
3505
- /**
3506
- * <p>A span in a policy.</p>
3507
- */
3508
- span: Span | undefined;
3509
- }
3510
-
3511
- export namespace Location {
3512
- /**
3513
- * @internal
3514
- */
3515
- export const filterSensitiveLog = (obj: Location): any => ({
3516
- ...obj,
3517
- ...(obj.path && { path: obj.path.map((item) => PathElement.filterSensitiveLog(item)) }),
3518
- });
3519
- }
3520
-
3521
- /**
3522
- * <p>A finding in a policy. Each finding is an actionable recommendation that can be used to
3523
- * improve the policy.</p>
3524
- */
3525
- export interface ValidatePolicyFinding {
3526
- /**
3527
- * <p>A localized message that explains the finding and provides guidance on how to address
3528
- * it.</p>
3529
- */
3530
- findingDetails: string | undefined;
3531
-
3532
- /**
3533
- * <p>The impact of the finding.</p>
3534
- * <p>Security warnings report when the policy allows access that we consider overly
3535
- * permissive.</p>
3536
- * <p>Errors report when a part of the policy is not functional.</p>
3537
- * <p>Warnings report non-security issues when a policy does not conform to policy writing
3538
- * best practices.</p>
3539
- * <p>Suggestions recommend stylistic improvements in the policy that do not impact
3540
- * access.</p>
3541
- */
3542
- findingType: ValidatePolicyFindingType | string | undefined;
3543
-
3544
- /**
3545
- * <p>The issue code provides an identifier of the issue associated with this finding.</p>
3546
- */
3547
- issueCode: string | undefined;
3548
-
3549
- /**
3550
- * <p>A link to additional documentation about the type of finding.</p>
3551
- */
3552
- learnMoreLink: string | undefined;
3553
-
3554
- /**
3555
- * <p>The list of locations in the policy document that are related to the finding. The issue
3556
- * code provides a summary of an issue identified by the finding.</p>
3557
- */
3558
- locations: Location[] | undefined;
3559
- }
3560
-
3561
- export namespace ValidatePolicyFinding {
3562
- /**
3563
- * @internal
3564
- */
3565
- export const filterSensitiveLog = (obj: ValidatePolicyFinding): any => ({
3566
- ...obj,
3567
- ...(obj.locations && { locations: obj.locations.map((item) => Location.filterSensitiveLog(item)) }),
3568
- });
3569
- }
3570
-
3571
- export interface ValidatePolicyResponse {
3572
- /**
3573
- * <p>The list of findings in a policy returned by IAM Access Analyzer based on its suite of policy
3574
- * checks.</p>
3575
- */
3576
- findings: ValidatePolicyFinding[] | undefined;
3577
-
3578
- /**
3579
- * <p>A token used for pagination of results returned.</p>
3580
- */
3581
- nextToken?: string;
3582
- }
3583
-
3584
- export namespace ValidatePolicyResponse {
3585
- /**
3586
- * @internal
3587
- */
3588
- export const filterSensitiveLog = (obj: ValidatePolicyResponse): any => ({
3589
- ...obj,
3590
- });
3591
- }