aws-iam-ls 0.0.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 (522) hide show
  1. package/.direnv/bin/nix-direnv-reload +19 -0
  2. package/.direnv/flake-profile-a5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa.rc +2156 -0
  3. package/.github/workflows/publish.yml +37 -0
  4. package/.github/workflows/test.yml +16 -0
  5. package/.vscodeignore +17 -0
  6. package/LICENSE +21 -0
  7. package/package.json +53 -0
  8. package/readme.md +25 -0
  9. package/src/data/condition-keys/global.json +362 -0
  10. package/src/data/servicereference/actions.json +1 -0
  11. package/src/data/servicereference/service-principals.json +1 -0
  12. package/src/data/servicereference/services/a2c.json +1 -0
  13. package/src/data/servicereference/services/a4b.json +1 -0
  14. package/src/data/servicereference/services/access-analyzer.json +1 -0
  15. package/src/data/servicereference/services/account.json +1 -0
  16. package/src/data/servicereference/services/acm-pca.json +1 -0
  17. package/src/data/servicereference/services/acm.json +1 -0
  18. package/src/data/servicereference/services/aco-automation.json +1 -0
  19. package/src/data/servicereference/services/action-recommendations.json +1 -0
  20. package/src/data/servicereference/services/activate.json +1 -0
  21. package/src/data/servicereference/services/aidevops.json +1 -0
  22. package/src/data/servicereference/services/aiops.json +1 -0
  23. package/src/data/servicereference/services/airflow-serverless.json +1 -0
  24. package/src/data/servicereference/services/airflow.json +1 -0
  25. package/src/data/servicereference/services/amplify.json +1 -0
  26. package/src/data/servicereference/services/amplifybackend.json +1 -0
  27. package/src/data/servicereference/services/amplifyuibuilder.json +1 -0
  28. package/src/data/servicereference/services/aoss.json +1 -0
  29. package/src/data/servicereference/services/apigateway.json +1 -0
  30. package/src/data/servicereference/services/app-integrations.json +1 -0
  31. package/src/data/servicereference/services/appconfig.json +1 -0
  32. package/src/data/servicereference/services/appfabric.json +1 -0
  33. package/src/data/servicereference/services/appflow.json +1 -0
  34. package/src/data/servicereference/services/application-autoscaling.json +1 -0
  35. package/src/data/servicereference/services/application-signals.json +1 -0
  36. package/src/data/servicereference/services/application-transformation.json +1 -0
  37. package/src/data/servicereference/services/applicationinsights.json +1 -0
  38. package/src/data/servicereference/services/appmesh-preview.json +1 -0
  39. package/src/data/servicereference/services/appmesh.json +1 -0
  40. package/src/data/servicereference/services/apprunner.json +1 -0
  41. package/src/data/servicereference/services/appstream.json +1 -0
  42. package/src/data/servicereference/services/appstudio.json +1 -0
  43. package/src/data/servicereference/services/appsync.json +1 -0
  44. package/src/data/servicereference/services/apptest.json +1 -0
  45. package/src/data/servicereference/services/aps.json +1 -0
  46. package/src/data/servicereference/services/arc-region-switch.json +1 -0
  47. package/src/data/servicereference/services/arc-zonal-shift.json +1 -0
  48. package/src/data/servicereference/services/arsenal.json +1 -0
  49. package/src/data/servicereference/services/artifact.json +1 -0
  50. package/src/data/servicereference/services/athena.json +1 -0
  51. package/src/data/servicereference/services/auditmanager.json +1 -0
  52. package/src/data/servicereference/services/autoscaling-plans.json +1 -0
  53. package/src/data/servicereference/services/autoscaling.json +1 -0
  54. package/src/data/servicereference/services/aws-marketplace-management.json +1 -0
  55. package/src/data/servicereference/services/aws-marketplace.json +1 -0
  56. package/src/data/servicereference/services/aws-mcp.json +1 -0
  57. package/src/data/servicereference/services/aws-portal.json +1 -0
  58. package/src/data/servicereference/services/awsconnector.json +1 -0
  59. package/src/data/servicereference/services/b2bi.json +1 -0
  60. package/src/data/servicereference/services/backup-gateway.json +1 -0
  61. package/src/data/servicereference/services/backup-search.json +1 -0
  62. package/src/data/servicereference/services/backup-storage.json +1 -0
  63. package/src/data/servicereference/services/backup.json +1 -0
  64. package/src/data/servicereference/services/batch.json +1 -0
  65. package/src/data/servicereference/services/bcm-dashboards.json +1 -0
  66. package/src/data/servicereference/services/bcm-data-exports.json +1 -0
  67. package/src/data/servicereference/services/bcm-pricing-calculator.json +1 -0
  68. package/src/data/servicereference/services/bcm-recommended-actions.json +1 -0
  69. package/src/data/servicereference/services/bedrock-agentcore.json +1 -0
  70. package/src/data/servicereference/services/bedrock-mantle.json +1 -0
  71. package/src/data/servicereference/services/bedrock.json +1 -0
  72. package/src/data/servicereference/services/billing.json +1 -0
  73. package/src/data/servicereference/services/billingconductor.json +1 -0
  74. package/src/data/servicereference/services/braket.json +1 -0
  75. package/src/data/servicereference/services/budgets.json +1 -0
  76. package/src/data/servicereference/services/bugbust.json +1 -0
  77. package/src/data/servicereference/services/cases.json +1 -0
  78. package/src/data/servicereference/services/cassandra.json +1 -0
  79. package/src/data/servicereference/services/ce.json +1 -0
  80. package/src/data/servicereference/services/chatbot.json +1 -0
  81. package/src/data/servicereference/services/chime.json +1 -0
  82. package/src/data/servicereference/services/cleanrooms-ml.json +1 -0
  83. package/src/data/servicereference/services/cleanrooms.json +1 -0
  84. package/src/data/servicereference/services/cloud9.json +1 -0
  85. package/src/data/servicereference/services/clouddirectory.json +1 -0
  86. package/src/data/servicereference/services/cloudformation.json +1 -0
  87. package/src/data/servicereference/services/cloudfront-keyvaluestore.json +1 -0
  88. package/src/data/servicereference/services/cloudfront.json +1 -0
  89. package/src/data/servicereference/services/cloudhsm.json +1 -0
  90. package/src/data/servicereference/services/cloudsearch.json +1 -0
  91. package/src/data/servicereference/services/cloudshell.json +1 -0
  92. package/src/data/servicereference/services/cloudtrail-data.json +1 -0
  93. package/src/data/servicereference/services/cloudtrail.json +1 -0
  94. package/src/data/servicereference/services/cloudwatch.json +1 -0
  95. package/src/data/servicereference/services/codeartifact.json +1 -0
  96. package/src/data/servicereference/services/codebuild.json +1 -0
  97. package/src/data/servicereference/services/codecatalyst.json +1 -0
  98. package/src/data/servicereference/services/codecommit.json +1 -0
  99. package/src/data/servicereference/services/codeconnections.json +1 -0
  100. package/src/data/servicereference/services/codedeploy-commands-secure.json +1 -0
  101. package/src/data/servicereference/services/codedeploy.json +1 -0
  102. package/src/data/servicereference/services/codeguru-profiler.json +1 -0
  103. package/src/data/servicereference/services/codeguru-reviewer.json +1 -0
  104. package/src/data/servicereference/services/codeguru-security.json +1 -0
  105. package/src/data/servicereference/services/codeguru.json +1 -0
  106. package/src/data/servicereference/services/codepipeline.json +1 -0
  107. package/src/data/servicereference/services/codestar-connections.json +1 -0
  108. package/src/data/servicereference/services/codestar-notifications.json +1 -0
  109. package/src/data/servicereference/services/codestar.json +1 -0
  110. package/src/data/servicereference/services/codewhisperer.json +1 -0
  111. package/src/data/servicereference/services/cognito-identity.json +1 -0
  112. package/src/data/servicereference/services/cognito-idp.json +1 -0
  113. package/src/data/servicereference/services/cognito-sync.json +1 -0
  114. package/src/data/servicereference/services/comprehend.json +1 -0
  115. package/src/data/servicereference/services/comprehendmedical.json +1 -0
  116. package/src/data/servicereference/services/compute-optimizer.json +1 -0
  117. package/src/data/servicereference/services/config.json +1 -0
  118. package/src/data/servicereference/services/connect-campaigns.json +1 -0
  119. package/src/data/servicereference/services/connect.json +1 -0
  120. package/src/data/servicereference/services/consoleapp.json +1 -0
  121. package/src/data/servicereference/services/consolidatedbilling.json +1 -0
  122. package/src/data/servicereference/services/controlcatalog.json +1 -0
  123. package/src/data/servicereference/services/controltower.json +1 -0
  124. package/src/data/servicereference/services/cost-optimization-hub.json +1 -0
  125. package/src/data/servicereference/services/cur.json +1 -0
  126. package/src/data/servicereference/services/customer-verification.json +1 -0
  127. package/src/data/servicereference/services/databrew.json +1 -0
  128. package/src/data/servicereference/services/dataexchange.json +1 -0
  129. package/src/data/servicereference/services/datapipeline.json +1 -0
  130. package/src/data/servicereference/services/datasync.json +1 -0
  131. package/src/data/servicereference/services/datazone.json +1 -0
  132. package/src/data/servicereference/services/dax.json +1 -0
  133. package/src/data/servicereference/services/dbqms.json +1 -0
  134. package/src/data/servicereference/services/deadline.json +1 -0
  135. package/src/data/servicereference/services/detective.json +1 -0
  136. package/src/data/servicereference/services/devicefarm.json +1 -0
  137. package/src/data/servicereference/services/devops-guru.json +1 -0
  138. package/src/data/servicereference/services/directconnect.json +1 -0
  139. package/src/data/servicereference/services/discovery.json +1 -0
  140. package/src/data/servicereference/services/dlm.json +1 -0
  141. package/src/data/servicereference/services/dms.json +1 -0
  142. package/src/data/servicereference/services/docdb-elastic.json +1 -0
  143. package/src/data/servicereference/services/drs.json +1 -0
  144. package/src/data/servicereference/services/ds-data.json +1 -0
  145. package/src/data/servicereference/services/ds.json +1 -0
  146. package/src/data/servicereference/services/dsql.json +1 -0
  147. package/src/data/servicereference/services/dynamodb.json +1 -0
  148. package/src/data/servicereference/services/ebs.json +1 -0
  149. package/src/data/servicereference/services/ec2-instance-connect.json +1 -0
  150. package/src/data/servicereference/services/ec2.json +1 -0
  151. package/src/data/servicereference/services/ec2messages.json +1 -0
  152. package/src/data/servicereference/services/ecr-public.json +1 -0
  153. package/src/data/servicereference/services/ecr.json +1 -0
  154. package/src/data/servicereference/services/ecs-mcp.json +1 -0
  155. package/src/data/servicereference/services/ecs.json +1 -0
  156. package/src/data/servicereference/services/eks-auth.json +1 -0
  157. package/src/data/servicereference/services/eks-mcp.json +1 -0
  158. package/src/data/servicereference/services/eks.json +1 -0
  159. package/src/data/servicereference/services/elasticache.json +1 -0
  160. package/src/data/servicereference/services/elasticbeanstalk.json +1 -0
  161. package/src/data/servicereference/services/elasticfilesystem.json +1 -0
  162. package/src/data/servicereference/services/elasticloadbalancing.json +1 -0
  163. package/src/data/servicereference/services/elasticmapreduce.json +1 -0
  164. package/src/data/servicereference/services/elastictranscoder.json +1 -0
  165. package/src/data/servicereference/services/elemental-activations.json +1 -0
  166. package/src/data/servicereference/services/elemental-appliances-software.json +1 -0
  167. package/src/data/servicereference/services/elemental-inference.json +1 -0
  168. package/src/data/servicereference/services/elemental-support-cases.json +1 -0
  169. package/src/data/servicereference/services/elemental-support-content.json +1 -0
  170. package/src/data/servicereference/services/emr-containers.json +1 -0
  171. package/src/data/servicereference/services/emr-serverless.json +1 -0
  172. package/src/data/servicereference/services/entityresolution.json +1 -0
  173. package/src/data/servicereference/services/es.json +1 -0
  174. package/src/data/servicereference/services/events.json +1 -0
  175. package/src/data/servicereference/services/evidently.json +1 -0
  176. package/src/data/servicereference/services/evs.json +1 -0
  177. package/src/data/servicereference/services/execute-api.json +1 -0
  178. package/src/data/servicereference/services/finspace-api.json +1 -0
  179. package/src/data/servicereference/services/finspace.json +1 -0
  180. package/src/data/servicereference/services/firehose.json +1 -0
  181. package/src/data/servicereference/services/fis.json +1 -0
  182. package/src/data/servicereference/services/fms.json +1 -0
  183. package/src/data/servicereference/services/forecast.json +1 -0
  184. package/src/data/servicereference/services/frauddetector.json +1 -0
  185. package/src/data/servicereference/services/freertos.json +1 -0
  186. package/src/data/servicereference/services/freetier.json +1 -0
  187. package/src/data/servicereference/services/fsx.json +1 -0
  188. package/src/data/servicereference/services/gamelift.json +1 -0
  189. package/src/data/servicereference/services/gameliftstreams.json +1 -0
  190. package/src/data/servicereference/services/geo-maps.json +1 -0
  191. package/src/data/servicereference/services/geo-places.json +1 -0
  192. package/src/data/servicereference/services/geo-routes.json +1 -0
  193. package/src/data/servicereference/services/geo.json +1 -0
  194. package/src/data/servicereference/services/glacier.json +1 -0
  195. package/src/data/servicereference/services/globalaccelerator.json +1 -0
  196. package/src/data/servicereference/services/glue.json +1 -0
  197. package/src/data/servicereference/services/grafana.json +1 -0
  198. package/src/data/servicereference/services/greengrass.json +1 -0
  199. package/src/data/servicereference/services/groundstation.json +1 -0
  200. package/src/data/servicereference/services/groundtruthlabeling.json +1 -0
  201. package/src/data/servicereference/services/guardduty.json +1 -0
  202. package/src/data/servicereference/services/health-agent.json +1 -0
  203. package/src/data/servicereference/services/health.json +1 -0
  204. package/src/data/servicereference/services/healthlake.json +1 -0
  205. package/src/data/servicereference/services/honeycode.json +1 -0
  206. package/src/data/servicereference/services/iam.json +1 -0
  207. package/src/data/servicereference/services/identity-sync.json +1 -0
  208. package/src/data/servicereference/services/identitystore-auth.json +1 -0
  209. package/src/data/servicereference/services/identitystore.json +1 -0
  210. package/src/data/servicereference/services/imagebuilder.json +1 -0
  211. package/src/data/servicereference/services/importexport.json +1 -0
  212. package/src/data/servicereference/services/inspector-scan.json +1 -0
  213. package/src/data/servicereference/services/inspector.json +1 -0
  214. package/src/data/servicereference/services/inspector2-telemetry.json +1 -0
  215. package/src/data/servicereference/services/inspector2.json +1 -0
  216. package/src/data/servicereference/services/interconnect.json +1 -0
  217. package/src/data/servicereference/services/internetmonitor.json +1 -0
  218. package/src/data/servicereference/services/invoicing.json +1 -0
  219. package/src/data/servicereference/services/iot-device-tester.json +1 -0
  220. package/src/data/servicereference/services/iot.json +1 -0
  221. package/src/data/servicereference/services/iotanalytics.json +1 -0
  222. package/src/data/servicereference/services/iotdeviceadvisor.json +1 -0
  223. package/src/data/servicereference/services/iotevents.json +1 -0
  224. package/src/data/servicereference/services/iotfleethub.json +1 -0
  225. package/src/data/servicereference/services/iotfleetwise.json +1 -0
  226. package/src/data/servicereference/services/iotjobsdata.json +1 -0
  227. package/src/data/servicereference/services/iotmanagedintegrations.json +1 -0
  228. package/src/data/servicereference/services/iotsitewise.json +1 -0
  229. package/src/data/servicereference/services/iottwinmaker.json +1 -0
  230. package/src/data/servicereference/services/iotwireless.json +1 -0
  231. package/src/data/servicereference/services/iq-permission.json +1 -0
  232. package/src/data/servicereference/services/iq.json +1 -0
  233. package/src/data/servicereference/services/ivs.json +1 -0
  234. package/src/data/servicereference/services/ivschat.json +1 -0
  235. package/src/data/servicereference/services/kafka-cluster.json +1 -0
  236. package/src/data/servicereference/services/kafka.json +1 -0
  237. package/src/data/servicereference/services/kafkaconnect.json +1 -0
  238. package/src/data/servicereference/services/kendra-ranking.json +1 -0
  239. package/src/data/servicereference/services/kendra.json +1 -0
  240. package/src/data/servicereference/services/kinesis.json +1 -0
  241. package/src/data/servicereference/services/kinesisanalytics.json +1 -0
  242. package/src/data/servicereference/services/kinesisvideo.json +1 -0
  243. package/src/data/servicereference/services/kms.json +1 -0
  244. package/src/data/servicereference/services/lakeformation.json +1 -0
  245. package/src/data/servicereference/services/lambda.json +1 -0
  246. package/src/data/servicereference/services/launchwizard.json +1 -0
  247. package/src/data/servicereference/services/lex.json +1 -0
  248. package/src/data/servicereference/services/license-manager-linux-subscriptions.json +1 -0
  249. package/src/data/servicereference/services/license-manager-user-subscriptions.json +1 -0
  250. package/src/data/servicereference/services/license-manager.json +1 -0
  251. package/src/data/servicereference/services/lightsail.json +1 -0
  252. package/src/data/servicereference/services/logs.json +1 -0
  253. package/src/data/servicereference/services/lookoutequipment.json +1 -0
  254. package/src/data/servicereference/services/lookoutmetrics.json +1 -0
  255. package/src/data/servicereference/services/lookoutvision.json +1 -0
  256. package/src/data/servicereference/services/m2.json +1 -0
  257. package/src/data/servicereference/services/machinelearning.json +1 -0
  258. package/src/data/servicereference/services/macie2.json +1 -0
  259. package/src/data/servicereference/services/managedblockchain-query.json +1 -0
  260. package/src/data/servicereference/services/managedblockchain.json +1 -0
  261. package/src/data/servicereference/services/mapcredits.json +1 -0
  262. package/src/data/servicereference/services/marketplacecommerceanalytics.json +1 -0
  263. package/src/data/servicereference/services/mechanicalturk.json +1 -0
  264. package/src/data/servicereference/services/mediaconnect.json +1 -0
  265. package/src/data/servicereference/services/mediaconvert.json +1 -0
  266. package/src/data/servicereference/services/mediaimport.json +1 -0
  267. package/src/data/servicereference/services/medialive.json +1 -0
  268. package/src/data/servicereference/services/mediapackage-vod.json +1 -0
  269. package/src/data/servicereference/services/mediapackage.json +1 -0
  270. package/src/data/servicereference/services/mediapackagev2.json +1 -0
  271. package/src/data/servicereference/services/mediastore.json +1 -0
  272. package/src/data/servicereference/services/mediatailor.json +1 -0
  273. package/src/data/servicereference/services/medical-imaging.json +1 -0
  274. package/src/data/servicereference/services/memorydb.json +1 -0
  275. package/src/data/servicereference/services/mgh.json +1 -0
  276. package/src/data/servicereference/services/mgn.json +1 -0
  277. package/src/data/servicereference/services/migrationhub-orchestrator.json +1 -0
  278. package/src/data/servicereference/services/migrationhub-strategy.json +1 -0
  279. package/src/data/servicereference/services/mobileanalytics.json +1 -0
  280. package/src/data/servicereference/services/mobiletargeting.json +1 -0
  281. package/src/data/servicereference/services/monitron.json +1 -0
  282. package/src/data/servicereference/services/mpa.json +1 -0
  283. package/src/data/servicereference/services/mq.json +1 -0
  284. package/src/data/servicereference/services/neptune-db.json +1 -0
  285. package/src/data/servicereference/services/neptune-graph.json +1 -0
  286. package/src/data/servicereference/services/network-firewall.json +1 -0
  287. package/src/data/servicereference/services/network-security-director.json +1 -0
  288. package/src/data/servicereference/services/networkflowmonitor.json +1 -0
  289. package/src/data/servicereference/services/networkmanager-chat.json +1 -0
  290. package/src/data/servicereference/services/networkmanager.json +1 -0
  291. package/src/data/servicereference/services/networkmonitor.json +1 -0
  292. package/src/data/servicereference/services/nimble.json +1 -0
  293. package/src/data/servicereference/services/notifications-contacts.json +1 -0
  294. package/src/data/servicereference/services/notifications.json +1 -0
  295. package/src/data/servicereference/services/nova-act.json +1 -0
  296. package/src/data/servicereference/services/oam.json +1 -0
  297. package/src/data/servicereference/services/observabilityadmin.json +1 -0
  298. package/src/data/servicereference/services/odb.json +1 -0
  299. package/src/data/servicereference/services/omics.json +1 -0
  300. package/src/data/servicereference/services/one.json +1 -0
  301. package/src/data/servicereference/services/opensearch.json +1 -0
  302. package/src/data/servicereference/services/opsworks-cm.json +1 -0
  303. package/src/data/servicereference/services/opsworks.json +1 -0
  304. package/src/data/servicereference/services/organizations.json +1 -0
  305. package/src/data/servicereference/services/osis.json +1 -0
  306. package/src/data/servicereference/services/outposts.json +1 -0
  307. package/src/data/servicereference/services/panorama.json +1 -0
  308. package/src/data/servicereference/services/partnercentral-account-management.json +1 -0
  309. package/src/data/servicereference/services/partnercentral.json +1 -0
  310. package/src/data/servicereference/services/payment-cryptography.json +1 -0
  311. package/src/data/servicereference/services/payments.json +1 -0
  312. package/src/data/servicereference/services/pca-connector-ad.json +1 -0
  313. package/src/data/servicereference/services/pca-connector-scep.json +1 -0
  314. package/src/data/servicereference/services/pcs.json +1 -0
  315. package/src/data/servicereference/services/personalize.json +1 -0
  316. package/src/data/servicereference/services/pi.json +1 -0
  317. package/src/data/servicereference/services/pipes.json +1 -0
  318. package/src/data/servicereference/services/polly.json +1 -0
  319. package/src/data/servicereference/services/pricing.json +1 -0
  320. package/src/data/servicereference/services/pricingplanmanager.json +1 -0
  321. package/src/data/servicereference/services/private-networks.json +1 -0
  322. package/src/data/servicereference/services/profile.json +1 -0
  323. package/src/data/servicereference/services/proton.json +1 -0
  324. package/src/data/servicereference/services/purchase-orders.json +1 -0
  325. package/src/data/servicereference/services/q.json +1 -0
  326. package/src/data/servicereference/services/qapps.json +1 -0
  327. package/src/data/servicereference/services/qbusiness.json +1 -0
  328. package/src/data/servicereference/services/qdeveloper.json +1 -0
  329. package/src/data/servicereference/services/qldb.json +1 -0
  330. package/src/data/servicereference/services/quicksight.json +1 -0
  331. package/src/data/servicereference/services/ram.json +1 -0
  332. package/src/data/servicereference/services/rbin.json +1 -0
  333. package/src/data/servicereference/services/rds-data.json +1 -0
  334. package/src/data/servicereference/services/rds-db.json +1 -0
  335. package/src/data/servicereference/services/rds.json +1 -0
  336. package/src/data/servicereference/services/redshift-data.json +1 -0
  337. package/src/data/servicereference/services/redshift-serverless.json +1 -0
  338. package/src/data/servicereference/services/redshift.json +1 -0
  339. package/src/data/servicereference/services/refactor-spaces.json +1 -0
  340. package/src/data/servicereference/services/rekognition.json +1 -0
  341. package/src/data/servicereference/services/repostspace.json +1 -0
  342. package/src/data/servicereference/services/resiliencehub.json +1 -0
  343. package/src/data/servicereference/services/resource-explorer-2.json +1 -0
  344. package/src/data/servicereference/services/resource-explorer.json +1 -0
  345. package/src/data/servicereference/services/resource-groups.json +1 -0
  346. package/src/data/servicereference/services/rhelkb.json +1 -0
  347. package/src/data/servicereference/services/robomaker.json +1 -0
  348. package/src/data/servicereference/services/rolesanywhere.json +1 -0
  349. package/src/data/servicereference/services/route53-recovery-cluster.json +1 -0
  350. package/src/data/servicereference/services/route53-recovery-control-config.json +1 -0
  351. package/src/data/servicereference/services/route53-recovery-readiness.json +1 -0
  352. package/src/data/servicereference/services/route53.json +1 -0
  353. package/src/data/servicereference/services/route53domains.json +1 -0
  354. package/src/data/servicereference/services/route53globalresolver.json +1 -0
  355. package/src/data/servicereference/services/route53profiles.json +1 -0
  356. package/src/data/servicereference/services/route53resolver.json +1 -0
  357. package/src/data/servicereference/services/rtbfabric.json +1 -0
  358. package/src/data/servicereference/services/rum.json +1 -0
  359. package/src/data/servicereference/services/s3-object-lambda.json +1 -0
  360. package/src/data/servicereference/services/s3-outposts.json +1 -0
  361. package/src/data/servicereference/services/s3.json +1 -0
  362. package/src/data/servicereference/services/s3express.json +1 -0
  363. package/src/data/servicereference/services/s3tables.json +1 -0
  364. package/src/data/servicereference/services/s3vectors.json +1 -0
  365. package/src/data/servicereference/services/sagemaker-data-science-assistant.json +1 -0
  366. package/src/data/servicereference/services/sagemaker-geospatial.json +1 -0
  367. package/src/data/servicereference/services/sagemaker-mlflow.json +1 -0
  368. package/src/data/servicereference/services/sagemaker-unified-studio-mcp.json +1 -0
  369. package/src/data/servicereference/services/sagemaker.json +1 -0
  370. package/src/data/servicereference/services/savingsplans.json +1 -0
  371. package/src/data/servicereference/services/scheduler.json +1 -0
  372. package/src/data/servicereference/services/schemas.json +1 -0
  373. package/src/data/servicereference/services/scn.json +1 -0
  374. package/src/data/servicereference/services/sdb.json +1 -0
  375. package/src/data/servicereference/services/secretsmanager.json +1 -0
  376. package/src/data/servicereference/services/security-ir.json +1 -0
  377. package/src/data/servicereference/services/securityagent.json +1 -0
  378. package/src/data/servicereference/services/securityhub.json +1 -0
  379. package/src/data/servicereference/services/securitylake.json +1 -0
  380. package/src/data/servicereference/services/serverlessrepo.json +1 -0
  381. package/src/data/servicereference/services/servicecatalog.json +1 -0
  382. package/src/data/servicereference/services/servicediscovery.json +1 -0
  383. package/src/data/servicereference/services/serviceextract.json +1 -0
  384. package/src/data/servicereference/services/servicequotas.json +1 -0
  385. package/src/data/servicereference/services/ses.json +1 -0
  386. package/src/data/servicereference/services/shield.json +1 -0
  387. package/src/data/servicereference/services/signer.json +1 -0
  388. package/src/data/servicereference/services/signin.json +1 -0
  389. package/src/data/servicereference/services/simspaceweaver.json +1 -0
  390. package/src/data/servicereference/services/sms-voice.json +1 -0
  391. package/src/data/servicereference/services/sms.json +1 -0
  392. package/src/data/servicereference/services/snow-device-management.json +1 -0
  393. package/src/data/servicereference/services/snowball.json +1 -0
  394. package/src/data/servicereference/services/sns.json +1 -0
  395. package/src/data/servicereference/services/social-messaging.json +1 -0
  396. package/src/data/servicereference/services/sqlworkbench.json +1 -0
  397. package/src/data/servicereference/services/sqs.json +1 -0
  398. package/src/data/servicereference/services/ssm-contacts.json +1 -0
  399. package/src/data/servicereference/services/ssm-guiconnect.json +1 -0
  400. package/src/data/servicereference/services/ssm-incidents.json +1 -0
  401. package/src/data/servicereference/services/ssm-quicksetup.json +1 -0
  402. package/src/data/servicereference/services/ssm-sap.json +1 -0
  403. package/src/data/servicereference/services/ssm.json +1 -0
  404. package/src/data/servicereference/services/ssmmessages.json +1 -0
  405. package/src/data/servicereference/services/sso-directory.json +1 -0
  406. package/src/data/servicereference/services/sso-oauth.json +1 -0
  407. package/src/data/servicereference/services/sso.json +1 -0
  408. package/src/data/servicereference/services/states.json +1 -0
  409. package/src/data/servicereference/services/storagegateway.json +1 -0
  410. package/src/data/servicereference/services/sts.json +1 -0
  411. package/src/data/servicereference/services/support-console.json +1 -0
  412. package/src/data/servicereference/services/support.json +1 -0
  413. package/src/data/servicereference/services/supportapp.json +1 -0
  414. package/src/data/servicereference/services/supportplans.json +1 -0
  415. package/src/data/servicereference/services/sustainability.json +1 -0
  416. package/src/data/servicereference/services/swf.json +1 -0
  417. package/src/data/servicereference/services/synthetics.json +1 -0
  418. package/src/data/servicereference/services/tag.json +1 -0
  419. package/src/data/servicereference/services/tax.json +1 -0
  420. package/src/data/servicereference/services/textract.json +1 -0
  421. package/src/data/servicereference/services/thinclient.json +1 -0
  422. package/src/data/servicereference/services/timestream-influxdb.json +1 -0
  423. package/src/data/servicereference/services/timestream.json +1 -0
  424. package/src/data/servicereference/services/tiros.json +1 -0
  425. package/src/data/servicereference/services/tnb.json +1 -0
  426. package/src/data/servicereference/services/transcribe.json +1 -0
  427. package/src/data/servicereference/services/transfer.json +1 -0
  428. package/src/data/servicereference/services/transform-custom.json +1 -0
  429. package/src/data/servicereference/services/transform.json +1 -0
  430. package/src/data/servicereference/services/translate.json +1 -0
  431. package/src/data/servicereference/services/trustedadvisor.json +1 -0
  432. package/src/data/servicereference/services/ts.json +1 -0
  433. package/src/data/servicereference/services/user-subscriptions.json +1 -0
  434. package/src/data/servicereference/services/uxc.json +1 -0
  435. package/src/data/servicereference/services/vendor-insights.json +1 -0
  436. package/src/data/servicereference/services/verified-access.json +1 -0
  437. package/src/data/servicereference/services/verifiedpermissions.json +1 -0
  438. package/src/data/servicereference/services/voiceid.json +1 -0
  439. package/src/data/servicereference/services/vpc-lattice-svcs.json +1 -0
  440. package/src/data/servicereference/services/vpc-lattice.json +1 -0
  441. package/src/data/servicereference/services/vpce.json +1 -0
  442. package/src/data/servicereference/services/waf-regional.json +1 -0
  443. package/src/data/servicereference/services/waf.json +1 -0
  444. package/src/data/servicereference/services/wafv2.json +1 -0
  445. package/src/data/servicereference/services/wam.json +1 -0
  446. package/src/data/servicereference/services/wellarchitected.json +1 -0
  447. package/src/data/servicereference/services/wickr.json +1 -0
  448. package/src/data/servicereference/services/wisdom.json +1 -0
  449. package/src/data/servicereference/services/workdocs.json +1 -0
  450. package/src/data/servicereference/services/worklink.json +1 -0
  451. package/src/data/servicereference/services/workmail.json +1 -0
  452. package/src/data/servicereference/services/workmailmessageflow.json +1 -0
  453. package/src/data/servicereference/services/workspaces-instances.json +1 -0
  454. package/src/data/servicereference/services/workspaces-web.json +1 -0
  455. package/src/data/servicereference/services/workspaces.json +1 -0
  456. package/src/data/servicereference/services/xray.json +1 -0
  457. package/src/data/servicereference/services.json +1 -0
  458. package/src/extension.d.ts +3 -0
  459. package/src/extension.js +23 -0
  460. package/src/grammars/tree-sitter-hcl.wasm +0 -0
  461. package/src/grammars/tree-sitter-json.wasm +0 -0
  462. package/src/grammars/tree-sitter-yaml.wasm +0 -0
  463. package/src/handlers/completion/action-value.d.ts +4 -0
  464. package/src/handlers/completion/action-value.js +46 -0
  465. package/src/handlers/completion/condition-block.d.ts +4 -0
  466. package/src/handlers/completion/condition-block.js +31 -0
  467. package/src/handlers/completion/condition-key.d.ts +4 -0
  468. package/src/handlers/completion/condition-key.js +80 -0
  469. package/src/handlers/completion/condition-operator.d.ts +4 -0
  470. package/src/handlers/completion/condition-operator.js +22 -0
  471. package/src/handlers/completion/effect-value.d.ts +4 -0
  472. package/src/handlers/completion/effect-value.js +14 -0
  473. package/src/handlers/completion/index.d.ts +14 -0
  474. package/src/handlers/completion/index.js +96 -0
  475. package/src/handlers/completion/principal-block-identifier.d.ts +4 -0
  476. package/src/handlers/completion/principal-block-identifier.js +4 -0
  477. package/src/handlers/completion/principal-block-type.d.ts +4 -0
  478. package/src/handlers/completion/principal-block-type.js +24 -0
  479. package/src/handlers/completion/principal-block.d.ts +4 -0
  480. package/src/handlers/completion/principal-block.js +28 -0
  481. package/src/handlers/completion/principal-identifier-completions.d.ts +2 -0
  482. package/src/handlers/completion/principal-identifier-completions.js +131 -0
  483. package/src/handlers/completion/principal-type.d.ts +4 -0
  484. package/src/handlers/completion/principal-type.js +23 -0
  485. package/src/handlers/completion/principal-typed-value.d.ts +4 -0
  486. package/src/handlers/completion/principal-typed-value.js +4 -0
  487. package/src/handlers/completion/principal-value.d.ts +4 -0
  488. package/src/handlers/completion/principal-value.js +18 -0
  489. package/src/handlers/completion/resource-value.d.ts +4 -0
  490. package/src/handlers/completion/resource-value.js +144 -0
  491. package/src/handlers/completion/statement-block.d.ts +10 -0
  492. package/src/handlers/completion/statement-block.js +51 -0
  493. package/src/handlers/completion/statement-key.d.ts +4 -0
  494. package/src/handlers/completion/statement-key.js +41 -0
  495. package/src/lib/iam-policy/condition-operators.d.ts +317 -0
  496. package/src/lib/iam-policy/condition-operators.js +129 -0
  497. package/src/lib/iam-policy/location.d.ts +71 -0
  498. package/src/lib/iam-policy/location.js +82 -0
  499. package/src/lib/iam-policy/partitions.d.ts +116 -0
  500. package/src/lib/iam-policy/partitions.js +51 -0
  501. package/src/lib/iam-policy/principals.d.ts +21 -0
  502. package/src/lib/iam-policy/principals.js +37 -0
  503. package/src/lib/iam-policy/reference/services.d.ts +22 -0
  504. package/src/lib/iam-policy/reference/services.js +99 -0
  505. package/src/lib/iam-policy/reference/types.d.ts +71 -0
  506. package/src/lib/iam-policy/reference/types.js +1 -0
  507. package/src/lib/iam-policy/statement-keys.d.ts +8 -0
  508. package/src/lib/iam-policy/statement-keys.js +159 -0
  509. package/src/lib/iam-policy/wildcard.d.ts +2 -0
  510. package/src/lib/iam-policy/wildcard.js +14 -0
  511. package/src/lib/treesitter/base.d.ts +35 -0
  512. package/src/lib/treesitter/base.js +50 -0
  513. package/src/lib/treesitter/hcl.d.ts +9 -0
  514. package/src/lib/treesitter/hcl.js +888 -0
  515. package/src/lib/treesitter/json.d.ts +9 -0
  516. package/src/lib/treesitter/json.js +376 -0
  517. package/src/lib/treesitter/manager.d.ts +9 -0
  518. package/src/lib/treesitter/manager.js +66 -0
  519. package/src/lib/treesitter/yaml.d.ts +9 -0
  520. package/src/lib/treesitter/yaml.js +878 -0
  521. package/src/server.d.ts +2 -0
  522. package/src/server.js +26 -0
