awscli 1.40.17__py3-none-any.whl → 1.44.26__py3-none-any.whl

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 (401) hide show
  1. awscli/__init__.py +1 -1
  2. awscli/alias.py +3 -3
  3. awscli/argprocess.py +7 -2
  4. awscli/arguments.py +1 -1
  5. awscli/bcdoc/docevents.py +3 -0
  6. awscli/clidocs.py +19 -2
  7. awscli/clidriver.py +57 -10
  8. awscli/compat.py +11 -0
  9. awscli/customizations/argrename.py +1 -3
  10. awscli/customizations/cliinputjson.py +4 -0
  11. awscli/customizations/cloudformation/deploy.py +23 -6
  12. awscli/customizations/cloudformation/deployer.py +2 -2
  13. awscli/customizations/cloudformation/package.py +3 -2
  14. awscli/customizations/cloudfront.py +3 -1
  15. awscli/customizations/cloudtrail/subscribe.py +5 -5
  16. awscli/customizations/cloudtrail/validation.py +32 -11
  17. awscli/customizations/codecommit.py +2 -3
  18. awscli/customizations/codedeploy/deregister.py +5 -2
  19. awscli/customizations/codedeploy/push.py +7 -6
  20. awscli/customizations/codedeploy/register.py +5 -2
  21. awscli/customizations/codedeploy/systems.py +3 -1
  22. awscli/customizations/commands.py +2 -1
  23. awscli/customizations/configservice/getstatus.py +3 -3
  24. awscli/customizations/datapipeline/__init__.py +7 -4
  25. awscli/customizations/datapipeline/createdefaultroles.py +4 -2
  26. awscli/customizations/dlm/createdefaultrole.py +4 -2
  27. awscli/customizations/ec2/bundleinstance.py +2 -1
  28. awscli/customizations/eks/get_token.py +6 -4
  29. awscli/customizations/eks/update_kubeconfig.py +15 -3
  30. awscli/customizations/emr/argumentschema.py +355 -344
  31. awscli/customizations/emr/createcluster.py +520 -282
  32. awscli/customizations/emr/emrutils.py +83 -50
  33. awscli/customizations/emr/helptext.py +132 -74
  34. awscli/customizations/emr/steputils.py +92 -52
  35. awscli/customizations/gamelift/getlog.py +3 -2
  36. awscli/customizations/gamelift/uploadbuild.py +30 -15
  37. awscli/customizations/globalargs.py +169 -0
  38. awscli/customizations/logs/startlivetail.py +3 -3
  39. awscli/customizations/paginate.py +66 -1
  40. awscli/customizations/rds.py +3 -1
  41. awscli/customizations/removals.py +4 -0
  42. awscli/customizations/s3/filegenerator.py +7 -1
  43. awscli/customizations/s3/fileinfo.py +5 -1
  44. awscli/customizations/s3/fileinfobuilder.py +7 -0
  45. awscli/customizations/s3/s3handler.py +11 -0
  46. awscli/customizations/s3/subcommands.py +147 -6
  47. awscli/customizations/s3/syncstrategy/base.py +9 -0
  48. awscli/customizations/s3/syncstrategy/caseconflict.py +96 -0
  49. awscli/customizations/s3/utils.py +25 -0
  50. awscli/customizations/s3uploader.py +18 -8
  51. awscli/customizations/scalarparse.py +48 -9
  52. awscli/customizations/utils.py +2 -1
  53. awscli/customizations/waiters.py +3 -2
  54. awscli/data/cli.json +5 -0
  55. awscli/examples/apigateway/update-vpc-link.rst +47 -0
  56. awscli/examples/apigatewayv2/create-routing-rule.rst +52 -0
  57. awscli/examples/apigatewayv2/delete-routing-rule.rst +11 -0
  58. awscli/examples/apigatewayv2/get-routing-rule.rst +35 -0
  59. awscli/examples/apigatewayv2/list-routing-rules.rst +38 -0
  60. awscli/examples/apigatewayv2/put-routing-rule.rst +52 -0
  61. awscli/examples/application-signals/batch-get-service-level-objective-budget-report.rst +99 -0
  62. awscli/examples/application-signals/create-service-level-objective.rst +88 -0
  63. awscli/examples/application-signals/delete-service-level-objective.rst +10 -0
  64. awscli/examples/application-signals/get-service-level-objective.rst +53 -0
  65. awscli/examples/application-signals/get-service.rst +72 -0
  66. awscli/examples/application-signals/list-service-dependencies.rst +96 -0
  67. awscli/examples/application-signals/list-service-dependents.rst +36 -0
  68. awscli/examples/application-signals/list-service-level-objectives.rst +17 -0
  69. awscli/examples/application-signals/list-service-operations.rst +63 -0
  70. awscli/examples/application-signals/list-services.rst +61 -0
  71. awscli/examples/application-signals/list-tags-for-resource.rst +17 -0
  72. awscli/examples/application-signals/start-discovery.rst +9 -0
  73. awscli/examples/application-signals/tag-resource.rst +11 -0
  74. awscli/examples/application-signals/untag-resource.rst +11 -0
  75. awscli/examples/application-signals/update-service-level-objective.rst +69 -0
  76. awscli/examples/cloudformation/_package_description.rst +4 -4
  77. awscli/examples/cloudformation/create-generated-template.rst +50 -0
  78. awscli/examples/cloudformation/create-stack-refactor.rst +16 -0
  79. awscli/examples/cloudformation/delete-generated-template.rst +10 -0
  80. awscli/examples/cloudformation/describe-generated-template.rst +62 -0
  81. awscli/examples/cloudformation/describe-resource-scan.rst +38 -0
  82. awscli/examples/cloudformation/describe-stack-refactor.rst +20 -0
  83. awscli/examples/cloudformation/execute-stack-refactor.rst +10 -0
  84. awscli/examples/cloudformation/list-generated-templates.rst +41 -0
  85. awscli/examples/cloudformation/list-resource-scan-related-resources.rst +47 -0
  86. awscli/examples/cloudformation/list-resource-scan-resources.rst +30 -0
  87. awscli/examples/cloudformation/list-stack-refactor-actions.rst +71 -0
  88. awscli/examples/cloudformation/start-resource-scan.rst +14 -0
  89. awscli/examples/cloudfront/associate-distribution-tenant-web-acl.rst +18 -0
  90. awscli/examples/cloudfront/associate-distribution-web-acl.rst +18 -0
  91. awscli/examples/cloudfront/create-connection-group.rst +39 -0
  92. awscli/examples/cloudfront/create-distribution-tenant.rst +275 -0
  93. awscli/examples/cloudfront/create-distribution.rst +625 -235
  94. awscli/examples/cloudfront/create-invalidation-for-distribution-tenant.rst +29 -0
  95. awscli/examples/cloudfront/delete-connection-group.rst +11 -0
  96. awscli/examples/cloudfront/delete-distribution-tenant.rst +11 -0
  97. awscli/examples/cloudfront/disassociate-distribution-tenant-web-acl.rst +16 -0
  98. awscli/examples/cloudfront/disassociate-distribution-web-acl.rst +16 -0
  99. awscli/examples/cloudfront/get-connection-group-by-routing-endpoint.rst +26 -0
  100. awscli/examples/cloudfront/get-connection-group.rst +26 -0
  101. awscli/examples/cloudfront/get-distribution-tenant-by-domain.rst +37 -0
  102. awscli/examples/cloudfront/get-distribution-tenant.rst +31 -0
  103. awscli/examples/cloudfront/get-invalidation-for-distribution-tenant.rst +29 -0
  104. awscli/examples/cloudfront/get-managed-certificate-details.rst +25 -0
  105. awscli/examples/cloudfront/list-connection-groups.rst +38 -0
  106. awscli/examples/cloudfront/list-distribution-tenants-by-customization.rst +45 -0
  107. awscli/examples/cloudfront/list-distribution-tenants.rst +90 -0
  108. awscli/examples/cloudfront/list-distributions-by-connection-mode.rst +115 -0
  109. awscli/examples/cloudfront/list-domain-conflicts.rst +22 -0
  110. awscli/examples/cloudfront/list-invalidations-for-distribution-tenant.rst +22 -0
  111. awscli/examples/cloudfront/update-connection-group.rst +29 -0
  112. awscli/examples/cloudfront/update-distribution-tenant.rst +76 -0
  113. awscli/examples/cloudfront/update-domain-association.rst +18 -0
  114. awscli/examples/cloudfront/verify-dns-configuration.rst +20 -0
  115. awscli/examples/ec2/associate-ipam-resource-discovery.rst +1 -1
  116. awscli/examples/ec2/authorize-security-group-ingress.rst +1 -1
  117. awscli/examples/ec2/create-ipam-resource-discovery.rst +1 -1
  118. awscli/examples/ec2/delete-ipam-pool.rst +1 -1
  119. awscli/examples/ec2/describe-addresses-attribute.rst +1 -1
  120. awscli/examples/ec2/get-ipam-discovered-public-addresses.rst +1 -1
  121. awscli/examples/ec2/modify-ipam-resource-discovery.rst +1 -1
  122. awscli/examples/ec2/modify-ipam-scope.rst +1 -1
  123. awscli/examples/ec2/release-ipam-pool-allocation.rst +3 -3
  124. awscli/examples/eks/associate-access-policy.rst +29 -0
  125. awscli/examples/eks/create-access-entry.rst +54 -0
  126. awscli/examples/eks/create-pod-identity-association.rst +59 -0
  127. awscli/examples/eks/delete-access-entry.rst +11 -0
  128. awscli/examples/eks/delete-pod-identity-association.rst +28 -0
  129. awscli/examples/eks/describe-access-entry.rst +25 -0
  130. awscli/examples/eks/describe-insight.rst +36 -0
  131. awscli/examples/eks/describe-pod-identity-association.rst +28 -0
  132. awscli/examples/eks/disassociate-access-policy.rst +12 -0
  133. awscli/examples/eks/list-access-entries.rst +19 -0
  134. awscli/examples/eks/list-access-policies.rst +90 -0
  135. awscli/examples/eks/list-associated-access-policies.rst +27 -0
  136. awscli/examples/eks/list-insights.rst +67 -0
  137. awscli/examples/eks/list-pod-identity-associations.rst +61 -0
  138. awscli/examples/eks/update-access-entry.rst +28 -0
  139. awscli/examples/eks/update-pod-identity-association.rst +29 -0
  140. awscli/examples/elbv2/modify-listener.rst +95 -86
  141. awscli/examples/emr/create-cluster-synopsis.txt +1 -0
  142. awscli/examples/global_options.rst +4 -0
  143. awscli/examples/global_synopsis.rst +1 -0
  144. awscli/examples/guardduty/update-detector.rst +23 -0
  145. awscli/examples/ivs-realtime/create-stage.rst +6 -3
  146. awscli/examples/ivs-realtime/get-composition.rst +7 -4
  147. awscli/examples/ivs-realtime/get-participant.rst +99 -31
  148. awscli/examples/ivs-realtime/get-stage.rst +3 -2
  149. awscli/examples/ivs-realtime/list-participant-events.rst +54 -2
  150. awscli/examples/ivs-realtime/list-participant-replicas.rst +24 -0
  151. awscli/examples/ivs-realtime/list-participants.rst +61 -3
  152. awscli/examples/ivs-realtime/start-composition.rst +88 -3
  153. awscli/examples/ivs-realtime/start-participant-replication.rst +24 -0
  154. awscli/examples/ivs-realtime/stop-participant-replication.rst +24 -0
  155. awscli/examples/ivs-realtime/update-stage.rst +51 -3
  156. awscli/examples/kms/create-key.rst +42 -7
  157. awscli/examples/kms/delete-imported-key-material.rst +8 -2
  158. awscli/examples/kms/describe-key.rst +2 -0
  159. awscli/examples/kms/disable-key.rst +1 -1
  160. awscli/examples/kms/generate-data-key-pair-without-plaintext.rst +1 -0
  161. awscli/examples/kms/generate-data-key-pair.rst +1 -0
  162. awscli/examples/kms/generate-data-key-without-plaintext.rst +2 -1
  163. awscli/examples/kms/generate-data-key.rst +5 -4
  164. awscli/examples/kms/generate-mac.rst +45 -0
  165. awscli/examples/kms/generate-random.rst +1 -1
  166. awscli/examples/kms/get-public-key.rst +2 -3
  167. awscli/examples/kms/import-key-material.rst +6 -1
  168. awscli/examples/kms/re-encrypt.rst +3 -3
  169. awscli/examples/kms/sign.rst +1 -1
  170. awscli/examples/kms/verify-mac.rst +27 -0
  171. awscli/examples/kms/verify.rst +5 -1
  172. awscli/examples/lambda/create-function.rst +4 -4
  173. awscli/examples/lambda/get-function.rst +3 -3
  174. awscli/examples/lambda/list-functions.rst +6 -6
  175. awscli/examples/medical-imaging/create-datastore.rst +19 -2
  176. awscli/examples/medical-imaging/get-datastore.rst +24 -1
  177. awscli/examples/networkmanager/get-vpc-attachment.rst +1 -1
  178. awscli/examples/omics/cancel-run.rst +1 -1
  179. awscli/examples/omics/create-run-group.rst +4 -2
  180. awscli/examples/omics/create-workflow.rst +1 -1
  181. awscli/examples/omics/delete-run-group.rst +1 -1
  182. awscli/examples/omics/delete-run.rst +1 -1
  183. awscli/examples/omics/delete-workflow.rst +1 -1
  184. awscli/examples/omics/get-run-group.rst +1 -1
  185. awscli/examples/omics/get-run-task.rst +1 -1
  186. awscli/examples/omics/get-run.rst +1 -1
  187. awscli/examples/omics/get-workflow.rst +1 -1
  188. awscli/examples/omics/list-run-groups.rst +1 -1
  189. awscli/examples/omics/list-run-tasks.rst +1 -1
  190. awscli/examples/omics/list-runs.rst +1 -1
  191. awscli/examples/omics/list-workflows.rst +1 -1
  192. awscli/examples/omics/start-run.rst +1 -2
  193. awscli/examples/omics/update-workflow.rst +1 -1
  194. awscli/examples/pi/create-performance-analysis-report.rst +17 -0
  195. awscli/examples/pi/delete-performance-analysis-report.rst +12 -0
  196. awscli/examples/pi/describe-dimension-keys.rst +33 -1
  197. awscli/examples/pi/get-dimension-key-details.rst +25 -0
  198. awscli/examples/pi/get-performance-analysis-report.rst +27 -0
  199. awscli/examples/pi/get-resource-metadata.rst +20 -0
  200. awscli/examples/pi/list-available-resource-dimensions.rst +48 -0
  201. awscli/examples/pi/list-available-resource-metrics.rst +29 -0
  202. awscli/examples/pi/list-performance-analysis-reports.rst +44 -0
  203. awscli/examples/pi/list-tags-for-resource.rst +20 -0
  204. awscli/examples/pi/tag-resource.rst +12 -0
  205. awscli/examples/pi/untag-resource.rst +12 -0
  206. awscli/examples/route53domains/get-domain-detail.rst +3 -3
  207. awscli/examples/securityhub/describe-hub.rst +6 -4
  208. awscli/examples/servicediscovery/create-service.rst +50 -10
  209. awscli/examples/servicediscovery/delete-namespace.rst +18 -4
  210. awscli/examples/servicediscovery/delete-service-attributes.rst +15 -3
  211. awscli/examples/servicediscovery/delete-service.rst +13 -3
  212. awscli/examples/servicediscovery/deregister-instance.rst +18 -2
  213. awscli/examples/servicediscovery/discover-instances-revision.rst +18 -1
  214. awscli/examples/servicediscovery/discover-instances.rst +32 -2
  215. awscli/examples/servicediscovery/get-instance.rst +30 -4
  216. awscli/examples/servicediscovery/get-instances-health-status.rst +19 -1
  217. awscli/examples/servicediscovery/get-namespace.rst +40 -9
  218. awscli/examples/servicediscovery/get-operation.rst +32 -6
  219. awscli/examples/servicediscovery/get-service-attributes.rst +25 -3
  220. awscli/examples/servicediscovery/get-service.rst +35 -7
  221. awscli/examples/servicediscovery/list-instances.rst +38 -3
  222. awscli/examples/servicediscovery/list-namespaces.rst +45 -22
  223. awscli/examples/servicediscovery/list-services.rst +30 -2
  224. awscli/examples/servicediscovery/register-instance.rst +18 -2
  225. awscli/examples/servicediscovery/update-http-namespace.rst +22 -5
  226. awscli/examples/servicediscovery/update-instance-custom-health-status.rst +14 -1
  227. awscli/examples/servicediscovery/update-private-dns-namespace.rst +22 -5
  228. awscli/examples/servicediscovery/update-public-dns-namespace.rst +22 -5
  229. awscli/examples/servicediscovery/update-service-attributes.rst +14 -2
  230. awscli/examples/servicediscovery/update-service.rst +20 -4
  231. awscli/examples/ssm/put-parameter.rst +6 -6
  232. awscli/examples/verifiedpermissions/update-policy.rst +10 -78
  233. awscli/examples/workspaces/describe-workspace-directories.rst +1 -2
  234. awscli/examples/workspaces/register-workspace-directory.rst +2 -3
  235. awscli/handlers.py +0 -4
  236. awscli/paramfile.py +21 -4
  237. awscli/testutils.py +22 -4
  238. awscli/topics/config-vars.rst +1 -1
  239. awscli/topics/s3-case-insensitivity.rst +105 -0
  240. awscli/topics/topic-tags.json +16 -0
  241. awscli/utils.py +33 -2
  242. {awscli-1.40.17.dist-info → awscli-1.44.26.dist-info}/METADATA +18 -3
  243. {awscli-1.40.17.dist-info → awscli-1.44.26.dist-info}/RECORD +251 -308
  244. awscli/customizations/opsworks.py +0 -543
  245. awscli/customizations/opsworkscm.py +0 -21
  246. awscli/examples/elastictranscoder/cancel-job.rst +0 -8
  247. awscli/examples/elastictranscoder/create-job.rst +0 -94
  248. awscli/examples/elastictranscoder/create-pipeline.rst +0 -94
  249. awscli/examples/elastictranscoder/create-preset.rst +0 -141
  250. awscli/examples/elastictranscoder/delete-pipeline.rst +0 -13
  251. awscli/examples/elastictranscoder/delete-preset.rst +0 -8
  252. awscli/examples/elastictranscoder/list-jobs-by-pipeline.rst +0 -13
  253. awscli/examples/elastictranscoder/list-jobs-by-status.rst +0 -14
  254. awscli/examples/elastictranscoder/list-pipelines.rst +0 -84
  255. awscli/examples/elastictranscoder/list-presets.rst +0 -95
  256. awscli/examples/elastictranscoder/read-job.rst +0 -65
  257. awscli/examples/elastictranscoder/read-pipeline.rst +0 -59
  258. awscli/examples/elastictranscoder/read-preset.rst +0 -100
  259. awscli/examples/elastictranscoder/update-pipeline-notifications.rst +0 -52
  260. awscli/examples/elastictranscoder/update-pipeline-status.rst +0 -53
  261. awscli/examples/elastictranscoder/update-pipeline.rst +0 -95
  262. awscli/examples/opsworks/assign-instance.rst +0 -14
  263. awscli/examples/opsworks/assign-volume.rst +0 -17
  264. awscli/examples/opsworks/associate-elastic-ip.rst +0 -14
  265. awscli/examples/opsworks/attach-elastic-load-balancer.rst +0 -14
  266. awscli/examples/opsworks/create-app.rst +0 -64
  267. awscli/examples/opsworks/create-deployment.rst +0 -66
  268. awscli/examples/opsworks/create-instance.rst +0 -25
  269. awscli/examples/opsworks/create-layer.rst +0 -17
  270. awscli/examples/opsworks/create-server.rst +0 -43
  271. awscli/examples/opsworks/create-stack.rst +0 -25
  272. awscli/examples/opsworks/create-user-profile.rst +0 -24
  273. awscli/examples/opsworks/delete-app.rst +0 -17
  274. awscli/examples/opsworks/delete-instance.rst +0 -15
  275. awscli/examples/opsworks/delete-layer.rst +0 -17
  276. awscli/examples/opsworks/delete-stack.rst +0 -18
  277. awscli/examples/opsworks/delete-user-profile.rst +0 -17
  278. awscli/examples/opsworks/deregister-elastic-ip.rst +0 -13
  279. awscli/examples/opsworks/deregister-instance.rst +0 -14
  280. awscli/examples/opsworks/deregister-rds-db-instance.rst +0 -20
  281. awscli/examples/opsworks/deregister-volume.rst +0 -15
  282. awscli/examples/opsworks/describe-apps.rst +0 -38
  283. awscli/examples/opsworks/describe-commands.rst +0 -43
  284. awscli/examples/opsworks/describe-deployments.rst +0 -52
  285. awscli/examples/opsworks/describe-elastic-ips.rst +0 -24
  286. awscli/examples/opsworks/describe-elastic-load-balancers.rst +0 -37
  287. awscli/examples/opsworks/describe-instances.rst +0 -95
  288. awscli/examples/opsworks/describe-layers.rst +0 -171
  289. awscli/examples/opsworks/describe-load-based-auto-scaling.rst +0 -37
  290. awscli/examples/opsworks/describe-my-user-profile.rst +0 -24
  291. awscli/examples/opsworks/describe-permissions.rst +0 -26
  292. awscli/examples/opsworks/describe-raid-arrays.rst +0 -31
  293. awscli/examples/opsworks/describe-rds-db-instances.rst +0 -29
  294. awscli/examples/opsworks/describe-stack-provisioning-parameters.rst +0 -32
  295. awscli/examples/opsworks/describe-stack-summary.rst +0 -27
  296. awscli/examples/opsworks/describe-stacks.rst +0 -65
  297. awscli/examples/opsworks/describe-timebased-auto-scaling.rst +0 -39
  298. awscli/examples/opsworks/describe-user-profiles.rst +0 -32
  299. awscli/examples/opsworks/describe-volumes.rst +0 -31
  300. awscli/examples/opsworks/detach-elastic-load-balancer.rst +0 -14
  301. awscli/examples/opsworks/disassociate-elastic-ip.rst +0 -14
  302. awscli/examples/opsworks/get-hostname-suggestion.rst +0 -21
  303. awscli/examples/opsworks/reboot-instance.rst +0 -14
  304. awscli/examples/opsworks/register-elastic-ip.rst +0 -19
  305. awscli/examples/opsworks/register-rds-db-instance.rst +0 -15
  306. awscli/examples/opsworks/register-volume.rst +0 -18
  307. awscli/examples/opsworks/register.rst +0 -105
  308. awscli/examples/opsworks/set-load-based-auto-scaling.rst +0 -38
  309. awscli/examples/opsworks/set-permission.rst +0 -23
  310. awscli/examples/opsworks/set-time-based-auto-scaling.rst +0 -33
  311. awscli/examples/opsworks/start-instance.rst +0 -20
  312. awscli/examples/opsworks/start-stack.rst +0 -15
  313. awscli/examples/opsworks/stop-instance.rst +0 -20
  314. awscli/examples/opsworks/stop-stack.rst +0 -15
  315. awscli/examples/opsworks/unassign-instance.rst +0 -14
  316. awscli/examples/opsworks/unassign-volume.rst +0 -16
  317. awscli/examples/opsworks/update-app.rst +0 -14
  318. awscli/examples/opsworks/update-elastic-ip.rst +0 -14
  319. awscli/examples/opsworks/update-instance.rst +0 -14
  320. awscli/examples/opsworks/update-layer.rst +0 -14
  321. awscli/examples/opsworks/update-my-user-profile.rst +0 -16
  322. awscli/examples/opsworks/update-rds-db-instance.rst +0 -18
  323. awscli/examples/opsworks/update-volume.rst +0 -16
  324. awscli/examples/opsworkscm/associate-node.rst +0 -22
  325. awscli/examples/opsworkscm/create-backup.rst +0 -46
  326. awscli/examples/opsworkscm/create-server.rst +0 -48
  327. awscli/examples/opsworkscm/delete-backup.rst +0 -17
  328. awscli/examples/opsworkscm/delete-server.rst +0 -16
  329. awscli/examples/opsworkscm/describe-account-attributes.rst +0 -26
  330. awscli/examples/opsworkscm/describe-backups.rst +0 -44
  331. awscli/examples/opsworkscm/describe-events.rst +0 -21
  332. awscli/examples/opsworkscm/describe-node-association-status.rst +0 -20
  333. awscli/examples/opsworkscm/describe-servers.rst +0 -48
  334. awscli/examples/opsworkscm/disassociate-node.rst +0 -19
  335. awscli/examples/opsworkscm/restore-server.rst +0 -20
  336. awscli/examples/opsworkscm/start-maintenance.rst +0 -39
  337. awscli/examples/opsworkscm/update-server-engine-attributes.rst +0 -43
  338. awscli/examples/opsworkscm/update-server.rst +0 -42
  339. awscli/examples/qldb/cancel-journal-kinesis-stream.rst +0 -15
  340. awscli/examples/qldb/create-ledger.rst +0 -43
  341. awscli/examples/qldb/delete-ledger.rst +0 -10
  342. awscli/examples/qldb/describe-journal-kinesis-stream.rst +0 -29
  343. awscli/examples/qldb/describe-journal-s3-export.rst +0 -30
  344. awscli/examples/qldb/describe-ledger.rst +0 -23
  345. awscli/examples/qldb/export-journal-to-s3.rst +0 -28
  346. awscli/examples/qldb/get-block.rst +0 -55
  347. awscli/examples/qldb/get-digest.rst +0 -17
  348. awscli/examples/qldb/get-revision.rst +0 -57
  349. awscli/examples/qldb/list-journal-kinesis-streams-for-ledger.rst +0 -30
  350. awscli/examples/qldb/list-journal-s3-exports-for-ledger.rst +0 -31
  351. awscli/examples/qldb/list-journal-s3-exports.rst +0 -46
  352. awscli/examples/qldb/list-ledgers.rst +0 -24
  353. awscli/examples/qldb/list-tags-for-resource.rst +0 -17
  354. awscli/examples/qldb/stream-journal-to-kinesis.rst +0 -46
  355. awscli/examples/qldb/tag-resource.rst +0 -11
  356. awscli/examples/qldb/untag-resource.rst +0 -11
  357. awscli/examples/qldb/update-ledger-permissions-mode.rst +0 -34
  358. awscli/examples/qldb/update-ledger.rst +0 -63
  359. awscli/examples/robomaker/batch-describe-simulation-job.rst +0 -150
  360. awscli/examples/robomaker/cancel-simulation-job.rst +0 -6
  361. awscli/examples/robomaker/create-deployment-job.rst +0 -37
  362. awscli/examples/robomaker/create-fleet.rst +0 -18
  363. awscli/examples/robomaker/create-robot-application-version.rst +0 -31
  364. awscli/examples/robomaker/create-robot-application.rst +0 -29
  365. awscli/examples/robomaker/create-robot.rst +0 -20
  366. awscli/examples/robomaker/create-simulation-application-version.rst +0 -39
  367. awscli/examples/robomaker/create-simulation-application.rst +0 -38
  368. awscli/examples/robomaker/create-simulation-job.rst +0 -43
  369. awscli/examples/robomaker/delete-fleet.rst +0 -7
  370. awscli/examples/robomaker/delete-robot-application.rst +0 -7
  371. awscli/examples/robomaker/delete-robot.rst +0 -7
  372. awscli/examples/robomaker/delete-simulation-application.rst +0 -7
  373. awscli/examples/robomaker/deregister-robot.rst +0 -14
  374. awscli/examples/robomaker/describe-deployment-job.rst +0 -38
  375. awscli/examples/robomaker/describe-fleet.rst +0 -28
  376. awscli/examples/robomaker/describe-robot-application.rst +0 -29
  377. awscli/examples/robomaker/describe-robot.rst +0 -21
  378. awscli/examples/robomaker/describe-simulation-application.rst +0 -37
  379. awscli/examples/robomaker/describe-simulation-job.rst +0 -45
  380. awscli/examples/robomaker/list-deployment-jobs.rst +0 -57
  381. awscli/examples/robomaker/list-fleets.rst +0 -22
  382. awscli/examples/robomaker/list-robot-applications.rst +0 -32
  383. awscli/examples/robomaker/list-robots.rst +0 -45
  384. awscli/examples/robomaker/list-simulation-applications.rst +0 -50
  385. awscli/examples/robomaker/list-simulation-jobs.rst +0 -80
  386. awscli/examples/robomaker/list-tags-for-resource.rst +0 -16
  387. awscli/examples/robomaker/register-robot.rst +0 -14
  388. awscli/examples/robomaker/restart-simulation-job.rst +0 -7
  389. awscli/examples/robomaker/sync-deployment-job.rst +0 -30
  390. awscli/examples/robomaker/tag-resource.rst +0 -7
  391. awscli/examples/robomaker/untag-resource.rst +0 -7
  392. awscli/examples/robomaker/update-robot-application.rst +0 -28
  393. awscli/examples/robomaker/update-simulation-application.rst +0 -36
  394. {awscli-1.40.17.data → awscli-1.44.26.data}/scripts/aws +0 -0
  395. {awscli-1.40.17.data → awscli-1.44.26.data}/scripts/aws.cmd +0 -0
  396. {awscli-1.40.17.data → awscli-1.44.26.data}/scripts/aws_bash_completer +0 -0
  397. {awscli-1.40.17.data → awscli-1.44.26.data}/scripts/aws_completer +0 -0
  398. {awscli-1.40.17.data → awscli-1.44.26.data}/scripts/aws_zsh_completer.sh +0 -0
  399. {awscli-1.40.17.dist-info → awscli-1.44.26.dist-info}/LICENSE.txt +0 -0
  400. {awscli-1.40.17.dist-info → awscli-1.44.26.dist-info}/WHEEL +0 -0
  401. {awscli-1.40.17.dist-info → awscli-1.44.26.dist-info}/top_level.txt +0 -0
