awslimitchecker.services.elb module

awslimitchecker.services.elb.ELBV2_MAX_RETRY_ATTEMPTS = 12

Override the elbv2 API maximum retry attempts

class awslimitchecker.services.elb._ElbService(warning_threshold, critical_threshold, boto_connection_kwargs={})[source]

Bases: awslimitchecker.services.base._AwsService

Describes an AWS service and its limits, and provides methods to query current utilization.

Constructors of _AwsService subclasses must not make any external connections; these must be made lazily as needed in other methods. _AwsService subclasses should be usable without any external network connections.

Parameters:
  • warning_threshold (int) – the default warning threshold, as an integer percentage, for any limits without a specifically-set threshold.
  • critical_threshold (int) – the default critical threshold, as an integer percentage, for any limits without a specifically-set threshold.
  • profile_name (str) – The name of a profile in the cross-SDK shared credentials file for boto3 to retrieve AWS credentials from.
  • account_id (str) – AWS Account ID (12-digit string, currently numeric) for the account to connect to (destination) via STS
  • account_role (str) – the name of an IAM Role (in the destination account) to assume
  • region (str) – AWS region name to connect to
  • external_id (str) – (optional) the External ID string to use when assuming a role via STS.
  • mfa_serial_number (str) – (optional) the MFA Serial Number string to use when assuming a role via STS.
  • mfa_token (str) – (optional) the MFA Token string to use when assuming a role via STS.
__module__ = 'awslimitchecker.services.elb'
_find_usage_elbv1()[source]

Find usage for ELBv1 / Classic ELB and update the appropriate limits.

Returns:number of Classic ELBs in use
Return type:int
_find_usage_elbv2()[source]

Find usage for ELBv2 / Application LB and update the appropriate limits.

Returns:number of Application LBs in use
Return type:int
_update_limits_from_api()[source]

Query ELB’s DescribeAccountLimits API action, and update limits with the quotas returned. Updates self.limits.

_update_usage_for_alb(conn, alb_arn, alb_name)[source]

Update usage for a single ALB.

Parameters:
_update_usage_for_nlb(conn, nlb_arn, nlb_name)[source]

Update usage for a single NLB.

Parameters:
api_name = 'elb'
find_usage()[source]

Determine the current usage for each limit of this service, and update corresponding Limit via _add_current_usage().

get_limits()[source]

Return all known limits for this service, as a dict of their names to AwsLimit objects.

Returns:dict of limit names to AwsLimit objects
Return type:dict
required_iam_permissions()[source]

Return a list of IAM Actions required for this Service to function properly. All Actions will be shown with an Effect of “Allow” and a Resource of “*”.

Returns:list of IAM Action strings
Return type:list
service_name = 'ELB'