@@ -0,0 +1 @@
1
+ {"name":"workmail","actions":{"AllowVendedLogDeliveryForResource":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to configure vended log delivery for WorkMail audit logs","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}],"permissionOnly":true},"AssociateDelegateToResource":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to add a member (user or group) to the resource's set of delegates","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"AssociateMemberToGroup":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to add a member (user or group) to the group's set","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"AssumeImpersonationRole":{"conditionKeys":["workmail:ImpersonationRoleId"],"resources":[{"name":"organization"}],"description":"Grants permission to assume an impersonation role for the given Amazon WorkMail organization","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"CancelMailboxExportJob":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to cancel a currently running mailbox export job","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"CreateAlias":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to add an alias to the set of a given member (user or group) of WorkMail","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"CreateAvailabilityConfiguration":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to create an AvailabilityConfiguration for the given Amazon WorkMail organization and domain","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"CreateGroup":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to create a group that can be used in WorkMail by calling the RegisterToWorkMail operation","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"CreateIdentityCenterApplication":{"conditionKeys":[],"resources":[],"description":"Grants permission to create an Identity Center application for WorkMail","accessLevel":"Write","resourceTypes":[]},"CreateImpersonationRole":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to create an impersonation role for the given Amazon WorkMail organization","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"CreateInboundMailFlowRule":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to create an inbound email flow rule which will apply to all email sent to an organization","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}],"permissionOnly":true},"CreateMailDomain":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to create a mail domain","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}],"permissionOnly":true},"CreateMobileDeviceAccessRule":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to create a new mobile device access rule","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"CreateOrganization":{"conditionKeys":[],"resources":[],"description":"Grants permission to create a new Amazon WorkMail organization","accessLevel":"Write","resourceTypes":[]},"CreateOutboundMailFlowRule":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to create an outbound email flow rule which will apply to all email sent from an organization","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}],"permissionOnly":true},"CreateResource":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to create a new WorkMail resource","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"CreateSmtpGateway":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to register an SMTP gateway to a WorkMail organization","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}],"permissionOnly":true},"CreateUser":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to create a user, which can be enabled afterwards by calling the RegisterToWorkMail operation","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"DeleteAccessControlRule":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to delete an access control rule","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"DeleteAlias":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to remove one or more specified aliases from a set of aliases for a given user","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"DeleteAvailabilityConfiguration":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to delete the AvailabilityConfiguration for the given Amazon WorkMail organization and domain","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"DeleteEmailMonitoringConfiguration":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to delete the email monitoring configuration for an organization","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"DeleteGroup":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to delete a group from WorkMail","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"DeleteIdentityCenterApplication":{"conditionKeys":[],"resources":[],"description":"Grants permission to delete an Identity Center application for WorkMail","accessLevel":"Write","resourceTypes":[]},"DeleteIdentityProviderConfiguration":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to delete the identity provider configuration for the organization","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"DeleteImpersonationRole":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to delete an impersonation role for the given Amazon WorkMail organization","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"DeleteInboundMailFlowRule":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to remove an inbound email flow rule to no longer apply to emails sent to an organization","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}],"permissionOnly":true},"DeleteMailDomain":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to remove an unused mail domain from an organization","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}],"permissionOnly":true},"DeleteMailboxPermissions":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to delete permissions granted to a member (user or group)","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"DeleteMobileDevice":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to remove a mobile device from a user","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}],"permissionOnly":true},"DeleteMobileDeviceAccessOverride":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to delete a mobile device access override","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"DeleteMobileDeviceAccessRule":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to delete a mobile device access rule","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"DeleteOrganization":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to delete an Amazon WorkMail organization and all underlying AWS resources managed by Amazon WorkMail as part of the organization","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"DeleteOutboundMailFlowRule":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to remove an outbound email flow rule so that it no longer applies to emails sent from an organization","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}],"permissionOnly":true},"DeletePersonalAccessToken":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to delete a personal access token","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"DeleteResource":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to delete the specified resource","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"DeleteRetentionPolicy":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to delete the retention policy based on the supplied organization and policy identifiers","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"DeleteSmtpGateway":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to remove an SMTP gateway from an organization","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}],"permissionOnly":true},"DeleteUser":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to delete a user from WorkMail and all subsequent systems","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"DeliverToMailbox":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to deliver emails to a WorkMail organization via the SES MailManager DeliverToMailbox action","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}],"permissionOnly":true},"DeregisterFromWorkMail":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to mark a user, group, or resource as no longer used in WorkMail","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"DeregisterMailDomain":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to deregister a mail domain from an organization","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"DescribeEmailMonitoringConfiguration":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to retrieve the email monitoring configuration for an organization","accessLevel":"Read","resourceTypes":[{"name":"organization","required":true}]},"DescribeEntity":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to read details of an entity","accessLevel":"Read","resourceTypes":[{"name":"organization","required":true}]},"DescribeGroup":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to read the details for a group","accessLevel":"List","resourceTypes":[{"name":"organization","required":true}]},"DescribeIdentityProviderConfiguration":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to read the identity provider configuration for the organization","accessLevel":"Read","resourceTypes":[{"name":"organization","required":true}]},"DescribeInboundDmarcSettings":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to read the settings in a DMARC policy for a specified organization","accessLevel":"Read","resourceTypes":[{"name":"organization","required":true}]},"DescribeInboundMailFlowRule":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to read the details of an inbound mail flow rule configured for an organization","accessLevel":"Read","resourceTypes":[{"name":"organization","required":true}],"permissionOnly":true},"DescribeMailDomains":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to show the details of all mail domains associated with the organization","accessLevel":"List","resourceTypes":[{"name":"organization","required":true}],"permissionOnly":true},"DescribeMailboxExportJob":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to retrieve details of a mailbox export job","accessLevel":"Read","resourceTypes":[{"name":"organization","required":true}]},"DescribeOrganization":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to read details of an organization","accessLevel":"List","resourceTypes":[{"name":"organization","required":true}]},"DescribeOutboundMailFlowRule":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to read the details of an outbound mail flow rule configured for an organization","accessLevel":"Read","resourceTypes":[{"name":"organization","required":true}],"permissionOnly":true},"DescribeResource":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to read the details for a resource","accessLevel":"List","resourceTypes":[{"name":"organization","required":true}]},"DescribeSmtpGateway":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to read the details of an SMTP gateway registered to an organization","accessLevel":"Read","resourceTypes":[{"name":"organization","required":true}],"permissionOnly":true},"DescribeUser":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to read details for a user","accessLevel":"List","resourceTypes":[{"name":"organization","required":true}]},"DisassociateDelegateFromResource":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to remove a member from the resource's set of delegates","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"DisassociateMemberFromGroup":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to remove a member from a group","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"EnableMailDomain":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to enable a mail domain in the organization","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}],"permissionOnly":true},"GetAccessControlEffect":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to get the effects of access control rules as they apply to a specified IPv4 address, access protocol action, or user ID","accessLevel":"Read","resourceTypes":[{"name":"organization","required":true}]},"GetDefaultRetentionPolicy":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to retrieve the retention policy associated at an organizational level","accessLevel":"Read","resourceTypes":[{"name":"organization","required":true}]},"GetImpersonationRole":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to retrieve an impersonation role for the given Amazon WorkMail organization","accessLevel":"Read","resourceTypes":[{"name":"organization","required":true}]},"GetImpersonationRoleEffect":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to get the effect of the rules associated to an impersonation role for a specific user","accessLevel":"Read","resourceTypes":[{"name":"organization","required":true}]},"GetJournalingRules":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to read the configured journaling and fallback email addresses for email journaling","accessLevel":"Read","resourceTypes":[{"name":"organization","required":true}],"permissionOnly":true},"GetMailDomain":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to retrieve details of a given mail domain in an organization","accessLevel":"Read","resourceTypes":[{"name":"organization","required":true}]},"GetMailDomainDetails":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to get the details of the mail domain","accessLevel":"Read","resourceTypes":[{"name":"organization","required":true}],"permissionOnly":true},"GetMailboxDetails":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to read the details of the user's mailbox","accessLevel":"Read","resourceTypes":[{"name":"organization","required":true}]},"GetMobileDeviceAccessEffect":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to simulate the effect of the mobile device access rules for the given attributes of a sample access event","accessLevel":"Read","resourceTypes":[{"name":"organization","required":true}]},"GetMobileDeviceAccessOverride":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to retrieve a mobile device access override","accessLevel":"Read","resourceTypes":[{"name":"organization","required":true}]},"GetMobileDeviceDetails":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to get the details of the mobile device","accessLevel":"Read","resourceTypes":[{"name":"organization","required":true}],"permissionOnly":true},"GetMobileDevicesForUser":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to get a list of the mobile devices associated with the user","accessLevel":"Read","resourceTypes":[{"name":"organization","required":true}],"permissionOnly":true},"GetMobilePolicyDetails":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to get the details of the mobile device policy associated with the organization","accessLevel":"Read","resourceTypes":[{"name":"organization","required":true}],"permissionOnly":true},"GetPersonalAccessTokenMetadata":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to read metadata for a personal access token","accessLevel":"Read","resourceTypes":[{"name":"organization","required":true}]},"ListAccessControlRules":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to list the access control rules","accessLevel":"Read","resourceTypes":[{"name":"organization","required":true}]},"ListAliases":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to list the aliases associated with a given entity","accessLevel":"List","resourceTypes":[{"name":"organization","required":true}]},"ListAvailabilityConfigurations":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to list all the AvailabilityConfiguration's for the given Amazon WorkMail organization","accessLevel":"Read","resourceTypes":[{"name":"organization","required":true}]},"ListGroupMembers":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to read an overview of the members of a group. Users and groups can be members of a group","accessLevel":"List","resourceTypes":[{"name":"organization","required":true}]},"ListGroups":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to list summaries of the organization's groups","accessLevel":"List","resourceTypes":[{"name":"organization","required":true}]},"ListGroupsForEntity":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to list the groups to which an entity belongs","accessLevel":"List","resourceTypes":[{"name":"organization","required":true}]},"ListImpersonationRoles":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to list the impersonation roles for the given Amazon WorkMail organization","accessLevel":"List","resourceTypes":[{"name":"organization","required":true}]},"ListInboundMailFlowRules":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to list inbound mail flow rules configured for an organization","accessLevel":"List","resourceTypes":[{"name":"organization","required":true}],"permissionOnly":true},"ListMailDomains":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to list the mail domains for a given organization","accessLevel":"List","resourceTypes":[{"name":"organization","required":true}]},"ListMailboxExportJobs":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to list mailbox export jobs","accessLevel":"List","resourceTypes":[{"name":"organization","required":true}]},"ListMailboxPermissions":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to list the mailbox permissions associated with a user, group, or resource mailbox","accessLevel":"List","resourceTypes":[{"name":"organization","required":true}]},"ListMobileDeviceAccessOverrides":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to list the mobile device access overrides","accessLevel":"Read","resourceTypes":[{"name":"organization","required":true}]},"ListMobileDeviceAccessRules":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to list the mobile device access rules","accessLevel":"Read","resourceTypes":[{"name":"organization","required":true}]},"ListOrganizations":{"conditionKeys":[],"resources":[],"description":"Grants permission to list the non-deleted organizations","accessLevel":"List","resourceTypes":[]},"ListOutboundMailFlowRules":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to list outbound mail flow rules configured for an organization","accessLevel":"List","resourceTypes":[{"name":"organization","required":true}],"permissionOnly":true},"ListPersonalAccessTokens":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to list metadata for personal access tokens","accessLevel":"List","resourceTypes":[{"name":"organization","required":true}]},"ListResourceDelegates":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to list the delegates associated with a resource","accessLevel":"List","resourceTypes":[{"name":"organization","required":true}]},"ListResources":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to list the organization's resources","accessLevel":"List","resourceTypes":[{"name":"organization","required":true}]},"ListSmtpGateways":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to list SMTP gateways registered to the organization","accessLevel":"List","resourceTypes":[{"name":"organization","required":true}],"permissionOnly":true},"ListTagsForResource":{"conditionKeys":["aws:RequestTag/${TagKey}","aws:TagKeys"],"resources":[{"name":"organization"}],"description":"Grants permission to list the tags applied to an Amazon WorkMail organization resource","accessLevel":"List","resourceTypes":[{"name":"organization","required":true}]},"ListUsers":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to list the organization's users","accessLevel":"List","resourceTypes":[{"name":"organization","required":true}]},"PutAccessControlRule":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to add a new access control rule","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"PutEmailMonitoringConfiguration":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to add or update the email monitoring configuration for an organization","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"PutIdentityProviderConfiguration":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to add or update the identity provider configuration for the organization","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"PutInboundDmarcSettings":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to enable or disable a DMARC policy for a given organization","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"PutMailboxPermissions":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to set permissions for a user, group, or resource, replacing any existing permissions","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"PutMobileDeviceAccessOverride":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to add or update a mobile device access override","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"PutRetentionPolicy":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to add or update the retention policy","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"RegisterMailDomain":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to register a new mail domain in an organization","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"RegisterToWorkMail":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to register an existing and disabled user, group, or resource for use by associating a mailbox and calendaring capabilities","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"ResetPassword":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to allow the administrator to reset the password for a user","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"SearchMembers":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to perform a prefix search to find a specific user in a mail group","accessLevel":"Read","resourceTypes":[{"name":"organization","required":true}],"permissionOnly":true},"SetDefaultMailDomain":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to set the default mail domain for the organization","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}],"permissionOnly":true},"SetJournalingRules":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to set journaling and fallback email addresses for email journaling","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}],"permissionOnly":true},"SetMobilePolicyDetails":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to set the details of a mobile policy associated with the organization","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}],"permissionOnly":true},"StartMailboxExportJob":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to start a new mailbox export job","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"TagResource":{"conditionKeys":["aws:RequestTag/${TagKey}","aws:TagKeys"],"resources":[{"name":"organization"}],"description":"Grants permission to tag the specified Amazon WorkMail organization resource","accessLevel":"Tagging","resourceTypes":[{"name":"organization","required":true}]},"TestAvailabilityConfiguration":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to performs a test on an availability provider to ensure that access is allowed","accessLevel":"Read","resourceTypes":[{"name":"organization","required":true}]},"TestInboundMailFlowRules":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to test what inbound rules will apply to an email with a given sender and recipient","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}],"permissionOnly":true},"TestOutboundMailFlowRules":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to test what outbound rules will apply to an email with a given sender and recipient","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}],"permissionOnly":true},"UntagResource":{"conditionKeys":["aws:TagKeys"],"resources":[{"name":"organization"}],"description":"Grants permission to untag the specified Amazon WorkMail organization resource","accessLevel":"Tagging","resourceTypes":[{"name":"organization","required":true}]},"UpdateAvailabilityConfiguration":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to update an existing AvailabilityConfiguration for the given Amazon WorkMail organization and domain","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"UpdateDefaultMailDomain":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to update which domain is the default domain for an organization","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"UpdateGroup":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to update details of a group","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"UpdateImpersonationRole":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to update an existing impersonation role for the given Amazon WorkMail organization","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"UpdateInboundMailFlowRule":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to update the details of an inbound email flow rule which will apply to all email sent to an organization","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}],"permissionOnly":true},"UpdateMailboxQuota":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to update the maximum size (in MB) of the user's mailbox","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"UpdateMobileDeviceAccessRule":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to update a mobile device access rule","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"UpdateOutboundMailFlowRule":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to update the details of an outbound email flow rule which will apply to all email sent from an organization","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}],"permissionOnly":true},"UpdatePrimaryEmailAddress":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to update the primary email for a user, group, or resource","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"UpdateResource":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to update details for the resource","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"UpdateSmtpGateway":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to update the details of an existing SMTP gateway registered to an organization","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}],"permissionOnly":true},"UpdateUser":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to update details of a user","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}]},"WipeMobileDevice":{"conditionKeys":[],"resources":[{"name":"organization"}],"description":"Grants permission to remotely wipe the mobile device associated with a user's account","accessLevel":"Write","resourceTypes":[{"name":"organization","required":true}],"permissionOnly":true}},"resources":[{"name":"organization","arnFormats":["arn:${Partition}:workmail:${Region}:${Account}:organization/${ResourceId}"],"conditionKeys":["aws:ResourceTag/${TagKey}"]}],"conditionKeys":{"aws:RequestTag/${TagKey}":{"types":["String"],"description":"Filters access by the tag key-value pairs that are passed in the request"},"aws:ResourceTag/${TagKey}":{"types":["String"],"description":"Filters access by the tag key-value pairs attached to the resource"},"aws:TagKeys":{"types":["ArrayOfString"],"description":"Filters access by the tag keys that are passed in the request"},"workmail:ImpersonationRoleId":{"types":["String"],"description":"Filters access by the ImpersonationRoleId that is passed in the request"}}}
@@ -0,0 +1 @@
1
+ {"name":"workmailmessageflow","actions":{"GetRawMessageContent":{"conditionKeys":[],"resources":[{"name":"RawMessage"}],"description":"Grants permission to read the content of email messages with the specified message ID","accessLevel":"Read","resourceTypes":[{"name":"RawMessage","required":true}]},"PutRawMessageContent":{"conditionKeys":[],"resources":[{"name":"RawMessage"}],"description":"Grants permission to update the content of email messages with the specified message ID","accessLevel":"Write","resourceTypes":[{"name":"RawMessage","required":true}]}},"resources":[{"name":"RawMessage","arnFormats":["arn:${Partition}:workmailmessageflow:${Region}:${Account}:message/${OrganizationId}/${Context}/${MessageId}"],"conditionKeys":[]}],"conditionKeys":{}}
@@ -0,0 +1 @@
1
+ {"name":"workspaces-instances","actions":{"AssociateVolume":{"conditionKeys":[],"resources":[{"name":"WorkspaceInstanceId"}],"description":"Grants permission to associate a workspace managed volume to a workspace managed instance in your account","accessLevel":"Write","resourceTypes":[{"name":"WorkspaceInstanceId","required":true}],"dependentActions":["ec2:AttachVolume","ec2:DescribeVolumes"]},"CreateVolume":{"conditionKeys":[],"resources":[],"description":"Grants permission to create a workspace managed volume in your account","accessLevel":"Write","resourceTypes":[],"dependentActions":["ec2:CreateVolume"]},"CreateWorkspaceInstance":{"conditionKeys":["aws:RequestTag/${TagKey}","aws:TagKeys"],"resources":[],"description":"Grants permission to create a workspace managed instance in your account","accessLevel":"Write","resourceTypes":[],"dependentActions":["ec2:DescribeInstances","ec2:RunInstances"]},"DeleteVolume":{"conditionKeys":[],"resources":[{"name":"VolumeId"}],"description":"Grants permission to delete a workspace managed volume in your account","accessLevel":"Write","resourceTypes":[{"name":"VolumeId","required":true}],"dependentActions":["ec2:DeleteVolume","ec2:DescribeVolumes"]},"DeleteWorkspaceInstance":{"conditionKeys":[],"resources":[{"name":"WorkspaceInstanceId"}],"description":"Grants permission to delete a workspace managed instance in your account","accessLevel":"Write","resourceTypes":[{"name":"WorkspaceInstanceId","required":true}],"dependentActions":["ec2:TerminateInstances"]},"DisassociateVolume":{"conditionKeys":[],"resources":[{"name":"WorkspaceInstanceId"}],"description":"Grants permission to disassociate a workspace managed volume from a workspace managed instance in your account","accessLevel":"Write","resourceTypes":[{"name":"WorkspaceInstanceId","required":true}],"dependentActions":["ec2:DescribeVolumes","ec2:DetachVolume"]},"GetWorkspaceInstance":{"conditionKeys":[],"resources":[{"name":"WorkspaceInstanceId"}],"description":"Grants permission to get details for a specific workspace managed instance in your account","accessLevel":"Read","resourceTypes":[{"name":"WorkspaceInstanceId","required":true}]},"ListInstanceTypes":{"conditionKeys":[],"resources":[],"description":"Grants permission to list all supported instance types","accessLevel":"List","resourceTypes":[]},"ListRegions":{"conditionKeys":[],"resources":[],"description":"Grants permission to list all supported AWS regions","accessLevel":"List","resourceTypes":[]},"ListTagsForResource":{"conditionKeys":[],"resources":[{"name":"WorkspaceInstanceId"}],"description":"Grants permission to list user tags for resources in your account","accessLevel":"List","resourceTypes":[{"name":"WorkspaceInstanceId","required":true}]},"ListWorkspaceInstances":{"conditionKeys":[],"resources":[],"description":"Grants permission to list workspace managed instances in your account","accessLevel":"List","resourceTypes":[]},"TagResource":{"conditionKeys":["aws:RequestTag/${TagKey}","aws:TagKeys"],"resources":[{"name":"WorkspaceInstanceId"}],"description":"Grants permission to add user tags to resources in your account","accessLevel":"Tagging","resourceTypes":[{"name":"WorkspaceInstanceId","required":true}]},"UntagResource":{"conditionKeys":["aws:TagKeys"],"resources":[{"name":"WorkspaceInstanceId"}],"description":"Grants permission to remove user tags from resources in your account","accessLevel":"Tagging","resourceTypes":[{"name":"WorkspaceInstanceId","required":true}]}},"resources":[{"name":"VolumeId","arnFormats":["arn:${Partition}:ec2:${Region}:${Account}:volume/${VolumeId}"],"conditionKeys":["aws:ResourceTag/${TagKey}"]},{"name":"WorkspaceInstanceId","arnFormats":["arn:${Partition}:workspaces-instances:${Region}:${Account}:workspaceinstance/${WorkspaceInstanceId}"],"conditionKeys":["aws:ResourceTag/${TagKey}"]}],"conditionKeys":{"aws:RequestTag/${TagKey}":{"types":["String"],"description":"Filters access based on the tags that are passed in the request"},"aws:ResourceTag/${TagKey}":{"types":["String"],"description":"Filters access based on the tags associated with the resource"},"aws:TagKeys":{"types":["ArrayOfString"],"description":"Filters access based on the tag keys that are passed in the request"}}}
@@ -0,0 +1 @@
1
+ {"name":"workspaces-web","actions":{"AssociateBrowserSettings":{"conditionKeys":[],"resources":[{"name":"browserSettings"},{"name":"portal"}],"description":"Grants permission to associate browser settings to web portals","accessLevel":"Write","resourceTypes":[{"name":"browserSettings","required":true},{"name":"portal","required":true}]},"AssociateDataProtectionSettings":{"conditionKeys":[],"resources":[{"name":"dataProtectionSettings"},{"name":"portal"}],"description":"Grants permission to associate data protection settings with web portals","accessLevel":"Write","resourceTypes":[{"name":"dataProtectionSettings","required":true},{"name":"portal","required":true}]},"AssociateIpAccessSettings":{"conditionKeys":[],"resources":[{"name":"ipAccessSettings"},{"name":"portal"}],"description":"Grants permission to associate ip access settings with web portals","accessLevel":"Write","resourceTypes":[{"name":"ipAccessSettings","required":true},{"name":"portal","required":true}]},"AssociateNetworkSettings":{"conditionKeys":[],"resources":[{"name":"networkSettings"},{"name":"portal"}],"description":"Grants permission to associate network settings to web portals","accessLevel":"Write","resourceTypes":[{"name":"networkSettings","required":true},{"name":"portal","required":true}],"dependentActions":["ec2:CreateNetworkInterface","ec2:CreateNetworkInterfacePermission","ec2:CreateTags","ec2:DeleteNetworkInterface","ec2:DeleteNetworkInterfacePermission","ec2:ModifyNetworkInterfaceAttribute"]},"AssociateSessionLogger":{"conditionKeys":[],"resources":[{"name":"portal"},{"name":"sessionLogger"}],"description":"Grants permission to associate session logger with web portals","accessLevel":"Write","resourceTypes":[{"name":"portal","required":true},{"name":"sessionLogger","required":true}]},"AssociateTrustStore":{"conditionKeys":[],"resources":[{"name":"portal"},{"name":"trustStore"}],"description":"Grants permission to associate trust stores with web portals","accessLevel":"Write","resourceTypes":[{"name":"portal","required":true},{"name":"trustStore","required":true}]},"AssociateUserAccessLoggingSettings":{"conditionKeys":[],"resources":[{"name":"portal"},{"name":"userAccessLoggingSettings"}],"description":"Grants permission to associate user access logging settings with web portals","accessLevel":"Write","resourceTypes":[{"name":"portal","required":true},{"name":"userAccessLoggingSettings","required":true}],"dependentActions":["kinesis:PutRecord","kinesis:PutRecords"]},"AssociateUserSettings":{"conditionKeys":[],"resources":[{"name":"portal"},{"name":"userSettings"}],"description":"Grants permission to associate user settings with web portals","accessLevel":"Write","resourceTypes":[{"name":"portal","required":true},{"name":"userSettings","required":true}]},"CreateBrowserSettings":{"conditionKeys":["aws:RequestTag/${TagKey}","aws:TagKeys"],"resources":[],"description":"Grants permission to create browser settings","accessLevel":"Write","resourceTypes":[],"dependentActions":["kms:CreateGrant","kms:Decrypt","kms:DescribeKey","kms:GenerateDataKey","workspaces-web:TagResource"]},"CreateDataProtectionSettings":{"conditionKeys":["aws:RequestTag/${TagKey}","aws:TagKeys"],"resources":[],"description":"Grants permission to create data protection settings","accessLevel":"Write","resourceTypes":[],"dependentActions":["workspaces-web:TagResource"]},"CreateIdentityProvider":{"conditionKeys":["aws:RequestTag/${TagKey}","aws:TagKeys"],"resources":[{"name":"identityProvider"},{"name":"portal"}],"description":"Grants permission to create identity providers","accessLevel":"Write","resourceTypes":[{"name":"identityProvider","required":true},{"name":"portal","required":true}]},"CreateIpAccessSettings":{"conditionKeys":["aws:RequestTag/${TagKey}","aws:TagKeys"],"resources":[],"description":"Grants permission to create ip access settings","accessLevel":"Write","resourceTypes":[],"dependentActions":["workspaces-web:TagResource"]},"CreateNetworkSettings":{"conditionKeys":["aws:RequestTag/${TagKey}","aws:TagKeys"],"resources":[],"description":"Grants permission to create network settings","accessLevel":"Write","resourceTypes":[],"dependentActions":["iam:CreateServiceLinkedRole","workspaces-web:TagResource"]},"CreatePortal":{"conditionKeys":["aws:RequestTag/${TagKey}","aws:TagKeys"],"resources":[],"description":"Grants permission to create web portals","accessLevel":"Write","resourceTypes":[],"dependentActions":["iam:CreateServiceLinkedRole","kms:CreateGrant","kms:Decrypt","kms:DescribeKey","kms:GenerateDataKey","workspaces-web:TagResource"]},"CreateSessionLogger":{"conditionKeys":["aws:RequestTag/${TagKey}","aws:TagKeys"],"resources":[],"description":"Grants permission to create session logger","accessLevel":"Write","resourceTypes":[],"dependentActions":["s3:PutObject","workspaces-web:TagResource"]},"CreateTrustStore":{"conditionKeys":["aws:RequestTag/${TagKey}","aws:TagKeys"],"resources":[],"description":"Grants permission to create trust stores","accessLevel":"Write","resourceTypes":[],"dependentActions":["workspaces-web:TagResource"]},"CreateUserAccessLoggingSettings":{"conditionKeys":["aws:RequestTag/${TagKey}","aws:TagKeys"],"resources":[],"description":"Grants permission to create user access logging settings","accessLevel":"Write","resourceTypes":[],"dependentActions":["workspaces-web:TagResource"]},"CreateUserSettings":{"conditionKeys":["aws:RequestTag/${TagKey}","aws:TagKeys"],"resources":[],"description":"Grants permission to create user settings","accessLevel":"Write","resourceTypes":[],"dependentActions":["workspaces-web:TagResource"]},"DeleteBrowserSettings":{"conditionKeys":[],"resources":[{"name":"browserSettings"}],"description":"Grants permission to delete browser settings","accessLevel":"Write","resourceTypes":[{"name":"browserSettings","required":true}]},"DeleteDataProtectionSettings":{"conditionKeys":[],"resources":[{"name":"dataProtectionSettings"}],"description":"Grants permission to delete data protection settings","accessLevel":"Write","resourceTypes":[{"name":"dataProtectionSettings","required":true}]},"DeleteIdentityProvider":{"conditionKeys":[],"resources":[{"name":"identityProvider"},{"name":"portal"}],"description":"Grants permission to delete identity providers","accessLevel":"Write","resourceTypes":[{"name":"identityProvider","required":true},{"name":"portal","required":true}]},"DeleteIpAccessSettings":{"conditionKeys":[],"resources":[{"name":"ipAccessSettings"}],"description":"Grants permission to delete ip access settings","accessLevel":"Write","resourceTypes":[{"name":"ipAccessSettings","required":true}]},"DeleteNetworkSettings":{"conditionKeys":[],"resources":[{"name":"networkSettings"}],"description":"Grants permission to delete network settings","accessLevel":"Write","resourceTypes":[{"name":"networkSettings","required":true}]},"DeletePortal":{"conditionKeys":[],"resources":[{"name":"portal"}],"description":"Grants permission to delete web portals","accessLevel":"Write","resourceTypes":[{"name":"portal","required":true}]},"DeleteSessionLogger":{"conditionKeys":[],"resources":[{"name":"sessionLogger"}],"description":"Grants permission to delete session logger","accessLevel":"Write","resourceTypes":[{"name":"sessionLogger","required":true}]},"DeleteTrustStore":{"conditionKeys":[],"resources":[{"name":"trustStore"}],"description":"Grants permission to delete trust stores","accessLevel":"Write","resourceTypes":[{"name":"trustStore","required":true}]},"DeleteUserAccessLoggingSettings":{"conditionKeys":[],"resources":[{"name":"userAccessLoggingSettings"}],"description":"Grants permission to delete user access logging settings","accessLevel":"Write","resourceTypes":[{"name":"userAccessLoggingSettings","required":true}]},"DeleteUserSettings":{"conditionKeys":[],"resources":[{"name":"userSettings"}],"description":"Grants permission to delete user settings","accessLevel":"Write","resourceTypes":[{"name":"userSettings","required":true}]},"DisassociateBrowserSettings":{"conditionKeys":[],"resources":[{"name":"portal"}],"description":"Grants permission to disassociate browser settings from web portals","accessLevel":"Write","resourceTypes":[{"name":"portal","required":true}]},"DisassociateDataProtectionSettings":{"conditionKeys":[],"resources":[{"name":"portal"}],"description":"Grants permission to disassociate data protection logging from web portals","accessLevel":"Write","resourceTypes":[{"name":"portal","required":true}]},"DisassociateIpAccessSettings":{"conditionKeys":[],"resources":[{"name":"portal"}],"description":"Grants permission to disassociate ip access logging from web portals","accessLevel":"Write","resourceTypes":[{"name":"portal","required":true}]},"DisassociateNetworkSettings":{"conditionKeys":[],"resources":[{"name":"portal"}],"description":"Grants permission to disassociate network settings from web portals","accessLevel":"Write","resourceTypes":[{"name":"portal","required":true}]},"DisassociateSessionLogger":{"conditionKeys":[],"resources":[{"name":"portal"}],"description":"Grants permission to disassociate session logger from web portals","accessLevel":"Write","resourceTypes":[{"name":"portal","required":true}]},"DisassociateTrustStore":{"conditionKeys":[],"resources":[{"name":"portal"}],"description":"Grants permission to disassociate trust stores from web portals","accessLevel":"Write","resourceTypes":[{"name":"portal","required":true}]},"DisassociateUserAccessLoggingSettings":{"conditionKeys":[],"resources":[{"name":"portal"}],"description":"Grants permission to disassociate user access logging settings from web portals","accessLevel":"Write","resourceTypes":[{"name":"portal","required":true}]},"DisassociateUserSettings":{"conditionKeys":[],"resources":[{"name":"portal"}],"description":"Grants permission to disassociate user settings from web portals","accessLevel":"Write","resourceTypes":[{"name":"portal","required":true}]},"ExpireSession":{"conditionKeys":[],"resources":[{"name":"portal"}],"description":"Grants permission to expire a session from a specific portal","accessLevel":"Write","resourceTypes":[{"name":"portal","required":true}]},"GetBrowserSettings":{"conditionKeys":[],"resources":[{"name":"browserSettings"}],"description":"Grants permission to get details on browser settings","accessLevel":"Read","resourceTypes":[{"name":"browserSettings","required":true}]},"GetDataProtectionSettings":{"conditionKeys":[],"resources":[{"name":"dataProtectionSettings"}],"description":"Grants permission to get details on data protection settings","accessLevel":"Read","resourceTypes":[{"name":"dataProtectionSettings","required":true}]},"GetIdentityProvider":{"conditionKeys":[],"resources":[{"name":"identityProvider"}],"description":"Grants permission to get details on identity providers","accessLevel":"Read","resourceTypes":[{"name":"identityProvider","required":true}]},"GetIpAccessSettings":{"conditionKeys":[],"resources":[{"name":"ipAccessSettings"}],"description":"Grants permission to get details on ip access settings","accessLevel":"Read","resourceTypes":[{"name":"ipAccessSettings","required":true}]},"GetNetworkSettings":{"conditionKeys":[],"resources":[{"name":"networkSettings"}],"description":"Grants permission to get details on network settings","accessLevel":"Read","resourceTypes":[{"name":"networkSettings","required":true}]},"GetPortal":{"conditionKeys":[],"resources":[{"name":"portal"}],"description":"Grants permission to get details on web portals","accessLevel":"Read","resourceTypes":[{"name":"portal","required":true}]},"GetPortalServiceProviderMetadata":{"conditionKeys":[],"resources":[{"name":"portal"}],"description":"Grants permission to get service provider metadata information for web portals","accessLevel":"Read","resourceTypes":[{"name":"portal","required":true}]},"GetSession":{"conditionKeys":[],"resources":[{"name":"portal"}],"description":"Grants permission to get information about a particular session for a portal","accessLevel":"Read","resourceTypes":[{"name":"portal","required":true}]},"GetSessionLogger":{"conditionKeys":[],"resources":[{"name":"sessionLogger"}],"description":"Grants permission to get details on session logger","accessLevel":"Read","resourceTypes":[{"name":"sessionLogger","required":true}]},"GetTrustStore":{"conditionKeys":[],"resources":[{"name":"trustStore"}],"description":"Grants permission to get details on trust stores","accessLevel":"Read","resourceTypes":[{"name":"trustStore","required":true}]},"GetTrustStoreCertificate":{"conditionKeys":[],"resources":[{"name":"trustStore"}],"description":"Grants permission to get certificates from trust stores","accessLevel":"Read","resourceTypes":[{"name":"trustStore","required":true}]},"GetUserAccessLoggingSettings":{"conditionKeys":[],"resources":[{"name":"userAccessLoggingSettings"}],"description":"Grants permission to get details on user access logging settings","accessLevel":"Read","resourceTypes":[{"name":"userAccessLoggingSettings","required":true}]},"GetUserSettings":{"conditionKeys":[],"resources":[{"name":"userSettings"}],"description":"Grants permission to get details on user settings","accessLevel":"Read","resourceTypes":[{"name":"userSettings","required":true}]},"ListBrowserSettings":{"conditionKeys":[],"resources":[],"description":"Grants permission to list browser settings","accessLevel":"Read","resourceTypes":[]},"ListDataProtectionSettings":{"conditionKeys":[],"resources":[],"description":"Grants permission to list data protection settings","accessLevel":"Read","resourceTypes":[]},"ListIdentityProviders":{"conditionKeys":[],"resources":[{"name":"identityProvider"}],"description":"Grants permission to list identity providers","accessLevel":"Read","resourceTypes":[{"name":"identityProvider","required":true}]},"ListIpAccessSettings":{"conditionKeys":[],"resources":[],"description":"Grants permission to list ip access settings","accessLevel":"Read","resourceTypes":[]},"ListNetworkSettings":{"conditionKeys":[],"resources":[],"description":"Grants permission to list network settings","accessLevel":"Read","resourceTypes":[]},"ListPortals":{"conditionKeys":[],"resources":[],"description":"Grants permission to list web portals","accessLevel":"Read","resourceTypes":[]},"ListSessionLoggers":{"conditionKeys":[],"resources":[],"description":"Grants permission to list session loggers","accessLevel":"Read","resourceTypes":[]},"ListSessions":{"conditionKeys":[],"resources":[{"name":"portal"}],"description":"Grants permission to list sessions for a Portal using optional filters","accessLevel":"Read","resourceTypes":[{"name":"portal","required":true}]},"ListTagsForResource":{"conditionKeys":[],"resources":[],"description":"Grants permission to list tags for a resource","accessLevel":"Read","resourceTypes":[]},"ListTrustStoreCertificates":{"conditionKeys":[],"resources":[],"description":"Grants permission to list certificates in a trust store","accessLevel":"Read","resourceTypes":[]},"ListTrustStores":{"conditionKeys":[],"resources":[],"description":"Grants permission to list trust stores","accessLevel":"Read","resourceTypes":[]},"ListUserAccessLoggingSettings":{"conditionKeys":[],"resources":[],"description":"Grants permission to list user access logging settings","accessLevel":"Read","resourceTypes":[]},"ListUserSettings":{"conditionKeys":[],"resources":[],"description":"Grants permission to list user settings","accessLevel":"Read","resourceTypes":[]},"TagResource":{"conditionKeys":["aws:RequestTag/${TagKey}","aws:TagKeys"],"resources":[{"name":"browserSettings"},{"name":"dataProtectionSettings"},{"name":"identityProvider"},{"name":"ipAccessSettings"},{"name":"networkSettings"},{"name":"portal"},{"name":"sessionLogger"},{"name":"trustStore"},{"name":"userAccessLoggingSettings"},{"name":"userSettings"}],"description":"Grants permission to add one or more tags to a resource","accessLevel":"Tagging","resourceTypes":[{"name":"browserSettings","required":false},{"name":"dataProtectionSettings","required":false},{"name":"identityProvider","required":false},{"name":"ipAccessSettings","required":false},{"name":"networkSettings","required":false},{"name":"portal","required":false},{"name":"sessionLogger","required":false},{"name":"trustStore","required":false},{"name":"userAccessLoggingSettings","required":false},{"name":"userSettings","required":false}]},"UntagResource":{"conditionKeys":["aws:TagKeys"],"resources":[{"name":"browserSettings"},{"name":"dataProtectionSettings"},{"name":"identityProvider"},{"name":"ipAccessSettings"},{"name":"networkSettings"},{"name":"portal"},{"name":"sessionLogger"},{"name":"trustStore"},{"name":"userAccessLoggingSettings"},{"name":"userSettings"}],"description":"Grants permission to remove one or more tags from a resource","accessLevel":"Tagging","resourceTypes":[{"name":"browserSettings","required":false},{"name":"dataProtectionSettings","required":false},{"name":"identityProvider","required":false},{"name":"ipAccessSettings","required":false},{"name":"networkSettings","required":false},{"name":"portal","required":false},{"name":"sessionLogger","required":false},{"name":"trustStore","required":false},{"name":"userAccessLoggingSettings","required":false},{"name":"userSettings","required":false}]},"UpdateBrowserSettings":{"conditionKeys":[],"resources":[{"name":"browserSettings"}],"description":"Grants permission to update browser settings","accessLevel":"Write","resourceTypes":[{"name":"browserSettings","required":true}]},"UpdateDataProtectionSettings":{"conditionKeys":[],"resources":[{"name":"dataProtectionSettings"}],"description":"Grants permission to update data protection settings","accessLevel":"Write","resourceTypes":[{"name":"dataProtectionSettings","required":true}]},"UpdateIdentityProvider":{"conditionKeys":[],"resources":[{"name":"identityProvider"},{"name":"portal"}],"description":"Grants permission to update identity provider","accessLevel":"Write","resourceTypes":[{"name":"identityProvider","required":true},{"name":"portal","required":true}]},"UpdateIpAccessSettings":{"conditionKeys":[],"resources":[{"name":"ipAccessSettings"}],"description":"Grants permission to update ip access settings","accessLevel":"Write","resourceTypes":[{"name":"ipAccessSettings","required":true}]},"UpdateNetworkSettings":{"conditionKeys":[],"resources":[{"name":"networkSettings"}],"description":"Grants permission to update network settings","accessLevel":"Write","resourceTypes":[{"name":"networkSettings","required":true}],"dependentActions":["ec2:CreateNetworkInterface","ec2:CreateNetworkInterfacePermission","ec2:CreateTags","ec2:DeleteNetworkInterface","ec2:DeleteNetworkInterfacePermission","ec2:ModifyNetworkInterfaceAttribute"]},"UpdatePortal":{"conditionKeys":[],"resources":[{"name":"portal"}],"description":"Grants permission to update web portals","accessLevel":"Write","resourceTypes":[{"name":"portal","required":true}]},"UpdateSessionLogger":{"conditionKeys":[],"resources":[{"name":"sessionLogger"}],"description":"Grants permission to update session logger","accessLevel":"Write","resourceTypes":[{"name":"sessionLogger","required":true}]},"UpdateTrustStore":{"conditionKeys":[],"resources":[{"name":"trustStore"}],"description":"Grants permission to update trust stores","accessLevel":"Write","resourceTypes":[{"name":"trustStore","required":true}]},"UpdateUserAccessLoggingSettings":{"conditionKeys":[],"resources":[{"name":"userAccessLoggingSettings"}],"description":"Grants permission to update user access logging settings","accessLevel":"Write","resourceTypes":[{"name":"userAccessLoggingSettings","required":true}],"dependentActions":["kinesis:PutRecord","kinesis:PutRecords"]},"UpdateUserSettings":{"conditionKeys":[],"resources":[{"name":"userSettings"}],"description":"Grants permission to update user settings","accessLevel":"Write","resourceTypes":[{"name":"userSettings","required":true}]}},"resources":[{"name":"browserSettings","arnFormats":["arn:${Partition}:workspaces-web:${Region}:${Account}:browserSettings/${BrowserSettingsId}"],"conditionKeys":["aws:ResourceTag/${TagKey}"]},{"name":"dataProtectionSettings","arnFormats":["arn:${Partition}:workspaces-web:${Region}:${Account}:dataProtectionSettings/${DataProtectionSettingsId}"],"conditionKeys":["aws:ResourceTag/${TagKey}"]},{"name":"identityProvider","arnFormats":["arn:${Partition}:workspaces-web:${Region}:${Account}:identityProvider/${PortalId}/${IdentityProviderId}"],"conditionKeys":["aws:ResourceTag/${TagKey}"]},{"name":"ipAccessSettings","arnFormats":["arn:${Partition}:workspaces-web:${Region}:${Account}:ipAccessSettings/${IpAccessSettingsId}"],"conditionKeys":["aws:ResourceTag/${TagKey}"]},{"name":"networkSettings","arnFormats":["arn:${Partition}:workspaces-web:${Region}:${Account}:networkSettings/${NetworkSettingsId}"],"conditionKeys":["aws:ResourceTag/${TagKey}"]},{"name":"portal","arnFormats":["arn:${Partition}:workspaces-web:${Region}:${Account}:portal/${PortalId}"],"conditionKeys":["aws:ResourceTag/${TagKey}"]},{"name":"sessionLogger","arnFormats":["arn:${Partition}:workspaces-web:${Region}:${Account}:sessionLogger/${SessionLoggerId}"],"conditionKeys":["aws:ResourceTag/${TagKey}"]},{"name":"trustStore","arnFormats":["arn:${Partition}:workspaces-web:${Region}:${Account}:trustStore/${TrustStoreId}"],"conditionKeys":["aws:ResourceTag/${TagKey}"]},{"name":"userAccessLoggingSettings","arnFormats":["arn:${Partition}:workspaces-web:${Region}:${Account}:userAccessLoggingSettings/${UserAccessLoggingSettingsId}"],"conditionKeys":["aws:ResourceTag/${TagKey}"]},{"name":"userSettings","arnFormats":["arn:${Partition}:workspaces-web:${Region}:${Account}:userSettings/${UserSettingsId}"],"conditionKeys":["aws:ResourceTag/${TagKey}"]}],"conditionKeys":{"aws:RequestTag/${TagKey}":{"types":["String"],"description":"Filters access by the tags that are passed in the request"},"aws:ResourceTag/${TagKey}":{"types":["String"],"description":"Filters access by the tags associated with the resource"},"aws:TagKeys":{"types":["ArrayOfString"],"description":"Filters access by the tag keys that are passed in the request"}}}
@@ -0,0 +1 @@
1
+ {"name":"workspaces","actions":{"AcceptAccountLinkInvitation":{"conditionKeys":[],"resources":[],"description":"Grants permission to accept invitations from other AWS accounts to share the same configuration for WorkSpaces BYOL","accessLevel":"Write","resourceTypes":[]},"AssociateConnectionAlias":{"conditionKeys":[],"resources":[{"name":"connectionalias"},{"name":"directoryid"}],"description":"Grants permission to associate connection aliases with directories","accessLevel":"Write","resourceTypes":[{"name":"connectionalias","required":true},{"name":"directoryid","required":true}]},"AssociateIpGroups":{"conditionKeys":[],"resources":[{"name":"directoryid"},{"name":"workspaceipgroup"}],"description":"Grants permission to associate IP access control groups with directories","accessLevel":"Write","resourceTypes":[{"name":"directoryid","required":true},{"name":"workspaceipgroup","required":true}]},"AssociateWorkspaceApplication":{"conditionKeys":["aws:ResourceTag/${TagKey}"],"resources":[{"name":"workspaceapplication"},{"name":"workspaceid"}],"description":"Grants permission to associate a workspace application with a WorkSpace","accessLevel":"Write","resourceTypes":[{"name":"workspaceapplication","required":true},{"name":"workspaceid","required":true}]},"AuthorizeIpRules":{"conditionKeys":[],"resources":[{"name":"workspaceipgroup"}],"description":"Grants permission to add rules to IP access control groups","accessLevel":"Write","resourceTypes":[{"name":"workspaceipgroup","required":true}],"dependentActions":["workspaces:UpdateRulesOfIpGroup"]},"CopyWorkspaceImage":{"conditionKeys":["aws:RequestTag/${TagKey}","aws:TagKeys"],"resources":[{"name":"workspaceimage"}],"description":"Grants permission to copy a WorkSpace image","accessLevel":"Write","resourceTypes":[{"name":"workspaceimage","required":true}],"dependentActions":["workspaces:DescribeWorkspaceImages"]},"CreateAccountLinkInvitation":{"conditionKeys":[],"resources":[],"description":"Grants permission to invite other AWS accounts to share the same configuration for WorkSpaces BYOL","accessLevel":"Write","resourceTypes":[]},"CreateConnectClientAddIn":{"conditionKeys":[],"resources":[{"name":"directoryid"}],"description":"Grants permission to create an Amazon Connect client add-in within a directory","accessLevel":"Write","resourceTypes":[{"name":"directoryid","required":true}]},"CreateConnectionAlias":{"conditionKeys":["aws:RequestTag/${TagKey}","aws:TagKeys"],"resources":[],"description":"Grants permission to create connection aliases for use with cross-Region redirection","accessLevel":"Write","resourceTypes":[]},"CreateIpGroup":{"conditionKeys":["aws:RequestTag/${TagKey}","aws:TagKeys"],"resources":[],"description":"Grants permission to create IP access control groups","accessLevel":"Write","resourceTypes":[]},"CreateRootClientCertificate":{"conditionKeys":[],"resources":[{"name":"certificateid"}],"description":"Grants permission to create a root client certificate","accessLevel":"Write","resourceTypes":[{"name":"certificateid","required":true}],"permissionOnly":true},"CreateStandbyWorkspaces":{"conditionKeys":["aws:RequestTag/${TagKey}","aws:TagKeys"],"resources":[{"name":"directoryid"},{"name":"workspaceid"}],"description":"Grants permission to create one or more Standby WorkSpaces","accessLevel":"Write","resourceTypes":[{"name":"directoryid","required":true},{"name":"workspaceid","required":true}]},"CreateTags":{"conditionKeys":["aws:RequestTag/${TagKey}","aws:TagKeys"],"resources":[],"description":"Grants permission to create tags for WorkSpaces resources","accessLevel":"Tagging","resourceTypes":[]},"CreateUpdatedWorkspaceImage":{"conditionKeys":["aws:RequestTag/${TagKey}","aws:TagKeys"],"resources":[{"name":"workspaceimage"}],"description":"Grants permission to create an updated WorkSpace image","accessLevel":"Write","resourceTypes":[{"name":"workspaceimage","required":true}]},"CreateWorkspaceBundle":{"conditionKeys":["aws:RequestTag/${TagKey}","aws:TagKeys"],"resources":[{"name":"workspacebundle"},{"name":"workspaceimage"}],"description":"Grants permission to create a WorkSpace bundle","accessLevel":"Write","resourceTypes":[{"name":"workspacebundle","required":true},{"name":"workspaceimage","required":true}],"dependentActions":["workspaces:CreateTags"]},"CreateWorkspaceImage":{"conditionKeys":["aws:RequestTag/${TagKey}","aws:TagKeys"],"resources":[{"name":"workspaceid"}],"description":"Grants permission to create a new WorkSpace image","accessLevel":"Write","resourceTypes":[{"name":"workspaceid","required":true}]},"CreateWorkspaces":{"conditionKeys":["aws:RequestTag/${TagKey}","aws:TagKeys"],"resources":[{"name":"directoryid"},{"name":"workspacebundle"},{"name":"workspaceid"}],"description":"Grants permission to create one or more WorkSpaces","accessLevel":"Write","resourceTypes":[{"name":"directoryid","required":true},{"name":"workspacebundle","required":true},{"name":"workspaceid","required":true}]},"CreateWorkspacesPool":{"conditionKeys":["aws:RequestTag/${TagKey}","aws:TagKeys"],"resources":[{"name":"directoryid"},{"name":"workspacebundle"},{"name":"workspacespoolid"}],"description":"Grants permission to create a WorkSpaces Pool","accessLevel":"Write","resourceTypes":[{"name":"directoryid","required":true},{"name":"workspacebundle","required":true},{"name":"workspacespoolid","required":true}]},"DeleteAccountLinkInvitation":{"conditionKeys":[],"resources":[],"description":"Grants permission to delete invitations to other AWS accounts to share the same configuration for WorkSpaces BYOL","accessLevel":"Write","resourceTypes":[]},"DeleteClientBranding":{"conditionKeys":[],"resources":[{"name":"directoryid"}],"description":"Grants permission to delete AWS WorkSpaces Client branding data within a directory","accessLevel":"Write","resourceTypes":[{"name":"directoryid","required":true}]},"DeleteConnectClientAddIn":{"conditionKeys":[],"resources":[{"name":"directoryid"}],"description":"Grants permission to delete an Amazon Connect client add-in that is configured within a directory","accessLevel":"Write","resourceTypes":[{"name":"directoryid","required":true}]},"DeleteConnectionAlias":{"conditionKeys":[],"resources":[{"name":"connectionalias"}],"description":"Grants permission to delete connection aliases","accessLevel":"Write","resourceTypes":[{"name":"connectionalias","required":true}]},"DeleteIpGroup":{"conditionKeys":[],"resources":[{"name":"workspaceipgroup"}],"description":"Grants permission to delete IP access control groups","accessLevel":"Write","resourceTypes":[{"name":"workspaceipgroup","required":true}]},"DeleteRootClientCertificate":{"conditionKeys":[],"resources":[{"name":"certificateid"}],"description":"Grants permission to delete root client certificate","accessLevel":"Write","resourceTypes":[{"name":"certificateid","required":true}],"permissionOnly":true},"DeleteTags":{"conditionKeys":["aws:RequestTag/${TagKey}","aws:TagKeys"],"resources":[],"description":"Grants permission to delete tags from WorkSpaces resources","accessLevel":"Tagging","resourceTypes":[]},"DeleteWorkspaceBundle":{"conditionKeys":[],"resources":[{"name":"workspacebundle"}],"description":"Grants permission to delete WorkSpace bundles","accessLevel":"Write","resourceTypes":[{"name":"workspacebundle","required":true}]},"DeleteWorkspaceImage":{"conditionKeys":[],"resources":[{"name":"workspaceimage"}],"description":"Grants permission to delete WorkSpace images","accessLevel":"Write","resourceTypes":[{"name":"workspaceimage","required":true}]},"DeployWorkspaceApplications":{"conditionKeys":["aws:ResourceTag/${TagKey}"],"resources":[{"name":"workspaceid"}],"description":"Grants permission to deploy all pending workspace applications on a WorkSpace","accessLevel":"Write","resourceTypes":[{"name":"workspaceid","required":true}]},"DeregisterWorkspaceDirectory":{"conditionKeys":[],"resources":[{"name":"directoryid"}],"description":"Grants permission to deregister directories from use with Amazon WorkSpaces","accessLevel":"Write","resourceTypes":[{"name":"directoryid","required":true}]},"DescribeAccount":{"conditionKeys":[],"resources":[],"description":"Grants permission to retrieve the configuration of Bring Your Own License (BYOL) for WorkSpaces accounts","accessLevel":"Read","resourceTypes":[]},"DescribeAccountModifications":{"conditionKeys":[],"resources":[],"description":"Grants permission to retrieve modifications to the configuration of Bring Your Own License (BYOL) for WorkSpaces accounts","accessLevel":"Read","resourceTypes":[]},"DescribeApplicationAssociations":{"conditionKeys":["aws:ResourceTag/${TagKey}"],"resources":[{"name":"workspaceapplication"}],"description":"Grants permission to retrieve information about resources associated with a WorkSpace application","accessLevel":"List","resourceTypes":[{"name":"workspaceapplication","required":true}]},"DescribeApplications":{"conditionKeys":[],"resources":[],"description":"Grants permission to obtain information about WorkSpace applications","accessLevel":"List","resourceTypes":[]},"DescribeBundleAssociations":{"conditionKeys":["aws:ResourceTag/${TagKey}"],"resources":[{"name":"workspacebundle"}],"description":"Grants permission to retrieve information about resources associated with a WorkSpace bundle","accessLevel":"List","resourceTypes":[{"name":"workspacebundle","required":true}]},"DescribeClientBranding":{"conditionKeys":[],"resources":[{"name":"directoryid"}],"description":"Grants permission to retrieve AWS WorkSpaces Client branding data within a directory","accessLevel":"Read","resourceTypes":[{"name":"directoryid","required":true}]},"DescribeClientProperties":{"conditionKeys":[],"resources":[{"name":"directoryid"}],"description":"Grants permission to retrieve information about WorkSpaces clients","accessLevel":"List","resourceTypes":[{"name":"directoryid","required":true}]},"DescribeConnectClientAddIns":{"conditionKeys":[],"resources":[{"name":"directoryid"}],"description":"Grants permission to retrieve a list of Amazon Connect client add-ins that have been created","accessLevel":"List","resourceTypes":[{"name":"directoryid","required":true}]},"DescribeConnectionAliasPermissions":{"conditionKeys":[],"resources":[{"name":"connectionalias"}],"description":"Grants permission to retrieve the permissions that the owners of connection aliases have granted to other AWS accounts for connection aliases","accessLevel":"Read","resourceTypes":[{"name":"connectionalias","required":true}]},"DescribeConnectionAliases":{"conditionKeys":[],"resources":[],"description":"Grants permission to retrieve a list that describes the connection aliases used for cross-Region redirection","accessLevel":"Read","resourceTypes":[]},"DescribeConsent":{"conditionKeys":[],"resources":[],"description":"Grants permission to retrieve information about consent agreement to BYOL minimum requirements","accessLevel":"Read","resourceTypes":[],"permissionOnly":true},"DescribeCustomWorkspaceImageImport":{"conditionKeys":[],"resources":[],"description":"Grants permission to retrieve information about WorkSpace BYOL image import task","accessLevel":"Read","resourceTypes":[]},"DescribeImageAssociations":{"conditionKeys":["aws:ResourceTag/${TagKey}"],"resources":[{"name":"workspaceimage"}],"description":"Grants permission to retrieve information about resources associated with a WorkSpace image","accessLevel":"List","resourceTypes":[{"name":"workspaceimage","required":true}]},"DescribeIpGroups":{"conditionKeys":[],"resources":[{"name":"workspaceipgroup"}],"description":"Grants permission to retrieve information about IP access control groups","accessLevel":"Read","resourceTypes":[{"name":"workspaceipgroup","required":true}]},"DescribeTags":{"conditionKeys":[],"resources":[],"description":"Grants permission to describe the tags for WorkSpaces resources","accessLevel":"Read","resourceTypes":[]},"DescribeWorkspaceAssociations":{"conditionKeys":["aws:ResourceTag/${TagKey}"],"resources":[{"name":"workspaceid"}],"description":"Grants permission to retrieve information about resources associated with a WorkSpace","accessLevel":"List","resourceTypes":[{"name":"workspaceid","required":true}]},"DescribeWorkspaceBundles":{"conditionKeys":[],"resources":[],"description":"Grants permission to obtain information about WorkSpace bundles","accessLevel":"List","resourceTypes":[]},"DescribeWorkspaceDirectories":{"conditionKeys":[],"resources":[],"description":"Grants permission to retrieve information about directories that are registered with WorkSpaces","accessLevel":"Read","resourceTypes":[]},"DescribeWorkspaceImagePermissions":{"conditionKeys":[],"resources":[{"name":"workspaceimage"}],"description":"Grants permission to retrieve information about WorkSpace image permissions","accessLevel":"Read","resourceTypes":[{"name":"workspaceimage","required":true}]},"DescribeWorkspaceImages":{"conditionKeys":[],"resources":[],"description":"Grants permission to retrieve information about WorkSpace images","accessLevel":"List","resourceTypes":[]},"DescribeWorkspaceSnapshots":{"conditionKeys":[],"resources":[{"name":"workspaceid"}],"description":"Grants permission to retrieve information about WorkSpace snapshots","accessLevel":"List","resourceTypes":[{"name":"workspaceid","required":true}]},"DescribeWorkspaces":{"conditionKeys":[],"resources":[],"description":"Grants permission to obtain information about WorkSpaces","accessLevel":"List","resourceTypes":[]},"DescribeWorkspacesConnectionStatus":{"conditionKeys":[],"resources":[],"description":"Grants permission to obtain the connection status of WorkSpaces","accessLevel":"Read","resourceTypes":[]},"DescribeWorkspacesPoolSessions":{"conditionKeys":[],"resources":[{"name":"workspacespoolid"}],"description":"Grants permission to retrieve information about the sessions of a WorkSpaces Pool","accessLevel":"List","resourceTypes":[{"name":"workspacespoolid","required":true}]},"DescribeWorkspacesPools":{"conditionKeys":[],"resources":[],"description":"Grants permission to retrieve information about WorkSpaces Pools","accessLevel":"List","resourceTypes":[]},"DirectoryAccessManagement":{"conditionKeys":[],"resources":[{"name":"directoryid"}],"description":"Grants permission to directory management actions while managing and provisioning workspaces","accessLevel":"List","resourceTypes":[{"name":"directoryid","required":true}],"permissionOnly":true},"DisassociateConnectionAlias":{"conditionKeys":[],"resources":[{"name":"connectionalias"}],"description":"Grants permission to disassociate connection aliases from directories","accessLevel":"Write","resourceTypes":[{"name":"connectionalias","required":true}]},"DisassociateIpGroups":{"conditionKeys":[],"resources":[{"name":"directoryid"},{"name":"workspaceipgroup"}],"description":"Grants permission to disassociate IP access control groups from directories","accessLevel":"Write","resourceTypes":[{"name":"directoryid","required":true},{"name":"workspaceipgroup","required":true}]},"DisassociateWorkspaceApplication":{"conditionKeys":["aws:ResourceTag/${TagKey}"],"resources":[{"name":"workspaceapplication"},{"name":"workspaceid"}],"description":"Grants permission to disassociate a workspace application from a WorkSpace","accessLevel":"Write","resourceTypes":[{"name":"workspaceapplication","required":true},{"name":"workspaceid","required":true}]},"GetAccountLink":{"conditionKeys":[],"resources":[],"description":"Grants permission to retrieve a link with another AWS Account for sharing configuration for WorkSpaces BYOL","accessLevel":"Read","resourceTypes":[]},"ImportClientBranding":{"conditionKeys":[],"resources":[{"name":"directoryid"}],"description":"Grants permission to import AWS WorkSpaces Client branding data within a directory","accessLevel":"Write","resourceTypes":[{"name":"directoryid","required":true}]},"ImportCustomWorkspaceImage":{"conditionKeys":[],"resources":[],"description":"Grants permission to import Bring Your Own License (BYOL) images into Amazon WorkSpaces","accessLevel":"Write","resourceTypes":[]},"ImportWorkspaceImage":{"conditionKeys":[],"resources":[],"description":"Grants permission to import Bring Your Own License (BYOL) images into Amazon WorkSpaces","accessLevel":"Write","resourceTypes":[],"dependentActions":["ec2:DescribeImages","ec2:ModifyImageAttribute"]},"ListAccountLinks":{"conditionKeys":[],"resources":[],"description":"Grants permission to retrieve links with the AWS Account(s) that share your configuration for WorkSpaces BYOL","accessLevel":"List","resourceTypes":[]},"ListAvailableManagementCidrRanges":{"conditionKeys":[],"resources":[],"description":"Grants permission to list the available CIDR ranges for enabling Bring Your Own License (BYOL) for WorkSpaces accounts","accessLevel":"List","resourceTypes":[]},"MigrateWorkspace":{"conditionKeys":[],"resources":[{"name":"workspacebundle"},{"name":"workspaceid"}],"description":"Grants permission to migrate WorkSpaces","accessLevel":"Write","resourceTypes":[{"name":"workspacebundle","required":true},{"name":"workspaceid","required":true}]},"ModifyAccount":{"conditionKeys":[],"resources":[],"description":"Grants permission to modify the configuration of Bring Your Own License (BYOL) for WorkSpaces accounts","accessLevel":"Write","resourceTypes":[]},"ModifyCertificateBasedAuthProperties":{"conditionKeys":[],"resources":[{"name":"directoryid"}],"description":"Grants permission to modify the certificate-based authorization properties of a directory","accessLevel":"Write","resourceTypes":[{"name":"directoryid","required":true}]},"ModifyClientProperties":{"conditionKeys":[],"resources":[{"name":"directoryid"}],"description":"Grants permission to modify the properties of WorkSpaces clients","accessLevel":"Write","resourceTypes":[{"name":"directoryid","required":true}]},"ModifyEndpointEncryptionMode":{"conditionKeys":[],"resources":[{"name":"directoryid"}],"description":"Grants permission to configure the specified directory between Standard TLS and FIPS 140-2 validated mode","accessLevel":"Write","resourceTypes":[{"name":"directoryid","required":true}]},"ModifySamlProperties":{"conditionKeys":[],"resources":[{"name":"directoryid"}],"description":"Grants permission to modify the SAML properties of a directory","accessLevel":"Write","resourceTypes":[{"name":"directoryid","required":true}]},"ModifySelfservicePermissions":{"conditionKeys":[],"resources":[{"name":"directoryid"}],"description":"Grants permission to modify the self-service WorkSpace management capabilities for your users","accessLevel":"Permissions management","resourceTypes":[{"name":"directoryid","required":true}]},"ModifyStreamingProperties":{"conditionKeys":[],"resources":[{"name":"directoryid"}],"description":"Grants permission to modify the streaming properties","accessLevel":"Write","resourceTypes":[{"name":"directoryid","required":true}]},"ModifyWorkspaceAccessProperties":{"conditionKeys":[],"resources":[{"name":"directoryid"}],"description":"Grants permission to specify which devices and operating systems users can use to access their WorkSpaces","accessLevel":"Write","resourceTypes":[{"name":"directoryid","required":true}]},"ModifyWorkspaceCreationProperties":{"conditionKeys":[],"resources":[{"name":"directoryid"}],"description":"Grants permission to modify the default properties used to create WorkSpaces","accessLevel":"Write","resourceTypes":[{"name":"directoryid","required":true}]},"ModifyWorkspaceProperties":{"conditionKeys":[],"resources":[{"name":"workspaceid"}],"description":"Grants permission to modify WorkSpace properties, including the running mode and the AutoStop period","accessLevel":"Write","resourceTypes":[{"name":"workspaceid","required":true}]},"ModifyWorkspaceState":{"conditionKeys":[],"resources":[{"name":"workspaceid"}],"description":"Grants permission to modify the state of WorkSpaces","accessLevel":"Write","resourceTypes":[{"name":"workspaceid","required":true}]},"RebootWorkspaces":{"conditionKeys":[],"resources":[{"name":"workspaceid"}],"description":"Grants permission to reboot WorkSpaces","accessLevel":"Write","resourceTypes":[{"name":"workspaceid","required":true}]},"RebuildWorkspaces":{"conditionKeys":[],"resources":[{"name":"workspaceid"}],"description":"Grants permission to rebuild WorkSpaces","accessLevel":"Write","resourceTypes":[{"name":"workspaceid","required":true}]},"RegisterWorkspaceDirectory":{"conditionKeys":["aws:RequestTag/${TagKey}","aws:TagKeys"],"resources":[{"name":"directoryid"}],"description":"Grants permission to register directories for use with Amazon WorkSpaces","accessLevel":"Write","resourceTypes":[{"name":"directoryid","required":true}]},"RejectAccountLinkInvitation":{"conditionKeys":[],"resources":[],"description":"Grants permission to reject invitations from other AWS accounts to share the same configuration for WorkSpaces BYOL","accessLevel":"Write","resourceTypes":[]},"RestoreWorkspace":{"conditionKeys":[],"resources":[{"name":"workspaceid"}],"description":"Grants permission to restore WorkSpaces","accessLevel":"Write","resourceTypes":[{"name":"workspaceid","required":true}]},"RevokeIpRules":{"conditionKeys":[],"resources":[{"name":"workspaceipgroup"}],"description":"Grants permission to remove rules from IP access control groups","accessLevel":"Write","resourceTypes":[{"name":"workspaceipgroup","required":true}],"dependentActions":["workspaces:UpdateRulesOfIpGroup"]},"StartWorkspaces":{"conditionKeys":[],"resources":[{"name":"workspaceid"}],"description":"Grants permission to start AutoStop WorkSpaces","accessLevel":"Write","resourceTypes":[{"name":"workspaceid","required":true}]},"StartWorkspacesPool":{"conditionKeys":[],"resources":[{"name":"workspacespoolid"}],"description":"Grants permission to start a WorkSpaces Pool","accessLevel":"Write","resourceTypes":[{"name":"workspacespoolid","required":true}]},"StopWorkspaces":{"conditionKeys":[],"resources":[{"name":"workspaceid"}],"description":"Grants permission to stop AutoStop WorkSpaces","accessLevel":"Write","resourceTypes":[{"name":"workspaceid","required":true}]},"StopWorkspacesPool":{"conditionKeys":[],"resources":[{"name":"workspacespoolid"}],"description":"Grants permission to stop a WorkSpaces Pool","accessLevel":"Write","resourceTypes":[{"name":"workspacespoolid","required":true}]},"Stream":{"conditionKeys":["workspaces:userId"],"resources":[{"name":"directoryid"}],"description":"Grants permission to federated users to sign in by using their existing credentials and stream their workspace","accessLevel":"Write","resourceTypes":[{"name":"directoryid","required":true}]},"TerminateWorkspaces":{"conditionKeys":[],"resources":[{"name":"workspaceid"}],"description":"Grants permission to terminate WorkSpaces","accessLevel":"Write","resourceTypes":[{"name":"workspaceid","required":true}]},"TerminateWorkspacesPool":{"conditionKeys":[],"resources":[{"name":"workspacespoolid"}],"description":"Grants permission to terminate a WorkSpaces Pool","accessLevel":"Write","resourceTypes":[{"name":"workspacespoolid","required":true}]},"TerminateWorkspacesPoolSession":{"conditionKeys":[],"resources":[],"description":"Grants permission to terminate a WorkSpaces Pool session","accessLevel":"Write","resourceTypes":[]},"UpdateConnectClientAddIn":{"conditionKeys":[],"resources":[{"name":"directoryid"}],"description":"Grants permission to update an Amazon Connect client add-in. Use this action to update the name and endpoint URL of an Amazon Connect client add-in","accessLevel":"Write","resourceTypes":[{"name":"directoryid","required":true}]},"UpdateConnectionAliasPermission":{"conditionKeys":[],"resources":[{"name":"connectionalias"}],"description":"Grants permission to share or unshare connection aliases with other accounts","accessLevel":"Permissions management","resourceTypes":[{"name":"connectionalias","required":true}]},"UpdateConsent":{"conditionKeys":[],"resources":[],"description":"Grants permission to update the consent agreement to BYOL minimum requirements","accessLevel":"Write","resourceTypes":[],"permissionOnly":true},"UpdateRootClientCertificate":{"conditionKeys":[],"resources":[{"name":"certificateid"}],"description":"Grants permission to update a root client certificate","accessLevel":"Write","resourceTypes":[{"name":"certificateid","required":true}],"permissionOnly":true},"UpdateRulesOfIpGroup":{"conditionKeys":[],"resources":[{"name":"workspaceipgroup"}],"description":"Grants permission to replace rules for IP access control groups","accessLevel":"Write","resourceTypes":[{"name":"workspaceipgroup","required":true}],"dependentActions":["workspaces:AuthorizeIpRules","workspaces:RevokeIpRules"]},"UpdateWorkspaceBundle":{"conditionKeys":[],"resources":[{"name":"workspacebundle"},{"name":"workspaceimage"}],"description":"Grants permission to update the WorkSpace images used in WorkSpace bundles","accessLevel":"Write","resourceTypes":[{"name":"workspacebundle","required":true},{"name":"workspaceimage","required":true}]},"UpdateWorkspaceImagePermission":{"conditionKeys":[],"resources":[{"name":"workspaceimage"}],"description":"Grants permission to share or unshare WorkSpace images with other accounts by specifying whether other accounts have permission to copy the image","accessLevel":"Permissions management","resourceTypes":[{"name":"workspaceimage","required":true}]},"UpdateWorkspacesPool":{"conditionKeys":[],"resources":[{"name":"workspacespoolid"}],"description":"Grants permission to update the WorkSpaces pool","accessLevel":"Write","resourceTypes":[{"name":"workspacespoolid","required":true}]}},"resources":[{"name":"certificateid","arnFormats":["arn:${Partition}:workspaces:${Region}:${Account}:workspacecertificate/${CertificateId}"],"conditionKeys":[]},{"name":"connectionalias","arnFormats":["arn:${Partition}:workspaces:${Region}:${Account}:connectionalias/${ConnectionAliasId}"],"conditionKeys":["aws:ResourceTag/${TagKey}"]},{"name":"directoryid","arnFormats":["arn:${Partition}:workspaces:${Region}:${Account}:directory/${DirectoryId}"],"conditionKeys":["aws:ResourceTag/${TagKey}"]},{"name":"workspaceapplication","arnFormats":["arn:${Partition}:workspaces:${Region}:${Account}:workspaceapplication/${WorkSpaceApplicationId}"],"conditionKeys":["aws:ResourceTag/${TagKey}"]},{"name":"workspacebundle","arnFormats":["arn:${Partition}:workspaces:${Region}:${Account}:workspacebundle/${BundleId}"],"conditionKeys":["aws:ResourceTag/${TagKey}"]},{"name":"workspaceid","arnFormats":["arn:${Partition}:workspaces:${Region}:${Account}:workspace/${WorkspaceId}"],"conditionKeys":["aws:ResourceTag/${TagKey}"]},{"name":"workspaceimage","arnFormats":["arn:${Partition}:workspaces:${Region}:${Account}:workspaceimage/${ImageId}"],"conditionKeys":["aws:ResourceTag/${TagKey}"]},{"name":"workspaceipgroup","arnFormats":["arn:${Partition}:workspaces:${Region}:${Account}:workspaceipgroup/${GroupId}"],"conditionKeys":["aws:ResourceTag/${TagKey}"]},{"name":"workspacespoolid","arnFormats":["arn:${Partition}:workspaces:${Region}:${Account}:workspacespool/${PoolId}"],"conditionKeys":["aws:ResourceTag/${TagKey}"]}],"conditionKeys":{"aws:RequestTag/${TagKey}":{"types":["String"],"description":"Filters access based on the tags that are passed in the request"},"aws:ResourceTag/${TagKey}":{"types":["String"],"description":"Filters access based on the tags associated with the resource"},"aws:TagKeys":{"types":["ArrayOfString"],"description":"Filters access based on the tag keys that are passed in the request"},"workspaces:userId":{"types":["String"],"description":"Filters access by the ID of the Workspaces user"}}}
@@ -0,0 +1 @@
1
+ {"name":"xray","actions":{"BatchGetTraceSummaryById":{"conditionKeys":[],"resources":[],"description":"Grants permission to retrieve metadata for a list of traces specified by ID","accessLevel":"Read","resourceTypes":[],"permissionOnly":true},"BatchGetTraces":{"conditionKeys":[],"resources":[],"description":"Grants permission to retrieve a list of traces specified by ID. Each trace is a collection of segment documents that originates from a single request. Use GetTraceSummaries to get a list of trace IDs","accessLevel":"List","resourceTypes":[]},"CancelTraceRetrieval":{"conditionKeys":[],"resources":[],"description":"Grants permission to cancel an ongoing trace retrieval job initiated by StartTraceRetrieval using the provided RetrievalToken. A successful cancellation will return an HTTP 200 response","accessLevel":"Read","resourceTypes":[]},"CreateGroup":{"conditionKeys":["aws:RequestTag/${TagKey}","aws:TagKeys"],"resources":[{"name":"group"}],"description":"Grants permission to create a group resource with a name and a filter expression","accessLevel":"Write","resourceTypes":[{"name":"group","required":true}]},"CreateSamplingRule":{"conditionKeys":["aws:RequestTag/${TagKey}","aws:TagKeys"],"resources":[{"name":"sampling-rule"}],"description":"Grants permission to create a rule to control sampling behavior for instrumented applications","accessLevel":"Write","resourceTypes":[{"name":"sampling-rule","required":true}]},"DeleteGroup":{"conditionKeys":["aws:ResourceTag/${TagKey}"],"resources":[{"name":"group"}],"description":"Grants permission to delete a group resource","accessLevel":"Write","resourceTypes":[{"name":"group","required":true}]},"DeleteResourcePolicy":{"conditionKeys":["xray:ResourcePolicyName"],"resources":[],"description":"Grants permission to delete resource policies","accessLevel":"Write","resourceTypes":[]},"DeleteSamplingRule":{"conditionKeys":["aws:ResourceTag/${TagKey}"],"resources":[{"name":"sampling-rule"}],"description":"Grants permission to delete a sampling rule","accessLevel":"Write","resourceTypes":[{"name":"sampling-rule","required":true}]},"GetDistinctTraceGraphs":{"conditionKeys":[],"resources":[],"description":"Grants permission to retrieve distinct service graphs for one or more specific trace IDs","accessLevel":"Read","resourceTypes":[],"permissionOnly":true},"GetEncryptionConfig":{"conditionKeys":[],"resources":[],"description":"Grants permission to retrieve the current encryption configuration for X-Ray data","accessLevel":"Read","resourceTypes":[]},"GetGroup":{"conditionKeys":["aws:ResourceTag/${TagKey}"],"resources":[{"name":"group"}],"description":"Grants permission to retrieve group resource details","accessLevel":"Read","resourceTypes":[{"name":"group","required":true}]},"GetGroups":{"conditionKeys":[],"resources":[],"description":"Grants permission to retrieve all active group details","accessLevel":"Read","resourceTypes":[]},"GetIndexingRules":{"conditionKeys":[],"resources":[],"description":"Grants permission to retrieve all indexing rules. Indexing rules are used to determine the server-side sampling rate for spans ingested through the CloudWatchLogs destination and indexed by X-Ray","accessLevel":"Read","resourceTypes":[]},"GetInsight":{"conditionKeys":[],"resources":[],"description":"Grants permission to retrieve the details of a specific insight","accessLevel":"Read","resourceTypes":[]},"GetInsightEvents":{"conditionKeys":[],"resources":[],"description":"Grants permission to retrieve the events of a specific insight","accessLevel":"Read","resourceTypes":[]},"GetInsightImpactGraph":{"conditionKeys":[],"resources":[],"description":"Grants permission to retrieve the part of the service graph which is impacted for a specific insight","accessLevel":"Read","resourceTypes":[]},"GetInsightSummaries":{"conditionKeys":[],"resources":[],"description":"Grants permission to retrieve the summary of all insights for a group and time range with optional filters","accessLevel":"Read","resourceTypes":[]},"GetRetrievedTracesGraph":{"conditionKeys":[],"resources":[],"description":"Grants permission to retrieve a service graph for traces based on the specified RetrievalToken from the Transaction Search CloudWatch log group","accessLevel":"Read","resourceTypes":[]},"GetSamplingRules":{"conditionKeys":[],"resources":[],"description":"Grants permission to retrieve all sampling rules","accessLevel":"Read","resourceTypes":[]},"GetSamplingStatisticSummaries":{"conditionKeys":[],"resources":[],"description":"Grants permission to retrieve information about recent sampling results for all sampling rules","accessLevel":"Read","resourceTypes":[]},"GetSamplingTargets":{"conditionKeys":[],"resources":[],"description":"Grants permission to request a sampling quota for rules that the service is using to sample requests","accessLevel":"Read","resourceTypes":[]},"GetServiceGraph":{"conditionKeys":[],"resources":[],"description":"Grants permission to retrieve a document that describes services that process incoming requests, and downstream services that they call as a result","accessLevel":"Read","resourceTypes":[]},"GetTimeSeriesServiceStatistics":{"conditionKeys":[],"resources":[],"description":"Grants permission to retrieve an aggregation of service statistics defined by a specific time range bucketed into time intervals","accessLevel":"Read","resourceTypes":[]},"GetTraceGraph":{"conditionKeys":[],"resources":[],"description":"Grants permission to retrieve a service graph for one or more specific trace IDs","accessLevel":"Read","resourceTypes":[]},"GetTraceSegmentDestination":{"conditionKeys":[],"resources":[],"description":"Grants permission to retrieve the current destination of data sent to PutTraceSegments and OpenTelemetry API","accessLevel":"Read","resourceTypes":[]},"GetTraceSummaries":{"conditionKeys":[],"resources":[],"description":"Grants permission to retrieve IDs and metadata for traces available for a specified time frame using an optional filter. To get the full traces, pass the trace IDs to BatchGetTraces","accessLevel":"Read","resourceTypes":[]},"Link":{"conditionKeys":[],"resources":[],"description":"Grants permission to share X-Ray resources with a monitoring account","accessLevel":"Write","resourceTypes":[],"permissionOnly":true},"ListResourcePolicies":{"conditionKeys":[],"resources":[],"description":"Grants permission to list resource policies","accessLevel":"List","resourceTypes":[]},"ListRetrievedTraces":{"conditionKeys":[],"resources":[],"description":"Grants permission to retrieve a list of traces for a given RetrievalToken from the Transaction Search CloudWatch log group","accessLevel":"List","resourceTypes":[]},"ListTagsForResource":{"conditionKeys":[],"resources":[{"name":"group"},{"name":"sampling-rule"}],"description":"Grants permission to list tags for an X-Ray resource","accessLevel":"List","resourceTypes":[{"name":"group","required":false},{"name":"sampling-rule","required":false}]},"PutEncryptionConfig":{"conditionKeys":[],"resources":[],"description":"Grants permission to update the encryption configuration for X-Ray data","accessLevel":"Permissions management","resourceTypes":[]},"PutResourcePolicy":{"conditionKeys":["xray:ResourcePolicyName"],"resources":[],"description":"Grants permission to create or update resource policies","accessLevel":"Write","resourceTypes":[]},"PutSpans":{"conditionKeys":["logs:LogGeneratingResourceArns"],"resources":[],"description":"Grants permission to upload OpenTelemetry spans to AWS X-Ray","accessLevel":"Write","resourceTypes":[]},"PutSpansForIndexing":{"conditionKeys":[],"resources":[],"description":"Grants permission to upload spans to AWS X-Ray to be indexed","accessLevel":"Write","resourceTypes":[],"permissionOnly":true},"PutTelemetryRecords":{"conditionKeys":[],"resources":[],"description":"Grants permission to send AWS X-Ray daemon telemetry to the service","accessLevel":"Write","resourceTypes":[]},"PutTraceSegments":{"conditionKeys":["logs:LogGeneratingResourceArns"],"resources":[],"description":"Grants permission to upload segment documents to AWS X-Ray. The X-Ray SDK generates segment documents and sends them to the X-Ray daemon, which uploads them in batches","accessLevel":"Write","resourceTypes":[]},"StartTraceRetrieval":{"conditionKeys":[],"resources":[],"description":"Grants permission to initiate a trace retrieval process using the specified time range and for the given trace IDs on the Transaction Search CloudWatch log group","accessLevel":"Read","resourceTypes":[]},"TagResource":{"conditionKeys":["aws:RequestTag/${TagKey}","aws:TagKeys"],"resources":[{"name":"group"},{"name":"sampling-rule"}],"description":"Grants permission to add tags to an X-Ray resource","accessLevel":"Tagging","resourceTypes":[{"name":"group","required":false},{"name":"sampling-rule","required":false}]},"UntagResource":{"conditionKeys":["aws:TagKeys"],"resources":[{"name":"group"},{"name":"sampling-rule"}],"description":"Grants permission to remove tags from an X-Ray resource","accessLevel":"Tagging","resourceTypes":[{"name":"group","required":false},{"name":"sampling-rule","required":false}]},"UpdateGroup":{"conditionKeys":["aws:ResourceTag/${TagKey}"],"resources":[{"name":"group"}],"description":"Grants permission to update a group resource","accessLevel":"Write","resourceTypes":[{"name":"group","required":true}]},"UpdateIndexingRule":{"conditionKeys":[],"resources":[],"description":"Grants permission to modify an indexing rule's configuration","accessLevel":"Write","resourceTypes":[]},"UpdateSamplingRule":{"conditionKeys":["aws:ResourceTag/${TagKey}"],"resources":[{"name":"sampling-rule"}],"description":"Grants permission to modify a sampling rule's configuration","accessLevel":"Write","resourceTypes":[{"name":"sampling-rule","required":true}]},"UpdateTraceSegmentDestination":{"conditionKeys":["xray:TraceSegmentDestination"],"resources":[],"description":"Grants permission to modify the destination of data sent to PutTraceSegments and OpenTelemetry API","accessLevel":"Write","resourceTypes":[]}},"resources":[{"name":"group","arnFormats":["arn:${Partition}:xray:${Region}:${Account}:group/${GroupName}/${Id}"],"conditionKeys":["aws:ResourceTag/${TagKey}"]},{"name":"sampling-rule","arnFormats":["arn:${Partition}:xray:${Region}:${Account}:sampling-rule/${SamplingRuleName}"],"conditionKeys":["aws:ResourceTag/${TagKey}"]}],"conditionKeys":{"aws:RequestTag/${TagKey}":{"types":["String"],"description":"Filters access by the tags that are passed in the request"},"aws:ResourceTag/${TagKey}":{"types":["String"],"description":"Filters access by the tags associated with the resource"},"aws:TagKeys":{"types":["ArrayOfString"],"description":"Filters access by the tag keys that are passed in the request"},"logs:LogGeneratingResourceArns":{"types":["ArrayOfARN"],"description":"Filters access by LogGeneratingResourceArn in the request"},"xray:ResourcePolicyName":{"types":["String"],"description":"Filters access by PolicyName in the request"},"xray:TraceSegmentDestination":{"types":["String"],"description":"Filters access by TraceSegmentDestination type in the request"}}}
@@ -0,0 +1 @@
1
+ ["a2c","a4b","access-analyzer","account","acm","acm-pca","aco-automation","action-recommendations","activate","aidevops","aiops","airflow","airflow-serverless","amplify","amplifybackend","amplifyuibuilder","aoss","apigateway","app-integrations","appconfig","appfabric","appflow","application-autoscaling","application-signals","application-transformation","applicationinsights","appmesh","appmesh-preview","apprunner","appstream","appstudio","appsync","apptest","aps","arc-region-switch","arc-zonal-shift","arsenal","artifact","athena","auditmanager","autoscaling","autoscaling-plans","aws-marketplace","aws-marketplace-management","aws-mcp","aws-portal","awsconnector","b2bi","backup","backup-gateway","backup-search","backup-storage","batch","bcm-dashboards","bcm-data-exports","bcm-pricing-calculator","bcm-recommended-actions","bedrock","bedrock-agentcore","bedrock-mantle","billing","billingconductor","braket","budgets","bugbust","cases","cassandra","ce","chatbot","chime","cleanrooms","cleanrooms-ml","cloud9","clouddirectory","cloudformation","cloudfront","cloudfront-keyvaluestore","cloudhsm","cloudsearch","cloudshell","cloudtrail","cloudtrail-data","cloudwatch","codeartifact","codebuild","codecatalyst","codecommit","codeconnections","codedeploy","codedeploy-commands-secure","codeguru","codeguru-profiler","codeguru-reviewer","codeguru-security","codepipeline","codestar","codestar-connections","codestar-notifications","codewhisperer","cognito-identity","cognito-idp","cognito-sync","comprehend","comprehendmedical","compute-optimizer","config","connect","connect-campaigns","consoleapp","consolidatedbilling","controlcatalog","controltower","cost-optimization-hub","cur","customer-verification","databrew","dataexchange","datapipeline","datasync","datazone","dax","dbqms","deadline","detective","devicefarm","devops-guru","directconnect","discovery","dlm","dms","docdb-elastic","drs","ds","ds-data","dsql","dynamodb","ebs","ec2","ec2-instance-connect","ec2messages","ecr","ecr-public","ecs","ecs-mcp","eks","eks-auth","eks-mcp","elasticache","elasticbeanstalk","elasticfilesystem","elasticloadbalancing","elasticmapreduce","elastictranscoder","elemental-activations","elemental-appliances-software","elemental-inference","elemental-support-cases","elemental-support-content","emr-containers","emr-serverless","entityresolution","es","events","evidently","evs","execute-api","finspace","finspace-api","firehose","fis","fms","forecast","frauddetector","freertos","freetier","fsx","gamelift","gameliftstreams","geo","geo-maps","geo-places","geo-routes","glacier","globalaccelerator","glue","grafana","greengrass","groundstation","groundtruthlabeling","guardduty","health","health-agent","healthlake","honeycode","iam","identity-sync","identitystore","identitystore-auth","imagebuilder","importexport","inspector","inspector-scan","inspector2","inspector2-telemetry","interconnect","internetmonitor","invoicing","iot","iot-device-tester","iotanalytics","iotdeviceadvisor","iotevents","iotfleethub","iotfleetwise","iotjobsdata","iotmanagedintegrations","iotsitewise","iottwinmaker","iotwireless","iq","iq-permission","ivs","ivschat","kafka","kafka-cluster","kafkaconnect","kendra","kendra-ranking","kinesis","kinesisanalytics","kinesisvideo","kms","lakeformation","lambda","launchwizard","lex","license-manager","license-manager-linux-subscriptions","license-manager-user-subscriptions","lightsail","logs","lookoutequipment","lookoutmetrics","lookoutvision","m2","machinelearning","macie2","managedblockchain","managedblockchain-query","mapcredits","marketplacecommerceanalytics","mechanicalturk","mediaconnect","mediaconvert","mediaimport","medialive","mediapackage","mediapackage-vod","mediapackagev2","mediastore","mediatailor","medical-imaging","memorydb","mgh","mgn","migrationhub-orchestrator","migrationhub-strategy","mobileanalytics","mobiletargeting","monitron","mpa","mq","neptune-db","neptune-graph","network-firewall","network-security-director","networkflowmonitor","networkmanager","networkmanager-chat","networkmonitor","nimble","notifications","notifications-contacts","nova-act","oam","observabilityadmin","odb","omics","one","opensearch","opsworks","opsworks-cm","organizations","osis","outposts","panorama","partnercentral","partnercentral-account-management","payment-cryptography","payments","pca-connector-ad","pca-connector-scep","pcs","personalize","pi","pipes","polly","pricing","pricingplanmanager","private-networks","profile","proton","purchase-orders","q","qapps","qbusiness","qdeveloper","qldb","quicksight","ram","rbin","rds","rds-data","rds-db","redshift","redshift-data","redshift-serverless","refactor-spaces","rekognition","repostspace","resiliencehub","resource-explorer","resource-explorer-2","resource-groups","rhelkb","robomaker","rolesanywhere","route53","route53-recovery-cluster","route53-recovery-control-config","route53-recovery-readiness","route53domains","route53globalresolver","route53profiles","route53resolver","rtbfabric","rum","s3","s3-object-lambda","s3-outposts","s3express","s3tables","s3vectors","sagemaker","sagemaker-data-science-assistant","sagemaker-geospatial","sagemaker-mlflow","sagemaker-unified-studio-mcp","savingsplans","scheduler","schemas","scn","sdb","secretsmanager","security-ir","securityagent","securityhub","securitylake","serverlessrepo","servicecatalog","servicediscovery","serviceextract","servicequotas","ses","shield","signer","signin","simspaceweaver","sms","sms-voice","snow-device-management","snowball","sns","social-messaging","sqlworkbench","sqs","ssm","ssm-contacts","ssm-guiconnect","ssm-incidents","ssm-quicksetup","ssm-sap","ssmmessages","sso","sso-directory","sso-oauth","states","storagegateway","sts","support","support-console","supportapp","supportplans","sustainability","swf","synthetics","tag","tax","textract","thinclient","timestream","timestream-influxdb","tiros","tnb","transcribe","transfer","transform","transform-custom","translate","trustedadvisor","ts","user-subscriptions","uxc","vendor-insights","verified-access","verifiedpermissions","voiceid","vpc-lattice","vpc-lattice-svcs","vpce","waf","waf-regional","wafv2","wam","wellarchitected","wickr","wisdom","workdocs","worklink","workmail","workmailmessageflow","workspaces","workspaces-instances","workspaces-web","xray"]
@@ -0,0 +1,3 @@
1
+ import type { ExtensionContext } from 'vscode';
2
+ export declare function activate(context: ExtensionContext): void;
3
+ export declare function deactivate(): Promise<void> | undefined;
@@ -0,0 +1,23 @@
1
+ import path from 'node:path';
2
+ import { LanguageClient, TransportKind } from 'vscode-languageclient/node.js';
3
+ let client;
4
+ export function activate(context) {
5
+ const serverModule = context.asAbsolutePath(path.join('src', 'server.js'));
6
+ const serverOptions = {
7
+ run: { module: serverModule, transport: TransportKind.stdio },
8
+ debug: { module: serverModule, transport: TransportKind.stdio },
9
+ };
10
+ client = new LanguageClient('aws-iam-ls', 'AWS IAM Language Server', serverOptions, {
11
+ documentSelector: [
12
+ { scheme: 'file', language: 'json' },
13
+ { scheme: 'file', language: 'yaml' },
14
+ { scheme: 'file', language: 'terraform' },
15
+ ],
16
+ });
17
+ client.start();
18
+ }
19
+ export function deactivate() {
20
+ if (client) {
21
+ return client.stop();
22
+ }
23
+ }
@@ -0,0 +1,4 @@
1
+ import type { CompletionList } from 'vscode-languageserver';
2
+ import type { ActionValueLocation } from '../../lib/iam-policy/location.ts';
3
+ import type { CompletionContext } from './index.ts';
4
+ export declare function completeActionValue(location: ActionValueLocation, _context: CompletionContext): CompletionList;
@@ -0,0 +1,46 @@
1
+ import { CompletionItemKind, MarkupKind } from 'vscode-languageserver';
2
+ import { ServiceReference } from "../../lib/iam-policy/reference/services.js";
3
+ export function completeActionValue(location, _context) {
4
+ const potentialLabels = ServiceReference.getAllActions();
5
+ const items = [];
6
+ for (const label of potentialLabels) {
7
+ if (location.partial && !label.toLowerCase().startsWith(location.partial.toLowerCase()))
8
+ continue;
9
+ const item = {
10
+ label,
11
+ kind: CompletionItemKind.Enum,
12
+ };
13
+ const [service, actionName] = label.split(':');
14
+ if (service && actionName) {
15
+ const action = ServiceReference.getAction(service, actionName);
16
+ if (action) {
17
+ item.detail = action.description;
18
+ if (action.description) {
19
+ item.documentation = {
20
+ kind: MarkupKind.Markdown,
21
+ value: formatActionDocumentation(action),
22
+ };
23
+ }
24
+ }
25
+ }
26
+ items.push(item);
27
+ }
28
+ return { items, isIncomplete: false };
29
+ }
30
+ function formatActionDocumentation(action) {
31
+ const parts = [];
32
+ if (action.accessLevel)
33
+ parts.push(`**Access Level**: ${action.accessLevel}`);
34
+ if (action.resourceTypes && action.resourceTypes.length > 0) {
35
+ const resources = action.resourceTypes.map((resourceType) => resourceType.required ? `- \`${resourceType.name}\` *(required)*` : `- \`${resourceType.name}\``);
36
+ parts.push(`**Resource types**\n${resources.join('\n')}`);
37
+ }
38
+ if (action.conditionKeys.length > 0) {
39
+ const keys = action.conditionKeys.map((key) => `- \`${key}\``);
40
+ parts.push(`**Condition keys**\n${keys.join('\n')}`);
41
+ }
42
+ if (action.dependentActions && action.dependentActions.length > 0) {
43
+ parts.push(`**Dependent actions:** ${action.dependentActions.map((depAction) => `\`${depAction}\``).join(', ')}`);
44
+ }
45
+ return parts.join('\n\n');
46
+ }
@@ -0,0 +1,4 @@
1
+ import type { CompletionList } from 'vscode-languageserver';
2
+ import type { ConditionBlockLocation } from '../../lib/iam-policy/location.ts';
3
+ import type { CompletionContext } from './index.ts';
4
+ export declare function completeConditionBlock(location: ConditionBlockLocation, context: CompletionContext): CompletionList;
@@ -0,0 +1,31 @@
1
+ import { CompletionItemKind, MarkupKind } from 'vscode-languageserver';
2
+ const conditionBlockAttributes = {
3
+ test: {
4
+ description: 'The condition operator to evaluate (e.g., `StringEquals`, `ArnLike`, `IpAddress`).',
5
+ },
6
+ variable: {
7
+ description: 'The condition key to evaluate (e.g., `aws:SourceIp`, `s3:prefix`).',
8
+ },
9
+ values: {
10
+ description: 'List of values to compare against the condition key.',
11
+ },
12
+ };
13
+ export function completeConditionBlock(location, context) {
14
+ const siblingKeys = context.handler.getSiblingKeys(context.uri, context.position);
15
+ const items = [];
16
+ for (const [name, attr] of Object.entries(conditionBlockAttributes)) {
17
+ if (siblingKeys.includes(name))
18
+ continue;
19
+ if (location.partial && !name.toLowerCase().startsWith(location.partial.toLowerCase()))
20
+ continue;
21
+ items.push({
22
+ label: name,
23
+ kind: CompletionItemKind.Field,
24
+ documentation: {
25
+ kind: MarkupKind.Markdown,
26
+ value: attr.description,
27
+ },
28
+ });
29
+ }
30
+ return { items, isIncomplete: false };
31
+ }
@@ -0,0 +1,4 @@
1
+ import type { CompletionList } from 'vscode-languageserver';
2
+ import type { ConditionKeyLocation } from '../../lib/iam-policy/location.ts';
3
+ import type { CompletionContext } from './index.ts';
4
+ export declare function completeConditionKey(location: ConditionKeyLocation, context: CompletionContext): CompletionList;
@@ -0,0 +1,80 @@
1
+ import { CompletionItemKind, MarkupKind } from 'vscode-languageserver';
2
+ import { ServiceReference } from "../../lib/iam-policy/reference/services.js";
3
+ import { expandActionPattern } from "../../lib/iam-policy/wildcard.js";
4
+ export function completeConditionKey(location, context) {
5
+ const statement = context.handler.getStatementContext(context.uri, context.position);
6
+ const existingKeys = location.operator ? Object.keys(statement?.Condition?.[location.operator] ?? {}) : [];
7
+ const items = [];
8
+ const seen = new Set();
9
+ // Build a lookup for global keys so we can enrich service-specific keys with descriptions
10
+ const globalByName = new Map();
11
+ for (const global of ServiceReference.getGlobalConditionKeys()) {
12
+ globalByName.set(global.name, global);
13
+ }
14
+ // Action-specific condition keys
15
+ const actions = statement?.Action ?? statement?.NotAction;
16
+ if (actions && actions.length > 0) {
17
+ const expandedActions = [];
18
+ for (const action of actions) {
19
+ for (const expanded of expandActionPattern(action)) {
20
+ expandedActions.push(expanded);
21
+ }
22
+ }
23
+ for (const key of ServiceReference.getConditionKeysForActions(expandedActions)) {
24
+ if (seen.has(key.name))
25
+ continue;
26
+ if (existingKeys.includes(key.name))
27
+ continue;
28
+ if (location.partial && !key.name.toLowerCase().startsWith(location.partial.toLowerCase()))
29
+ continue;
30
+ seen.add(key.name);
31
+ const global = globalByName.get(key.name);
32
+ const service = key.name.split(':')[0];
33
+ const conditionKeyData = service ? ServiceReference.getConditionKey(service, key.name) : undefined;
34
+ items.push({
35
+ label: key.name,
36
+ kind: CompletionItemKind.Property,
37
+ documentation: {
38
+ kind: MarkupKind.Markdown,
39
+ value: formatDocumentation(key.types, global, conditionKeyData),
40
+ },
41
+ });
42
+ }
43
+ }
44
+ // Global condition keys not already added via action-specific keys
45
+ for (const global of ServiceReference.getGlobalConditionKeys()) {
46
+ if (seen.has(global.name))
47
+ continue;
48
+ if (existingKeys.includes(global.name))
49
+ continue;
50
+ if (location.partial && !global.name.toLowerCase().startsWith(location.partial.toLowerCase()))
51
+ continue;
52
+ seen.add(global.name);
53
+ items.push({
54
+ label: global.name,
55
+ kind: CompletionItemKind.Property,
56
+ documentation: {
57
+ kind: MarkupKind.Markdown,
58
+ value: formatDocumentation([], global),
59
+ },
60
+ });
61
+ }
62
+ return { items, isIncomplete: false };
63
+ }
64
+ function formatDocumentation(types, global, conditionKey) {
65
+ const parts = [];
66
+ const description = global?.description ?? conditionKey?.description;
67
+ if (description)
68
+ parts.push(description);
69
+ const meta = [];
70
+ const type = types.length > 0 ? types.join(', ') : undefined;
71
+ if (type)
72
+ meta.push(`**Type:** ${type}`);
73
+ if (global?.valueType === 'multi')
74
+ meta.push('**Value type:** Multivalued');
75
+ if (global?.availability)
76
+ meta.push(`**Availability:** ${global.availability}`);
77
+ if (meta.length > 0)
78
+ parts.push(meta.join('\n\n'));
79
+ return parts.join('\n\n');
80
+ }
@@ -0,0 +1,4 @@
1
+ import type { CompletionList } from 'vscode-languageserver';
2
+ import type { ConditionOperatorLocation } from '../../lib/iam-policy/location.ts';
3
+ import type { CompletionContext } from './index.ts';
4
+ export declare function completeConditionOperator(location: ConditionOperatorLocation, context: CompletionContext): CompletionList;