@@ -11,7 +11,6 @@
11
11
  # ANY KIND, either express or implied. See the License for the specific
12
12
  # language governing permissions and limitations under the License.
13
13
 
14
- import hashlib
15
14
  import logging
16
15
  import threading
17
16
  import os
@@ -19,6 +18,7 @@ import sys
19
18
 
20
19
  import botocore
21
20
  import botocore.exceptions
21
+ from botocore.compat import get_md5
22
22
  from s3transfer.manager import TransferManager
23
23
  from s3transfer.subscribers import BaseSubscriber
24
24
 
@@ -27,6 +27,16 @@ from awscli.compat import collections_abc
27
27
  LOG = logging.getLogger(__name__)
28
28
 
29
29
 
30
+ def _get_checksum():
31
+ hashlib_params = {"usedforsecurity": False}
32
+ try:
33
+ checksum = get_md5(**hashlib_params)
34
+ except botocore.exceptions.MD5UnavailableError:
35
+ import hashlib
36
+ checksum = hashlib.sha256(**hashlib_params)
37
+ return checksum
38
+
39
+
30
40
  class NoSuchBucketError(Exception):
31
41
  def __init__(self, **kwargs):
32
42
  msg = self.fmt.format(**kwargs)
@@ -81,7 +91,7 @@ class S3Uploader(object):
81
91
  """
82
92
  Uploads given file to S3
83
93
  :param file_name: Path to the file that will be uploaded
84
- :param remote_path: be uploaded
94
+ :param remote_path: Path where the file will be uploaded
85
95
  :return: VersionId of the latest upload
86
96
  """
