def test_query_model_get(self): session_factory = self.replay_flight_data('test_query_model') q = ResourceQuery(session_factory) resources = q.filter(InternetGateway.Meta) self.assertEqual(len(resources), 3) resources = q.get(InternetGateway.Meta, ['igw-3d9e3d56']) self.assertEqual(len(resources), 1)
def test_query_get(self): session_factory = self.replay_flight_data('test_query_get') p = self.load_policy( {'name': 'ec2', 'resource': 'ec2'}, session_factory=session_factory) q = ResourceQuery(p.session_factory) resources = q.get(p.resource_manager, ['i-9432cb49']) self.assertEqual(len(resources), 1) self.assertEqual(resources[0]['InstanceId'], 'i-9432cb49')
def test_query_get(self): session_factory = self.replay_flight_data("test_query_get") p = self.load_policy( {"name": "ec2", "resource": "ec2"}, session_factory=session_factory ) q = ResourceQuery(p.session_factory) resources = q.get(p.resource_manager, ["i-9432cb49"]) self.assertEqual(len(resources), 1) self.assertEqual(resources[0]["InstanceId"], "i-9432cb49")
def test_query_model_get(self): session_factory = self.replay_flight_data('test_query_model') p = self.load_policy( {'name': 'igw', 'resource': 'internet-gateway'}, session_factory=session_factory) q = ResourceQuery(p.session_factory) resources = q.filter(p.resource_manager) self.assertEqual(len(resources), 3) resources = q.get(p.resource_manager, ['igw-3d9e3d56']) self.assertEqual(len(resources), 1)
def test_query_model_get(self): session_factory = self.replay_flight_data("test_query_model") p = self.load_policy( {"name": "igw", "resource": "internet-gateway"}, session_factory=session_factory, ) q = ResourceQuery(p.session_factory) resources = q.filter(p.resource_manager) self.assertEqual(len(resources), 3) resources = q.get(p.resource_manager, ["igw-3d9e3d56"]) self.assertEqual(len(resources), 1)
def resources_by_service(): services = {} for type_name, manager_type in resources.items(): resource_type = getattr(manager_type, 'resource_type', None) if resource_type is None: # kms continue services.setdefault(ResourceQuery.resolve(resource_type).service, []).append(type_name) return services
def resources_by_service(): services = {} for type_name, manager_type in resources.items(): resource_type = getattr(manager_type, 'resource_type', None) if resource_type is None: # kms continue services.setdefault( ResourceQuery.resolve(resource_type).service, []).append(type_name) return services
def test_query_get(self): session_factory = self.replay_flight_data('test_query_get') q = ResourceQuery(session_factory) resources = q.get('aws.ec2.instance', ['i-9432cb49']) self.assertEqual(len(resources), 1) self.assertEqual(resources[0]['InstanceId'], 'i-9432cb49')
class resource_type(ResourceQuery.resolve('aws.iam.user')): config_type = "AWS::IAM::User"
class resource_type(ResourceQuery.resolve('aws.iam.policy')): config_type = "AWS::IAM::Policy"
class resource_type(ResourceQuery.resolve('aws.ec2.security-group')): config_type = "AWS::EC2::SecurityGroup" filter_name = "GroupIds" name = "GroupId"
def test_query_filter(self): session_factory = self.replay_flight_data('test_query_filter') q = ResourceQuery(session_factory) resources = q.filter('aws.ec2.instance') self.assertEqual(len(resources), 1) self.assertEqual(resources[0]['InstanceId'], 'i-9432cb49')
class resource_type(ResourceQuery.resolve('aws.iam.group')): config_type = "AWS::IAM::Group"
class resource_type(ResourceQuery.resolve('aws.ec2.image')): date = 'CreationDate' taggable = True
class resource_type(ResourceQuery.resolve('aws.ec2.address')): config_type = "AWS::EC2::EIP" taggable = False
def test_query_get(self): session_factory = self.replay_flight_data('test_query_get') q = ResourceQuery(session_factory) resources = q.get(EC2.resource_type, ['i-9432cb49']) self.assertEqual(len(resources), 1) self.assertEqual(resources[0]['InstanceId'], 'i-9432cb49')
class resource_type(ResourceQuery.resolve("aws.ec2.volume")): default_namespace = 'AWS/EBS'
class resource_type(ResourceQuery.resolve('aws.ec2.route-table')): config_type = "AWS::EC2::RouteTable"
class resource_type(ResourceQuery.resolve('aws.ec2.vpc')): config_type = 'AWS::EC2::VPC'
class resource_type(ResourceQuery.resolve('aws.ec2.address')): taggable = False
class resource_type(ResourceQuery.resolve('aws.iam.role')): config_type = "AWS::IAM::Role"
class resource_type(ResourceQuery.resolve('aws.ec2.customer-gateway')): config_type = "AWS::EC2::CustomerGateway"
class resource_type(ResourceQuery.resolve("aws.ec2.instance")): config_type = "AWS::EC2::Instance"
class resource_type(ResourceQuery.resolve('aws.ec2.key-pair')): taggable = False
class resource_type(ResourceQuery.resolve("aws.ec2.volume")): default_namespace = 'AWS/EBS' config_type = "AWS::EC::Volume"
class resource_type(ResourceQuery.resolve('aws.ec2.subnet')): config_type = 'AWS::EC2::Subnet'
class resource_type(ResourceQuery.resolve( 'aws.ec2.vpc-peering-connection')): enum_spec = ('describe_vpc_peering_connections', 'VpcPeeringConnections', None)
def test_query_filter(self): session_factory = self.replay_flight_data('test_query_filter') q = ResourceQuery(session_factory) resources = q.filter(EC2.resource_type) self.assertEqual(len(resources), 1) self.assertEqual(resources[0]['InstanceId'], 'i-9432cb49')
class resource_type(ResourceQuery.resolve("aws.s3.bucket")): dimension = 'BucketName'
class resource_type(ResourceQuery.resolve('aws.ec2.network-acl')): config_type = "AWS::EC2::NetworkAcl"