From 63b09eae133df001af4391dcdb2c18cfab744a0f Mon Sep 17 00:00:00 2001 From: Christian Hellman Date: Mon, 17 Jul 2017 23:33:40 +0000 Subject: [PATCH] Added DescribeAccountAttributes --- moto/ec2/responses/__init__.py | 2 + moto/ec2/responses/account_attributes.py | 69 +++++++++++++++++++++++ tests/test_ec2/test_account_attributes.py | 44 +++++++++++++++ 3 files changed, 115 insertions(+) create mode 100644 moto/ec2/responses/account_attributes.py create mode 100644 tests/test_ec2/test_account_attributes.py diff --git a/moto/ec2/responses/__init__.py b/moto/ec2/responses/__init__.py index 449d25a45..1222a7ef8 100644 --- a/moto/ec2/responses/__init__.py +++ b/moto/ec2/responses/__init__.py @@ -1,5 +1,6 @@ from __future__ import unicode_literals +from .account_attributes import AccountAttributes from .amazon_dev_pay import AmazonDevPay from .amis import AmisResponse from .availability_zones_and_regions import AvailabilityZonesAndRegions @@ -34,6 +35,7 @@ from .nat_gateways import NatGateways class EC2Response( + AccountAttributes, AmazonDevPay, AmisResponse, AvailabilityZonesAndRegions, diff --git a/moto/ec2/responses/account_attributes.py b/moto/ec2/responses/account_attributes.py new file mode 100644 index 000000000..8a5b9a4b0 --- /dev/null +++ b/moto/ec2/responses/account_attributes.py @@ -0,0 +1,69 @@ +from __future__ import unicode_literals +from moto.core.responses import BaseResponse + + +class AccountAttributes(BaseResponse): + + def describe_account_attributes(self): + template = self.response_template(DESCRIBE_ACCOUNT_ATTRIBUTES_RESULT) + return template.render() + + +DESCRIBE_ACCOUNT_ATTRIBUTES_RESULT = u""" + + 7a62c49f-347e-4fc4-9331-6e8eEXAMPLE + + + vpc-max-security-groups-per-interface + + + 5 + + + + + max-instances + + + 20 + + + + + supported-platforms + + + EC2 + + + VPC + + + + + default-vpc + + + none + + + + + max-elastic-ips + + + 5 + + + + + vpc-max-elastic-ips + + + 5 + + + + + +""" diff --git a/tests/test_ec2/test_account_attributes.py b/tests/test_ec2/test_account_attributes.py new file mode 100644 index 000000000..30309bec8 --- /dev/null +++ b/tests/test_ec2/test_account_attributes.py @@ -0,0 +1,44 @@ +from __future__ import unicode_literals +import boto3 +from moto import mock_ec2 +import sure # noqa + + +@mock_ec2 +def test_describe_account_attributes(): + conn = boto3.client('ec2', region_name='us-east-1') + response = conn.describe_account_attributes() + expected_attribute_values = [{ + 'AttributeValues': [{ + 'AttributeValue': '5' + }], + 'AttributeName': 'vpc-max-security-groups-per-interface' + }, { + 'AttributeValues': [{ + 'AttributeValue': '20' + }], + 'AttributeName': 'max-instances' + }, { + 'AttributeValues': [{ + 'AttributeValue': 'EC2' + }, { + 'AttributeValue': 'VPC' + }], + 'AttributeName': 'supported-platforms' + }, { + 'AttributeValues': [{ + 'AttributeValue': 'none' + }], + 'AttributeName': 'default-vpc' + }, { + 'AttributeValues': [{ + 'AttributeValue': '5' + }], + 'AttributeName': 'max-elastic-ips' + }, { + 'AttributeValues': [{ + 'AttributeValue': '5' + }], + 'AttributeName': 'vpc-max-elastic-ips' + }] + response['AccountAttributes'].should.equal(expected_attribute_values)