Skip to content

5.0.0 released 2018-07-30

Compare
Choose a tag to compare
@jantman jantman released this 30 Jul 13:46
· 389 commits to master since this release
5.0.0

This release requires new IAM permissions:

  • cloudtrail:DescribeTrails
  • cloudtrail:GetEventSelectors
  • route53:GetHostedZone
  • route53:ListHostedZones
  • route53:GetHostedZoneLimit

This release officially drops support for Python 2.6 and 3.3.

  • PR #345 / Issue #349 - Add Route53 service and checks for "Record sets per hosted zone" and "VPC associations per hosted zone" limits (the latter only for private zones). (thanks to julienduchesne).
  • Support Per-Resource Limits (see below). Note that this includes some changes to the awslimitchecker CLI output format and some minor API changes.
  • Issue #317 - Officially drop support for Python 2.6 and 3.3. Also, begin testing py37.
  • Issue #346 - Update documentation for S3 API calls made by ElasticBeanstalk while retrieving EB limits (thanks to fenichelar for finding this).
  • PR #350 - Add support for CloudTrail limits (thanks to fpiche).
  • Issue #352 - Update version check PyPI URL and set User-Agent when performing version check.
  • Issue #351 - Add support for forty two (42) missing EC2 instance types including the new c5d/m5d/r5d/z1d series instances.

Per-Resource Limits

Some Limits (AwsLimit) now have limits/maxima that are per-resource rather than shared across all resources of a given type. The first limit of this kind that awslimitchecker supports is Route53, where the "Record sets per hosted zone" and "VPC associations per hosted zone" limits are set on a per-resource (per-zone) basis rather than globally to all zones in the account. Limits of this kind are also different since, as they are per-resource, they can only be enumerated at runtime. Supporting limits of this kind required some changes to the internals of awslimitchecker (specifically the AwsLimit and AwsLimitUsage classes) as well as to the output of the command line script/entrypoint.

For limits which support different maxima/limit values per-resource, the command line awslimitchecker script -l / --list-limits functionality will now display them in Service/Limit/ResourceID format, i.e.:

Route53/Record sets per hosted zone/foo.com                  10000 (API)
Route53/Record sets per hosted zone/bar.com                  10000 (API)
Route53/Record sets per hosted zone/local.                   15000 (API)
Route53/VPC associations per hosted zone/local.              100 (API)

As opposed to the Service/Limit format used for all existing limits, i.e.:

IAM/Groups             300 (API)
IAM/Instance profiles  2000 (API)

If you are relying on the output format of the command line awslimitchecker script, please use the Python API instead.

For users of the Python API, please take note of the new AwsLimit.has_resource_limits and AwsLimitUsage.get_maximum methods which assist in how to identify limits that have per-resource maxima. Existing code that only surfaces awslimitchecker's warnings/criticals (the result of AwsLimitChecker.check_thresholds) will work without modification, but any code that displays or uses the current limit values themselves may need to be updated.