87
97
 
@@ -128,7 +138,7 @@ class S3Uploader(object):
128
138
 
129
139
  def upload_with_dedup(self, file_name, extension=None):
130
140
  """
131
- Makes and returns name of the S3 object based on the file's MD5 sum
141
+ Makes and returns name of the S3 object based on the file's checksum
132
142
 
133
143
  :param file_name: file to upload
134
144
  :param extension: String of file extension to append to the object
@@ -140,8 +150,8 @@ class S3Uploader(object):
140
150
  # and re-upload only if necessary. So the template points to same file
141
151
  # in multiple places, this will upload only once
142
152
 
143
- filemd5 = self.file_checksum(file_name)
144
- remote_path = filemd5
153
+ file_checksum = self.file_checksum(file_name)
154
+ remote_path = file_checksum
145
155
  if extension:
146
156
  remote_path = remote_path + "." + extension
147
157
 
@@ -172,7 +182,7 @@ class S3Uploader(object):
172
182
  def file_checksum(self, file_name):
173
183
 
174
184
  with open(file_name, "rb") as file_handle:
175
- md5 = hashlib.md5()
185
+ checksum = _get_checksum()
176
186
  # Read file in chunks of 4096 bytes
177
187
  block_size = 4096
178
188
 
@@ -182,13 +192,13 @@ class S3Uploader(object):
182
192
 
183
193
  buf = file_handle.read(block_size)
184
194
  while len(buf) > 0:
185
- md5.update(buf)
195
+ checksum.update(buf)
186
196
  buf = file_handle.read(block_size)
187
197
 
188
198
  # Restore file cursor's position
189
199
  file_handle.seek(curpos)
190
200
 
191
- return md5.hexdigest()
201
+ return checksum.hexdigest()
192
202
 
193
203
  def to_path_style_s3_url(self, key, version=None):
194
204
  """
