示例#1
0
    def test_ec2_tag_trim(self):
        self.patch(tags.TagTrim, "max_tag_count", 10)
        session_factory = self.replay_flight_data("test_ec2_tag_trim")
        ec2 = session_factory().client("ec2")
        start_tags = {
            t["Key"]: t["Value"]
            for t in ec2.describe_tags(Filters=[{
                "Name": "resource-id",
                "Values": ["i-fdb01920"]
            }])["Tags"]
        }
        policy = self.load_policy(
            {
                "name":
                "ec2-tag-trim",
                "resource":
                "ec2",
                "filters": [{
                    "type": "tag-count",
                    "count": 10
                }],
                "actions": [{
                    "type":
                    "tag-trim",
                    "space":
                    1,
                    "preserve": [
                        "Name",
                        "Env",
                        "Account",
                        "Platform",
                        "Classification",
                        "Planet",
                    ],
                }],
            },
            session_factory=session_factory,
        )
        resources = policy.run()
        self.assertEqual(len(resources), 1)
        end_tags = {
            t["Key"]: t["Value"]
            for t in ec2.describe_tags(Filters=[{
                "Name": "resource-id",
                "Values": ["i-fdb01920"]
            }])["Tags"]
        }

        self.assertEqual(len(start_tags) - 1, len(end_tags))
        self.assertTrue("Containers" in start_tags)
        self.assertFalse("Containers" in end_tags)
示例#2
0
    def test_ec2_tag_trim(self):
        self.patch(tags.TagTrim, "max_tag_count", 10)
        session_factory = self.replay_flight_data("test_ec2_tag_trim")
        ec2 = session_factory().client("ec2")
        start_tags = {
            t["Key"]: t["Value"]
            for t in ec2.describe_tags(
                Filters=[{"Name": "resource-id", "Values": ["i-fdb01920"]}]
            )[
                "Tags"
            ]
        }
        policy = self.load_policy(
            {
                "name": "ec2-tag-trim",
                "resource": "ec2",
                "filters": [{"type": "tag-count", "count": 10}],
                "actions": [
                    {
                        "type": "tag-trim",
                        "space": 1,
                        "preserve": [
                            "Name",
                            "Env",
                            "Account",
                            "Platform",
                            "Classification",
                            "Planet",
                        ],
                    }
                ],
            },
            session_factory=session_factory,
        )
        resources = policy.run()
        self.assertEqual(len(resources), 1)
        end_tags = {
            t["Key"]: t["Value"]
            for t in ec2.describe_tags(
                Filters=[{"Name": "resource-id", "Values": ["i-fdb01920"]}]
            )[
                "Tags"
            ]
        }

        self.assertEqual(len(start_tags) - 1, len(end_tags))
        self.assertTrue("Containers" in start_tags)
        self.assertFalse("Containers" in end_tags)
示例#3
0
    def test_ec2_tag_trim(self):
        self.patch(tags.TagTrim, 'max_tag_count', 10)
        session_factory = self.replay_flight_data('test_ec2_tag_trim')
        ec2 = session_factory().client('ec2')
        start_tags = {
            t['Key']: t['Value']
            for t in ec2.describe_tags(Filters=[{
                'Name': 'resource-id',
                'Values': ['i-fdb01920']
            }])['Tags']
        }
        policy = self.load_policy(
            {
                'name':
                'ec2-tag-trim',
                'resource':
                'ec2',
                'filters': [{
                    'type': 'tag-count',
                    'count': 10
                }],
                'actions': [{
                    'type':
                    'tag-trim',
                    'space':
                    1,
                    'preserve': [
                        'Name', 'Env', 'Account', 'Platform', 'Classification',
                        'Planet'
                    ]
                }]
            },
            session_factory=session_factory)
        resources = policy.run()
        self.assertEqual(len(resources), 1)
        end_tags = {
            t['Key']: t['Value']
            for t in ec2.describe_tags(Filters=[{
                'Name': 'resource-id',
                'Values': ['i-fdb01920']
            }])['Tags']
        }

        self.assertEqual(len(start_tags) - 1, len(end_tags))
        self.assertTrue('Containers' in start_tags)
        self.assertFalse('Containers' in end_tags)
示例#4
0
    def test_ec2_tag_trim(self):
        self.patch(tags.TagTrim, 'max_tag_count', 10)
        session_factory = self.replay_flight_data(
            'test_ec2_tag_trim')
        ec2 = session_factory().client('ec2')
        start_tags = {
            t['Key']: t['Value'] for t in
            ec2.describe_tags(
                Filters=[{'Name': 'resource-id',
                          'Values': ['i-fdb01920']}])['Tags']}
        policy = self.load_policy({
            'name': 'ec2-tag-trim',
            'resource': 'ec2',
            'filters': [
                {'type': 'tag-count', 'count': 10}],
            'actions': [
                {'type': 'tag-trim',
                 'space': 1,
                 'preserve': [
                     'Name',
                     'Env',
                     'Account',
                     'Platform',
                     'Classification',
                     'Planet'
                     ]}
                ]},
            session_factory=session_factory)
        resources = policy.run()
        self.assertEqual(len(resources), 1)
        end_tags = {
            t['Key']: t['Value'] for t in
            ec2.describe_tags(
                Filters=[{'Name': 'resource-id',
                          'Values': ['i-fdb01920']}])['Tags']}

        self.assertEqual(len(start_tags)-1, len(end_tags))
        self.assertTrue('Containers' in start_tags)
        self.assertFalse('Containers' in end_tags)