@@ -27,9 +27,14 @@ There's nothing currently done for timestamps, but this will change
27
27
  in the future.
28
28
 
29
29
  """
30
+ import sys
31
+
30
32
  from botocore.utils import parse_timestamp
31
33
  from botocore.exceptions import ProfileNotFound
32
34
 
35
+ from awscli.customizations.utils import uni_print
36
+ from awscli.utils import resolve_v2_debug_mode
37
+
33
38
 
34
39
  def register_scalar_parser(event_handlers):
35
40
  event_handlers.register_first(
@@ -44,12 +49,20 @@ def iso_format(value):
44
49
  return parse_timestamp(value).isoformat()
45
50
 
46
51
 
47
- def add_timestamp_parser(session):
52
+ def add_timestamp_parser(session, v2_debug=False):
48
53
  factory = session.get_component('response_parser_factory')
54
+ print_v2_debug_warnings = v2_debug
49
55
  try:
50
56
  timestamp_format = session.get_scoped_config().get(
51
57
  'cli_timestamp_format',
52
- 'none')
58
+ None)
59
+ if timestamp_format is not None:
60
+ # We do not want to print v2 debug warnings if the user explicitly
61
+ # configured the cli_timestamp_format, they would not be
62
+ # broken in that case.
63
+ print_v2_debug_warnings = False
64
+ else:
65
+ timestamp_format = 'wire'
53
66
  except ProfileNotFound:
54
67
  # If a --profile is provided that does not exist, loading
55
68
  # a value from get_scoped_config will crash the CLI.
@@ -57,23 +70,49 @@ def add_timestamp_parser(session):
57
70
  # the session-initialized event, which happens before a
58
71
  # profile can be created, even if the command would have
59
72
  # successfully created a profile. Instead of crashing here
60
- # on a ProfileNotFound the CLI should just use 'none'.
61
- timestamp_format = 'none'
62
- if timestamp_format == 'none':
73
+ # on a ProfileNotFound the CLI should just use 'wire'.
74
+ timestamp_format = 'wire'
75
+ # We also support 'none' for backwards compatibility reasons, though we
76
+ # document 'wire' instead.
77
+ if timestamp_format == 'wire' or timestamp_format == 'none':
63
78
  # For backwards compatibility reasons, we replace botocore's timestamp
64
79
  # parser (which parses to a datetime.datetime object) with the
65
80
  # identity function which prints the date exactly the same as it comes
66
81
  # across the wire.
67
- timestamp_parser = identity
82
+ encountered_timestamp = False
83
+ def identity_with_warning(x):
84
+ # To prevent printing the same warning for each timestamp in the
85
+ # response, we utilize a reference to a nonlocal variable to track
86
+ # if we have already printed the warning.
87
+ nonlocal encountered_timestamp
88
+ if not encountered_timestamp:
89
+ encountered_timestamp = True
90
+ uni_print(
91
+ '\nAWS CLI v2 UPGRADE WARNING: In AWS CLI v2, all '
92
+ 'timestamp response values are returned in the ISO 8601 '
93
+ 'format. This is different from v1 behavior, where the '
94
+ 'timestamps are returned as they appear in the service '
95
+ 'API response. To retain AWS CLI v1 behavior in AWS CLI '
96
+ 'v2, set the configuration variable '
97
+ '`cli_timestamp_format` to `wire`. See '
98
+ 'https://docs.aws.amazon.com/cli/latest/userguide/'
99
+ 'cliv2-migration-changes.html'
100
+ '#cliv2-migration-timestamp.\n',
101
+ out_file=sys.stderr
102
+ )
103
+ return identity(x)
104
+
105
+ timestamp_parser = identity_with_warning \
106
+ if print_v2_debug_warnings else identity
68
107
  elif timestamp_format == 'iso8601':
69
108
  timestamp_parser = iso_format
70
109
  else:
71
110
  raise ValueError('Unknown cli_timestamp_format value: %s, valid values'
72
- ' are "none" or "iso8601"' % timestamp_format)
111
+ ' are "none", "wire" or "iso8601"' % timestamp_format)
73
112
  factory.set_parser_defaults(timestamp_parser=timestamp_parser)
74
113
 
75
114
 
76
- def add_scalar_parsers(session, **kwargs):
115
+ def add_scalar_parsers(session, parsed_args=None, **kwargs):
77
116
  factory = session.get_component('response_parser_factory')
78
117
  factory.set_parser_defaults(blob_parser=identity)
79
- add_timestamp_parser(session)
118
+ add_timestamp_parser(session, resolve_v2_debug_mode(parsed_args))
@@ -18,6 +18,7 @@ import copy
18
18
  import sys
19
19
 
20
20
  from botocore.exceptions import ClientError
21
+ from awscli.utils import create_nested_client
21
22
 
22
23
 
23
24
  def rename_argument(argument_table, existing_name, new_name):
@@ -172,7 +173,7 @@ def create_client_from_parsed_globals(session, service_name, parsed_globals,
172
173
  client_args['verify'] = parsed_globals.verify_ssl
173
174
  if overrides:
174
175
  client_args.update(overrides)
175
- return session.create_client(service_name, **client_args)
176
+ return create_nested_client(session, service_name, **client_args)
176
177
 
177
178
 
178
179
  def uni_print(statement, out_file=None):
@@ -16,6 +16,7 @@ from botocore.exceptions import DataNotFoundError
16
16
  from awscli.clidriver import ServiceOperation
17
17
  from awscli.customizations.commands import BasicCommand, BasicHelp, \
18
18
  BasicDocHandler
19
+ from awscli.utils import create_nested_client
19
20
 
20
21
 
21
22
  def register_add_waiters(cli):
@@ -200,8 +201,8 @@ class WaiterCaller(object):
200
201
  self._waiter_name = waiter_name
201
202
 
202
203
  def invoke(self, service_name, operation_name, parameters, parsed_globals):
203
- client = self._session.create_client(
204
- service_name, region_name=parsed_globals.region,
204
+ client = create_nested_client(
205
+ self._session, service_name, region_name=parsed_globals.region,
205
206
  endpoint_url=parsed_globals.endpoint_url,
206
207
  verify=parsed_globals.verify_ssl)
207
208
  waiter = client.get_waiter(xform_name(self._waiter_name))
awscli/data/cli.json CHANGED
@@ -64,6 +64,11 @@
64
64
  "dest": "connect_timeout",
65
65
  "type": "int",
66
66
  "help": "<p>The maximum socket connect time in seconds. If the value is set to 0, the socket connect will be blocking and not timeout. The default value is 60 seconds.</p>"
67
+ },
68
+ "v2-debug": {
69
+ "action": "store_true",
70
+ "dest": "v2_debug",
71
+ "help": "<p>Enable AWS CLI v2 migration assistance. Prints warnings if the command would face a breaking change after swapping AWS CLI v1 for AWS CLI v2 in the current environment. Prints one warning for each breaking change detected.</p>"
67
72
  }
68
73
  }
69
74
  }
@@ -0,0 +1,47 @@
1
+ **Example 1: To update an existing VPC link name**
2
+
3
+ The following ``update-vpc-link`` example updates the name of the specified VPC link. ::
4
+
5
+ aws apigateway update-vpc-link \
6
+ --vpc-link-id ab3de6 \
7
+ --patch-operations op=replace,path=/name,value=my-vpc-link
8
+
9
+ Output::
10
+
11
+ {
12
+ "id": "ab3de6",
13
+ "name": "my-vpc-link",
14
+ "targetArns": [
15
+ "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/net/my-lb/12a456s89aaa12345"
16
+ ],
17
+ "status": "AVAILABLE",
18
+ "statusMessage": "Your vpc link is ready for use",
19
+ "tags": {}
20
+ }
21
+
22
+ For more information, see `Updating existing VPC link <https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-vpc-link.html>`__ in the *AWS CLI Command Reference*.
23
+
24
+
25
+ **Example 2: To update an existing VPC link name and description**
26
+
27
+ The following ``update-vpc-link`` example updates name of the specified VPC link. ::
28
+
29
+ aws apigateway update-vpc-link \
30
+ --vpc-link-id ab3de6 \
31
+ --patch-operations op=replace,path=/name,value=my-vpc-link op=replace,path=/description,value="My custom description"
32
+
33
+ Output::
34
+
35
+ {
36
+ "id": "ab3de6",
37
+ "name": "my-vpc-link",
38
+ "description": "My custom description",
39
+ "targetArns": [
40
+ "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/net/my-lb/12a456s89aaa12345"
41
+ ],
42
+ "status": "AVAILABLE",
43
+ "statusMessage": "Your vpc link is ready for use",
44
+ "tags": {}
45
+ }
46
+
47
+ For more information, see `Updating existing VPC link <https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-vpc-link.html>`__ in the *AWS CLI Command Reference*.
@@ -0,0 +1,52 @@
1
+ **To create a routing rule**
2
+
3
+ The following ``create-routing-rule`` example creates a routing rule with a priority of ``50``. ::
4
+
5
+ aws apigatewayv2 create-routing-rule \
6
+ --domain-name 'regional.example.com' \
7
+ --priority 50 \
8
+ --conditions '[ \
9
+ { \
10
+ "MatchBasePaths": { \
11
+ "AnyOf": [ \
12
+ "PetStoreShopper" \
13
+ ] \
14
+ } \
15
+ } \
16
+ ]' \
17
+ --actions '[ \
18
+ { \
19
+ "InvokeApi": { \
20
+ "ApiId": "abcd1234", \
21
+ "Stage": "prod" \
22
+ } \
23
+ } \
24
+ ]'
25
+
26
+ Output::
27
+
28
+ {
29
+ "Actions": [
30
+ {
31
+ "InvokeApi": {
32
+ "ApiId": "abcd1234",
33
+ "Stage": "prod",
34
+ "StripBasePath": false
35
+ }
36
+ }
37
+ ],
38
+ "Conditions": [
39
+ {
40
+ "MatchBasePaths": {
41
+ "AnyOf": [
42
+ "PetStoreShopper"
43
+ ]
44
+ }
45
+ }
46
+ ],
47
+ "Priority": 50,
48
+ "RoutingRuleArn": "arn:aws:apigateway:us-east-2:123456789012:/domainnames/regional.example.com/routingrules/aaa111",
49
+ "RoutingRuleId": "aaa111"
50
+ }
51
+
52
+ For more information, see `Routing rules to connect API stages to a custom domain name for REST APIs <https://docs.aws.amazon.com/apigateway/latest/developerguide/rest-api-routing-rules.html>`__ in the *Amazon API Gateway Developer Guide*.
@@ -0,0 +1,11 @@
1
+ **To delete a routing rule**
2
+
3
+ The following ``delete-routing-rule`` example deletes a routing rule for a custom domain name. ::
4
+
5
+ aws apigatewayv2 delete-routing-rule \
6
+ --domain-name 'regional.example.com' \
7
+ --routing-rule-id aaa111
8
+
9
+ This command produces no output.
10
+
11
+ For more information, see `Routing rules to connect API stages to a custom domain name for REST APIs <https://docs.aws.amazon.com/apigateway/latest/developerguide/rest-api-routing-rules.html>`__ in the *Amazon API Gateway Developer Guide*.
@@ -0,0 +1,35 @@
1
+ **To get a routing rule**
2
+
3
+ The following ``get-routing-rule`` example gets a routing rule for a domain name. ::
4
+
5
+ aws apigatewayv2 get-routing-rule \
6
+ --domain-name 'regional.example.com' \
7
+ --routing-rule-id aaa111
8
+
9
+ Output::
10
+
11
+ {
12
+ "Actions": [
13
+ {
14
+ "InvokeApi": {
15
+ "ApiId": "abcd1234",
16
+ "Stage": "prod",
17
+ "StripBasePath": false
18
+ }
19
+ }
20
+ ],
21
+ "Conditions": [
22
+ {
23
+ "MatchBasePaths": {
24
+ "AnyOf": [
25
+ "PetStoreShopper"
26
+ ]
27
+ }
28
+ }
29
+ ],
30
+ "Priority": 50,
31
+ "RoutingRuleArn": "arn:aws:apigateway:us-east-2:123456789012:/domainnames/regional.example.com/routingrules/aaa111",
32
+ "RoutingRuleId": "aaa111"
33
+ }
34
+
35
+ For more information, see `Routing rules to connect API stages to a custom domain name for REST APIs <https://docs.aws.amazon.com/apigateway/latest/developerguide/rest-api-routing-rules.html>`__ in the *Amazon API Gateway Developer Guide*.
@@ -0,0 +1,38 @@
1
+ **To list routing rules**
2
+
3
+ The following ``list-routing-rules`` example lists the routing rules for a domain name. ::
4
+
5
+ aws apigatewayv2 list-routing-rules \
6
+ --domain-name 'regional.example.com'
7
+
8
+ Output::
9
+
10
+ {
11
+ "RoutingRules": [
12
+ {
13
+ "Actions": [
14
+ {
15
+ "InvokeApi": {
16
+ "ApiId": "abcd1234",
17
+ "Stage": "prod",
18
+ "StripBasePath": false
19
+ }
20
+ }
21
+ ],
22
+ "Conditions": [
23
+ {
24
+ "MatchBasePaths": {
25
+ "AnyOf": [
26
+ "PetStoreShopper"
27
+ ]
28
+ }
29
+ }
30
+ ],
31
+ "Priority": 150,
32
+ "RoutingRuleArn": "arn:aws:apigateway:us-east-1:123456789012:/domainnames/regional.example.com/routingrules/aaa111",
33
+ "RoutingRuleId": "aaa111"
34
+ }
35
+ ]
36
+ }
37
+
38
+ For more information, see `Routing rules to connect API stages to a custom domain name for REST APIs <https://docs.aws.amazon.com/apigateway/latest/developerguide/rest-api-routing-rules.html>`__ in the *Amazon API Gateway Developer Guide*.
@@ -0,0 +1,52 @@
1
+ **To update a routing rule**
2
+
3
+ The following ``put-routing-rule`` example updates the priority of a routing rule. ::
4
+
5
+ aws apigatewayv2 put-routing-rule \
6
+ --domain-name 'regional.example.com' \
7
+ --priority 150 \
8
+ --conditions '[ \
9
+ { \
10
+ "MatchBasePaths": { \
11
+ "AnyOf": [ \
12
+ "PetStoreShopper" \
13
+ ] \
14
+ } \
15
+ } \
16
+ ]' \
17
+ --actions '[ \
18
+ { \
19
+ "InvokeApi": { \
20
+ "ApiId": "abcd1234", \
21
+ "Stage": "prod" \
22
+ } \
23
+ } \
24
+ ]'
25
+
26
+ Output::
27
+
28
+ {
29
+ "Actions": [
30
+ {
31
+ "InvokeApi": {
32
+ "ApiId": "abcd1234",
33
+ "Stage": "prod",
34
+ "StripBasePath": false
35
+ }
36
+ }
37
+ ],
38
+ "Conditions": [
39
+ {
40
+ "MatchBasePaths": {
41
+ "AnyOf": [
42
+ "PetStoreShopper"
43
+ ]
44
+ }
45
+ }
46
+ ],
47
+ "Priority": 150,
48
+ "RoutingRuleArn": "arn:aws:apigateway:us-east-2:123456789012:/domainnames/regional.example.com/routingrules/aaa111",
49
+ "RoutingRuleId": "aaa111"
50
+ }
51
+
52
+ For more information, see `Routing rules to connect API stages to a custom domain name for REST APIs <https://docs.aws.amazon.com/apigateway/latest/developerguide/rest-api-routing-rules.html>`__ in the *Amazon API Gateway Developer Guide*.
@@ -0,0 +1,99 @@
1
+ **To retrieve one or more service level objective (SLO) budget reports.**
2
+
3
+ The following ``batch-get-service-level-objective-budget-report`` example retrieves one or more service level objective (SLO) budget reports. ::
4
+
5
+ aws application-signals batch-get-service-level-objective-budget-report \
6
+ --timestamp 1735059869 \
7
+ --slo-ids "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName1" "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName2"
8
+
9
+ Output::
10
+
11
+ {
12
+ "Timestamp": "2024-12-24T22:34:29+05:30",
13
+ "Reports": [{
14
+ "Arn": "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName1",
15
+ "Name": "Your SLO Name",
16
+ "EvaluationType": "PeriodBased",
17
+ "BudgetStatus": "OK",
18
+ "Attainment": 100.0,
19
+ "TotalBudgetSeconds": 6048,
20
+ "BudgetSecondsRemaining": 6048,
21
+ "Sli": {
22
+ "SliMetric": {
23
+ "MetricDataQueries": [{
24
+ "Id": "m1",
25
+ "MetricStat": {
26
+ "Metric": {
27
+ "Namespace": "AWS/EC2",
28
+ "MetricName": "CPUUtilization",
29
+ "Dimensions": [{
30
+ "Name": "InstanceId",
31
+ "Value": "i-0e098765432522"
32
+ }]
33
+ },
34
+ "Period": 60,
35
+ "Stat": "Average"
36
+ },
37
+ "ReturnData": true
38
+ }]
39
+ },
40
+ "MetricThreshold": 200.0,
41
+ "ComparisonOperator": "LessThanOrEqualTo"
42
+ },
43
+ "Goal": {
44
+ "Interval": {
45
+ "RollingInterval": {
46
+ "DurationUnit": "DAY",
47
+ "Duration": 7
48
+ }
49
+ },
50
+ "AttainmentGoal": 99.0,
51
+ "WarningThreshold": 50.0
52
+ }
53
+ },
54
+ {
55
+ "Arn": "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName2",
56
+ "Name": "test",
57
+ "EvaluationType": "PeriodBased",
58
+ "BudgetStatus": "BREACHED",
59
+ "Attainment": 97.39583275,
60
+ "TotalBudgetSeconds": 86,
61
+ "BudgetSecondsRemaining": -2154,
62
+ "Sli": {
63
+ "SliMetric": {
64
+ "MetricDataQueries": [{
65
+ "Id": "cwMetric",
66
+ "MetricStat": {
67
+ "Metric": {
68
+ "Namespace": "AWS/EC2",
69
+ "MetricName": "CPUUtilization",
70
+ "Dimensions": [{
71
+ "Name": "InstanceId",
72
+ "Value": "i-0e12345678922"
73
+ }]
74
+ },
75
+ "Period": 300,
76
+ "Stat": "Average"
77
+ },
78
+ "ReturnData": true
79
+ }]
80
+ },
81
+ "MetricThreshold": 5.0,
82
+ "ComparisonOperator": "GreaterThan"
83
+ },
84
+ "Goal": {
85
+ "Interval": {
86
+ "RollingInterval": {
87
+ "DurationUnit": "DAY",
88
+ "Duration": 1
89
+ }
90
+ },
91
+ "AttainmentGoal": 99.9,
92
+ "WarningThreshold": 30.0
93
+ }
94
+ }
95
+ ],
96
+ "Errors": []
97
+ }
98
+
99
+ For more information, see `Application Signals <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Application-Monitoring-Sections.html>`__ in the *Amazon CloudWatch User Guide*.
@@ -0,0 +1,88 @@
1
+ **To create a service level objective (SLO)**
2
+
3
+ The following ``create-service-level-objective`` example creates a service level objective (SLO), which can help you ensure that your critical business operations are meeting customer expectations. ::
4
+
5
+ aws application-signals create-service-level-objective \
6
+ --name "SLOName" \
7
+ --description "Description of your SLO" \
8
+ --sli-config file://sli-config.json
9
+
10
+ Contents of ``sli-config.json``::
11
+
12
+ {
13
+ "SliMetricConfig": {
14
+ "MetricDataQueries": [
15
+ {
16
+ "Id": "m1",
17
+ "MetricStat": {
18
+ "Metric": {
19
+ "Namespace": "AWS/EC2",
20
+ "MetricName": "CPUUtilization",
21
+ "Dimensions": [
22
+ {
23
+ "Name": "InstanceId",
24
+ "Value": "i-0e5a1234561522"
25
+ }
26
+ ]
27
+ },
28
+ "Period": 60,
29
+ "Stat": "Average"
30
+ },
31
+ "ReturnData": true
32
+ }
33
+ ]
34
+ },
35
+ "MetricThreshold": 200,
36
+ "ComparisonOperator": "LessThanOrEqualTo"
37
+ }
38
+
39
+ Output::
40
+
41
+ {
42
+ "Slo": {
43
+ "Arn": "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName",
44
+ "Name": "SLOName",
45
+ "Description": "Description of your SLO",
46
+ "CreatedTime": "2024-12-27T08:16:09.032000+05:30",
47
+ "LastUpdatedTime": "2024-12-27T08:16:09.032000+05:30",
48
+ "Sli": {
49
+ "SliMetric": {
50
+ "MetricDataQueries": [
51
+ {
52
+ "Id": "m1",
53
+ "MetricStat": {
54
+ "Metric": {
55
+ "Namespace": "AWS/EC2",
56
+ "MetricName": "CPUUtilization",
57
+ "Dimensions": [
58
+ {
59
+ "Name": "InstanceId",
60
+ "Value": "i-0e59876543234522"
61
+ }
62
+ ]
63
+ },
64
+ "Period": 60,
65
+ "Stat": "Average"
66
+ },
67
+ "ReturnData": true
68
+ }
69
+ ]
70
+ },
71
+ "MetricThreshold": 200.0,
72
+ "ComparisonOperator": "LessThanOrEqualTo"
73
+ },
74
+ "EvaluationType": "PeriodBased",
75
+ "Goal": {
76
+ "Interval": {
77
+ "RollingInterval": {
78
+ "DurationUnit": "DAY",
79
+ "Duration": 7
80
+ }
81
+ },
82
+ "AttainmentGoal": 99.0,
83
+ "WarningThreshold": 50.0
84
+ }
85
+ }
86
+ }
87
+
88
+ For more information, see `Application Signals <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Application-Monitoring-Sections.html>`__ in the *Amazon CloudWatch User Guide*.
@@ -0,0 +1,10 @@
1
+ **To delete the specified service level objective.**
2
+
3
+ The following ``delete-service-level-objective`` example deletes the specified service level objective. ::
4
+
5
+ aws application-signals delete-service-level-objective \
6
+ --id "arn:aws:application-signals:us-east-1:123456789101:slo/SLOName"
7
+
8
+ This command produces no output.
9
+
10
+ For more information, see `Application Signals <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Application-Monitoring-Sections.html>`__ in the *Amazon CloudWatch User Guide*.