From b768bae3a5462e0d551a83b92afeeba30bac0978 Mon Sep 17 00:00:00 2001 From: Praveen M <115607483+pmuniswamy@users.noreply.github.com> Date: Fri, 18 Nov 2022 23:34:45 +0530 Subject: [PATCH 01/16] aws - transit-attachment - Support CloudTrail mode (#7983) --- c7n/resources/vpc.py | 1 + ...transit-gateway-delete-vpc-attachment.json | 68 +++++++ ...2.DescribeTransitGatewayAttachments_1.json | 7 + ...2.DescribeTransitGatewayAttachments_2.json | 122 ++++++++++++ ...2.DescribeTransitGatewayAttachments_3.json | 7 + ...2.DescribeTransitGatewayAttachments_4.json | 7 + ...2.DescribeTransitGatewayAttachments_5.json | 7 + ...2.DescribeTransitGatewayAttachments_6.json | 7 + .../ec2.DescribeTransitGateways_1.json | 181 ++++++++++++++++++ tests/test_vpc.py | 18 ++ 10 files changed, 425 insertions(+) create mode 100644 tests/data/cwe/event-transit-gateway-delete-vpc-attachment.json create mode 100644 tests/data/placebo/test_transit_gateway_attachment_query_cwe/ec2.DescribeTransitGatewayAttachments_1.json create mode 100644 tests/data/placebo/test_transit_gateway_attachment_query_cwe/ec2.DescribeTransitGatewayAttachments_2.json create mode 100644 tests/data/placebo/test_transit_gateway_attachment_query_cwe/ec2.DescribeTransitGatewayAttachments_3.json create mode 100644 tests/data/placebo/test_transit_gateway_attachment_query_cwe/ec2.DescribeTransitGatewayAttachments_4.json create mode 100644 tests/data/placebo/test_transit_gateway_attachment_query_cwe/ec2.DescribeTransitGatewayAttachments_5.json create mode 100644 tests/data/placebo/test_transit_gateway_attachment_query_cwe/ec2.DescribeTransitGatewayAttachments_6.json create mode 100644 tests/data/placebo/test_transit_gateway_attachment_query_cwe/ec2.DescribeTransitGateways_1.json diff --git a/c7n/resources/vpc.py b/c7n/resources/vpc.py index 263a77352b0..1d1f1c485e4 100644 --- a/c7n/resources/vpc.py +++ b/c7n/resources/vpc.py @@ -1910,6 +1910,7 @@ class resource_type(query.TypeInfo): name = id = 'TransitGatewayAttachmentId' arn = False cfn_type = 'AWS::EC2::TransitGatewayAttachment' + supports_trailevents = True @resources.register('peering-connection') diff --git a/tests/data/cwe/event-transit-gateway-delete-vpc-attachment.json b/tests/data/cwe/event-transit-gateway-delete-vpc-attachment.json new file mode 100644 index 00000000000..a6f71a6cec0 --- /dev/null +++ b/tests/data/cwe/event-transit-gateway-delete-vpc-attachment.json @@ -0,0 +1,68 @@ +{ + "version": "0", + "id": "f6c00f02-bf83-11c3-6476-188a4462be21", + "detail-type": "AWS API Call via CloudTrail", + "source": "aws.ec2", + "account": "012345678912", + "time": "2022-11-09T09:24:20Z", + "region": "us-west-2", + "resources": [], + "detail": { + "eventVersion": "1.08", + "userIdentity": { + "type": "AssumedRole", + "principalId": "AROA3OCGVC4GCMEU2DIEW:pmuniswamy", + "arn": "arn:aws:sts::012345678912:assumed-role/c7nbot/pmuniswamy", + "accountId": "012345678912", + "accessKeyId": "ASIA3OCGVC4GKK15OTHH3", + "sessionContext": { + "sessionIssuer": { + "type": "Role", + "principalId": "AROA3OCGVC4GCMEU2DKK1", + "arn": "arn:aws:iam::012345678912:role/c7nbot", + "accountId": "012345678912", + "userName": "c7nbot" + }, + "webIdFederationData": {}, + "attributes": { + "creationDate": "2022-11-09T08:48:05Z", + "mfaAuthenticated": "false" + } + } + }, + "eventTime": "2022-11-09T09:24:20Z", + "eventSource": "ec2.amazonaws.com", + "eventName": "DeleteTransitGatewayVpcAttachment", + "awsRegion": "us-west-2", + "sourceIPAddress": "AWS Internal", + "userAgent": "AWS Internal", + "requestParameters": { + "DelTGwVpcAttachReq": { + "TransitGatewayAttachmentId": "tgw-attach-0814a77755bf02f0e" + } + }, + "responseElements": { + "DeleteTransitGatewayVpcAttachmentResponse": { + "xmlns": "http://ec2.amazonaws.com/doc/2016-11-15/", + "transitGatewayVpcAttachment": { + "creationTime": "2022-11-09T09:23:12.000Z", + "transitGatewayAttachmentId": "tgw-attach-0814a77755bf02f0e", + "transitGatewayId": "tgw-008fe7d47ebe2dbeb", + "vpcId": "vpc-0e2a18296548d753e", + "state": "deleting", + "vpcOwnerId": "012345678912" + }, + "requestId": "61682dec-77d6-4be2-823a-81b218e55755" + } + }, + "requestID": "61682dec-77d6-4be2-823a-81b218e55755", + "eventID": "10fe783b-14ea-4f67-8dbc-b1596716e57c", + "readOnly": false, + "eventType": "AwsApiCall", + "managementEvent": true, + "recipientAccountId": "012345678912", + "eventCategory": "Management", + "sessionCredentialFromConsole": "true" + }, + "debug": true +} \ No newline at end of file diff --git a/tests/data/placebo/test_transit_gateway_attachment_query_cwe/ec2.DescribeTransitGatewayAttachments_1.json b/tests/data/placebo/test_transit_gateway_attachment_query_cwe/ec2.DescribeTransitGatewayAttachments_1.json new file mode 100644 index 00000000000..1ea5d9bd3e4 --- /dev/null +++ b/tests/data/placebo/test_transit_gateway_attachment_query_cwe/ec2.DescribeTransitGatewayAttachments_1.json @@ -0,0 +1,7 @@ +{ + "status_code": 200, + "data": { + "TransitGatewayAttachments": [], + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_transit_gateway_attachment_query_cwe/ec2.DescribeTransitGatewayAttachments_2.json b/tests/data/placebo/test_transit_gateway_attachment_query_cwe/ec2.DescribeTransitGatewayAttachments_2.json new file mode 100644 index 00000000000..a59a2af3da0 --- /dev/null +++ b/tests/data/placebo/test_transit_gateway_attachment_query_cwe/ec2.DescribeTransitGatewayAttachments_2.json @@ -0,0 +1,122 @@ +{ + "status_code": 200, + "data": { + "TransitGatewayAttachments": [ + { + "TransitGatewayAttachmentId": "tgw-attach-015493eec8d86e8f7", + "TransitGatewayId": "tgw-008fe7d47ebe2dbeb", + "TransitGatewayOwnerId": "644160558196", + "ResourceOwnerId": "644160558196", + "ResourceType": "vpc", + "ResourceId": "vpc-0e2a48216548d753e", + "State": "deleted", + "CreationTime": { + "__class__": "datetime", + "year": 2022, + "month": 11, + "day": 9, + "hour": 9, + "minute": 14, + "second": 34, + "microsecond": 0 + }, + "Tags": [] + }, + { + "TransitGatewayAttachmentId": "tgw-attach-0814a77755bf02f0e", + "TransitGatewayId": "tgw-008fe7d47ebe2dbeb", + "TransitGatewayOwnerId": "644160558196", + "ResourceOwnerId": "644160558196", + "ResourceType": "vpc", + "ResourceId": "vpc-0e2a48216548d753e", + "State": "deleted", + "CreationTime": { + "__class__": "datetime", + "year": 2022, + "month": 11, + "day": 9, + "hour": 9, + "minute": 23, + "second": 12, + "microsecond": 0 + }, + "Tags": [ + { + "Key": "Name", + "Value": "test2" + } + ] + }, + { + "TransitGatewayAttachmentId": "tgw-attach-09c4d7c5461572bed", + "TransitGatewayId": "tgw-008fe7d47ebe2dbeb", + "TransitGatewayOwnerId": "644160558196", + "ResourceOwnerId": "644160558196", + "ResourceType": "vpc", + "ResourceId": "vpc-0e2a48216548d753e", + "State": "deleted", + "CreationTime": { + "__class__": "datetime", + "year": 2022, + "month": 11, + "day": 9, + "hour": 8, + "minute": 56, + "second": 19, + "microsecond": 0 + }, + "Tags": [ + { + "Key": "Name", + "Value": "test" + } + ] + }, + { + "TransitGatewayAttachmentId": "tgw-attach-0bdbce74e86c071be", + "TransitGatewayId": "tgw-008fe7d47ebe2dbeb", + "TransitGatewayOwnerId": "644160558196", + "ResourceOwnerId": "644160558196", + "ResourceType": "vpc", + "ResourceId": "vpc-0e2a48216548d753e", + "State": "available", + "Association": { + "TransitGatewayRouteTableId": "tgw-rtb-0dd49d1ea80803d53", + "State": "associated" + }, + "CreationTime": { + "__class__": "datetime", + "year": 2022, + "month": 11, + "day": 9, + "hour": 9, + "minute": 36, + "second": 42, + "microsecond": 0 + }, + "Tags": [] + }, + { + "TransitGatewayAttachmentId": "tgw-attach-0df5f90f7a0ea284a", + "TransitGatewayId": "tgw-008fe7d47ebe2dbeb", + "TransitGatewayOwnerId": "644160558196", + "ResourceOwnerId": "644160558196", + "ResourceType": "vpc", + "ResourceId": "vpc-0e2a48216548d753e", + "State": "deleted", + "CreationTime": { + "__class__": "datetime", + "year": 2022, + "month": 11, + "day": 9, + "hour": 9, + "minute": 10, + "second": 12, + "microsecond": 0 + }, + "Tags": [] + } + ], + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_transit_gateway_attachment_query_cwe/ec2.DescribeTransitGatewayAttachments_3.json b/tests/data/placebo/test_transit_gateway_attachment_query_cwe/ec2.DescribeTransitGatewayAttachments_3.json new file mode 100644 index 00000000000..1ea5d9bd3e4 --- /dev/null +++ b/tests/data/placebo/test_transit_gateway_attachment_query_cwe/ec2.DescribeTransitGatewayAttachments_3.json @@ -0,0 +1,7 @@ +{ + "status_code": 200, + "data": { + "TransitGatewayAttachments": [], + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_transit_gateway_attachment_query_cwe/ec2.DescribeTransitGatewayAttachments_4.json b/tests/data/placebo/test_transit_gateway_attachment_query_cwe/ec2.DescribeTransitGatewayAttachments_4.json new file mode 100644 index 00000000000..1ea5d9bd3e4 --- /dev/null +++ b/tests/data/placebo/test_transit_gateway_attachment_query_cwe/ec2.DescribeTransitGatewayAttachments_4.json @@ -0,0 +1,7 @@ +{ + "status_code": 200, + "data": { + "TransitGatewayAttachments": [], + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_transit_gateway_attachment_query_cwe/ec2.DescribeTransitGatewayAttachments_5.json b/tests/data/placebo/test_transit_gateway_attachment_query_cwe/ec2.DescribeTransitGatewayAttachments_5.json new file mode 100644 index 00000000000..1ea5d9bd3e4 --- /dev/null +++ b/tests/data/placebo/test_transit_gateway_attachment_query_cwe/ec2.DescribeTransitGatewayAttachments_5.json @@ -0,0 +1,7 @@ +{ + "status_code": 200, + "data": { + "TransitGatewayAttachments": [], + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_transit_gateway_attachment_query_cwe/ec2.DescribeTransitGatewayAttachments_6.json b/tests/data/placebo/test_transit_gateway_attachment_query_cwe/ec2.DescribeTransitGatewayAttachments_6.json new file mode 100644 index 00000000000..1ea5d9bd3e4 --- /dev/null +++ b/tests/data/placebo/test_transit_gateway_attachment_query_cwe/ec2.DescribeTransitGatewayAttachments_6.json @@ -0,0 +1,7 @@ +{ + "status_code": 200, + "data": { + "TransitGatewayAttachments": [], + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_transit_gateway_attachment_query_cwe/ec2.DescribeTransitGateways_1.json b/tests/data/placebo/test_transit_gateway_attachment_query_cwe/ec2.DescribeTransitGateways_1.json new file mode 100644 index 00000000000..6da331dd839 --- /dev/null +++ b/tests/data/placebo/test_transit_gateway_attachment_query_cwe/ec2.DescribeTransitGateways_1.json @@ -0,0 +1,181 @@ +{ + "status_code": 200, + "data": { + "TransitGateways": [ + { + "TransitGatewayId": "tgw-00857fd89ceffdad7", + "TransitGatewayArn": "arn:aws:ec2:us-west-2:644160558196:transit-gateway/tgw-00857fd89ceffdad7", + "State": "available", + "OwnerId": "644160558196", + "Description": "tgw-data-test-dev1", + "CreationTime": { + "__class__": "datetime", + "year": 2019, + "month": 3, + "day": 22, + "hour": 17, + "minute": 4, + "second": 14, + "microsecond": 0 + }, + "Options": { + "AmazonSideAsn": 64512, + "AutoAcceptSharedAttachments": "enable", + "DefaultRouteTableAssociation": "enable", + "AssociationDefaultRouteTableId": "tgw-rtb-0c2d6c71cda2431d0", + "DefaultRouteTablePropagation": "enable", + "PropagationDefaultRouteTableId": "tgw-rtb-0c2d6c71cda2431d0", + "VpnEcmpSupport": "enable", + "DnsSupport": "enable", + "MulticastSupport": "disable" + }, + "Tags": [] + }, + { + "TransitGatewayId": "tgw-008fe7d47ebe2dbeb", + "TransitGatewayArn": "arn:aws:ec2:us-west-2:644160558196:transit-gateway/tgw-008fe7d47ebe2dbeb", + "State": "available", + "OwnerId": "644160558196", + "Description": "A TGW sample", + "CreationTime": { + "__class__": "datetime", + "year": 2021, + "month": 9, + "day": 1, + "hour": 16, + "minute": 44, + "second": 29, + "microsecond": 0 + }, + "Options": { + "AmazonSideAsn": 64512, + "AutoAcceptSharedAttachments": "enable", + "DefaultRouteTableAssociation": "enable", + "AssociationDefaultRouteTableId": "tgw-rtb-0dd49d1ea80803d53", + "DefaultRouteTablePropagation": "enable", + "PropagationDefaultRouteTableId": "tgw-rtb-0dd49d1ea80803d53", + "VpnEcmpSupport": "enable", + "DnsSupport": "enable", + "MulticastSupport": "disable" + }, + "Tags": [] + }, + { + "TransitGatewayId": "tgw-089825ccd90d171ea", + "TransitGatewayArn": "arn:aws:ec2:us-west-2:644160558196:transit-gateway/tgw-089825ccd90d171ea", + "State": "available", + "OwnerId": "644160558196", + "Description": "tgw-data-test-dev2", + "CreationTime": { + "__class__": "datetime", + "year": 2019, + "month": 3, + "day": 22, + "hour": 17, + "minute": 7, + "second": 2, + "microsecond": 0 + }, + "Options": { + "AmazonSideAsn": 64512, + "AutoAcceptSharedAttachments": "enable", + "DefaultRouteTableAssociation": "enable", + "AssociationDefaultRouteTableId": "tgw-rtb-0b118049ce185461a", + "DefaultRouteTablePropagation": "enable", + "PropagationDefaultRouteTableId": "tgw-rtb-0b118049ce185461a", + "VpnEcmpSupport": "enable", + "DnsSupport": "enable", + "MulticastSupport": "disable" + }, + "Tags": [] + }, + { + "TransitGatewayId": "tgw-0a1b4d3f1a66473e6", + "TransitGatewayArn": "arn:aws:ec2:us-west-2:644160558196:transit-gateway/tgw-0a1b4d3f1a66473e6", + "State": "available", + "OwnerId": "644160558196", + "Description": "Test E2E TransitGateway", + "CreationTime": { + "__class__": "datetime", + "year": 2019, + "month": 6, + "day": 20, + "hour": 22, + "minute": 17, + "second": 26, + "microsecond": 0 + }, + "Options": { + "AmazonSideAsn": 65252, + "AutoAcceptSharedAttachments": "enable", + "DefaultRouteTableAssociation": "enable", + "AssociationDefaultRouteTableId": "tgw-rtb-096e26da3b58f6ab5", + "DefaultRouteTablePropagation": "disable", + "VpnEcmpSupport": "enable", + "DnsSupport": "enable", + "MulticastSupport": "disable" + }, + "Tags": [] + }, + { + "TransitGatewayId": "tgw-0ae92474bae91f567", + "TransitGatewayArn": "arn:aws:ec2:us-west-2:644160558196:transit-gateway/tgw-0ae92474bae91f567", + "State": "available", + "OwnerId": "644160558196", + "Description": "tgw-data-test-dev3", + "CreationTime": { + "__class__": "datetime", + "year": 2019, + "month": 3, + "day": 22, + "hour": 17, + "minute": 14, + "second": 7, + "microsecond": 0 + }, + "Options": { + "AmazonSideAsn": 64512, + "AutoAcceptSharedAttachments": "enable", + "DefaultRouteTableAssociation": "enable", + "AssociationDefaultRouteTableId": "tgw-rtb-0260f577f316babfd", + "DefaultRouteTablePropagation": "enable", + "PropagationDefaultRouteTableId": "tgw-rtb-0260f577f316babfd", + "VpnEcmpSupport": "enable", + "DnsSupport": "enable", + "MulticastSupport": "disable" + }, + "Tags": [] + }, + { + "TransitGatewayId": "tgw-0f96ed6067afecc1b", + "TransitGatewayArn": "arn:aws:ec2:us-west-2:644160558196:transit-gateway/tgw-0f96ed6067afecc1b", + "State": "available", + "OwnerId": "644160558196", + "Description": "tgw-data-test-dev4", + "CreationTime": { + "__class__": "datetime", + "year": 2019, + "month": 3, + "day": 22, + "hour": 17, + "minute": 0, + "second": 21, + "microsecond": 0 + }, + "Options": { + "AmazonSideAsn": 64512, + "AutoAcceptSharedAttachments": "enable", + "DefaultRouteTableAssociation": "enable", + "AssociationDefaultRouteTableId": "tgw-rtb-0e5b01ca3d51a4631", + "DefaultRouteTablePropagation": "enable", + "PropagationDefaultRouteTableId": "tgw-rtb-0e5b01ca3d51a4631", + "VpnEcmpSupport": "enable", + "DnsSupport": "enable", + "MulticastSupport": "disable" + }, + "Tags": [] + } + ], + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/test_vpc.py b/tests/test_vpc.py index 52286a085e6..c62d00f5261 100644 --- a/tests/test_vpc.py +++ b/tests/test_vpc.py @@ -729,6 +729,24 @@ def test_tgw_attachment(self): self.assertEqual(len(resources), 1) self.assertEqual(resources[0]['ResourceId'], 'vpc-f1516b97') + def test_tgw_attachment_cloudtrail(self): + factory = self.replay_flight_data('test_transit_gateway_attachment_query_cwe') + p = self.load_policy( + { + "name": "test-tgw-att-cwe", + "resource": "transit-attachment", + "mode": { + "type": "cloudtrail", + "events": [{ + "event": "DeleteTransitGatewayVpcAttachment", + "ids": "requestParameters.DelTGwVpcAttachReq.TransitGatewayAttachmentId", + "source": "ec2.amazonaws.com" + }]}, + }, + config={'region': 'us-west-2'}, session_factory=factory) + resources = p.push(event_data("event-transit-gateway-delete-vpc-attachment.json")) + self.assertEqual(len(resources), 1) + class NetworkInterfaceTest(BaseTest): From 143ed6ccc27ac3c9663a7ebba42f2e827bee6e79 Mon Sep 17 00:00:00 2001 From: vijayth <38630680+vijayth@users.noreply.github.com> Date: Sat, 19 Nov 2022 00:09:45 +0530 Subject: [PATCH 02/16] aws - event-rule - add set-rule-state action (#7954) --- c7n/resources/cw.py | 62 +++++++++++++++---- .../events.DescribeRule_1.json | 13 ++++ .../events.DisableRule_1.json | 6 ++ .../events.ListRules_1.json | 16 +++++ .../tagging.GetResources_1.json | 8 +++ .../events.DescribeRule_1.json | 13 ++++ .../events.EnableRule_1.json | 6 ++ .../events.ListRules_1.json | 16 +++++ .../tagging.GetResources_1.json | 8 +++ tests/test_cwe.py | 42 +++++++++++++ 10 files changed, 179 insertions(+), 11 deletions(-) create mode 100644 tests/data/placebo/test_cwe_disable_rule/events.DescribeRule_1.json create mode 100644 tests/data/placebo/test_cwe_disable_rule/events.DisableRule_1.json create mode 100644 tests/data/placebo/test_cwe_disable_rule/events.ListRules_1.json create mode 100644 tests/data/placebo/test_cwe_disable_rule/tagging.GetResources_1.json create mode 100644 tests/data/placebo/test_cwe_enable_rule/events.DescribeRule_1.json create mode 100644 tests/data/placebo/test_cwe_enable_rule/events.EnableRule_1.json create mode 100644 tests/data/placebo/test_cwe_enable_rule/events.ListRules_1.json create mode 100644 tests/data/placebo/test_cwe_enable_rule/tagging.GetResources_1.json diff --git a/c7n/resources/cw.py b/c7n/resources/cw.py index 02d46b53db2..a144891fdeb 100644 --- a/c7n/resources/cw.py +++ b/c7n/resources/cw.py @@ -22,6 +22,7 @@ from c7n.resources.aws import ArnResolver from c7n.tags import universal_augment from c7n.utils import type_schema, local_session, chunks, get_retry +from botocore.config import Config class DescribeAlarm(DescribeSource): @@ -31,7 +32,6 @@ def augment(self, resources): @resources.register('alarm') class Alarm(QueryResourceManager): - class resource_type(TypeInfo): service = 'cloudwatch' arn_type = 'alarm' @@ -143,7 +143,6 @@ def process(self, resources): @resources.register('event-bus') class EventBus(QueryResourceManager): - class resource_type(TypeInfo): service = 'events' arn_type = 'event-bus' @@ -157,14 +156,12 @@ class resource_type(TypeInfo): @EventBus.filter_registry.register('cross-account') class EventBusCrossAccountFilter(CrossAccountAccessFilter): - # dummy permission permissions = ('events:ListEventBuses',) @resources.register('event-rule') class EventRule(QueryResourceManager): - class resource_type(TypeInfo): service = 'events' arn_type = 'rule' @@ -364,9 +361,58 @@ def process(self, resources): client.delete_rule(Name=r['Name']) +@EventRule.action_registry.register('set-rule-state') +class SetRuleState(BaseAction): + """ + This action allows to enable/disable a rule + + :example: + .. code-block:: yaml + policies: + - name: test-rule + resource: aws.event-rule + filters: + - Name: my-event-rule + actions: + - type: set-rule-state + enabled: true + """ + + schema = type_schema( + 'set-rule-state', + **{'enabled': {'default': True, 'type': 'boolean'}} + ) + permissions = ('events:EnableRule', 'events:DisableRule',) + + def process(self, resources): + config = Config( + retries={ + 'max_attempts': 8, + 'mode': 'standard' + } + ) + client = local_session(self.manager.session_factory).client('events', config=config) + retry = get_retry(('TooManyRequestsException', 'ResourceConflictException')) + enabled = self.data.get('enabled') + for resource in resources: + try: + if enabled: + retry( + client.enable_rule, + Name=resource['Name'] + ) + else: + retry( + client.disable_rule, + Name=resource['Name'] + ) + except (client.exceptions.ResourceNotFoundException, + client.exceptions.ManagedRuleException): + continue + + @resources.register('event-rule-target') class EventRuleTarget(ChildResourceManager): - class resource_type(TypeInfo): service = 'events' arn = False @@ -378,7 +424,6 @@ class resource_type(TypeInfo): @EventRuleTarget.filter_registry.register('cross-account') class CrossAccountFilter(CrossAccountAccessFilter): - schema = type_schema( 'cross-account', # white list accounts @@ -395,7 +440,6 @@ def __call__(self, r): @EventRuleTarget.action_registry.register('delete') class DeleteTarget(BaseAction): - schema = type_schema('delete') permissions = ('events:RemoveTargets',) @@ -413,7 +457,6 @@ def process(self, resources): @resources.register('log-group') class LogGroup(QueryResourceManager): - class resource_type(TypeInfo): service = 'logs' arn_type = 'log-group' @@ -437,7 +480,6 @@ def get_arns(self, resources): @resources.register('insight-rule') class InsightRule(QueryResourceManager): - class resource_type(TypeInfo): service = 'cloudwatch' arn_type = 'insight-rule' @@ -721,7 +763,6 @@ def check_group(self, client, group): @LogGroup.filter_registry.register('cross-account') class LogCrossAccountFilter(CrossAccountAccessFilter): - schema = type_schema( 'cross-account', # white list accounts @@ -807,7 +848,6 @@ def process(self, resources, event=None): @LogGroup.filter_registry.register('kms-key') class KmsFilter(KmsRelatedFilter): - RelatedIdsExpression = 'kmsKeyId' diff --git a/tests/data/placebo/test_cwe_disable_rule/events.DescribeRule_1.json b/tests/data/placebo/test_cwe_disable_rule/events.DescribeRule_1.json new file mode 100644 index 00000000000..91aafe74e56 --- /dev/null +++ b/tests/data/placebo/test_cwe_disable_rule/events.DescribeRule_1.json @@ -0,0 +1,13 @@ +{ + "status_code": 200, + "data": { + "Name": "test", + "Arn": "arn:aws:events:us-east-1::rule/test", + "EventPattern": "{\"source\":[\"aws.config\",\"aws.macie\"],\"detail-type\":[\"Config Rules Compliance Change\",\"Macie Finding\"]}", + "State": "DISABLED", + "Description": "test", + "EventBusName": "default", + "CreatedBy": "", + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_cwe_disable_rule/events.DisableRule_1.json b/tests/data/placebo/test_cwe_disable_rule/events.DisableRule_1.json new file mode 100644 index 00000000000..5b2170a073c --- /dev/null +++ b/tests/data/placebo/test_cwe_disable_rule/events.DisableRule_1.json @@ -0,0 +1,6 @@ +{ + "status_code": 200, + "data": { + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_cwe_disable_rule/events.ListRules_1.json b/tests/data/placebo/test_cwe_disable_rule/events.ListRules_1.json new file mode 100644 index 00000000000..61c00e7b7fa --- /dev/null +++ b/tests/data/placebo/test_cwe_disable_rule/events.ListRules_1.json @@ -0,0 +1,16 @@ +{ + "status_code": 200, + "data": { + "Rules": [ + { + "Name": "test", + "Arn": "arn:aws:events:us-east-1::rule/test", + "State": "ENABLED", + "Description": "test", + "ScheduleExpression": "rate(1 minute)", + "EventBusName": "default" + } + ], + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_cwe_disable_rule/tagging.GetResources_1.json b/tests/data/placebo/test_cwe_disable_rule/tagging.GetResources_1.json new file mode 100644 index 00000000000..8b704d1852a --- /dev/null +++ b/tests/data/placebo/test_cwe_disable_rule/tagging.GetResources_1.json @@ -0,0 +1,8 @@ +{ + "status_code": 200, + "data": { + "PaginationToken": "", + "ResourceTagMappingList": [], + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_cwe_enable_rule/events.DescribeRule_1.json b/tests/data/placebo/test_cwe_enable_rule/events.DescribeRule_1.json new file mode 100644 index 00000000000..1a967d80e3b --- /dev/null +++ b/tests/data/placebo/test_cwe_enable_rule/events.DescribeRule_1.json @@ -0,0 +1,13 @@ +{ + "status_code": 200, + "data": { + "Name": "test", + "Arn": "arn:aws:events:us-east-1::rule/test", + "EventPattern": "{\"source\":[\"aws.config\",\"aws.macie\"],\"detail-type\":[\"Config Rules Compliance Change\",\"Macie Finding\"]}", + "State": "ENABLED", + "Description": "test description", + "EventBusName": "default", + "CreatedBy": "", + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_cwe_enable_rule/events.EnableRule_1.json b/tests/data/placebo/test_cwe_enable_rule/events.EnableRule_1.json new file mode 100644 index 00000000000..5b2170a073c --- /dev/null +++ b/tests/data/placebo/test_cwe_enable_rule/events.EnableRule_1.json @@ -0,0 +1,6 @@ +{ + "status_code": 200, + "data": { + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_cwe_enable_rule/events.ListRules_1.json b/tests/data/placebo/test_cwe_enable_rule/events.ListRules_1.json new file mode 100644 index 00000000000..8dd423b052f --- /dev/null +++ b/tests/data/placebo/test_cwe_enable_rule/events.ListRules_1.json @@ -0,0 +1,16 @@ +{ + "status_code": 200, + "data": { + "Rules": [ + { + "Name": "test", + "Arn": "arn:aws:events:us-east-1::rule/test", + "State": "DISABLED", + "Description": "test", + "ScheduleExpression": "rate(1 minute)", + "EventBusName": "default" + } + ], + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_cwe_enable_rule/tagging.GetResources_1.json b/tests/data/placebo/test_cwe_enable_rule/tagging.GetResources_1.json new file mode 100644 index 00000000000..8b704d1852a --- /dev/null +++ b/tests/data/placebo/test_cwe_enable_rule/tagging.GetResources_1.json @@ -0,0 +1,8 @@ +{ + "status_code": 200, + "data": { + "PaginationToken": "", + "ResourceTagMappingList": [], + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/test_cwe.py b/tests/test_cwe.py index 17721e2b1b1..d00ecb4bc32 100644 --- a/tests/test_cwe.py +++ b/tests/test_cwe.py @@ -51,6 +51,48 @@ def test_event_rule_tags(self): 'Tags')} self.assertEqual(tags, {'App': 'Custodian'}) + def test_event_rule_enable(self): + factory = self.replay_flight_data('test_cwe_enable_rule') + client = factory().client('events') + policy = self.load_policy( + { + 'name': 'cwe-enable-rule', + 'resource': 'aws.event-rule', + 'actions': [ + { + 'type': 'set-rule-state', + 'enabled': True + } + ] + }, + session_factory=factory, + ) + resources = policy.run() + response = client.describe_rule( + Name=resources[0]['Name']) + self.assertEqual(response['State'], 'ENABLED') + + def test_event_rule_disable(self): + factory = self.replay_flight_data('test_cwe_disable_rule') + client = factory().client('events') + policy = self.load_policy( + { + 'name': 'cwe-enable-rule', + 'resource': 'aws.event-rule', + 'actions': [ + { + 'type': 'set-rule-state', + 'enabled': False + } + ] + }, + session_factory=factory, + ) + resources = policy.run() + response = client.describe_rule( + Name=resources[0]['Name']) + self.assertEqual(response['State'], 'DISABLED') + def test_target_cross_account_remove(self): session_factory = self.replay_flight_data("test_cwe_rule_target_cross") client = session_factory().client("events") From 1bce5481bf960bc8dcbab60891baa9112c8185a8 Mon Sep 17 00:00:00 2001 From: Steven Date: Fri, 18 Nov 2022 13:14:45 -0800 Subject: [PATCH 03/16] aws - iam-instance-profile - set-role action (#7999) --- c7n/resources/iam.py | 57 +++++++++ .../iam.AddRoleToInstanceProfile_1.json | 6 + .../iam.AddRoleToInstanceProfile_2.json | 6 + .../iam.ListInstanceProfiles_1.json | 96 +++++++++++++++ .../iam.ListInstanceProfiles_2.json | 114 ++++++++++++++++++ .../iam.RemoveRoleFromInstanceProfile_1.json | 6 + .../iam.ListInstanceProfiles_1.json | 96 +++++++++++++++ .../iam.ListInstanceProfiles_2.json | 60 +++++++++ .../iam.RemoveRoleFromInstanceProfile_1.json | 6 + .../iam.RemoveRoleFromInstanceProfile_2.json | 6 + tests/test_iam.py | 41 +++++++ 11 files changed, 494 insertions(+) create mode 100644 tests/data/placebo/test_iam_instance_profile_set_role/iam.AddRoleToInstanceProfile_1.json create mode 100644 tests/data/placebo/test_iam_instance_profile_set_role/iam.AddRoleToInstanceProfile_2.json create mode 100644 tests/data/placebo/test_iam_instance_profile_set_role/iam.ListInstanceProfiles_1.json create mode 100644 tests/data/placebo/test_iam_instance_profile_set_role/iam.ListInstanceProfiles_2.json create mode 100644 tests/data/placebo/test_iam_instance_profile_set_role/iam.RemoveRoleFromInstanceProfile_1.json create mode 100644 tests/data/placebo/test_iam_instance_profile_set_role_remove/iam.ListInstanceProfiles_1.json create mode 100644 tests/data/placebo/test_iam_instance_profile_set_role_remove/iam.ListInstanceProfiles_2.json create mode 100644 tests/data/placebo/test_iam_instance_profile_set_role_remove/iam.RemoveRoleFromInstanceProfile_1.json create mode 100644 tests/data/placebo/test_iam_instance_profile_set_role_remove/iam.RemoveRoleFromInstanceProfile_2.json diff --git a/c7n/resources/iam.py b/c7n/resources/iam.py index 0547ef7319b..307f4c76d74 100644 --- a/c7n/resources/iam.py +++ b/c7n/resources/iam.py @@ -441,6 +441,7 @@ class resource_type(TypeInfo): # Denotes this resource type exists across regions global_resource = True arn = 'Arn' + cfn_type = 'AWS::IAM::InstanceProfile' @resources.register('iam-certificate') @@ -1504,6 +1505,62 @@ def process(self, resources, event=None): return results +@InstanceProfile.action_registry.register('set-role') +class InstanceProfileSetRole(BaseAction): + """Upserts specified role name for IAM instance profiles. + Instance profile roles are removed when empty role name is specified. + + :example: + + .. code-block:: yaml + + policies: + - name: iam-instance-profile-set-role + resource: iam-profile + actions: + - type: set-role + role: my-test-role + """ + + schema = type_schema('set-role', + role={'type': 'string'}) + permissions = ('iam:AddRoleToInstanceProfile', 'iam:RemoveRoleFromInstanceProfile',) + + def add_role(self, client, resource, role): + self.manager.retry( + client.add_role_to_instance_profile, + InstanceProfileName=resource['InstanceProfileName'], + RoleName=role + ) + return + + def remove_role(self, client, resource): + self.manager.retry( + client.remove_role_from_instance_profile, + InstanceProfileName=resource['InstanceProfileName'], + RoleName=resource['Roles'][0]['RoleName'] + ) + return + + def process(self, resources): + client = local_session(self.manager.session_factory).client('iam') + role = self.data.get('role', '') + for r in resources: + if not role: + if len(r['Roles']) == 0: + continue + else: + self.remove_role(client, r) + else: + if len(r['Roles']) == 0: + self.add_role(client, r, role) + elif role == r['Roles'][0]['RoleName']: + continue + else: + self.remove_role(client, r) + self.add_role(client, r, role) + + ################### # IAM Users # ################### diff --git a/tests/data/placebo/test_iam_instance_profile_set_role/iam.AddRoleToInstanceProfile_1.json b/tests/data/placebo/test_iam_instance_profile_set_role/iam.AddRoleToInstanceProfile_1.json new file mode 100644 index 00000000000..5b2170a073c --- /dev/null +++ b/tests/data/placebo/test_iam_instance_profile_set_role/iam.AddRoleToInstanceProfile_1.json @@ -0,0 +1,6 @@ +{ + "status_code": 200, + "data": { + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_iam_instance_profile_set_role/iam.AddRoleToInstanceProfile_2.json b/tests/data/placebo/test_iam_instance_profile_set_role/iam.AddRoleToInstanceProfile_2.json new file mode 100644 index 00000000000..5b2170a073c --- /dev/null +++ b/tests/data/placebo/test_iam_instance_profile_set_role/iam.AddRoleToInstanceProfile_2.json @@ -0,0 +1,6 @@ +{ + "status_code": 200, + "data": { + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_iam_instance_profile_set_role/iam.ListInstanceProfiles_1.json b/tests/data/placebo/test_iam_instance_profile_set_role/iam.ListInstanceProfiles_1.json new file mode 100644 index 00000000000..8bf73f8b692 --- /dev/null +++ b/tests/data/placebo/test_iam_instance_profile_set_role/iam.ListInstanceProfiles_1.json @@ -0,0 +1,96 @@ +{ + "status_code": 200, + "data": { + "InstanceProfiles": [ + { + "Path": "/", + "InstanceProfileName": "test-instance-profile-matching-role", + "InstanceProfileId": "AIPA2Q7BQUVCYN435YX4A", + "Arn": "arn:aws:iam::644160558196:instance-profile/test-instance-profile-matching-role", + "CreateDate": { + "__class__": "datetime", + "year": 2022, + "month": 11, + "day": 17, + "hour": 1, + "minute": 38, + "second": 57, + "microsecond": 0 + }, + "Roles": [ + { + "Path": "/", + "RoleName": "my-test-role", + "RoleId": "AROA2Q7BQUVCR7H37AES3", + "Arn": "arn:aws:iam::644160558196:role/my-test-role", + "CreateDate": { + "__class__": "datetime", + "year": 2022, + "month": 11, + "day": 9, + "hour": 1, + "minute": 47, + "second": 22, + "microsecond": 0 + }, + "AssumeRolePolicyDocument": "%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22ec2.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D" + } + ] + }, + { + "Path": "/", + "InstanceProfileName": "test-instance-profile-no-role", + "InstanceProfileId": "AIPA2Q7BQUVCYKOAA44IX", + "Arn": "arn:aws:iam::644160558196:instance-profile/test-instance-profile-no-role", + "CreateDate": { + "__class__": "datetime", + "year": 2022, + "month": 11, + "day": 17, + "hour": 1, + "minute": 38, + "second": 32, + "microsecond": 0 + }, + "Roles": [] + }, + { + "Path": "/", + "InstanceProfileName": "test-instance-profile-not-matching-role", + "InstanceProfileId": "AIPA2Q7BQUVCSS2QTJWEW", + "Arn": "arn:aws:iam::644160558196:instance-profile/test-instance-profile-not-matching-role", + "CreateDate": { + "__class__": "datetime", + "year": 2022, + "month": 11, + "day": 17, + "hour": 1, + "minute": 40, + "second": 18, + "microsecond": 0 + }, + "Roles": [ + { + "Path": "/", + "RoleName": "my-test-role-2", + "RoleId": "AROA2Q7BQUVCX6VYIB7YQ", + "Arn": "arn:aws:iam::644160558196:role/my-test-role-2", + "CreateDate": { + "__class__": "datetime", + "year": 2022, + "month": 11, + "day": 17, + "hour": 1, + "minute": 18, + "second": 15, + "microsecond": 0 + }, + "AssumeRolePolicyDocument": "%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22ec2.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D" + } + ] + } + ], + "IsTruncated": false, + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_iam_instance_profile_set_role/iam.ListInstanceProfiles_2.json b/tests/data/placebo/test_iam_instance_profile_set_role/iam.ListInstanceProfiles_2.json new file mode 100644 index 00000000000..6fde8caabe7 --- /dev/null +++ b/tests/data/placebo/test_iam_instance_profile_set_role/iam.ListInstanceProfiles_2.json @@ -0,0 +1,114 @@ +{ + "status_code": 200, + "data": { + "InstanceProfiles": [ + { + "Path": "/", + "InstanceProfileName": "test-instance-profile-matching-role", + "InstanceProfileId": "AIPA2Q7BQUVCYN435YX4A", + "Arn": "arn:aws:iam::644160558196:instance-profile/test-instance-profile-matching-role", + "CreateDate": { + "__class__": "datetime", + "year": 2022, + "month": 11, + "day": 17, + "hour": 1, + "minute": 38, + "second": 57, + "microsecond": 0 + }, + "Roles": [ + { + "Path": "/", + "RoleName": "my-test-role", + "RoleId": "AROA2Q7BQUVCR7H37AES3", + "Arn": "arn:aws:iam::644160558196:role/my-test-role", + "CreateDate": { + "__class__": "datetime", + "year": 2022, + "month": 11, + "day": 9, + "hour": 1, + "minute": 47, + "second": 22, + "microsecond": 0 + }, + "AssumeRolePolicyDocument": "%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22ec2.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D" + } + ] + }, + { + "Path": "/", + "InstanceProfileName": "test-instance-profile-no-role", + "InstanceProfileId": "AIPA2Q7BQUVCYKOAA44IX", + "Arn": "arn:aws:iam::644160558196:instance-profile/test-instance-profile-no-role", + "CreateDate": { + "__class__": "datetime", + "year": 2022, + "month": 11, + "day": 17, + "hour": 1, + "minute": 38, + "second": 32, + "microsecond": 0 + }, + "Roles": [ + { + "Path": "/", + "RoleName": "my-test-role", + "RoleId": "AROA2Q7BQUVCR7H37AES3", + "Arn": "arn:aws:iam::644160558196:role/my-test-role", + "CreateDate": { + "__class__": "datetime", + "year": 2022, + "month": 11, + "day": 9, + "hour": 1, + "minute": 47, + "second": 22, + "microsecond": 0 + }, + "AssumeRolePolicyDocument": "%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22ec2.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D" + } + ] + }, + { + "Path": "/", + "InstanceProfileName": "test-instance-profile-not-matching-role", + "InstanceProfileId": "AIPA2Q7BQUVCSS2QTJWEW", + "Arn": "arn:aws:iam::644160558196:instance-profile/test-instance-profile-not-matching-role", + "CreateDate": { + "__class__": "datetime", + "year": 2022, + "month": 11, + "day": 17, + "hour": 1, + "minute": 40, + "second": 18, + "microsecond": 0 + }, + "Roles": [ + { + "Path": "/", + "RoleName": "my-test-role", + "RoleId": "AROA2Q7BQUVCR7H37AES3", + "Arn": "arn:aws:iam::644160558196:role/my-test-role", + "CreateDate": { + "__class__": "datetime", + "year": 2022, + "month": 11, + "day": 9, + "hour": 1, + "minute": 47, + "second": 22, + "microsecond": 0 + }, + "AssumeRolePolicyDocument": "%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22ec2.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D" + } + ] + } + ], + "IsTruncated": false, + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_iam_instance_profile_set_role/iam.RemoveRoleFromInstanceProfile_1.json b/tests/data/placebo/test_iam_instance_profile_set_role/iam.RemoveRoleFromInstanceProfile_1.json new file mode 100644 index 00000000000..5b2170a073c --- /dev/null +++ b/tests/data/placebo/test_iam_instance_profile_set_role/iam.RemoveRoleFromInstanceProfile_1.json @@ -0,0 +1,6 @@ +{ + "status_code": 200, + "data": { + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_iam_instance_profile_set_role_remove/iam.ListInstanceProfiles_1.json b/tests/data/placebo/test_iam_instance_profile_set_role_remove/iam.ListInstanceProfiles_1.json new file mode 100644 index 00000000000..8bf73f8b692 --- /dev/null +++ b/tests/data/placebo/test_iam_instance_profile_set_role_remove/iam.ListInstanceProfiles_1.json @@ -0,0 +1,96 @@ +{ + "status_code": 200, + "data": { + "InstanceProfiles": [ + { + "Path": "/", + "InstanceProfileName": "test-instance-profile-matching-role", + "InstanceProfileId": "AIPA2Q7BQUVCYN435YX4A", + "Arn": "arn:aws:iam::644160558196:instance-profile/test-instance-profile-matching-role", + "CreateDate": { + "__class__": "datetime", + "year": 2022, + "month": 11, + "day": 17, + "hour": 1, + "minute": 38, + "second": 57, + "microsecond": 0 + }, + "Roles": [ + { + "Path": "/", + "RoleName": "my-test-role", + "RoleId": "AROA2Q7BQUVCR7H37AES3", + "Arn": "arn:aws:iam::644160558196:role/my-test-role", + "CreateDate": { + "__class__": "datetime", + "year": 2022, + "month": 11, + "day": 9, + "hour": 1, + "minute": 47, + "second": 22, + "microsecond": 0 + }, + "AssumeRolePolicyDocument": "%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22ec2.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D" + } + ] + }, + { + "Path": "/", + "InstanceProfileName": "test-instance-profile-no-role", + "InstanceProfileId": "AIPA2Q7BQUVCYKOAA44IX", + "Arn": "arn:aws:iam::644160558196:instance-profile/test-instance-profile-no-role", + "CreateDate": { + "__class__": "datetime", + "year": 2022, + "month": 11, + "day": 17, + "hour": 1, + "minute": 38, + "second": 32, + "microsecond": 0 + }, + "Roles": [] + }, + { + "Path": "/", + "InstanceProfileName": "test-instance-profile-not-matching-role", + "InstanceProfileId": "AIPA2Q7BQUVCSS2QTJWEW", + "Arn": "arn:aws:iam::644160558196:instance-profile/test-instance-profile-not-matching-role", + "CreateDate": { + "__class__": "datetime", + "year": 2022, + "month": 11, + "day": 17, + "hour": 1, + "minute": 40, + "second": 18, + "microsecond": 0 + }, + "Roles": [ + { + "Path": "/", + "RoleName": "my-test-role-2", + "RoleId": "AROA2Q7BQUVCX6VYIB7YQ", + "Arn": "arn:aws:iam::644160558196:role/my-test-role-2", + "CreateDate": { + "__class__": "datetime", + "year": 2022, + "month": 11, + "day": 17, + "hour": 1, + "minute": 18, + "second": 15, + "microsecond": 0 + }, + "AssumeRolePolicyDocument": "%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service%22%3A%22ec2.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole%22%7D%5D%7D" + } + ] + } + ], + "IsTruncated": false, + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_iam_instance_profile_set_role_remove/iam.ListInstanceProfiles_2.json b/tests/data/placebo/test_iam_instance_profile_set_role_remove/iam.ListInstanceProfiles_2.json new file mode 100644 index 00000000000..6e94eaa4ad3 --- /dev/null +++ b/tests/data/placebo/test_iam_instance_profile_set_role_remove/iam.ListInstanceProfiles_2.json @@ -0,0 +1,60 @@ +{ + "status_code": 200, + "data": { + "InstanceProfiles": [ + { + "Path": "/", + "InstanceProfileName": "test-instance-profile-matching-role", + "InstanceProfileId": "AIPA2Q7BQUVCYN435YX4A", + "Arn": "arn:aws:iam::644160558196:instance-profile/test-instance-profile-matching-role", + "CreateDate": { + "__class__": "datetime", + "year": 2022, + "month": 11, + "day": 17, + "hour": 1, + "minute": 38, + "second": 57, + "microsecond": 0 + }, + "Roles": [] + }, + { + "Path": "/", + "InstanceProfileName": "test-instance-profile-no-role", + "InstanceProfileId": "AIPA2Q7BQUVCYKOAA44IX", + "Arn": "arn:aws:iam::644160558196:instance-profile/test-instance-profile-no-role", + "CreateDate": { + "__class__": "datetime", + "year": 2022, + "month": 11, + "day": 17, + "hour": 1, + "minute": 38, + "second": 32, + "microsecond": 0 + }, + "Roles": [] + }, + { + "Path": "/", + "InstanceProfileName": "test-instance-profile-not-matching-role", + "InstanceProfileId": "AIPA2Q7BQUVCSS2QTJWEW", + "Arn": "arn:aws:iam::644160558196:instance-profile/test-instance-profile-not-matching-role", + "CreateDate": { + "__class__": "datetime", + "year": 2022, + "month": 11, + "day": 17, + "hour": 1, + "minute": 40, + "second": 18, + "microsecond": 0 + }, + "Roles": [] + } + ], + "IsTruncated": false, + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_iam_instance_profile_set_role_remove/iam.RemoveRoleFromInstanceProfile_1.json b/tests/data/placebo/test_iam_instance_profile_set_role_remove/iam.RemoveRoleFromInstanceProfile_1.json new file mode 100644 index 00000000000..5b2170a073c --- /dev/null +++ b/tests/data/placebo/test_iam_instance_profile_set_role_remove/iam.RemoveRoleFromInstanceProfile_1.json @@ -0,0 +1,6 @@ +{ + "status_code": 200, + "data": { + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_iam_instance_profile_set_role_remove/iam.RemoveRoleFromInstanceProfile_2.json b/tests/data/placebo/test_iam_instance_profile_set_role_remove/iam.RemoveRoleFromInstanceProfile_2.json new file mode 100644 index 00000000000..5b2170a073c --- /dev/null +++ b/tests/data/placebo/test_iam_instance_profile_set_role_remove/iam.RemoveRoleFromInstanceProfile_2.json @@ -0,0 +1,6 @@ +{ + "status_code": 200, + "data": { + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/test_iam.py b/tests/test_iam.py index 06e6594662c..87ac73a9f8b 100644 --- a/tests/test_iam.py +++ b/tests/test_iam.py @@ -1102,6 +1102,47 @@ def test_iam_instance_profile_unused(self): self.assertEqual(resources[0]["InstanceProfileName"], "mandeep") +class IamInstanceProfileActions(BaseTest): + + def test_iam_instance_profile_set_role(self): + session_factory = self.replay_flight_data("test_iam_instance_profile_set_role") + client = session_factory().client("iam") + p = self.load_policy( + { + "name": "iam-instance-profile-set-role", + "resource": "iam-profile", + "actions": [ + {"type": "set-role", "role": "my-test-role"} + ], + }, + session_factory=session_factory, + ) + resources = p.run() + self.assertEqual(len(resources), 3) + instance_profiles = client.list_instance_profiles() + for profile in instance_profiles['InstanceProfiles']: + self.assertEqual(profile['Roles'][0]['RoleName'], 'my-test-role') + + def test_iam_instance_profile_set_role_remove(self): + session_factory = self.replay_flight_data("test_iam_instance_profile_set_role_remove") + client = session_factory().client("iam") + p = self.load_policy( + { + "name": "iam-instance-profile-set-role-remove", + "resource": "iam-profile", + "actions": [ + {"type": "set-role", "role": ""} + ], + }, + session_factory=session_factory, + ) + resources = p.run() + self.assertEqual(len(resources), 3) + instance_profiles = client.list_instance_profiles() + for profile in instance_profiles['InstanceProfiles']: + self.assertEqual(len(profile['Roles']), 0) + + class IamPolicyFilterUsage(BaseTest): def test_iam_user_policy_permission(self): From 7f3f9c45aa944f8038f4aa0fd89b0ce65dabdaf0 Mon Sep 17 00:00:00 2001 From: Stephen Date: Fri, 18 Nov 2022 17:57:17 -0500 Subject: [PATCH 04/16] aws - account - check-cloudtrail filter: add include-management-events and log-metric-filter-pattern (#7851) --- c7n/resources/account.py | 61 ++- c7n/resources/cloudtrail.py | 3 +- .../cloudtrail.DescribeTrails_1.json | 21 ++ .../cloudtrail.GetEventSelectors_1.json | 22 ++ .../cloudtrail.GetTrailStatus_1.json | 23 ++ .../iam.ListAccountAliases_1.json | 8 + .../cloudtrail.DescribeTrails_1.json | 23 ++ .../cloudtrail.GetTrailStatus_1.json | 23 ++ .../iam.ListAccountAliases_1.json | 8 + .../logs.DescribeMetricFilters_1.json | 22 ++ .../cloudtrail.DescribeTrails_1.json | 40 ++ .../cloudtrail.GetTrailStatus_1.json | 23 ++ .../iam.ListAccountAliases_1.json | 8 + .../logs.DescribeMetricFilters_1.json | 22 ++ .../monitoring.DescribeAlarmsForMetric_1.json | 7 + .../cloudtrail.DescribeTrails_1.json | 40 ++ .../cloudtrail.GetTrailStatus_1.json | 23 ++ .../iam.ListAccountAliases_1.json | 8 + .../logs.DescribeMetricFilters_1.json | 22 ++ .../monitoring.DescribeAlarmsForMetric_1.json | 48 +++ .../cloudtrail.DescribeTrails_1.json | 21 ++ .../cloudtrail.GetEventSelectors_1.json | 22 ++ .../cloudtrail.GetTrailStatus_1.json | 23 ++ .../iam.ListAccountAliases_1.json | 8 + .../cloudtrail.DescribeTrails_1.json | 23 ++ .../cloudtrail.GetTrailStatus_1.json | 23 ++ .../iam.ListAccountAliases_1.json | 8 + .../logs.DescribeMetricFilters_1.json | 22 ++ .../monitoring.DescribeAlarmsForMetric_1.json | 50 +++ .../sns.ListSubscriptions_1.json | 15 + .../main.tf | 93 +++++ .../tf_resources.json | 141 +++++++ .../cloudtrail_fail_log_metric_filter/main.tf | 212 +++++++++++ .../tf_resources.json | 353 ++++++++++++++++++ .../main.tf | 180 +++++++++ .../tf_resources.json | 233 ++++++++++++ .../main.tf | 196 ++++++++++ .../tf_resources.json | 266 +++++++++++++ .../main.tf | 93 +++++ .../tf_resources.json | 141 +++++++ .../main.tf | 211 +++++++++++ .../tf_resources.json | 353 ++++++++++++++++++ tests/test_account.py | 145 ++++++- tests/test_cloudtrail.py | 1 - 44 files changed, 3282 insertions(+), 6 deletions(-) create mode 100644 tests/data/placebo/test_cloudtrail_fail_include_management_events/cloudtrail.DescribeTrails_1.json create mode 100644 tests/data/placebo/test_cloudtrail_fail_include_management_events/cloudtrail.GetEventSelectors_1.json create mode 100644 tests/data/placebo/test_cloudtrail_fail_include_management_events/cloudtrail.GetTrailStatus_1.json create mode 100644 tests/data/placebo/test_cloudtrail_fail_include_management_events/iam.ListAccountAliases_1.json create mode 100644 tests/data/placebo/test_cloudtrail_fail_log_metric_filter/cloudtrail.DescribeTrails_1.json create mode 100644 tests/data/placebo/test_cloudtrail_fail_log_metric_filter/cloudtrail.GetTrailStatus_1.json create mode 100644 tests/data/placebo/test_cloudtrail_fail_log_metric_filter/iam.ListAccountAliases_1.json create mode 100644 tests/data/placebo/test_cloudtrail_fail_log_metric_filter/logs.DescribeMetricFilters_1.json create mode 100644 tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_alarm/cloudtrail.DescribeTrails_1.json create mode 100644 tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_alarm/cloudtrail.GetTrailStatus_1.json create mode 100644 tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_alarm/iam.ListAccountAliases_1.json create mode 100644 tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_alarm/logs.DescribeMetricFilters_1.json create mode 100644 tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_alarm/monitoring.DescribeAlarmsForMetric_1.json create mode 100644 tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_sns/cloudtrail.DescribeTrails_1.json create mode 100644 tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_sns/cloudtrail.GetTrailStatus_1.json create mode 100644 tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_sns/iam.ListAccountAliases_1.json create mode 100644 tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_sns/logs.DescribeMetricFilters_1.json create mode 100644 tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_sns/monitoring.DescribeAlarmsForMetric_1.json create mode 100644 tests/data/placebo/test_cloudtrail_success_cloudtrail_include_management_events/cloudtrail.DescribeTrails_1.json create mode 100644 tests/data/placebo/test_cloudtrail_success_cloudtrail_include_management_events/cloudtrail.GetEventSelectors_1.json create mode 100644 tests/data/placebo/test_cloudtrail_success_cloudtrail_include_management_events/cloudtrail.GetTrailStatus_1.json create mode 100644 tests/data/placebo/test_cloudtrail_success_cloudtrail_include_management_events/iam.ListAccountAliases_1.json create mode 100644 tests/data/placebo/test_cloudtrail_success_log_metric_filter/cloudtrail.DescribeTrails_1.json create mode 100644 tests/data/placebo/test_cloudtrail_success_log_metric_filter/cloudtrail.GetTrailStatus_1.json create mode 100644 tests/data/placebo/test_cloudtrail_success_log_metric_filter/iam.ListAccountAliases_1.json create mode 100644 tests/data/placebo/test_cloudtrail_success_log_metric_filter/logs.DescribeMetricFilters_1.json create mode 100644 tests/data/placebo/test_cloudtrail_success_log_metric_filter/monitoring.DescribeAlarmsForMetric_1.json create mode 100644 tests/data/placebo/test_cloudtrail_success_log_metric_filter/sns.ListSubscriptions_1.json create mode 100644 tests/terraform/cloudtrail_fail_include_management_events/main.tf create mode 100644 tests/terraform/cloudtrail_fail_include_management_events/tf_resources.json create mode 100644 tests/terraform/cloudtrail_fail_log_metric_filter/main.tf create mode 100644 tests/terraform/cloudtrail_fail_log_metric_filter/tf_resources.json create mode 100644 tests/terraform/cloudtrail_fail_log_metric_filter_no_alarm/main.tf create mode 100644 tests/terraform/cloudtrail_fail_log_metric_filter_no_alarm/tf_resources.json create mode 100644 tests/terraform/cloudtrail_fail_log_metric_filter_no_sns/main.tf create mode 100644 tests/terraform/cloudtrail_fail_log_metric_filter_no_sns/tf_resources.json create mode 100644 tests/terraform/cloudtrail_success_include_management_events/main.tf create mode 100644 tests/terraform/cloudtrail_success_include_management_events/tf_resources.json create mode 100644 tests/terraform/cloudtrail_success_log_metric_filter/main.tf create mode 100644 tests/terraform/cloudtrail_success_log_metric_filter/tf_resources.json diff --git a/c7n/resources/account.py b/c7n/resources/account.py index 4966c6e5d73..07e428eef14 100644 --- a/c7n/resources/account.py +++ b/c7n/resources/account.py @@ -153,6 +153,9 @@ class CloudTrailEnabled(Filter): Of particular note, the current-region option will evaluate whether cloudtrail is available in the current region, either as a multi region trail or as a trail with it as the home region. + The log-metric-filter-pattern option checks for the existence of a cloudwatch alarm and a + corresponding SNS subscription for a specific filter pattern + :example: .. code-block:: yaml @@ -166,6 +169,8 @@ class CloudTrailEnabled(Filter): global-events: true multi-region: true running: true + include-management-events: true + log-metric-filter-pattern: "{ ($.eventName = \\"ConsoleLogin\\") }" """ schema = type_schema( 'check-cloudtrail', @@ -176,9 +181,13 @@ class CloudTrailEnabled(Filter): 'notifies': {'type': 'boolean'}, 'file-digest': {'type': 'boolean'}, 'kms': {'type': 'boolean'}, - 'kms-key': {'type': 'string'}}) + 'kms-key': {'type': 'string'}, + 'include-management-events': {'type': 'boolean'}, + 'log-metric-filter-pattern': {'type': 'string'}}) - permissions = ('cloudtrail:DescribeTrails', 'cloudtrail:GetTrailStatus') + permissions = ('cloudtrail:DescribeTrails', 'cloudtrail:GetTrailStatus', + 'cloudtrail:GetEventSelectors', 'cloudwatch:DescribeAlarmsForMetric', + 'logs:DescribeMetricFilters', 'sns:ListSubscriptions') def process(self, resources, event=None): session = local_session(self.manager.session_factory) @@ -212,6 +221,54 @@ def process(self, resources, event=None): 'LatestDeliveryError'): running.append(t) trails = running + if self.data.get('include-management-events'): + matched = [] + for t in list(trails): + selectors = client.get_event_selectors(TrailName=t['TrailARN']) + if 'EventSelectors' in selectors.keys(): + for s in selectors['EventSelectors']: + if s['IncludeManagementEvents'] and s['ReadWriteType'] == 'All': + matched.append(t) + trails = matched + if self.data.get('log-metric-filter-pattern'): + client_logs = session.client('logs') + client_cw = session.client('cloudwatch') + sns_manager = self.manager.get_resource_manager('sns-subscription') + matched = [] + for t in list(trails): + if 'CloudWatchLogsLogGroupArn' not in t.keys(): + continue + log_group_name = t['CloudWatchLogsLogGroupArn'].split(':')[6] + try: + metric_filters_log_group = \ + client_logs.describe_metric_filters( + logGroupName=log_group_name)['metricFilters'] + except ClientError as e: + if e.response['Error']['Code'] == 'ResourceNotFoundException': + continue + filter_matched = None + if metric_filters_log_group: + for f in metric_filters_log_group: + if f['filterPattern'] == self.data.get('log-metric-filter-pattern'): + filter_matched = f + break + if not filter_matched: + continue + alarms = client_cw.describe_alarms_for_metric( + MetricName=filter_matched["metricTransformations"][0]["metricName"], + Namespace=filter_matched["metricTransformations"][0]["metricNamespace"] + )['MetricAlarms'] + alarm_actions = [] + for a in alarms: + alarm_actions.extend(a['AlarmActions']) + if not alarm_actions: + continue + alarm_actions = set(alarm_actions) + sns_subscriptions = sns_manager.resources() + for s in sns_subscriptions: + if s['TopicArn'] in alarm_actions: + matched.append(t) + trails = matched if trails: return [] return resources diff --git a/c7n/resources/cloudtrail.py b/c7n/resources/cloudtrail.py index 2026ff70000..81b282f0e42 100644 --- a/c7n/resources/cloudtrail.py +++ b/c7n/resources/cloudtrail.py @@ -37,7 +37,6 @@ def get_trail_groups(session_factory, trails): @resources.register('cloudtrail') class CloudTrail(QueryResourceManager): - class resource_type(TypeInfo): service = 'cloudtrail' enum_spec = ('describe_trails', 'trailList', None) @@ -72,7 +71,7 @@ def process(self, resources, event=None): trails = [t for t in resources if (self.is_shadow(t) == self.data.get('state', True))] if len(trails) != rcount and self.embedded: self.log.info("implicitly filtering shadow trails %d -> %d", - rcount, len(trails)) + rcount, len(trails)) return trails def is_shadow(self, t): diff --git a/tests/data/placebo/test_cloudtrail_fail_include_management_events/cloudtrail.DescribeTrails_1.json b/tests/data/placebo/test_cloudtrail_fail_include_management_events/cloudtrail.DescribeTrails_1.json new file mode 100644 index 00000000000..ccaefe2504b --- /dev/null +++ b/tests/data/placebo/test_cloudtrail_fail_include_management_events/cloudtrail.DescribeTrails_1.json @@ -0,0 +1,21 @@ +{ + "status_code": 200, + "data": { + "trailList": [ + { + "Name": "tf-trail-3bf19dec-127e-11ed-861d-0242ac12000", + "S3BucketName": "trail-test-bucket-3bf19dec-127e-11ed-861d-0242ac12000", + "S3KeyPrefix": "prefix", + "IncludeGlobalServiceEvents": true, + "IsMultiRegionTrail": true, + "HomeRegion": "us-east-1", + "TrailARN": "arn:aws:cloudtrail:us-east-1:644160558196:trail/tf-trail-3bf19dec-127e-11ed-861d-0242ac12000", + "LogFileValidationEnabled": false, + "HasCustomEventSelectors": true, + "HasInsightSelectors": false, + "IsOrganizationTrail": false + } + ], + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_cloudtrail_fail_include_management_events/cloudtrail.GetEventSelectors_1.json b/tests/data/placebo/test_cloudtrail_fail_include_management_events/cloudtrail.GetEventSelectors_1.json new file mode 100644 index 00000000000..bd86e6cd34a --- /dev/null +++ b/tests/data/placebo/test_cloudtrail_fail_include_management_events/cloudtrail.GetEventSelectors_1.json @@ -0,0 +1,22 @@ +{ + "status_code": 200, + "data": { + "TrailARN": "arn:aws:cloudtrail:us-east-1:644160558196:trail/tf-trail-3bf19dec-127e-11ed-861d-0242ac12000", + "EventSelectors": [ + { + "ReadWriteType": "ReadOnly", + "IncludeManagementEvents": true, + "DataResources": [ + { + "Type": "AWS::S3::Object", + "Values": [ + "arn:aws:s3:::trail-test-bucket-3bf19dec-127e-11ed-861d-0242ac12000/" + ] + } + ], + "ExcludeManagementEventSources": [] + } + ], + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_cloudtrail_fail_include_management_events/cloudtrail.GetTrailStatus_1.json b/tests/data/placebo/test_cloudtrail_fail_include_management_events/cloudtrail.GetTrailStatus_1.json new file mode 100644 index 00000000000..a0b679327bd --- /dev/null +++ b/tests/data/placebo/test_cloudtrail_fail_include_management_events/cloudtrail.GetTrailStatus_1.json @@ -0,0 +1,23 @@ +{ + "status_code": 200, + "data": { + "IsLogging": true, + "StartLoggingTime": { + "__class__": "datetime", + "year": 2022, + "month": 11, + "day": 18, + "hour": 14, + "minute": 9, + "second": 41, + "microsecond": 167000 + }, + "LatestDeliveryAttemptTime": "", + "LatestNotificationAttemptTime": "", + "LatestNotificationAttemptSucceeded": "", + "LatestDeliveryAttemptSucceeded": "", + "TimeLoggingStarted": "2022-11-18T19:09:41Z", + "TimeLoggingStopped": "", + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_cloudtrail_fail_include_management_events/iam.ListAccountAliases_1.json b/tests/data/placebo/test_cloudtrail_fail_include_management_events/iam.ListAccountAliases_1.json new file mode 100644 index 00000000000..384ece3f3bb --- /dev/null +++ b/tests/data/placebo/test_cloudtrail_fail_include_management_events/iam.ListAccountAliases_1.json @@ -0,0 +1,8 @@ +{ + "status_code": 200, + "data": { + "AccountAliases": [], + "IsTruncated": false, + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_cloudtrail_fail_log_metric_filter/cloudtrail.DescribeTrails_1.json b/tests/data/placebo/test_cloudtrail_fail_log_metric_filter/cloudtrail.DescribeTrails_1.json new file mode 100644 index 00000000000..64334be7d22 --- /dev/null +++ b/tests/data/placebo/test_cloudtrail_fail_log_metric_filter/cloudtrail.DescribeTrails_1.json @@ -0,0 +1,23 @@ +{ + "status_code": 200, + "data": { + "trailList": [ + { + "Name": "tf-trail-3bf19dec-127e-11ed-861d-0242ac12000", + "S3BucketName": "trail-test-bucket-3bf19dec-127e-11ed-861d-0242ac12000", + "S3KeyPrefix": "prefix", + "IncludeGlobalServiceEvents": true, + "IsMultiRegionTrail": true, + "HomeRegion": "us-east-1", + "TrailARN": "arn:aws:cloudtrail:us-east-1:644160558196:trail/tf-trail-3bf19dec-127e-11ed-861d-0242ac12000", + "LogFileValidationEnabled": false, + "CloudWatchLogsLogGroupArn": "arn:aws:logs:us-east-1:644160558196:log-group:cloudtrail-test-group:*", + "CloudWatchLogsRoleArn": "arn:aws:iam::644160558196:role/testing-cloudtrail_cloudwatch_role", + "HasCustomEventSelectors": true, + "HasInsightSelectors": false, + "IsOrganizationTrail": false + } + ], + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_cloudtrail_fail_log_metric_filter/cloudtrail.GetTrailStatus_1.json b/tests/data/placebo/test_cloudtrail_fail_log_metric_filter/cloudtrail.GetTrailStatus_1.json new file mode 100644 index 00000000000..65772fa3d67 --- /dev/null +++ b/tests/data/placebo/test_cloudtrail_fail_log_metric_filter/cloudtrail.GetTrailStatus_1.json @@ -0,0 +1,23 @@ +{ + "status_code": 200, + "data": { + "IsLogging": true, + "StartLoggingTime": { + "__class__": "datetime", + "year": 2022, + "month": 11, + "day": 18, + "hour": 14, + "minute": 7, + "second": 51, + "microsecond": 687000 + }, + "LatestDeliveryAttemptTime": "", + "LatestNotificationAttemptTime": "", + "LatestNotificationAttemptSucceeded": "", + "LatestDeliveryAttemptSucceeded": "", + "TimeLoggingStarted": "2022-11-18T19:07:51Z", + "TimeLoggingStopped": "", + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_cloudtrail_fail_log_metric_filter/iam.ListAccountAliases_1.json b/tests/data/placebo/test_cloudtrail_fail_log_metric_filter/iam.ListAccountAliases_1.json new file mode 100644 index 00000000000..384ece3f3bb --- /dev/null +++ b/tests/data/placebo/test_cloudtrail_fail_log_metric_filter/iam.ListAccountAliases_1.json @@ -0,0 +1,8 @@ +{ + "status_code": 200, + "data": { + "AccountAliases": [], + "IsTruncated": false, + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_cloudtrail_fail_log_metric_filter/logs.DescribeMetricFilters_1.json b/tests/data/placebo/test_cloudtrail_fail_log_metric_filter/logs.DescribeMetricFilters_1.json new file mode 100644 index 00000000000..e17867e7e1e --- /dev/null +++ b/tests/data/placebo/test_cloudtrail_fail_log_metric_filter/logs.DescribeMetricFilters_1.json @@ -0,0 +1,22 @@ +{ + "status_code": 200, + "data": { + "metricFilters": [ + { + "filterName": "test-filter-name", + "filterPattern": "{ ($.eventName = ConsoleLogin) && ($.additionalEventData.MFAUsed != Yes) }", + "metricTransformations": [ + { + "metricName": "no_mfa_console_signin_metric_1", + "metricNamespace": "ImportantMetrics", + "metricValue": "1", + "unit": "None" + } + ], + "creationTime": 1668798460064, + "logGroupName": "cloudtrail-test-group" + } + ], + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_alarm/cloudtrail.DescribeTrails_1.json b/tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_alarm/cloudtrail.DescribeTrails_1.json new file mode 100644 index 00000000000..8609693edf0 --- /dev/null +++ b/tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_alarm/cloudtrail.DescribeTrails_1.json @@ -0,0 +1,40 @@ +{ + "status_code": 200, + "data": { + "trailList": [ + { + "Name": "aws-controltower-BaselineCloudTrail", + "S3BucketName": "aws-controltower-logs-644160558196-us-east-1", + "S3KeyPrefix": "o-yhmwqptd52", + "SnsTopicName": "arn:aws:sns:us-east-1:644160558196:aws-controltower-AllConfigNotifications", + "SnsTopicARN": "arn:aws:sns:us-east-1:644160558196:aws-controltower-AllConfigNotifications", + "IncludeGlobalServiceEvents": true, + "IsMultiRegionTrail": true, + "HomeRegion": "us-east-1", + "TrailARN": "arn:aws:cloudtrail:us-east-1:644160558196:trail/aws-controltower-BaselineCloudTrail", + "LogFileValidationEnabled": true, + "CloudWatchLogsLogGroupArn": "arn:aws:logs:us-east-1:644160558196:log-group:aws-controltower/CloudTrailLogs:*", + "CloudWatchLogsRoleArn": "arn:aws:iam::644160558196:role/aws-controltower-CloudWatchLogsRole", + "KmsKeyId": "arn:aws:kms:us-east-1:644160558196:key/c1b14bc1-16aa-4311-a49b-8c94c2614427", + "HasCustomEventSelectors": true, + "HasInsightSelectors": false, + "IsOrganizationTrail": false + }, + { + "Name": "fail-tf-trail-3bf19dec-127e-11ed-861d-0242ac12000", + "S3BucketName": "fail-trail-test-bucket-testing", + "IncludeGlobalServiceEvents": true, + "IsMultiRegionTrail": true, + "HomeRegion": "us-east-1", + "TrailARN": "arn:aws:cloudtrail:us-east-1:644160558196:trail/fail-tf-trail-3bf19dec-127e-11ed-861d-0242ac12000", + "LogFileValidationEnabled": false, + "CloudWatchLogsLogGroupArn": "arn:aws:logs:us-east-1:644160558196:log-group:fail-cloudtrail-test-group:*", + "CloudWatchLogsRoleArn": "arn:aws:iam::644160558196:role/testing-cloudtrail_cloudwatch_role-fail", + "HasCustomEventSelectors": true, + "HasInsightSelectors": false, + "IsOrganizationTrail": false + } + ], + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_alarm/cloudtrail.GetTrailStatus_1.json b/tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_alarm/cloudtrail.GetTrailStatus_1.json new file mode 100644 index 00000000000..2ee664eca14 --- /dev/null +++ b/tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_alarm/cloudtrail.GetTrailStatus_1.json @@ -0,0 +1,23 @@ +{ + "status_code": 200, + "data": { + "IsLogging": true, + "StartLoggingTime": { + "__class__": "datetime", + "year": 2022, + "month": 11, + "day": 18, + "hour": 14, + "minute": 6, + "second": 47, + "microsecond": 285000 + }, + "LatestDeliveryAttemptTime": "", + "LatestNotificationAttemptTime": "", + "LatestNotificationAttemptSucceeded": "", + "LatestDeliveryAttemptSucceeded": "", + "TimeLoggingStarted": "2022-11-18T19:06:47Z", + "TimeLoggingStopped": "", + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_alarm/iam.ListAccountAliases_1.json b/tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_alarm/iam.ListAccountAliases_1.json new file mode 100644 index 00000000000..384ece3f3bb --- /dev/null +++ b/tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_alarm/iam.ListAccountAliases_1.json @@ -0,0 +1,8 @@ +{ + "status_code": 200, + "data": { + "AccountAliases": [], + "IsTruncated": false, + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_alarm/logs.DescribeMetricFilters_1.json b/tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_alarm/logs.DescribeMetricFilters_1.json new file mode 100644 index 00000000000..87fc86b772f --- /dev/null +++ b/tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_alarm/logs.DescribeMetricFilters_1.json @@ -0,0 +1,22 @@ +{ + "status_code": 200, + "data": { + "metricFilters": [ + { + "filterName": "test-filter-name-fail", + "filterPattern": "{ ($.eventName = ConsoleLogin) && ($.additionalEventData.MFAUsed != Yes) }", + "metricTransformations": [ + { + "metricName": "no_mfa_console_signin_metric_fail", + "metricNamespace": "ImportantMetrics", + "metricValue": "1", + "unit": "None" + } + ], + "creationTime": 1668798393893, + "logGroupName": "fail-cloudtrail-test-group" + } + ], + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_alarm/monitoring.DescribeAlarmsForMetric_1.json b/tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_alarm/monitoring.DescribeAlarmsForMetric_1.json new file mode 100644 index 00000000000..b0ea639cb87 --- /dev/null +++ b/tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_alarm/monitoring.DescribeAlarmsForMetric_1.json @@ -0,0 +1,7 @@ +{ + "status_code": 200, + "data": { + "MetricAlarms": [], + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_sns/cloudtrail.DescribeTrails_1.json b/tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_sns/cloudtrail.DescribeTrails_1.json new file mode 100644 index 00000000000..8609693edf0 --- /dev/null +++ b/tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_sns/cloudtrail.DescribeTrails_1.json @@ -0,0 +1,40 @@ +{ + "status_code": 200, + "data": { + "trailList": [ + { + "Name": "aws-controltower-BaselineCloudTrail", + "S3BucketName": "aws-controltower-logs-644160558196-us-east-1", + "S3KeyPrefix": "o-yhmwqptd52", + "SnsTopicName": "arn:aws:sns:us-east-1:644160558196:aws-controltower-AllConfigNotifications", + "SnsTopicARN": "arn:aws:sns:us-east-1:644160558196:aws-controltower-AllConfigNotifications", + "IncludeGlobalServiceEvents": true, + "IsMultiRegionTrail": true, + "HomeRegion": "us-east-1", + "TrailARN": "arn:aws:cloudtrail:us-east-1:644160558196:trail/aws-controltower-BaselineCloudTrail", + "LogFileValidationEnabled": true, + "CloudWatchLogsLogGroupArn": "arn:aws:logs:us-east-1:644160558196:log-group:aws-controltower/CloudTrailLogs:*", + "CloudWatchLogsRoleArn": "arn:aws:iam::644160558196:role/aws-controltower-CloudWatchLogsRole", + "KmsKeyId": "arn:aws:kms:us-east-1:644160558196:key/c1b14bc1-16aa-4311-a49b-8c94c2614427", + "HasCustomEventSelectors": true, + "HasInsightSelectors": false, + "IsOrganizationTrail": false + }, + { + "Name": "fail-tf-trail-3bf19dec-127e-11ed-861d-0242ac12000", + "S3BucketName": "fail-trail-test-bucket-testing", + "IncludeGlobalServiceEvents": true, + "IsMultiRegionTrail": true, + "HomeRegion": "us-east-1", + "TrailARN": "arn:aws:cloudtrail:us-east-1:644160558196:trail/fail-tf-trail-3bf19dec-127e-11ed-861d-0242ac12000", + "LogFileValidationEnabled": false, + "CloudWatchLogsLogGroupArn": "arn:aws:logs:us-east-1:644160558196:log-group:fail-cloudtrail-test-group:*", + "CloudWatchLogsRoleArn": "arn:aws:iam::644160558196:role/testing-cloudtrail_cloudwatch_role-fail", + "HasCustomEventSelectors": true, + "HasInsightSelectors": false, + "IsOrganizationTrail": false + } + ], + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_sns/cloudtrail.GetTrailStatus_1.json b/tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_sns/cloudtrail.GetTrailStatus_1.json new file mode 100644 index 00000000000..ee406f60d39 --- /dev/null +++ b/tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_sns/cloudtrail.GetTrailStatus_1.json @@ -0,0 +1,23 @@ +{ + "status_code": 200, + "data": { + "IsLogging": true, + "StartLoggingTime": { + "__class__": "datetime", + "year": 2022, + "month": 11, + "day": 18, + "hour": 14, + "minute": 7, + "second": 17, + "microsecond": 559000 + }, + "LatestDeliveryAttemptTime": "", + "LatestNotificationAttemptTime": "", + "LatestNotificationAttemptSucceeded": "", + "LatestDeliveryAttemptSucceeded": "", + "TimeLoggingStarted": "2022-11-18T19:07:17Z", + "TimeLoggingStopped": "", + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_sns/iam.ListAccountAliases_1.json b/tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_sns/iam.ListAccountAliases_1.json new file mode 100644 index 00000000000..384ece3f3bb --- /dev/null +++ b/tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_sns/iam.ListAccountAliases_1.json @@ -0,0 +1,8 @@ +{ + "status_code": 200, + "data": { + "AccountAliases": [], + "IsTruncated": false, + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_sns/logs.DescribeMetricFilters_1.json b/tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_sns/logs.DescribeMetricFilters_1.json new file mode 100644 index 00000000000..e6ac2a88c9d --- /dev/null +++ b/tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_sns/logs.DescribeMetricFilters_1.json @@ -0,0 +1,22 @@ +{ + "status_code": 200, + "data": { + "metricFilters": [ + { + "filterName": "test-filter-name-fail", + "filterPattern": "{ ($.eventName = ConsoleLogin) && ($.additionalEventData.MFAUsed != Yes) }", + "metricTransformations": [ + { + "metricName": "no_mfa_console_signin_metric_fail", + "metricNamespace": "ImportantMetrics", + "metricValue": "1", + "unit": "None" + } + ], + "creationTime": 1668798424833, + "logGroupName": "fail-cloudtrail-test-group" + } + ], + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_sns/monitoring.DescribeAlarmsForMetric_1.json b/tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_sns/monitoring.DescribeAlarmsForMetric_1.json new file mode 100644 index 00000000000..50a7a90465e --- /dev/null +++ b/tests/data/placebo/test_cloudtrail_fail_log_metric_filter_no_sns/monitoring.DescribeAlarmsForMetric_1.json @@ -0,0 +1,48 @@ +{ + "status_code": 200, + "data": { + "MetricAlarms": [ + { + "AlarmName": "NoMFAConsoleLoginAlarm_fail", + "AlarmArn": "arn:aws:cloudwatch:us-east-1:644160558196:alarm:NoMFAConsoleLoginAlarm_fail", + "AlarmConfigurationUpdatedTimestamp": { + "__class__": "datetime", + "year": 2022, + "month": 11, + "day": 18, + "hour": 19, + "minute": 7, + "second": 5, + "microsecond": 533000 + }, + "ActionsEnabled": true, + "OKActions": [], + "AlarmActions": [], + "InsufficientDataActions": [], + "StateValue": "INSUFFICIENT_DATA", + "StateReason": "Unchecked: Initial alarm creation", + "StateUpdatedTimestamp": { + "__class__": "datetime", + "year": 2022, + "month": 11, + "day": 18, + "hour": 19, + "minute": 7, + "second": 5, + "microsecond": 533000 + }, + "MetricName": "no_mfa_console_signin_metric_fail", + "Namespace": "ImportantMetrics", + "Statistic": "Sum", + "Dimensions": [], + "Period": 60, + "EvaluationPeriods": 1, + "DatapointsToAlarm": 1, + "Threshold": 0.0, + "ComparisonOperator": "GreaterThanThreshold", + "TreatMissingData": "missing" + } + ], + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_cloudtrail_success_cloudtrail_include_management_events/cloudtrail.DescribeTrails_1.json b/tests/data/placebo/test_cloudtrail_success_cloudtrail_include_management_events/cloudtrail.DescribeTrails_1.json new file mode 100644 index 00000000000..ccaefe2504b --- /dev/null +++ b/tests/data/placebo/test_cloudtrail_success_cloudtrail_include_management_events/cloudtrail.DescribeTrails_1.json @@ -0,0 +1,21 @@ +{ + "status_code": 200, + "data": { + "trailList": [ + { + "Name": "tf-trail-3bf19dec-127e-11ed-861d-0242ac12000", + "S3BucketName": "trail-test-bucket-3bf19dec-127e-11ed-861d-0242ac12000", + "S3KeyPrefix": "prefix", + "IncludeGlobalServiceEvents": true, + "IsMultiRegionTrail": true, + "HomeRegion": "us-east-1", + "TrailARN": "arn:aws:cloudtrail:us-east-1:644160558196:trail/tf-trail-3bf19dec-127e-11ed-861d-0242ac12000", + "LogFileValidationEnabled": false, + "HasCustomEventSelectors": true, + "HasInsightSelectors": false, + "IsOrganizationTrail": false + } + ], + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_cloudtrail_success_cloudtrail_include_management_events/cloudtrail.GetEventSelectors_1.json b/tests/data/placebo/test_cloudtrail_success_cloudtrail_include_management_events/cloudtrail.GetEventSelectors_1.json new file mode 100644 index 00000000000..5645d9197df --- /dev/null +++ b/tests/data/placebo/test_cloudtrail_success_cloudtrail_include_management_events/cloudtrail.GetEventSelectors_1.json @@ -0,0 +1,22 @@ +{ + "status_code": 200, + "data": { + "TrailARN": "arn:aws:cloudtrail:us-east-1:644160558196:trail/tf-trail-3bf19dec-127e-11ed-861d-0242ac12000", + "EventSelectors": [ + { + "ReadWriteType": "All", + "IncludeManagementEvents": true, + "DataResources": [ + { + "Type": "AWS::S3::Object", + "Values": [ + "arn:aws:s3:::trail-test-bucket-3bf19dec-127e-11ed-861d-0242ac12000/" + ] + } + ], + "ExcludeManagementEventSources": [] + } + ], + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_cloudtrail_success_cloudtrail_include_management_events/cloudtrail.GetTrailStatus_1.json b/tests/data/placebo/test_cloudtrail_success_cloudtrail_include_management_events/cloudtrail.GetTrailStatus_1.json new file mode 100644 index 00000000000..3514c47c807 --- /dev/null +++ b/tests/data/placebo/test_cloudtrail_success_cloudtrail_include_management_events/cloudtrail.GetTrailStatus_1.json @@ -0,0 +1,23 @@ +{ + "status_code": 200, + "data": { + "IsLogging": true, + "StartLoggingTime": { + "__class__": "datetime", + "year": 2022, + "month": 11, + "day": 18, + "hour": 14, + "minute": 9, + "second": 22, + "microsecond": 103000 + }, + "LatestDeliveryAttemptTime": "", + "LatestNotificationAttemptTime": "", + "LatestNotificationAttemptSucceeded": "", + "LatestDeliveryAttemptSucceeded": "", + "TimeLoggingStarted": "2022-11-18T19:09:22Z", + "TimeLoggingStopped": "", + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_cloudtrail_success_cloudtrail_include_management_events/iam.ListAccountAliases_1.json b/tests/data/placebo/test_cloudtrail_success_cloudtrail_include_management_events/iam.ListAccountAliases_1.json new file mode 100644 index 00000000000..384ece3f3bb --- /dev/null +++ b/tests/data/placebo/test_cloudtrail_success_cloudtrail_include_management_events/iam.ListAccountAliases_1.json @@ -0,0 +1,8 @@ +{ + "status_code": 200, + "data": { + "AccountAliases": [], + "IsTruncated": false, + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_cloudtrail_success_log_metric_filter/cloudtrail.DescribeTrails_1.json b/tests/data/placebo/test_cloudtrail_success_log_metric_filter/cloudtrail.DescribeTrails_1.json new file mode 100644 index 00000000000..64334be7d22 --- /dev/null +++ b/tests/data/placebo/test_cloudtrail_success_log_metric_filter/cloudtrail.DescribeTrails_1.json @@ -0,0 +1,23 @@ +{ + "status_code": 200, + "data": { + "trailList": [ + { + "Name": "tf-trail-3bf19dec-127e-11ed-861d-0242ac12000", + "S3BucketName": "trail-test-bucket-3bf19dec-127e-11ed-861d-0242ac12000", + "S3KeyPrefix": "prefix", + "IncludeGlobalServiceEvents": true, + "IsMultiRegionTrail": true, + "HomeRegion": "us-east-1", + "TrailARN": "arn:aws:cloudtrail:us-east-1:644160558196:trail/tf-trail-3bf19dec-127e-11ed-861d-0242ac12000", + "LogFileValidationEnabled": false, + "CloudWatchLogsLogGroupArn": "arn:aws:logs:us-east-1:644160558196:log-group:cloudtrail-test-group:*", + "CloudWatchLogsRoleArn": "arn:aws:iam::644160558196:role/testing-cloudtrail_cloudwatch_role", + "HasCustomEventSelectors": true, + "HasInsightSelectors": false, + "IsOrganizationTrail": false + } + ], + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_cloudtrail_success_log_metric_filter/cloudtrail.GetTrailStatus_1.json b/tests/data/placebo/test_cloudtrail_success_log_metric_filter/cloudtrail.GetTrailStatus_1.json new file mode 100644 index 00000000000..82a280097a3 --- /dev/null +++ b/tests/data/placebo/test_cloudtrail_success_log_metric_filter/cloudtrail.GetTrailStatus_1.json @@ -0,0 +1,23 @@ +{ + "status_code": 200, + "data": { + "IsLogging": true, + "StartLoggingTime": { + "__class__": "datetime", + "year": 2022, + "month": 11, + "day": 18, + "hour": 14, + "minute": 5, + "second": 6, + "microsecond": 683000 + }, + "LatestDeliveryAttemptTime": "", + "LatestNotificationAttemptTime": "", + "LatestNotificationAttemptSucceeded": "", + "LatestDeliveryAttemptSucceeded": "", + "TimeLoggingStarted": "2022-11-18T19:05:06Z", + "TimeLoggingStopped": "", + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_cloudtrail_success_log_metric_filter/iam.ListAccountAliases_1.json b/tests/data/placebo/test_cloudtrail_success_log_metric_filter/iam.ListAccountAliases_1.json new file mode 100644 index 00000000000..384ece3f3bb --- /dev/null +++ b/tests/data/placebo/test_cloudtrail_success_log_metric_filter/iam.ListAccountAliases_1.json @@ -0,0 +1,8 @@ +{ + "status_code": 200, + "data": { + "AccountAliases": [], + "IsTruncated": false, + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_cloudtrail_success_log_metric_filter/logs.DescribeMetricFilters_1.json b/tests/data/placebo/test_cloudtrail_success_log_metric_filter/logs.DescribeMetricFilters_1.json new file mode 100644 index 00000000000..697bf4c981a --- /dev/null +++ b/tests/data/placebo/test_cloudtrail_success_log_metric_filter/logs.DescribeMetricFilters_1.json @@ -0,0 +1,22 @@ +{ + "status_code": 200, + "data": { + "metricFilters": [ + { + "filterName": "test-filter-name", + "filterPattern": "{ ($.eventName = ConsoleLogin) && ($.additionalEventData.MFAUsed != Yes) }", + "metricTransformations": [ + { + "metricName": "no_mfa_console_signin_metric_1", + "metricNamespace": "ImportantMetrics", + "metricValue": "1", + "unit": "None" + } + ], + "creationTime": 1668798292862, + "logGroupName": "cloudtrail-test-group" + } + ], + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_cloudtrail_success_log_metric_filter/monitoring.DescribeAlarmsForMetric_1.json b/tests/data/placebo/test_cloudtrail_success_log_metric_filter/monitoring.DescribeAlarmsForMetric_1.json new file mode 100644 index 00000000000..f069e05feb6 --- /dev/null +++ b/tests/data/placebo/test_cloudtrail_success_log_metric_filter/monitoring.DescribeAlarmsForMetric_1.json @@ -0,0 +1,50 @@ +{ + "status_code": 200, + "data": { + "MetricAlarms": [ + { + "AlarmName": "NoMFAConsoleLoginAlarm", + "AlarmArn": "arn:aws:cloudwatch:us-east-1:644160558196:alarm:NoMFAConsoleLoginAlarm", + "AlarmConfigurationUpdatedTimestamp": { + "__class__": "datetime", + "year": 2022, + "month": 11, + "day": 18, + "hour": 19, + "minute": 4, + "second": 53, + "microsecond": 731000 + }, + "ActionsEnabled": true, + "OKActions": [], + "AlarmActions": [ + "arn:aws:sns:us-east-1:644160558196:mfa-notification-topic" + ], + "InsufficientDataActions": [], + "StateValue": "INSUFFICIENT_DATA", + "StateReason": "Unchecked: Initial alarm creation", + "StateUpdatedTimestamp": { + "__class__": "datetime", + "year": 2022, + "month": 11, + "day": 18, + "hour": 19, + "minute": 4, + "second": 53, + "microsecond": 731000 + }, + "MetricName": "no_mfa_console_signin_metric_1", + "Namespace": "ImportantMetrics", + "Statistic": "Sum", + "Dimensions": [], + "Period": 60, + "EvaluationPeriods": 1, + "DatapointsToAlarm": 1, + "Threshold": 0.0, + "ComparisonOperator": "GreaterThanThreshold", + "TreatMissingData": "missing" + } + ], + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_cloudtrail_success_log_metric_filter/sns.ListSubscriptions_1.json b/tests/data/placebo/test_cloudtrail_success_log_metric_filter/sns.ListSubscriptions_1.json new file mode 100644 index 00000000000..7492815646b --- /dev/null +++ b/tests/data/placebo/test_cloudtrail_success_log_metric_filter/sns.ListSubscriptions_1.json @@ -0,0 +1,15 @@ +{ + "status_code": 200, + "data": { + "Subscriptions": [ + { + "SubscriptionArn": "arn:aws:sns:us-east-1:644160558196:mfa-notification-topic:35d3185a-bc53-4c7b-a49a-63f49162dbc9", + "Owner": "644160558196", + "Protocol": "sqs", + "Endpoint": "arn:aws:sqs:us-east-1:644160558196:mfa-sqs-topic", + "TopicArn": "arn:aws:sns:us-east-1:644160558196:mfa-notification-topic" + } + ], + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/terraform/cloudtrail_fail_include_management_events/main.tf b/tests/terraform/cloudtrail_fail_include_management_events/main.tf new file mode 100644 index 00000000000..146c22d0e25 --- /dev/null +++ b/tests/terraform/cloudtrail_fail_include_management_events/main.tf @@ -0,0 +1,93 @@ +provider "aws" { + region = "us-east-1" +} + +data "aws_region" "current" {} +data "aws_caller_identity" "current" {} + +resource "random_integer" "trail" { + min = 1 + max = 50000 +} + +resource "aws_s3_bucket" "fail-1" { + bucket_prefix = "trail-test-bucket" + force_destroy = true + tags = { + c7n = true + } +} + +resource "aws_s3_bucket_public_access_block" "block-access-bucket" { + bucket = aws_s3_bucket.fail-1.id + block_public_acls = true + block_public_policy = true + ignore_public_acls = true + restrict_public_buckets = true +} + +resource "aws_s3_bucket_policy" "fail-1-policy" { + bucket = aws_s3_bucket.fail-1.id + + policy = < Date: Mon, 21 Nov 2022 10:14:40 -0500 Subject: [PATCH 05/16] releng - github actions use concurrency option to only run on latest push (#8012) --- .github/workflows/ci-main.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci-main.yml b/.github/workflows/ci-main.yml index 3f8fe852ef5..b54ce3c9da0 100644 --- a/.github/workflows/ci-main.yml +++ b/.github/workflows/ci-main.yml @@ -10,7 +10,9 @@ on: branches: - master - main - +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true jobs: Lint: runs-on: ubuntu-latest From e9410542cda9714d76d32e8e6770349cb5119e3e Mon Sep 17 00:00:00 2001 From: Rajath V Date: Mon, 21 Nov 2022 21:16:27 +0530 Subject: [PATCH 06/16] aws - cross-account filter - use case-insensitive checks for allowed condition keys (#7889) --- c7n/filters/iamaccess.py | 2 +- tests/test_iam.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/c7n/filters/iamaccess.py b/c7n/filters/iamaccess.py index 69172087c06..c7daea0c029 100644 --- a/c7n/filters/iamaccess.py +++ b/c7n/filters/iamaccess.py @@ -72,7 +72,7 @@ def check_actions(self): @property def whitelist_conditions(self): - return self.checker_config.get('whitelist_conditions', ()) + return set(v.lower() for v in self.checker_config.get('whitelist_conditions', ())) @property def allowed_vpce(self): diff --git a/tests/test_iam.py b/tests/test_iam.py index 87ac73a9f8b..d9ca4df1989 100644 --- a/tests/test_iam.py +++ b/tests/test_iam.py @@ -1950,6 +1950,7 @@ def test_sns_cross_account_endpoint_condition(self): { "type": "cross-account", "whitelist_endpoints": ["@whitelist.com"], + "whitelist_conditions": ["aws:UserName"] }, ], }, From 5df4314e1b7a2667dd28ca671f43b44afb7c866d Mon Sep 17 00:00:00 2001 From: Sonny Date: Mon, 21 Nov 2022 13:03:05 -0800 Subject: [PATCH 07/16] releng - 0.9.21.0 pkg-increment and pkg-rebase (#7990) --- c7n/version.py | 2 +- poetry.lock | 312 +++++++------- pyproject.toml | 2 +- requirements.txt | 43 +- setup.py | 2 +- tests/test_packaging.py | 15 +- tests/test_policy.py | 19 + tools/c7n_awscc/poetry.lock | 101 ++--- tools/c7n_awscc/pyproject.toml | 2 +- tools/c7n_awscc/requirements.txt | 6 +- tools/c7n_awscc/setup.py | 18 +- tools/c7n_azure/poetry.lock | 313 +++++++------- tools/c7n_azure/pyproject.toml | 2 +- tools/c7n_azure/requirements.txt | 41 +- tools/c7n_azure/setup.py | 18 +- .../c7n_gcp/resources/resourcemanager.py | 3 - tools/c7n_gcp/poetry.lock | 383 +++++++++--------- tools/c7n_gcp/pyproject.toml | 2 +- tools/c7n_gcp/requirements.txt | 22 +- tools/c7n_gcp/setup.py | 18 +- tools/c7n_kube/poetry.lock | 160 ++++---- tools/c7n_kube/pyproject.toml | 2 +- tools/c7n_kube/requirements.txt | 8 +- tools/c7n_kube/setup.py | 27 +- tools/c7n_logexporter/poetry.lock | 101 ++--- tools/c7n_logexporter/pyproject.toml | 2 +- tools/c7n_logexporter/requirements.txt | 6 +- tools/c7n_logexporter/setup.py | 18 +- tools/c7n_mailer/poetry.lock | 146 +++---- tools/c7n_mailer/pyproject.toml | 6 +- tools/c7n_mailer/requirements.txt | 5 +- tools/c7n_mailer/setup.py | 2 +- tools/c7n_openstack/poetry.lock | 204 +++++----- tools/c7n_openstack/pyproject.toml | 2 +- tools/c7n_openstack/requirements.txt | 10 +- tools/c7n_openstack/setup.py | 18 +- tools/c7n_org/poetry.lock | 138 ++++--- tools/c7n_org/pyproject.toml | 2 +- tools/c7n_org/requirements.txt | 6 +- tools/c7n_org/setup.py | 20 +- tools/c7n_policystream/poetry.lock | 138 ++++--- tools/c7n_policystream/pyproject.toml | 2 +- tools/c7n_policystream/requirements.txt | 10 +- tools/c7n_policystream/setup.py | 18 +- tools/c7n_sphinxext/poetry.lock | 125 +++--- tools/c7n_sphinxext/pyproject.toml | 2 +- tools/c7n_sphinxext/requirements.txt | 12 +- tools/c7n_sphinxext/setup.py | 18 +- tools/c7n_tencentcloud/poetry.lock | 150 +++---- tools/c7n_tencentcloud/pyproject.toml | 2 +- tools/c7n_tencentcloud/requirements.txt | 4 +- tools/c7n_tencentcloud/setup.py | 20 +- tools/c7n_terraform/poetry.lock | 138 ++++--- tools/c7n_terraform/pyproject.toml | 2 +- tools/c7n_terraform/requirements.txt | 6 +- tools/c7n_terraform/setup.py | 18 +- tools/c7n_trailcreator/poetry.lock | 103 ++--- tools/c7n_trailcreator/pyproject.toml | 2 +- tools/c7n_trailcreator/requirements.txt | 6 +- tools/c7n_trailcreator/setup.py | 22 +- tools/dev/poetrypkg.py | 3 +- 61 files changed, 1526 insertions(+), 1482 deletions(-) diff --git a/c7n/version.py b/c7n/version.py index 15d2757dba8..e5dc472d6b4 100644 --- a/c7n/version.py +++ b/c7n/version.py @@ -1,2 +1,2 @@ # Generated via tools/dev/poetrypkg.py -version = "0.9.20" +version = "0.9.21" diff --git a/poetry.lock b/poetry.lock index 2e0a0680a3b..5170a99c497 100644 --- a/poetry.lock +++ b/poetry.lock @@ -28,7 +28,7 @@ tests_no_zope = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy [[package]] name = "aws-xray-sdk" -version = "2.10.0" +version = "2.11.0" description = "The AWS X-Ray SDK for Python (the SDK) enables Python developers to record and emit information from within their applications to the AWS X-Ray service." category = "dev" optional = false @@ -56,14 +56,14 @@ dev = ["Sphinx (==4.3.2)", "black (==22.3.0)", "build (==0.8.0)", "flake8 (==4.0 [[package]] name = "boto3" -version = "1.24.88" +version = "1.26.9" description = "The AWS SDK for Python" category = "main" optional = false python-versions = ">= 3.7" [package.dependencies] -botocore = ">=1.27.88,<1.28.0" +botocore = ">=1.29.9,<1.30.0" jmespath = ">=0.7.1,<2.0.0" s3transfer = ">=0.6.0,<0.7.0" @@ -72,7 +72,7 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] [[package]] name = "botocore" -version = "1.27.88" +version = "1.29.9" description = "Low-level, data-driven core of boto 3." category = "main" optional = false @@ -130,11 +130,11 @@ importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} [[package]] name = "colorama" -version = "0.4.5" +version = "0.4.6" description = "Cross-platform colored terminal text." category = "dev" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" [[package]] name = "coverage" @@ -152,7 +152,7 @@ toml = ["tomli"] [[package]] name = "cryptography" -version = "38.0.1" +version = "38.0.3" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." category = "dev" optional = false @@ -177,6 +177,17 @@ category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +[[package]] +name = "exceptiongroup" +version = "1.0.3" +description = "Backport of PEP 654 (exception groups)" +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.extras] +test = ["pytest (>=6)"] + [[package]] name = "execnet" version = "1.9.0" @@ -240,7 +251,7 @@ testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packag [[package]] name = "importlib-resources" -version = "5.9.0" +version = "5.10.0" description = "Read resources from Python packages" category = "main" optional = false @@ -250,8 +261,8 @@ python-versions = ">=3.7" zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} [package.extras] -docs = ["jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx"] -testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"] +testing = ["flake8 (<5)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] [[package]] name = "iniconfig" @@ -317,7 +328,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" [[package]] name = "jsonschema" -version = "4.16.0" +version = "4.17.0" description = "An implementation of JSON Schema validation for Python" category = "main" optional = false @@ -337,21 +348,21 @@ format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339- [[package]] name = "keyring" -version = "23.9.3" +version = "23.11.0" description = "Store and access your passwords safely." category = "dev" optional = false python-versions = ">=3.7" [package.dependencies] -importlib-metadata = {version = ">=3.6", markers = "python_version < \"3.10\""} +importlib-metadata = {version = ">=4.11.4", markers = "python_version < \"3.12\""} "jaraco.classes" = "*" jeepney = {version = ">=0.4.2", markers = "sys_platform == \"linux\""} pywin32-ctypes = {version = "<0.1.0 || >0.1.0,<0.1.1 || >0.1.1", markers = "sys_platform == \"win32\""} SecretStorage = {version = ">=3.2", markers = "sys_platform == \"linux\""} [package.extras] -docs = ["jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx"] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"] testing = ["flake8 (<5)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] [[package]] @@ -377,11 +388,11 @@ test = ["pytest (<5.4)", "pytest-cov"] [[package]] name = "more-itertools" -version = "8.14.0" +version = "9.0.0" description = "More routines for operating on iterables, beyond itertools" category = "dev" optional = false -python-versions = ">=3.5" +python-versions = ">=3.7" [[package]] name = "multidict" @@ -446,7 +457,7 @@ testing = ["pytest", "pytest-benchmark"] [[package]] name = "portalocker" -version = "2.5.1" +version = "2.6.0" description = "Wraps the portalocker recipe for easy usage" category = "dev" optional = false @@ -462,7 +473,7 @@ tests = ["pytest (>=5.4.1)", "pytest-cov (>=2.8.1)", "pytest-mypy (>=0.8.0)", "p [[package]] name = "psutil" -version = "5.9.2" +version = "5.9.4" description = "Cross-platform lib for process and system monitoring in Python." category = "dev" optional = false @@ -527,7 +538,7 @@ diagrams = ["jinja2", "railroad-diagrams"] [[package]] name = "pyrsistent" -version = "0.18.1" +version = "0.19.2" description = "Persistent/Functional/Immutable data structures" category = "main" optional = false @@ -535,7 +546,7 @@ python-versions = ">=3.7" [[package]] name = "pytest" -version = "7.1.3" +version = "7.2.0" description = "pytest: simple powerful testing with Python" category = "dev" optional = false @@ -544,12 +555,12 @@ python-versions = ">=3.7" [package.dependencies] attrs = ">=19.2.0" colorama = {version = "*", markers = "sys_platform == \"win32\""} +exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} iniconfig = "*" packaging = "*" pluggy = ">=0.12,<2.0" -py = ">=1.8.2" -tomli = ">=1.0.0" +tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""} [package.extras] testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"] @@ -596,7 +607,7 @@ vcrpy = ">=2.0.1" [[package]] name = "pytest-sugar" -version = "0.9.5" +version = "0.9.6" description = "pytest-sugar is a plugin for pytest that changes the default look and feel of pytest (e.g. progressbar, show tests that fail instantly)." category = "dev" optional = false @@ -652,7 +663,7 @@ six = ">=1.5" [[package]] name = "pywin32" -version = "304" +version = "305" description = "Python for Window Extensions" category = "dev" optional = false @@ -676,7 +687,7 @@ python-versions = ">=3.6" [[package]] name = "readme-renderer" -version = "37.2" +version = "37.3" description = "readme_renderer is a library for rendering \"readme\" descriptions for Warehouse" category = "dev" optional = false @@ -710,11 +721,11 @@ use_chardet_on_py3 = ["chardet (>=3.0.2,<6)"] [[package]] name = "requests-toolbelt" -version = "0.9.1" +version = "0.10.1" description = "A utility belt for advanced users of python-requests" category = "dev" optional = false -python-versions = "*" +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" [package.dependencies] requests = ">=2.0.1,<3.0.0" @@ -777,7 +788,7 @@ widechars = ["wcwidth"] [[package]] name = "termcolor" -version = "2.0.1" +version = "2.1.0" description = "ANSI color formatting for output in terminal" category = "dev" optional = false @@ -833,7 +844,7 @@ urllib3 = ">=1.26.0" [[package]] name = "typing-extensions" -version = "4.3.0" +version = "4.4.0" description = "Backported and Experimental Type Hints for Python 3.7+" category = "main" optional = false @@ -897,15 +908,15 @@ typing-extensions = {version = ">=3.7.4", markers = "python_version < \"3.8\""} [[package]] name = "zipp" -version = "3.8.1" +version = "3.10.0" description = "Backport of pathlib-compatible object wrapper for zip files" category = "main" optional = false python-versions = ">=3.7" [package.extras] -docs = ["jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx"] -testing = ["func-timeout", "jaraco.itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"] +testing = ["flake8 (<5)", "func-timeout", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] [metadata] lock-version = "1.1" @@ -922,20 +933,20 @@ attrs = [ {file = "attrs-22.1.0.tar.gz", hash = "sha256:29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6"}, ] aws-xray-sdk = [ - {file = "aws-xray-sdk-2.10.0.tar.gz", hash = "sha256:9b14924fd0628cf92936055864655354003f0b1acc3e1c3ffde6403d0799dd7a"}, - {file = "aws_xray_sdk-2.10.0-py2.py3-none-any.whl", hash = "sha256:7551e81a796e1a5471ebe84844c40e8edf7c218db33506d046fec61f7495eda4"}, + {file = "aws-xray-sdk-2.11.0.tar.gz", hash = "sha256:78835fc841f03e550858f18a9973eab8618f47f22d2f59edf130578fa545a867"}, + {file = "aws_xray_sdk-2.11.0-py2.py3-none-any.whl", hash = "sha256:693fa3a4c790e131fe1e20814ede415a9eeeab5c3b7c868686d3e3c696b8524d"}, ] bleach = [ {file = "bleach-5.0.1-py3-none-any.whl", hash = "sha256:085f7f33c15bd408dd9b17a4ad77c577db66d76203e5984b1bd59baeee948b2a"}, {file = "bleach-5.0.1.tar.gz", hash = "sha256:0d03255c47eb9bd2f26aa9bb7f2107732e7e8fe195ca2f64709fcf3b0a4a085c"}, ] boto3 = [ - {file = "boto3-1.24.88-py3-none-any.whl", hash = "sha256:6b4cf1cd0be65202c4cf0e4c69099bac3620bcd4049ca25a5e223c668401dd69"}, - {file = "boto3-1.24.88.tar.gz", hash = "sha256:93934343cac76084600a520e5be70c52152364d0c410681c2e25c2290f0e151c"}, + {file = "boto3-1.26.9-py3-none-any.whl", hash = "sha256:27efa5eb229364bc4643d9e182de0891f73c21b65ef80b5bd02a977caeaf595c"}, + {file = "boto3-1.26.9.tar.gz", hash = "sha256:15b059251990706c5d5a556c42a6e6e781a51edadf48a42afdd06bd313adfaf2"}, ] botocore = [ - {file = "botocore-1.27.88-py3-none-any.whl", hash = "sha256:de4e087b24cd3bc369eb2e27f8fe94a6499f7dea08c919fba13cefb2496bd2bb"}, - {file = "botocore-1.27.88.tar.gz", hash = "sha256:ded0a4035baf91eb358ef501c92a8512543f5ab7658f459df3077a70a555b5cd"}, + {file = "botocore-1.29.9-py3-none-any.whl", hash = "sha256:c876a7c6a07d7f86f46a8cc765f0d38999b84ac1d7b0666d6ce08c0503e13145"}, + {file = "botocore-1.29.9.tar.gz", hash = "sha256:01f168e2418419a6d8b335ecc4330faa6a7332d5a097029fc9b4a3ae3c41cea2"}, ] certifi = [ {file = "certifi-2022.9.24-py3-none-any.whl", hash = "sha256:90c1a32f1d68f940488354e36370f6cca89f0f106db09518524c88d6ed83f382"}, @@ -1016,8 +1027,8 @@ click = [ {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"}, ] colorama = [ - {file = "colorama-0.4.5-py2.py3-none-any.whl", hash = "sha256:854bf444933e37f5824ae7bfc1e98d5bce2ebe4160d46b5edf346a89358e99da"}, - {file = "colorama-0.4.5.tar.gz", hash = "sha256:e6c6b4334fc50988a639d9b98aa429a0b57da6e17b9a44f0451f930b6967b7a4"}, + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] coverage = [ {file = "coverage-6.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ef8674b0ee8cc11e2d574e3e2998aea5df5ab242e012286824ea3c6970580e53"}, @@ -1072,37 +1083,41 @@ coverage = [ {file = "coverage-6.5.0.tar.gz", hash = "sha256:f642e90754ee3e06b0e7e51bce3379590e76b7f76b708e1a71ff043f87025c84"}, ] cryptography = [ - {file = "cryptography-38.0.1-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:10d1f29d6292fc95acb597bacefd5b9e812099d75a6469004fd38ba5471a977f"}, - {file = "cryptography-38.0.1-cp36-abi3-macosx_10_10_x86_64.whl", hash = "sha256:3fc26e22840b77326a764ceb5f02ca2d342305fba08f002a8c1f139540cdfaad"}, - {file = "cryptography-38.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:3b72c360427889b40f36dc214630e688c2fe03e16c162ef0aa41da7ab1455153"}, - {file = "cryptography-38.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:194044c6b89a2f9f169df475cc167f6157eb9151cc69af8a2a163481d45cc407"}, - {file = "cryptography-38.0.1-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca9f6784ea96b55ff41708b92c3f6aeaebde4c560308e5fbbd3173fbc466e94e"}, - {file = "cryptography-38.0.1-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:16fa61e7481f4b77ef53991075de29fc5bacb582a1244046d2e8b4bb72ef66d0"}, - {file = "cryptography-38.0.1-cp36-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:d4ef6cc305394ed669d4d9eebf10d3a101059bdcf2669c366ec1d14e4fb227bd"}, - {file = "cryptography-38.0.1-cp36-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:3261725c0ef84e7592597606f6583385fed2a5ec3909f43bc475ade9729a41d6"}, - {file = "cryptography-38.0.1-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:0297ffc478bdd237f5ca3a7dc96fc0d315670bfa099c04dc3a4a2172008a405a"}, - {file = "cryptography-38.0.1-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:89ed49784ba88c221756ff4d4755dbc03b3c8d2c5103f6d6b4f83a0fb1e85294"}, - {file = "cryptography-38.0.1-cp36-abi3-win32.whl", hash = "sha256:ac7e48f7e7261207d750fa7e55eac2d45f720027d5703cd9007e9b37bbb59ac0"}, - {file = "cryptography-38.0.1-cp36-abi3-win_amd64.whl", hash = "sha256:ad7353f6ddf285aeadfaf79e5a6829110106ff8189391704c1d8801aa0bae45a"}, - {file = "cryptography-38.0.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:896dd3a66959d3a5ddcfc140a53391f69ff1e8f25d93f0e2e7830c6de90ceb9d"}, - {file = "cryptography-38.0.1-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:d3971e2749a723e9084dd507584e2a2761f78ad2c638aa31e80bc7a15c9db4f9"}, - {file = "cryptography-38.0.1-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:79473cf8a5cbc471979bd9378c9f425384980fcf2ab6534b18ed7d0d9843987d"}, - {file = "cryptography-38.0.1-pp38-pypy38_pp73-macosx_10_10_x86_64.whl", hash = "sha256:d9e69ae01f99abe6ad646947bba8941e896cb3aa805be2597a0400e0764b5818"}, - {file = "cryptography-38.0.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5067ee7f2bce36b11d0e334abcd1ccf8c541fc0bbdaf57cdd511fdee53e879b6"}, - {file = "cryptography-38.0.1-pp38-pypy38_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:3e3a2599e640927089f932295a9a247fc40a5bdf69b0484532f530471a382750"}, - {file = "cryptography-38.0.1-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c2e5856248a416767322c8668ef1845ad46ee62629266f84a8f007a317141013"}, - {file = "cryptography-38.0.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:64760ba5331e3f1794d0bcaabc0d0c39e8c60bf67d09c93dc0e54189dfd7cfe5"}, - {file = "cryptography-38.0.1-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:b6c9b706316d7b5a137c35e14f4103e2115b088c412140fdbd5f87c73284df61"}, - {file = "cryptography-38.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b0163a849b6f315bf52815e238bc2b2346604413fa7c1601eea84bcddb5fb9ac"}, - {file = "cryptography-38.0.1-pp39-pypy39_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:d1a5bd52d684e49a36582193e0b89ff267704cd4025abefb9e26803adeb3e5fb"}, - {file = "cryptography-38.0.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:765fa194a0f3372d83005ab83ab35d7c5526c4e22951e46059b8ac678b44fa5a"}, - {file = "cryptography-38.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:52e7bee800ec869b4031093875279f1ff2ed12c1e2f74923e8f49c916afd1d3b"}, - {file = "cryptography-38.0.1.tar.gz", hash = "sha256:1db3d807a14931fa317f96435695d9ec386be7b84b618cc61cfa5d08b0ae33d7"}, + {file = "cryptography-38.0.3-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:984fe150f350a3c91e84de405fe49e688aa6092b3525f407a18b9646f6612320"}, + {file = "cryptography-38.0.3-cp36-abi3-macosx_10_10_x86_64.whl", hash = "sha256:ed7b00096790213e09eb11c97cc6e2b757f15f3d2f85833cd2d3ec3fe37c1722"}, + {file = "cryptography-38.0.3-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:bbf203f1a814007ce24bd4d51362991d5cb90ba0c177a9c08825f2cc304d871f"}, + {file = "cryptography-38.0.3-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:554bec92ee7d1e9d10ded2f7e92a5d70c1f74ba9524947c0ba0c850c7b011828"}, + {file = "cryptography-38.0.3-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1b52c9e5f8aa2b802d48bd693190341fae201ea51c7a167d69fc48b60e8a959"}, + {file = "cryptography-38.0.3-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:728f2694fa743a996d7784a6194da430f197d5c58e2f4e278612b359f455e4a2"}, + {file = "cryptography-38.0.3-cp36-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:dfb4f4dd568de1b6af9f4cda334adf7d72cf5bc052516e1b2608b683375dd95c"}, + {file = "cryptography-38.0.3-cp36-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:5419a127426084933076132d317911e3c6eb77568a1ce23c3ac1e12d111e61e0"}, + {file = "cryptography-38.0.3-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:9b24bcff7853ed18a63cfb0c2b008936a9554af24af2fb146e16d8e1aed75748"}, + {file = "cryptography-38.0.3-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:25c1d1f19729fb09d42e06b4bf9895212292cb27bb50229f5aa64d039ab29146"}, + {file = "cryptography-38.0.3-cp36-abi3-win32.whl", hash = "sha256:7f836217000342d448e1c9a342e9163149e45d5b5eca76a30e84503a5a96cab0"}, + {file = "cryptography-38.0.3-cp36-abi3-win_amd64.whl", hash = "sha256:c46837ea467ed1efea562bbeb543994c2d1f6e800785bd5a2c98bc096f5cb220"}, + {file = "cryptography-38.0.3-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06fc3cc7b6f6cca87bd56ec80a580c88f1da5306f505876a71c8cfa7050257dd"}, + {file = "cryptography-38.0.3-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:65535bc550b70bd6271984d9863a37741352b4aad6fb1b3344a54e6950249b55"}, + {file = "cryptography-38.0.3-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:5e89468fbd2fcd733b5899333bc54d0d06c80e04cd23d8c6f3e0542358c6060b"}, + {file = "cryptography-38.0.3-pp38-pypy38_pp73-macosx_10_10_x86_64.whl", hash = "sha256:6ab9516b85bebe7aa83f309bacc5f44a61eeb90d0b4ec125d2d003ce41932d36"}, + {file = "cryptography-38.0.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:068147f32fa662c81aebab95c74679b401b12b57494872886eb5c1139250ec5d"}, + {file = "cryptography-38.0.3-pp38-pypy38_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:402852a0aea73833d982cabb6d0c3bb582c15483d29fb7085ef2c42bfa7e38d7"}, + {file = "cryptography-38.0.3-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b1b35d9d3a65542ed2e9d90115dfd16bbc027b3f07ee3304fc83580f26e43249"}, + {file = "cryptography-38.0.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:6addc3b6d593cd980989261dc1cce38263c76954d758c3c94de51f1e010c9a50"}, + {file = "cryptography-38.0.3-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:be243c7e2bfcf6cc4cb350c0d5cdf15ca6383bbcb2a8ef51d3c9411a9d4386f0"}, + {file = "cryptography-38.0.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78cf5eefac2b52c10398a42765bfa981ce2372cbc0457e6bf9658f41ec3c41d8"}, + {file = "cryptography-38.0.3-pp39-pypy39_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:4e269dcd9b102c5a3d72be3c45d8ce20377b8076a43cbed6f660a1afe365e436"}, + {file = "cryptography-38.0.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:8d41a46251bf0634e21fac50ffd643216ccecfaf3701a063257fe0b2be1b6548"}, + {file = "cryptography-38.0.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:785e4056b5a8b28f05a533fab69febf5004458e20dad7e2e13a3120d8ecec75a"}, + {file = "cryptography-38.0.3.tar.gz", hash = "sha256:bfbe6ee19615b07a98b1d2287d6a6073f734735b49ee45b11324d85efc4d5cbd"}, ] docutils = [ {file = "docutils-0.17.1-py2.py3-none-any.whl", hash = "sha256:cf316c8370a737a022b72b56874f6602acf974a37a9fba42ec2876387549fc61"}, {file = "docutils-0.17.1.tar.gz", hash = "sha256:686577d2e4c32380bb50cbb22f575ed742d58168cee37e99117a854bcd88f125"}, ] +exceptiongroup = [ + {file = "exceptiongroup-1.0.3-py3-none-any.whl", hash = "sha256:6002703c7d31fb9950ddc8780840f67880c440895dc1151dd551553aa1246e4a"}, + {file = "exceptiongroup-1.0.3.tar.gz", hash = "sha256:76cac74b5207c5997678a1c7105cb6f14213c9c63c096a38cfcb529d83ce5c02"}, +] execnet = [ {file = "execnet-1.9.0-py2.py3-none-any.whl", hash = "sha256:a295f7cc774947aac58dde7fdc85f4aa00c42adf5d8f5468fc630c1acf30a142"}, {file = "execnet-1.9.0.tar.gz", hash = "sha256:8f694f3ba9cc92cab508b152dcfe322153975c29bda272e2fd7f3f00f36e47c5"}, @@ -1124,8 +1139,8 @@ importlib-metadata = [ {file = "importlib_metadata-4.13.0.tar.gz", hash = "sha256:dd0173e8f150d6815e098fd354f6414b0f079af4644ddfe90c71e2fc6174346d"}, ] importlib-resources = [ - {file = "importlib_resources-5.9.0-py3-none-any.whl", hash = "sha256:f78a8df21a79bcc30cfd400bdc38f314333de7c0fb619763f6b9dabab8268bb7"}, - {file = "importlib_resources-5.9.0.tar.gz", hash = "sha256:5481e97fb45af8dcf2f798952625591c58fe599d0735d86b10f54de086a61681"}, + {file = "importlib_resources-5.10.0-py3-none-any.whl", hash = "sha256:ee17ec648f85480d523596ce49eae8ead87d5631ae1551f913c0100b5edd3437"}, + {file = "importlib_resources-5.10.0.tar.gz", hash = "sha256:c01b1b94210d9849f286b86bb51bcea7cd56dde0600d8db721d7b81330711668"}, ] iniconfig = [ {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"}, @@ -1152,12 +1167,12 @@ jsonpointer = [ {file = "jsonpointer-2.3.tar.gz", hash = "sha256:97cba51526c829282218feb99dab1b1e6bdf8efd1c43dc9d57be093c0d69c99a"}, ] jsonschema = [ - {file = "jsonschema-4.16.0-py3-none-any.whl", hash = "sha256:9e74b8f9738d6a946d70705dc692b74b5429cd0960d58e79ffecfc43b2221eb9"}, - {file = "jsonschema-4.16.0.tar.gz", hash = "sha256:165059f076eff6971bae5b742fc029a7b4ef3f9bcf04c14e4776a7605de14b23"}, + {file = "jsonschema-4.17.0-py3-none-any.whl", hash = "sha256:f660066c3966db7d6daeaea8a75e0b68237a48e51cf49882087757bb59916248"}, + {file = "jsonschema-4.17.0.tar.gz", hash = "sha256:5bfcf2bca16a087ade17e02b282d34af7ccd749ef76241e7f9bd7c0cb8a9424d"}, ] keyring = [ - {file = "keyring-23.9.3-py3-none-any.whl", hash = "sha256:69732a15cb1433bdfbc3b980a8a36a04878a6cfd7cb99f497b573f31618001c0"}, - {file = "keyring-23.9.3.tar.gz", hash = "sha256:69b01dd83c42f590250fe7a1f503fc229b14de83857314b1933a3ddbf595c4a5"}, + {file = "keyring-23.11.0-py3-none-any.whl", hash = "sha256:3dd30011d555f1345dec2c262f0153f2f0ca6bca041fb1dc4588349bb4c0ac1e"}, + {file = "keyring-23.11.0.tar.gz", hash = "sha256:ad192263e2cdd5f12875dedc2da13534359a7e760e77f8d04b50968a821c2361"}, ] mccabe = [ {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"}, @@ -1168,8 +1183,8 @@ mock = [ {file = "mock-4.0.3.tar.gz", hash = "sha256:7d3fbbde18228f4ff2f1f119a45cdffa458b4c0dee32eb4d2bb2f82554bac7bc"}, ] more-itertools = [ - {file = "more-itertools-8.14.0.tar.gz", hash = "sha256:c09443cd3d5438b8dafccd867a6bc1cb0894389e90cb53d227456b0b0bccb750"}, - {file = "more_itertools-8.14.0-py3-none-any.whl", hash = "sha256:1bc4f91ee5b1b31ac7ceacc17c09befe6a40a503907baf9c839c229b5095cfd2"}, + {file = "more-itertools-9.0.0.tar.gz", hash = "sha256:5a6257e40878ef0520b1803990e3e22303a41b5714006c32a3fd8304b26ea1ab"}, + {file = "more_itertools-9.0.0-py3-none-any.whl", hash = "sha256:250e83d7e81d0c87ca6bd942e6aeab8cc9daa6096d12c5308f3f92fa5e5c1f41"}, ] multidict = [ {file = "multidict-6.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b9e95a740109c6047602f4db4da9949e6c5945cefbad34a1299775ddc9a62e2"}, @@ -1252,42 +1267,24 @@ pluggy = [ {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"}, ] portalocker = [ - {file = "portalocker-2.5.1-py2.py3-none-any.whl", hash = "sha256:400bae275366e7b840d4baad0654c6ec5994e07c40c423d78e9e1340279b8352"}, - {file = "portalocker-2.5.1.tar.gz", hash = "sha256:ae8e9cc2660da04bf41fa1a0eef7e300bb5e4a5869adfb1a6d8551632b559b2b"}, + {file = "portalocker-2.6.0-py2.py3-none-any.whl", hash = "sha256:102ed1f2badd8dec9af3d732ef70e94b215b85ba45a8d7ff3c0003f19b442f4e"}, + {file = "portalocker-2.6.0.tar.gz", hash = "sha256:964f6830fb42a74b5d32bce99ed37d8308c1d7d44ddf18f3dd89f4680de97b39"}, ] psutil = [ - {file = "psutil-5.9.2-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:8f024fbb26c8daf5d70287bb3edfafa22283c255287cf523c5d81721e8e5d82c"}, - {file = "psutil-5.9.2-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:b2f248ffc346f4f4f0d747ee1947963613216b06688be0be2e393986fe20dbbb"}, - {file = "psutil-5.9.2-cp27-cp27m-win32.whl", hash = "sha256:b1928b9bf478d31fdffdb57101d18f9b70ed4e9b0e41af751851813547b2a9ab"}, - {file = "psutil-5.9.2-cp27-cp27m-win_amd64.whl", hash = "sha256:404f4816c16a2fcc4eaa36d7eb49a66df2d083e829d3e39ee8759a411dbc9ecf"}, - {file = "psutil-5.9.2-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:94e621c6a4ddb2573d4d30cba074f6d1aa0186645917df42c811c473dd22b339"}, - {file = "psutil-5.9.2-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:256098b4f6ffea6441eb54ab3eb64db9ecef18f6a80d7ba91549195d55420f84"}, - {file = "psutil-5.9.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:614337922702e9be37a39954d67fdb9e855981624d8011a9927b8f2d3c9625d9"}, - {file = "psutil-5.9.2-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:39ec06dc6c934fb53df10c1672e299145ce609ff0611b569e75a88f313634969"}, - {file = "psutil-5.9.2-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3ac2c0375ef498e74b9b4ec56df3c88be43fe56cac465627572dbfb21c4be34"}, - {file = "psutil-5.9.2-cp310-cp310-win32.whl", hash = "sha256:e4c4a7636ffc47b7141864f1c5e7d649f42c54e49da2dd3cceb1c5f5d29bfc85"}, - {file = "psutil-5.9.2-cp310-cp310-win_amd64.whl", hash = "sha256:f4cb67215c10d4657e320037109939b1c1d2fd70ca3d76301992f89fe2edb1f1"}, - {file = "psutil-5.9.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:dc9bda7d5ced744622f157cc8d8bdd51735dafcecff807e928ff26bdb0ff097d"}, - {file = "psutil-5.9.2-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d75291912b945a7351d45df682f9644540d564d62115d4a20d45fa17dc2d48f8"}, - {file = "psutil-5.9.2-cp36-cp36m-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b4018d5f9b6651f9896c7a7c2c9f4652e4eea53f10751c4e7d08a9093ab587ec"}, - {file = "psutil-5.9.2-cp36-cp36m-win32.whl", hash = "sha256:f40ba362fefc11d6bea4403f070078d60053ed422255bd838cd86a40674364c9"}, - {file = "psutil-5.9.2-cp36-cp36m-win_amd64.whl", hash = "sha256:9770c1d25aee91417eba7869139d629d6328a9422ce1cdd112bd56377ca98444"}, - {file = "psutil-5.9.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:42638876b7f5ef43cef8dcf640d3401b27a51ee3fa137cb2aa2e72e188414c32"}, - {file = "psutil-5.9.2-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:91aa0dac0c64688667b4285fa29354acfb3e834e1fd98b535b9986c883c2ce1d"}, - {file = "psutil-5.9.2-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4fb54941aac044a61db9d8eb56fc5bee207db3bc58645d657249030e15ba3727"}, - {file = "psutil-5.9.2-cp37-cp37m-win32.whl", hash = "sha256:7cbb795dcd8ed8fd238bc9e9f64ab188f3f4096d2e811b5a82da53d164b84c3f"}, - {file = "psutil-5.9.2-cp37-cp37m-win_amd64.whl", hash = "sha256:5d39e3a2d5c40efa977c9a8dd4f679763c43c6c255b1340a56489955dbca767c"}, - {file = "psutil-5.9.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:fd331866628d18223a4265371fd255774affd86244fc307ef66eaf00de0633d5"}, - {file = "psutil-5.9.2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b315febaebae813326296872fdb4be92ad3ce10d1d742a6b0c49fb619481ed0b"}, - {file = "psutil-5.9.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7929a516125f62399d6e8e026129c8835f6c5a3aab88c3fff1a05ee8feb840d"}, - {file = "psutil-5.9.2-cp38-cp38-win32.whl", hash = "sha256:561dec454853846d1dd0247b44c2e66a0a0c490f937086930ec4b8f83bf44f06"}, - {file = "psutil-5.9.2-cp38-cp38-win_amd64.whl", hash = "sha256:67b33f27fc0427483b61563a16c90d9f3b547eeb7af0ef1b9fe024cdc9b3a6ea"}, - {file = "psutil-5.9.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b3591616fa07b15050b2f87e1cdefd06a554382e72866fcc0ab2be9d116486c8"}, - {file = "psutil-5.9.2-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:14b29f581b5edab1f133563272a6011925401804d52d603c5c606936b49c8b97"}, - {file = "psutil-5.9.2-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4642fd93785a29353d6917a23e2ac6177308ef5e8be5cc17008d885cb9f70f12"}, - {file = "psutil-5.9.2-cp39-cp39-win32.whl", hash = "sha256:ed29ea0b9a372c5188cdb2ad39f937900a10fb5478dc077283bf86eeac678ef1"}, - {file = "psutil-5.9.2-cp39-cp39-win_amd64.whl", hash = "sha256:68b35cbff92d1f7103d8f1db77c977e72f49fcefae3d3d2b91c76b0e7aef48b8"}, - {file = "psutil-5.9.2.tar.gz", hash = "sha256:feb861a10b6c3bb00701063b37e4afc754f8217f0f09c42280586bd6ac712b5c"}, + {file = "psutil-5.9.4-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:c1ca331af862803a42677c120aff8a814a804e09832f166f226bfd22b56feee8"}, + {file = "psutil-5.9.4-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:68908971daf802203f3d37e78d3f8831b6d1014864d7a85937941bb35f09aefe"}, + {file = "psutil-5.9.4-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:3ff89f9b835100a825b14c2808a106b6fdcc4b15483141482a12c725e7f78549"}, + {file = "psutil-5.9.4-cp27-cp27m-win32.whl", hash = "sha256:852dd5d9f8a47169fe62fd4a971aa07859476c2ba22c2254d4a1baa4e10b95ad"}, + {file = "psutil-5.9.4-cp27-cp27m-win_amd64.whl", hash = "sha256:9120cd39dca5c5e1c54b59a41d205023d436799b1c8c4d3ff71af18535728e94"}, + {file = "psutil-5.9.4-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:6b92c532979bafc2df23ddc785ed116fced1f492ad90a6830cf24f4d1ea27d24"}, + {file = "psutil-5.9.4-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:efeae04f9516907be44904cc7ce08defb6b665128992a56957abc9b61dca94b7"}, + {file = "psutil-5.9.4-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:54d5b184728298f2ca8567bf83c422b706200bcbbfafdc06718264f9393cfeb7"}, + {file = "psutil-5.9.4-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:16653106f3b59386ffe10e0bad3bb6299e169d5327d3f187614b1cb8f24cf2e1"}, + {file = "psutil-5.9.4-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:54c0d3d8e0078b7666984e11b12b88af2db11d11249a8ac8920dd5ef68a66e08"}, + {file = "psutil-5.9.4-cp36-abi3-win32.whl", hash = "sha256:149555f59a69b33f056ba1c4eb22bb7bf24332ce631c44a319cec09f876aaeff"}, + {file = "psutil-5.9.4-cp36-abi3-win_amd64.whl", hash = "sha256:fd8522436a6ada7b4aad6638662966de0d61d241cb821239b2ae7013d41a43d4"}, + {file = "psutil-5.9.4-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:6001c809253a29599bc0dfd5179d9f8a5779f9dffea1da0f13c53ee568115e1e"}, + {file = "psutil-5.9.4.tar.gz", hash = "sha256:3d7f9739eb435d4b1338944abe23f49584bde5395f27487d2ee25ad9a8774a62"}, ] py = [ {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"}, @@ -1314,31 +1311,32 @@ pyparsing = [ {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"}, ] pyrsistent = [ - {file = "pyrsistent-0.18.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:df46c854f490f81210870e509818b729db4488e1f30f2a1ce1698b2295a878d1"}, - {file = "pyrsistent-0.18.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d45866ececf4a5fff8742c25722da6d4c9e180daa7b405dc0a2a2790d668c26"}, - {file = "pyrsistent-0.18.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4ed6784ceac462a7d6fcb7e9b663e93b9a6fb373b7f43594f9ff68875788e01e"}, - {file = "pyrsistent-0.18.1-cp310-cp310-win32.whl", hash = "sha256:e4f3149fd5eb9b285d6bfb54d2e5173f6a116fe19172686797c056672689daf6"}, - {file = "pyrsistent-0.18.1-cp310-cp310-win_amd64.whl", hash = "sha256:636ce2dc235046ccd3d8c56a7ad54e99d5c1cd0ef07d9ae847306c91d11b5fec"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e92a52c166426efbe0d1ec1332ee9119b6d32fc1f0bbfd55d5c1088070e7fc1b"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d7a096646eab884bf8bed965bad63ea327e0d0c38989fc83c5ea7b8a87037bfc"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cdfd2c361b8a8e5d9499b9082b501c452ade8bbf42aef97ea04854f4a3f43b22"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-win32.whl", hash = "sha256:7ec335fc998faa4febe75cc5268a9eac0478b3f681602c1f27befaf2a1abe1d8"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-win_amd64.whl", hash = "sha256:6455fc599df93d1f60e1c5c4fe471499f08d190d57eca040c0ea182301321286"}, - {file = "pyrsistent-0.18.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:fd8da6d0124efa2f67d86fa70c851022f87c98e205f0594e1fae044e7119a5a6"}, - {file = "pyrsistent-0.18.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7bfe2388663fd18bd8ce7db2c91c7400bf3e1a9e8bd7d63bf7e77d39051b85ec"}, - {file = "pyrsistent-0.18.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e3e1fcc45199df76053026a51cc59ab2ea3fc7c094c6627e93b7b44cdae2c8c"}, - {file = "pyrsistent-0.18.1-cp38-cp38-win32.whl", hash = "sha256:b568f35ad53a7b07ed9b1b2bae09eb15cdd671a5ba5d2c66caee40dbf91c68ca"}, - {file = "pyrsistent-0.18.1-cp38-cp38-win_amd64.whl", hash = "sha256:d1b96547410f76078eaf66d282ddca2e4baae8964364abb4f4dcdde855cd123a"}, - {file = "pyrsistent-0.18.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f87cc2863ef33c709e237d4b5f4502a62a00fab450c9e020892e8e2ede5847f5"}, - {file = "pyrsistent-0.18.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bc66318fb7ee012071b2792024564973ecc80e9522842eb4e17743604b5e045"}, - {file = "pyrsistent-0.18.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:914474c9f1d93080338ace89cb2acee74f4f666fb0424896fcfb8d86058bf17c"}, - {file = "pyrsistent-0.18.1-cp39-cp39-win32.whl", hash = "sha256:1b34eedd6812bf4d33814fca1b66005805d3640ce53140ab8bbb1e2651b0d9bc"}, - {file = "pyrsistent-0.18.1-cp39-cp39-win_amd64.whl", hash = "sha256:e24a828f57e0c337c8d8bb9f6b12f09dfdf0273da25fda9e314f0b684b415a07"}, - {file = "pyrsistent-0.18.1.tar.gz", hash = "sha256:d4d61f8b993a7255ba714df3aca52700f8125289f84f704cf80916517c46eb96"}, + {file = "pyrsistent-0.19.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d6982b5a0237e1b7d876b60265564648a69b14017f3b5f908c5be2de3f9abb7a"}, + {file = "pyrsistent-0.19.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:187d5730b0507d9285a96fca9716310d572e5464cadd19f22b63a6976254d77a"}, + {file = "pyrsistent-0.19.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:055ab45d5911d7cae397dc418808d8802fb95262751872c841c170b0dbf51eed"}, + {file = "pyrsistent-0.19.2-cp310-cp310-win32.whl", hash = "sha256:456cb30ca8bff00596519f2c53e42c245c09e1a4543945703acd4312949bfd41"}, + {file = "pyrsistent-0.19.2-cp310-cp310-win_amd64.whl", hash = "sha256:b39725209e06759217d1ac5fcdb510e98670af9e37223985f330b611f62e7425"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2aede922a488861de0ad00c7630a6e2d57e8023e4be72d9d7147a9fcd2d30712"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:879b4c2f4d41585c42df4d7654ddffff1239dc4065bc88b745f0341828b83e78"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c43bec251bbd10e3cb58ced80609c5c1eb238da9ca78b964aea410fb820d00d6"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-win32.whl", hash = "sha256:d690b18ac4b3e3cab73b0b7aa7dbe65978a172ff94970ff98d82f2031f8971c2"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-win_amd64.whl", hash = "sha256:3ba4134a3ff0fc7ad225b6b457d1309f4698108fb6b35532d015dca8f5abed73"}, + {file = "pyrsistent-0.19.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a178209e2df710e3f142cbd05313ba0c5ebed0a55d78d9945ac7a4e09d923308"}, + {file = "pyrsistent-0.19.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e371b844cec09d8dc424d940e54bba8f67a03ebea20ff7b7b0d56f526c71d584"}, + {file = "pyrsistent-0.19.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:111156137b2e71f3a9936baf27cb322e8024dac3dc54ec7fb9f0bcf3249e68bb"}, + {file = "pyrsistent-0.19.2-cp38-cp38-win32.whl", hash = "sha256:e5d8f84d81e3729c3b506657dddfe46e8ba9c330bf1858ee33108f8bb2adb38a"}, + {file = "pyrsistent-0.19.2-cp38-cp38-win_amd64.whl", hash = "sha256:9cd3e9978d12b5d99cbdc727a3022da0430ad007dacf33d0bf554b96427f33ab"}, + {file = "pyrsistent-0.19.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f1258f4e6c42ad0b20f9cfcc3ada5bd6b83374516cd01c0960e3cb75fdca6770"}, + {file = "pyrsistent-0.19.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21455e2b16000440e896ab99e8304617151981ed40c29e9507ef1c2e4314ee95"}, + {file = "pyrsistent-0.19.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bfd880614c6237243ff53a0539f1cb26987a6dc8ac6e66e0c5a40617296a045e"}, + {file = "pyrsistent-0.19.2-cp39-cp39-win32.whl", hash = "sha256:71d332b0320642b3261e9fee47ab9e65872c2bd90260e5d225dabeed93cbd42b"}, + {file = "pyrsistent-0.19.2-cp39-cp39-win_amd64.whl", hash = "sha256:dec3eac7549869365fe263831f576c8457f6c833937c68542d08fde73457d291"}, + {file = "pyrsistent-0.19.2-py3-none-any.whl", hash = "sha256:ea6b79a02a28550c98b6ca9c35b9f492beaa54d7c5c9e9949555893c8a9234d0"}, + {file = "pyrsistent-0.19.2.tar.gz", hash = "sha256:bfa0351be89c9fcbcb8c9879b826f4353be10f58f8a677efab0c017bf7137ec2"}, ] pytest = [ - {file = "pytest-7.1.3-py3-none-any.whl", hash = "sha256:1377bda3466d70b55e3f5cecfa55bb7cfcf219c7964629b967c37cf0bda818b7"}, - {file = "pytest-7.1.3.tar.gz", hash = "sha256:4f365fec2dff9c1162f834d9f18af1ba13062db0c708bf7b946f8a5c76180c39"}, + {file = "pytest-7.2.0-py3-none-any.whl", hash = "sha256:892f933d339f068883b6fd5a459f03d85bfcb355e4981e146d2c7616c21fef71"}, + {file = "pytest-7.2.0.tar.gz", hash = "sha256:c4014eb40e10f11f355ad4e3c2fb2c6c6d1919c73f3b5a433de4708202cade59"}, ] pytest-cov = [ {file = "pytest-cov-3.0.0.tar.gz", hash = "sha256:e7f0f5b1617d2210a2cabc266dfe2f4c75a8d32fb89eafb7ad9d06f6d076d470"}, @@ -1353,8 +1351,8 @@ pytest-recording = [ {file = "pytest_recording-0.12.1-py3-none-any.whl", hash = "sha256:6b5546b822b270b8d7338f70950453be45e4aa5bfd884d97583dfa47288380f9"}, ] pytest-sugar = [ - {file = "pytest-sugar-0.9.5.tar.gz", hash = "sha256:eea78b6f15b635277d3d90280cd386d8feea1cab0f9be75947a626e8b02b477d"}, - {file = "pytest_sugar-0.9.5-py2.py3-none-any.whl", hash = "sha256:3da42de32ce4e1e95b448d61c92804433f5d4058c0a765096991c2e93d5a289f"}, + {file = "pytest-sugar-0.9.6.tar.gz", hash = "sha256:c4793495f3c32e114f0f5416290946c316eb96ad5a3684dcdadda9267e59b2b8"}, + {file = "pytest_sugar-0.9.6-py2.py3-none-any.whl", hash = "sha256:30e5225ed2b3cc988a8a672f8bda0fc37bcd92d62e9273937f061112b3f2186d"}, ] pytest-terraform = [ {file = "pytest-terraform-0.6.4.tar.gz", hash = "sha256:5d6c5087c8524fe471f3d31f107e22b05f8ee9c7f6aa5984d953a6559589dff9"}, @@ -1369,20 +1367,20 @@ python-dateutil = [ {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, ] pywin32 = [ - {file = "pywin32-304-cp310-cp310-win32.whl", hash = "sha256:3c7bacf5e24298c86314f03fa20e16558a4e4138fc34615d7de4070c23e65af3"}, - {file = "pywin32-304-cp310-cp310-win_amd64.whl", hash = "sha256:4f32145913a2447736dad62495199a8e280a77a0ca662daa2332acf849f0be48"}, - {file = "pywin32-304-cp310-cp310-win_arm64.whl", hash = "sha256:d3ee45adff48e0551d1aa60d2ec066fec006083b791f5c3527c40cd8aefac71f"}, - {file = "pywin32-304-cp311-cp311-win32.whl", hash = "sha256:30c53d6ce44c12a316a06c153ea74152d3b1342610f1b99d40ba2795e5af0269"}, - {file = "pywin32-304-cp311-cp311-win_amd64.whl", hash = "sha256:7ffa0c0fa4ae4077e8b8aa73800540ef8c24530057768c3ac57c609f99a14fd4"}, - {file = "pywin32-304-cp311-cp311-win_arm64.whl", hash = "sha256:cbbe34dad39bdbaa2889a424d28752f1b4971939b14b1bb48cbf0182a3bcfc43"}, - {file = "pywin32-304-cp36-cp36m-win32.whl", hash = "sha256:be253e7b14bc601718f014d2832e4c18a5b023cbe72db826da63df76b77507a1"}, - {file = "pywin32-304-cp36-cp36m-win_amd64.whl", hash = "sha256:de9827c23321dcf43d2f288f09f3b6d772fee11e809015bdae9e69fe13213988"}, - {file = "pywin32-304-cp37-cp37m-win32.whl", hash = "sha256:f64c0377cf01b61bd5e76c25e1480ca8ab3b73f0c4add50538d332afdf8f69c5"}, - {file = "pywin32-304-cp37-cp37m-win_amd64.whl", hash = "sha256:bb2ea2aa81e96eee6a6b79d87e1d1648d3f8b87f9a64499e0b92b30d141e76df"}, - {file = "pywin32-304-cp38-cp38-win32.whl", hash = "sha256:94037b5259701988954931333aafd39cf897e990852115656b014ce72e052e96"}, - {file = "pywin32-304-cp38-cp38-win_amd64.whl", hash = "sha256:ead865a2e179b30fb717831f73cf4373401fc62fbc3455a0889a7ddac848f83e"}, - {file = "pywin32-304-cp39-cp39-win32.whl", hash = "sha256:25746d841201fd9f96b648a248f731c1dec851c9a08b8e33da8b56148e4c65cc"}, - {file = "pywin32-304-cp39-cp39-win_amd64.whl", hash = "sha256:d24a3382f013b21aa24a5cfbfad5a2cd9926610c0affde3e8ab5b3d7dbcf4ac9"}, + {file = "pywin32-305-cp310-cp310-win32.whl", hash = "sha256:421f6cd86e84bbb696d54563c48014b12a23ef95a14e0bdba526be756d89f116"}, + {file = "pywin32-305-cp310-cp310-win_amd64.whl", hash = "sha256:73e819c6bed89f44ff1d690498c0a811948f73777e5f97c494c152b850fad478"}, + {file = "pywin32-305-cp310-cp310-win_arm64.whl", hash = "sha256:742eb905ce2187133a29365b428e6c3b9001d79accdc30aa8969afba1d8470f4"}, + {file = "pywin32-305-cp311-cp311-win32.whl", hash = "sha256:19ca459cd2e66c0e2cc9a09d589f71d827f26d47fe4a9d09175f6aa0256b51c2"}, + {file = "pywin32-305-cp311-cp311-win_amd64.whl", hash = "sha256:326f42ab4cfff56e77e3e595aeaf6c216712bbdd91e464d167c6434b28d65990"}, + {file = "pywin32-305-cp311-cp311-win_arm64.whl", hash = "sha256:4ecd404b2c6eceaca52f8b2e3e91b2187850a1ad3f8b746d0796a98b4cea04db"}, + {file = "pywin32-305-cp36-cp36m-win32.whl", hash = "sha256:48d8b1659284f3c17b68587af047d110d8c44837736b8932c034091683e05863"}, + {file = "pywin32-305-cp36-cp36m-win_amd64.whl", hash = "sha256:13362cc5aa93c2beaf489c9c9017c793722aeb56d3e5166dadd5ef82da021fe1"}, + {file = "pywin32-305-cp37-cp37m-win32.whl", hash = "sha256:a55db448124d1c1484df22fa8bbcbc45c64da5e6eae74ab095b9ea62e6d00496"}, + {file = "pywin32-305-cp37-cp37m-win_amd64.whl", hash = "sha256:109f98980bfb27e78f4df8a51a8198e10b0f347257d1e265bb1a32993d0c973d"}, + {file = "pywin32-305-cp38-cp38-win32.whl", hash = "sha256:9dd98384da775afa009bc04863426cb30596fd78c6f8e4e2e5bbf4edf8029504"}, + {file = "pywin32-305-cp38-cp38-win_amd64.whl", hash = "sha256:56d7a9c6e1a6835f521788f53b5af7912090674bb84ef5611663ee1595860fc7"}, + {file = "pywin32-305-cp39-cp39-win32.whl", hash = "sha256:9d968c677ac4d5cbdaa62fd3014ab241718e619d8e36ef8e11fb930515a1e918"}, + {file = "pywin32-305-cp39-cp39-win_amd64.whl", hash = "sha256:50768c6b7c3f0b38b7fb14dd4104da93ebced5f1a50dc0e834594bff6fbe1271"}, ] pywin32-ctypes = [ {file = "pywin32-ctypes-0.2.0.tar.gz", hash = "sha256:24ffc3b341d457d48e8922352130cf2644024a4ff09762a2261fd34c36ee5942"}, @@ -1431,16 +1429,16 @@ PyYAML = [ {file = "PyYAML-6.0.tar.gz", hash = "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"}, ] readme-renderer = [ - {file = "readme_renderer-37.2-py3-none-any.whl", hash = "sha256:d3f06a69e8c40fca9ab3174eca48f96d9771eddb43517b17d96583418427b106"}, - {file = "readme_renderer-37.2.tar.gz", hash = "sha256:e8ad25293c98f781dbc2c5a36a309929390009f902f99e1798c761aaf04a7923"}, + {file = "readme_renderer-37.3-py3-none-any.whl", hash = "sha256:f67a16caedfa71eef48a31b39708637a6f4664c4394801a7b0d6432d13907343"}, + {file = "readme_renderer-37.3.tar.gz", hash = "sha256:cd653186dfc73055656f090f227f5cb22a046d7f71a841dfa305f55c9a513273"}, ] requests = [ {file = "requests-2.28.1-py3-none-any.whl", hash = "sha256:8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349"}, {file = "requests-2.28.1.tar.gz", hash = "sha256:7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983"}, ] requests-toolbelt = [ - {file = "requests-toolbelt-0.9.1.tar.gz", hash = "sha256:968089d4584ad4ad7c171454f0a5c6dac23971e9472521ea3b6d49d610aa6fc0"}, - {file = "requests_toolbelt-0.9.1-py2.py3-none-any.whl", hash = "sha256:380606e1d10dc85c3bd47bf5a6095f815ec007be7a8b69c878507068df059e6f"}, + {file = "requests-toolbelt-0.10.1.tar.gz", hash = "sha256:62e09f7ff5ccbda92772a29f394a49c3ad6cb181d568b1337626b2abb628a63d"}, + {file = "requests_toolbelt-0.10.1-py2.py3-none-any.whl", hash = "sha256:18565aa58116d9951ac39baa288d3adb5b3ff975c4f25eee78555d89e8f247f7"}, ] rfc3986 = [ {file = "rfc3986-2.0.0-py2.py3-none-any.whl", hash = "sha256:50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd"}, @@ -1463,8 +1461,8 @@ tabulate = [ {file = "tabulate-0.8.10.tar.gz", hash = "sha256:6c57f3f3dd7ac2782770155f3adb2db0b1a269637e42f27599925e64b114f519"}, ] termcolor = [ - {file = "termcolor-2.0.1-py3-none-any.whl", hash = "sha256:7e597f9de8e001a3208c4132938597413b9da45382b6f1d150cff8d062b7aaa3"}, - {file = "termcolor-2.0.1.tar.gz", hash = "sha256:6b2cf769e93364a2676e1de56a7c0cff2cf5bd07f37e9cc80b0dd6320ebfe388"}, + {file = "termcolor-2.1.0-py3-none-any.whl", hash = "sha256:91dd04fdf661b89d7169cefd35f609b19ca931eb033687eaa647cef1ff177c49"}, + {file = "termcolor-2.1.0.tar.gz", hash = "sha256:b80df54667ce4f48c03fe35df194f052dc27a541ebbf2544e4d6b47b5d6949c4"}, ] tomli = [ {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, @@ -1479,8 +1477,8 @@ twine = [ {file = "twine-3.8.0.tar.gz", hash = "sha256:8efa52658e0ae770686a13b675569328f1fba9837e5de1867bfe5f46a9aefe19"}, ] typing-extensions = [ - {file = "typing_extensions-4.3.0-py3-none-any.whl", hash = "sha256:25642c956049920a5aa49edcdd6ab1e06d7e5d467fc00e0506c44ac86fbfca02"}, - {file = "typing_extensions-4.3.0.tar.gz", hash = "sha256:e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6"}, + {file = "typing_extensions-4.4.0-py3-none-any.whl", hash = "sha256:16fa4864408f655d35ec496218b85f79b3437c829e93320c7c9215ccfd92489e"}, + {file = "typing_extensions-4.4.0.tar.gz", hash = "sha256:1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa"}, ] urllib3 = [ {file = "urllib3-1.26.12-py2.py3-none-any.whl", hash = "sha256:b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997"}, @@ -1622,6 +1620,6 @@ yarl = [ {file = "yarl-1.8.1.tar.gz", hash = "sha256:af887845b8c2e060eb5605ff72b6f2dd2aab7a761379373fd89d314f4752abbf"}, ] zipp = [ - {file = "zipp-3.8.1-py3-none-any.whl", hash = "sha256:47c40d7fe183a6f21403a199b3e4192cca5774656965b0a4988ad2f8feb5f009"}, - {file = "zipp-3.8.1.tar.gz", hash = "sha256:05b45f1ee8f807d0cc928485ca40a07cb491cf092ff587c0df9cb1fd154848d2"}, + {file = "zipp-3.10.0-py3-none-any.whl", hash = "sha256:4fcb6f278987a6605757302a6e40e896257570d11c51628968ccb2a47e80c6c1"}, + {file = "zipp-3.10.0.tar.gz", hash = "sha256:7a7262fd930bd3e36c50b9a64897aec3fafff3dfdeec9623ae22b40e93f99bb8"}, ] diff --git a/pyproject.toml b/pyproject.toml index f97cff76319..be4755287b9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "c7n" -version = "0.9.20" +version = "0.9.21" description = "Cloud Custodian - Policy Rules Engine" authors = ["Cloud Custodian Project"] readme = "README.md" diff --git a/requirements.txt b/requirements.txt index fd69f33eced..ae2c0246a4e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,77 +1,78 @@ argcomplete==2.0.0 ; python_version >= "3.7" and python_version < "4.0" attrs==22.1.0 ; python_version >= "3.7" and python_version < "4.0" -aws-xray-sdk==2.10.0 ; python_version >= "3.7" and python_version < "4.0" +aws-xray-sdk==2.11.0 ; python_version >= "3.7" and python_version < "4.0" bleach==5.0.1 ; python_version >= "3.7" and python_version < "4.0" -boto3==1.24.88 ; python_version >= "3.7" and python_version < "4.0" -botocore==1.27.88 ; python_version >= "3.7" and python_version < "4.0" +boto3==1.26.9 ; python_version >= "3.7" and python_version < "4.0" +botocore==1.29.9 ; python_version >= "3.7" and python_version < "4.0" certifi==2022.9.24 ; python_version >= "3.7" and python_version < "4" cffi==1.15.1 ; python_version >= "3.7" and python_version < "4.0" and sys_platform == "linux" charset-normalizer==2.1.1 ; python_version >= "3.7" and python_version < "4" click==8.1.3 ; python_version >= "3.7" and python_version < "4.0" -colorama==0.4.5 ; python_version >= "3.7" and python_version < "4.0" +colorama==0.4.6 ; python_version >= "3.7" and python_version < "4.0" coverage==6.5.0 ; python_version >= "3.7" and python_version < "4.0" coverage[toml]==6.5.0 ; python_version >= "3.7" and python_version < "4.0" -cryptography==38.0.1 ; python_version >= "3.7" and python_version < "4.0" and sys_platform == "linux" +cryptography==38.0.3 ; python_version >= "3.7" and python_version < "4.0" and sys_platform == "linux" docutils==0.17.1 ; python_version >= "3.7" and python_version < "4.0" +exceptiongroup==1.0.3 ; python_version >= "3.7" and python_version < "3.11" execnet==1.9.0 ; python_version >= "3.7" and python_version < "4.0" flake8==3.9.2 ; python_version >= "3.7" and python_version < "4.0" freezegun==1.2.2 ; python_version >= "3.7" and python_version < "4.0" idna==3.4 ; python_version >= "3.7" and python_version < "4.0" importlib-metadata==4.13.0 ; python_version >= "3.7" and python_version < "4.0" -importlib-resources==5.9.0 ; python_version >= "3.7" and python_version < "3.9" +importlib-resources==5.10.0 ; python_version >= "3.7" and python_version < "3.9" iniconfig==1.1.1 ; python_version >= "3.7" and python_version < "4.0" jaraco-classes==3.2.3 ; python_version >= "3.7" and python_version < "4.0" jeepney==0.8.0 ; python_version >= "3.7" and python_version < "4.0" and sys_platform == "linux" jmespath==1.0.1 ; python_version >= "3.7" and python_version < "4.0" jsonpatch==1.32 ; python_version >= "3.7" and python_version < "4.0" jsonpointer==2.3 ; python_version >= "3.7" and python_version < "4.0" -jsonschema==4.16.0 ; python_version >= "3.7" and python_version < "4.0" -keyring==23.9.3 ; python_version >= "3.7" and python_version < "4.0" +jsonschema==4.17.0 ; python_version >= "3.7" and python_version < "4.0" +keyring==23.11.0 ; python_version >= "3.7" and python_version < "4.0" mccabe==0.6.1 ; python_version >= "3.7" and python_version < "4.0" mock==4.0.3 ; python_version >= "3.7" and python_version < "4.0" -more-itertools==8.14.0 ; python_version >= "3.7" and python_version < "4.0" +more-itertools==9.0.0 ; python_version >= "3.7" and python_version < "4.0" multidict==6.0.2 ; python_version >= "3.7" and python_version < "4.0" packaging==21.3 ; python_version >= "3.7" and python_version < "4.0" pkginfo==1.8.3 ; python_version >= "3.7" and python_version < "4.0" pkgutil-resolve-name==1.3.10 ; python_version >= "3.7" and python_version < "3.9" placebo==0.9.0 ; python_version >= "3.7" and python_version < "4.0" pluggy==1.0.0 ; python_version >= "3.7" and python_version < "4.0" -portalocker==2.5.1 ; python_version >= "3.7" and python_version < "4.0" -psutil==5.9.2 ; python_version >= "3.7" and python_version < "4.0" +portalocker==2.6.0 ; python_version >= "3.7" and python_version < "4.0" +psutil==5.9.4 ; python_version >= "3.7" and python_version < "4.0" py==1.11.0 ; python_version >= "3.7" and python_version < "4.0" pycodestyle==2.7.0 ; python_version >= "3.7" and python_version < "4.0" pycparser==2.21 ; python_version >= "3.7" and python_version < "4.0" and sys_platform == "linux" pyflakes==2.3.1 ; python_version >= "3.7" and python_version < "4.0" pygments==2.13.0 ; python_version >= "3.7" and python_version < "4.0" pyparsing==3.0.9 ; python_version >= "3.7" and python_version < "4.0" -pyrsistent==0.18.1 ; python_version >= "3.7" and python_version < "4.0" +pyrsistent==0.19.2 ; python_version >= "3.7" and python_version < "4.0" pytest-cov==3.0.0 ; python_version >= "3.7" and python_version < "4.0" pytest-forked==1.4.0 ; python_version >= "3.7" and python_version < "4.0" pytest-recording==0.12.1 ; python_version >= "3.7" and python_version < "4.0" -pytest-sugar==0.9.5 ; python_version >= "3.7" and python_version < "4.0" +pytest-sugar==0.9.6 ; python_version >= "3.7" and python_version < "4.0" pytest-terraform==0.6.4 ; python_version >= "3.7" and python_version < "4.0" pytest-xdist==2.5.0 ; python_version >= "3.7" and python_version < "4.0" -pytest==7.1.3 ; python_version >= "3.7" and python_version < "4.0" +pytest==7.2.0 ; python_version >= "3.7" and python_version < "4.0" python-dateutil==2.8.2 ; python_version >= "3.7" and python_version < "4.0" pywin32-ctypes==0.2.0 ; python_version >= "3.7" and python_version < "4.0" and sys_platform == "win32" -pywin32==304 ; python_version >= "3.7" and python_version < "4.0" and platform_system == "Windows" +pywin32==305 ; python_version >= "3.7" and python_version < "4.0" and platform_system == "Windows" pyyaml==6.0 ; python_version >= "3.7" and python_version < "4.0" -readme-renderer==37.2 ; python_version >= "3.7" and python_version < "4.0" -requests-toolbelt==0.9.1 ; python_version >= "3.7" and python_version < "4.0" +readme-renderer==37.3 ; python_version >= "3.7" and python_version < "4.0" +requests-toolbelt==0.10.1 ; python_version >= "3.7" and python_version < "4.0" requests==2.28.1 ; python_version >= "3.7" and python_version < "4" rfc3986==2.0.0 ; python_version >= "3.7" and python_version < "4.0" s3transfer==0.6.0 ; python_version >= "3.7" and python_version < "4.0" secretstorage==3.3.3 ; python_version >= "3.7" and python_version < "4.0" and sys_platform == "linux" six==1.16.0 ; python_version >= "3.7" and python_version < "4.0" tabulate==0.8.10 ; python_version >= "3.7" and python_version < "4.0" -termcolor==2.0.1 ; python_version >= "3.7" and python_version < "4.0" -tomli==2.0.1 ; python_version >= "3.7" and python_version < "4.0" +termcolor==2.1.0 ; python_version >= "3.7" and python_version < "4.0" +tomli==2.0.1 ; python_version >= "3.7" and python_full_version <= "3.11.0a6" tqdm==4.64.1 ; python_version >= "3.7" and python_version < "4.0" twine==3.8.0 ; python_version >= "3.7" and python_version < "4.0" -typing-extensions==4.3.0 ; python_version >= "3.7" and python_version < "3.8" +typing-extensions==4.4.0 ; python_version >= "3.7" and python_version < "3.8" urllib3==1.26.12 ; python_version >= "3.7" and python_version < "4" vcrpy==4.2.1 ; python_version >= "3.7" and python_version < "4.0" webencodings==0.5.1 ; python_version >= "3.7" and python_version < "4.0" wrapt==1.14.1 ; python_version >= "3.7" and python_version < "4.0" yarl==1.8.1 ; python_version >= "3.7" and python_version < "4.0" -zipp==3.8.1 ; python_version >= "3.7" and python_version < "4.0" +zipp==3.10.0 ; python_version >= "3.7" and python_version < "4.0" diff --git a/setup.py b/setup.py index 2f2a5895e1c..4016d66a327 100644 --- a/setup.py +++ b/setup.py @@ -29,7 +29,7 @@ setup_kwargs = { 'name': 'c7n', - 'version': '0.9.20', + 'version': '0.9.21', 'description': 'Cloud Custodian - Policy Rules Engine', 'license': 'Apache-2.0', 'classifiers': [ diff --git a/tests/test_packaging.py b/tests/test_packaging.py index cd4220be491..9a953df3d9e 100644 --- a/tests/test_packaging.py +++ b/tests/test_packaging.py @@ -23,7 +23,7 @@ def test_package_metadata(package): if c.exists(): found = True p = c - assert found, "could not find pyproject.yaml" + assert found, "could not find %s pyproject.toml" % package data = tomli.loads(p.read_text()) md = data['tool']['poetry'] assert md.get('homepage') == 'https://cloudcustodian.io' @@ -38,3 +38,16 @@ def test_package_metadata(package): assert md.get('readme', '').endswith('md') assert (p.parent / md['readme']).exists() assert 'description' in md + + +def test_version_match(): + """ + Ensures that the version in c7n.version matches the pyproject.toml version + """ + from c7n.version import version + m = __import__('c7n') + pyproject = Path(m.__file__).parent.parent / 'pyproject.toml' + with open(pyproject, 'r') as f: + loaded = tomli.loads(f.read()) + pyproject_version = loaded['tool']['poetry']['version'] + assert pyproject_version == version diff --git a/tests/test_policy.py b/tests/test_policy.py index 813cc5b76df..7216346cf2c 100644 --- a/tests/test_policy.py +++ b/tests/test_policy.py @@ -403,6 +403,25 @@ def test_config_resource_support(self): 'AWS::Detective::Graph', 'AWS::EC2::TransitGatewayRouteTable', 'AWS::AppSync::GraphQLApi', + 'AWS::DataSync::Task', + 'AWS::Glue::Job', + 'AWS::SageMaker::NotebookInstanceLifecycleConfig', + 'AWS::SES::ContactList', + 'AWS::SageMaker::Workteam', + 'AWS::EKS::FargateProfile', + 'AWS::DataSync::LocationFSxLustre', + 'AWS::AppConfig::Application', + 'AWS::DataSync::LocationS3', + 'AWS::ServiceDiscovery::PublicDnsNamespace', + 'AWS::EC2::NetworkInsightsAccessScopeAnalysis', + 'AWS::Route53::HostedZone', + 'AWS::GuardDuty::IPSet', + 'AWS::SES::ConfigurationSet', + 'AWS::GuardDuty::ThreatIntelSet', + 'AWS::DataSync::LocationNFS', + 'AWS::DataSync::LocationEFS', + 'AWS::ServiceDiscovery::Service', + 'AWS::DataSync::LocationSMB', } resource_map = {} diff --git a/tools/c7n_awscc/poetry.lock b/tools/c7n_awscc/poetry.lock index 0928c658591..94eee7572e3 100644 --- a/tools/c7n_awscc/poetry.lock +++ b/tools/c7n_awscc/poetry.lock @@ -28,14 +28,14 @@ tests_no_zope = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy [[package]] name = "boto3" -version = "1.24.88" +version = "1.26.9" description = "The AWS SDK for Python" category = "dev" optional = false python-versions = ">= 3.7" [package.dependencies] -botocore = ">=1.27.88,<1.28.0" +botocore = ">=1.29.9,<1.30.0" jmespath = ">=0.7.1,<2.0.0" s3transfer = ">=0.6.0,<0.7.0" @@ -44,7 +44,7 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] [[package]] name = "botocore" -version = "1.27.88" +version = "1.29.9" description = "Low-level, data-driven core of boto 3." category = "dev" optional = false @@ -60,7 +60,7 @@ crt = ["awscrt (==0.14.0)"] [[package]] name = "c7n" -version = "0.9.20" +version = "0.9.21" description = "Cloud Custodian - Policy Rules Engine" category = "dev" optional = false @@ -95,11 +95,11 @@ importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} [[package]] name = "colorama" -version = "0.4.5" +version = "0.4.6" description = "Cross-platform colored terminal text." category = "main" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" [[package]] name = "docutils" @@ -128,7 +128,7 @@ testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packag [[package]] name = "importlib-resources" -version = "5.9.0" +version = "5.10.0" description = "Read resources from Python packages" category = "dev" optional = false @@ -138,8 +138,8 @@ python-versions = ">=3.7" zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} [package.extras] -docs = ["jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx"] -testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"] +testing = ["flake8 (<5)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] [[package]] name = "jmespath" @@ -170,7 +170,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" [[package]] name = "jsonschema" -version = "4.16.0" +version = "4.17.0" description = "An implementation of JSON Schema validation for Python" category = "dev" optional = false @@ -198,7 +198,7 @@ python-versions = ">=3.6" [[package]] name = "pyrsistent" -version = "0.18.1" +version = "0.19.2" description = "Persistent/Functional/Immutable data structures" category = "dev" optional = false @@ -258,7 +258,7 @@ widechars = ["wcwidth"] [[package]] name = "typing-extensions" -version = "4.3.0" +version = "4.4.0" description = "Backported and Experimental Type Hints for Python 3.7+" category = "main" optional = false @@ -279,15 +279,15 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] [[package]] name = "zipp" -version = "3.8.1" +version = "3.10.0" description = "Backport of pathlib-compatible object wrapper for zip files" category = "main" optional = false python-versions = ">=3.7" [package.extras] -docs = ["jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx"] -testing = ["func-timeout", "jaraco.itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"] +testing = ["flake8 (<5)", "func-timeout", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] [metadata] lock-version = "1.1" @@ -304,12 +304,12 @@ attrs = [ {file = "attrs-22.1.0.tar.gz", hash = "sha256:29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6"}, ] boto3 = [ - {file = "boto3-1.24.88-py3-none-any.whl", hash = "sha256:6b4cf1cd0be65202c4cf0e4c69099bac3620bcd4049ca25a5e223c668401dd69"}, - {file = "boto3-1.24.88.tar.gz", hash = "sha256:93934343cac76084600a520e5be70c52152364d0c410681c2e25c2290f0e151c"}, + {file = "boto3-1.26.9-py3-none-any.whl", hash = "sha256:27efa5eb229364bc4643d9e182de0891f73c21b65ef80b5bd02a977caeaf595c"}, + {file = "boto3-1.26.9.tar.gz", hash = "sha256:15b059251990706c5d5a556c42a6e6e781a51edadf48a42afdd06bd313adfaf2"}, ] botocore = [ - {file = "botocore-1.27.88-py3-none-any.whl", hash = "sha256:de4e087b24cd3bc369eb2e27f8fe94a6499f7dea08c919fba13cefb2496bd2bb"}, - {file = "botocore-1.27.88.tar.gz", hash = "sha256:ded0a4035baf91eb358ef501c92a8512543f5ab7658f459df3077a70a555b5cd"}, + {file = "botocore-1.29.9-py3-none-any.whl", hash = "sha256:c876a7c6a07d7f86f46a8cc765f0d38999b84ac1d7b0666d6ce08c0503e13145"}, + {file = "botocore-1.29.9.tar.gz", hash = "sha256:01f168e2418419a6d8b335ecc4330faa6a7332d5a097029fc9b4a3ae3c41cea2"}, ] c7n = [] click = [ @@ -317,8 +317,8 @@ click = [ {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"}, ] colorama = [ - {file = "colorama-0.4.5-py2.py3-none-any.whl", hash = "sha256:854bf444933e37f5824ae7bfc1e98d5bce2ebe4160d46b5edf346a89358e99da"}, - {file = "colorama-0.4.5.tar.gz", hash = "sha256:e6c6b4334fc50988a639d9b98aa429a0b57da6e17b9a44f0451f930b6967b7a4"}, + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] docutils = [ {file = "docutils-0.17.1-py2.py3-none-any.whl", hash = "sha256:cf316c8370a737a022b72b56874f6602acf974a37a9fba42ec2876387549fc61"}, @@ -329,8 +329,8 @@ importlib-metadata = [ {file = "importlib_metadata-4.13.0.tar.gz", hash = "sha256:dd0173e8f150d6815e098fd354f6414b0f079af4644ddfe90c71e2fc6174346d"}, ] importlib-resources = [ - {file = "importlib_resources-5.9.0-py3-none-any.whl", hash = "sha256:f78a8df21a79bcc30cfd400bdc38f314333de7c0fb619763f6b9dabab8268bb7"}, - {file = "importlib_resources-5.9.0.tar.gz", hash = "sha256:5481e97fb45af8dcf2f798952625591c58fe599d0735d86b10f54de086a61681"}, + {file = "importlib_resources-5.10.0-py3-none-any.whl", hash = "sha256:ee17ec648f85480d523596ce49eae8ead87d5631ae1551f913c0100b5edd3437"}, + {file = "importlib_resources-5.10.0.tar.gz", hash = "sha256:c01b1b94210d9849f286b86bb51bcea7cd56dde0600d8db721d7b81330711668"}, ] jmespath = [ {file = "jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980"}, @@ -345,35 +345,36 @@ jsonpointer = [ {file = "jsonpointer-2.3.tar.gz", hash = "sha256:97cba51526c829282218feb99dab1b1e6bdf8efd1c43dc9d57be093c0d69c99a"}, ] jsonschema = [ - {file = "jsonschema-4.16.0-py3-none-any.whl", hash = "sha256:9e74b8f9738d6a946d70705dc692b74b5429cd0960d58e79ffecfc43b2221eb9"}, - {file = "jsonschema-4.16.0.tar.gz", hash = "sha256:165059f076eff6971bae5b742fc029a7b4ef3f9bcf04c14e4776a7605de14b23"}, + {file = "jsonschema-4.17.0-py3-none-any.whl", hash = "sha256:f660066c3966db7d6daeaea8a75e0b68237a48e51cf49882087757bb59916248"}, + {file = "jsonschema-4.17.0.tar.gz", hash = "sha256:5bfcf2bca16a087ade17e02b282d34af7ccd749ef76241e7f9bd7c0cb8a9424d"}, ] pkgutil_resolve_name = [ {file = "pkgutil_resolve_name-1.3.10-py3-none-any.whl", hash = "sha256:ca27cc078d25c5ad71a9de0a7a330146c4e014c2462d9af19c6b828280649c5e"}, {file = "pkgutil_resolve_name-1.3.10.tar.gz", hash = "sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174"}, ] pyrsistent = [ - {file = "pyrsistent-0.18.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:df46c854f490f81210870e509818b729db4488e1f30f2a1ce1698b2295a878d1"}, - {file = "pyrsistent-0.18.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d45866ececf4a5fff8742c25722da6d4c9e180daa7b405dc0a2a2790d668c26"}, - {file = "pyrsistent-0.18.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4ed6784ceac462a7d6fcb7e9b663e93b9a6fb373b7f43594f9ff68875788e01e"}, - {file = "pyrsistent-0.18.1-cp310-cp310-win32.whl", hash = "sha256:e4f3149fd5eb9b285d6bfb54d2e5173f6a116fe19172686797c056672689daf6"}, - {file = "pyrsistent-0.18.1-cp310-cp310-win_amd64.whl", hash = "sha256:636ce2dc235046ccd3d8c56a7ad54e99d5c1cd0ef07d9ae847306c91d11b5fec"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e92a52c166426efbe0d1ec1332ee9119b6d32fc1f0bbfd55d5c1088070e7fc1b"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d7a096646eab884bf8bed965bad63ea327e0d0c38989fc83c5ea7b8a87037bfc"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cdfd2c361b8a8e5d9499b9082b501c452ade8bbf42aef97ea04854f4a3f43b22"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-win32.whl", hash = "sha256:7ec335fc998faa4febe75cc5268a9eac0478b3f681602c1f27befaf2a1abe1d8"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-win_amd64.whl", hash = "sha256:6455fc599df93d1f60e1c5c4fe471499f08d190d57eca040c0ea182301321286"}, - {file = "pyrsistent-0.18.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:fd8da6d0124efa2f67d86fa70c851022f87c98e205f0594e1fae044e7119a5a6"}, - {file = "pyrsistent-0.18.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7bfe2388663fd18bd8ce7db2c91c7400bf3e1a9e8bd7d63bf7e77d39051b85ec"}, - {file = "pyrsistent-0.18.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e3e1fcc45199df76053026a51cc59ab2ea3fc7c094c6627e93b7b44cdae2c8c"}, - {file = "pyrsistent-0.18.1-cp38-cp38-win32.whl", hash = "sha256:b568f35ad53a7b07ed9b1b2bae09eb15cdd671a5ba5d2c66caee40dbf91c68ca"}, - {file = "pyrsistent-0.18.1-cp38-cp38-win_amd64.whl", hash = "sha256:d1b96547410f76078eaf66d282ddca2e4baae8964364abb4f4dcdde855cd123a"}, - {file = "pyrsistent-0.18.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f87cc2863ef33c709e237d4b5f4502a62a00fab450c9e020892e8e2ede5847f5"}, - {file = "pyrsistent-0.18.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bc66318fb7ee012071b2792024564973ecc80e9522842eb4e17743604b5e045"}, - {file = "pyrsistent-0.18.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:914474c9f1d93080338ace89cb2acee74f4f666fb0424896fcfb8d86058bf17c"}, - {file = "pyrsistent-0.18.1-cp39-cp39-win32.whl", hash = "sha256:1b34eedd6812bf4d33814fca1b66005805d3640ce53140ab8bbb1e2651b0d9bc"}, - {file = "pyrsistent-0.18.1-cp39-cp39-win_amd64.whl", hash = "sha256:e24a828f57e0c337c8d8bb9f6b12f09dfdf0273da25fda9e314f0b684b415a07"}, - {file = "pyrsistent-0.18.1.tar.gz", hash = "sha256:d4d61f8b993a7255ba714df3aca52700f8125289f84f704cf80916517c46eb96"}, + {file = "pyrsistent-0.19.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d6982b5a0237e1b7d876b60265564648a69b14017f3b5f908c5be2de3f9abb7a"}, + {file = "pyrsistent-0.19.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:187d5730b0507d9285a96fca9716310d572e5464cadd19f22b63a6976254d77a"}, + {file = "pyrsistent-0.19.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:055ab45d5911d7cae397dc418808d8802fb95262751872c841c170b0dbf51eed"}, + {file = "pyrsistent-0.19.2-cp310-cp310-win32.whl", hash = "sha256:456cb30ca8bff00596519f2c53e42c245c09e1a4543945703acd4312949bfd41"}, + {file = "pyrsistent-0.19.2-cp310-cp310-win_amd64.whl", hash = "sha256:b39725209e06759217d1ac5fcdb510e98670af9e37223985f330b611f62e7425"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2aede922a488861de0ad00c7630a6e2d57e8023e4be72d9d7147a9fcd2d30712"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:879b4c2f4d41585c42df4d7654ddffff1239dc4065bc88b745f0341828b83e78"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c43bec251bbd10e3cb58ced80609c5c1eb238da9ca78b964aea410fb820d00d6"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-win32.whl", hash = "sha256:d690b18ac4b3e3cab73b0b7aa7dbe65978a172ff94970ff98d82f2031f8971c2"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-win_amd64.whl", hash = "sha256:3ba4134a3ff0fc7ad225b6b457d1309f4698108fb6b35532d015dca8f5abed73"}, + {file = "pyrsistent-0.19.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a178209e2df710e3f142cbd05313ba0c5ebed0a55d78d9945ac7a4e09d923308"}, + {file = "pyrsistent-0.19.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e371b844cec09d8dc424d940e54bba8f67a03ebea20ff7b7b0d56f526c71d584"}, + {file = "pyrsistent-0.19.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:111156137b2e71f3a9936baf27cb322e8024dac3dc54ec7fb9f0bcf3249e68bb"}, + {file = "pyrsistent-0.19.2-cp38-cp38-win32.whl", hash = "sha256:e5d8f84d81e3729c3b506657dddfe46e8ba9c330bf1858ee33108f8bb2adb38a"}, + {file = "pyrsistent-0.19.2-cp38-cp38-win_amd64.whl", hash = "sha256:9cd3e9978d12b5d99cbdc727a3022da0430ad007dacf33d0bf554b96427f33ab"}, + {file = "pyrsistent-0.19.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f1258f4e6c42ad0b20f9cfcc3ada5bd6b83374516cd01c0960e3cb75fdca6770"}, + {file = "pyrsistent-0.19.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21455e2b16000440e896ab99e8304617151981ed40c29e9507ef1c2e4314ee95"}, + {file = "pyrsistent-0.19.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bfd880614c6237243ff53a0539f1cb26987a6dc8ac6e66e0c5a40617296a045e"}, + {file = "pyrsistent-0.19.2-cp39-cp39-win32.whl", hash = "sha256:71d332b0320642b3261e9fee47ab9e65872c2bd90260e5d225dabeed93cbd42b"}, + {file = "pyrsistent-0.19.2-cp39-cp39-win_amd64.whl", hash = "sha256:dec3eac7549869365fe263831f576c8457f6c833937c68542d08fde73457d291"}, + {file = "pyrsistent-0.19.2-py3-none-any.whl", hash = "sha256:ea6b79a02a28550c98b6ca9c35b9f492beaa54d7c5c9e9949555893c8a9234d0"}, + {file = "pyrsistent-0.19.2.tar.gz", hash = "sha256:bfa0351be89c9fcbcb8c9879b826f4353be10f58f8a677efab0c017bf7137ec2"}, ] python-dateutil = [ {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, @@ -434,14 +435,14 @@ tabulate = [ {file = "tabulate-0.8.10.tar.gz", hash = "sha256:6c57f3f3dd7ac2782770155f3adb2db0b1a269637e42f27599925e64b114f519"}, ] typing-extensions = [ - {file = "typing_extensions-4.3.0-py3-none-any.whl", hash = "sha256:25642c956049920a5aa49edcdd6ab1e06d7e5d467fc00e0506c44ac86fbfca02"}, - {file = "typing_extensions-4.3.0.tar.gz", hash = "sha256:e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6"}, + {file = "typing_extensions-4.4.0-py3-none-any.whl", hash = "sha256:16fa4864408f655d35ec496218b85f79b3437c829e93320c7c9215ccfd92489e"}, + {file = "typing_extensions-4.4.0.tar.gz", hash = "sha256:1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa"}, ] urllib3 = [ {file = "urllib3-1.26.12-py2.py3-none-any.whl", hash = "sha256:b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997"}, {file = "urllib3-1.26.12.tar.gz", hash = "sha256:3fa96cf423e6987997fc326ae8df396db2a8b7c667747d47ddd8ecba91f4a74e"}, ] zipp = [ - {file = "zipp-3.8.1-py3-none-any.whl", hash = "sha256:47c40d7fe183a6f21403a199b3e4192cca5774656965b0a4988ad2f8feb5f009"}, - {file = "zipp-3.8.1.tar.gz", hash = "sha256:05b45f1ee8f807d0cc928485ca40a07cb491cf092ff587c0df9cb1fd154848d2"}, + {file = "zipp-3.10.0-py3-none-any.whl", hash = "sha256:4fcb6f278987a6605757302a6e40e896257570d11c51628968ccb2a47e80c6c1"}, + {file = "zipp-3.10.0.tar.gz", hash = "sha256:7a7262fd930bd3e36c50b9a64897aec3fafff3dfdeec9623ae22b40e93f99bb8"}, ] diff --git a/tools/c7n_awscc/pyproject.toml b/tools/c7n_awscc/pyproject.toml index f86f695c2f1..b9f527563b2 100644 --- a/tools/c7n_awscc/pyproject.toml +++ b/tools/c7n_awscc/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "c7n_awscc" -version = "0.1.5" +version = "0.1.6" readme = "readme.md" homepage = "https://cloudcustodian.io" repository = "https://github.com/cloud-custodian/cloud-custodian" diff --git a/tools/c7n_awscc/requirements.txt b/tools/c7n_awscc/requirements.txt index 662d3f3b04a..50f7b2268da 100644 --- a/tools/c7n_awscc/requirements.txt +++ b/tools/c7n_awscc/requirements.txt @@ -1,7 +1,7 @@ click==8.1.3 ; python_version >= "3.7" and python_version < "4.0" -colorama==0.4.5 ; python_version >= "3.7" and python_version < "4.0" and platform_system == "Windows" +colorama==0.4.6 ; python_version >= "3.7" and python_version < "4.0" and platform_system == "Windows" importlib-metadata==4.13.0 ; python_version >= "3.7" and python_version < "3.8" jsonpatch==1.32 ; python_version >= "3.7" and python_version < "4.0" jsonpointer==2.3 ; python_version >= "3.7" and python_version < "4.0" -typing-extensions==4.3.0 ; python_version >= "3.7" and python_version < "3.8" -zipp==3.8.1 ; python_version >= "3.7" and python_version < "3.8" +typing-extensions==4.4.0 ; python_version >= "3.7" and python_version < "3.8" +zipp==3.10.0 ; python_version >= "3.7" and python_version < "3.8" diff --git a/tools/c7n_awscc/setup.py b/tools/c7n_awscc/setup.py index ced22a78b93..0fa64082071 100644 --- a/tools/c7n_awscc/setup.py +++ b/tools/c7n_awscc/setup.py @@ -12,30 +12,30 @@ install_requires = \ ['argcomplete (>=2.0.0,<3.0.0)', 'attrs (>=22.1.0,<23.0.0)', - 'boto3 (>=1.24.88,<2.0.0)', - 'botocore (>=1.27.88,<2.0.0)', - 'c7n (>=0.9.20,<0.10.0)', + 'boto3 (>=1.26.9,<2.0.0)', + 'botocore (>=1.29.9,<2.0.0)', + 'c7n (>=0.9.21,<0.10.0)', 'click>=8.0,<9.0', 'docutils (>=0.17.1,<0.18.0)', 'importlib-metadata (>=4.13.0,<5.0.0)', - 'importlib-resources (>=5.9.0,<6.0.0)', + 'importlib-resources (>=5.10.0,<6.0.0)', 'jmespath (>=1.0.1,<2.0.0)', 'jsonpatch>=1.32,<2.0', - 'jsonschema (>=4.16.0,<5.0.0)', + 'jsonschema (>=4.17.0,<5.0.0)', 'pkgutil_resolve_name (>=1.3.10,<2.0.0)', - 'pyrsistent (>=0.18.1,<0.19.0)', + 'pyrsistent (>=0.19.2,<0.20.0)', 'python-dateutil (>=2.8.2,<3.0.0)', 'pyyaml (>=6.0,<7.0)', 's3transfer (>=0.6.0,<0.7.0)', 'six (>=1.16.0,<2.0.0)', 'tabulate (>=0.8.10,<0.9.0)', - 'typing-extensions (>=4.3.0,<5.0.0)', + 'typing-extensions (>=4.4.0,<5.0.0)', 'urllib3 (>=1.26.12,<2.0.0)', - 'zipp (>=3.8.1,<4.0.0)'] + 'zipp (>=3.10.0,<4.0.0)'] setup_kwargs = { 'name': 'c7n-awscc', - 'version': '0.1.5', + 'version': '0.1.6', 'description': 'Cloud Custodian - AWS Cloud Control Provider', 'license': 'Apache-2.0', 'classifiers': [ diff --git a/tools/c7n_azure/poetry.lock b/tools/c7n_azure/poetry.lock index 1890581e4d8..0f2c3623130 100644 --- a/tools/c7n_azure/poetry.lock +++ b/tools/c7n_azure/poetry.lock @@ -22,11 +22,11 @@ python-versions = "*" [[package]] name = "APScheduler" -version = "3.9.1" +version = "3.9.1.post1" description = "In-process task scheduler with Cron-like capabilities" category = "main" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" +python-versions = "!=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" [package.dependencies] pytz = "*" @@ -85,7 +85,7 @@ python-versions = "*" [[package]] name = "azure-core" -version = "1.26.0" +version = "1.26.1" description = "Microsoft Azure Core Library for Python" category = "main" optional = false @@ -139,7 +139,7 @@ requests = "*" [[package]] name = "azure-functions" -version = "1.11.2" +version = "1.12.0" description = "Azure Functions for Python" category = "main" optional = false @@ -163,7 +163,7 @@ msrestazure = ">=0.4.32,<2.0.0" [[package]] name = "azure-identity" -version = "1.11.0" +version = "1.12.0" description = "Microsoft Azure Identity Library for Python" category = "main" optional = false @@ -786,16 +786,16 @@ python-versions = "*" [[package]] name = "azure-storage-blob" -version = "12.13.1" +version = "12.14.1" description = "Microsoft Azure Blob Storage Client Library for Python" category = "main" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" [package.dependencies] -azure-core = ">=1.23.1,<2.0.0" +azure-core = ">=1.24.2,<2.0.0" cryptography = ">=2.1.4" -msrest = ">=0.6.21" +msrest = ">=0.7.1" [[package]] name = "azure-storage-common" @@ -825,29 +825,29 @@ azure-storage-common = ">=2.1,<3.0" [[package]] name = "azure-storage-file-share" -version = "12.9.0" +version = "12.10.1" description = "Microsoft Azure Azure File Share Storage Client Library for Python" category = "main" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" [package.dependencies] -azure-core = ">=1.23.1,<2.0.0" +azure-core = ">=1.24.2,<2.0.0" cryptography = ">=2.1.4" -msrest = ">=0.6.21" +msrest = ">=0.7.1" [[package]] name = "azure-storage-queue" -version = "12.4.0" +version = "12.5.0" description = "Microsoft Azure Azure Queue Storage Client Library for Python" category = "main" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" [package.dependencies] -azure-core = ">=1.23.1,<2.0.0" +azure-core = ">=1.24.2,<2.0.0" cryptography = ">=2.1.4" -msrest = ">=0.6.21" +msrest = ">=0.7.1" [[package]] name = "backports.zoneinfo" @@ -862,14 +862,14 @@ tzdata = ["tzdata"] [[package]] name = "boto3" -version = "1.24.88" +version = "1.26.9" description = "The AWS SDK for Python" category = "dev" optional = false python-versions = ">= 3.7" [package.dependencies] -botocore = ">=1.27.88,<1.28.0" +botocore = ">=1.29.9,<1.30.0" jmespath = ">=0.7.1,<2.0.0" s3transfer = ">=0.6.0,<0.7.0" @@ -878,7 +878,7 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] [[package]] name = "botocore" -version = "1.27.88" +version = "1.29.9" description = "Low-level, data-driven core of boto 3." category = "dev" optional = false @@ -894,7 +894,7 @@ crt = ["awscrt (==0.14.0)"] [[package]] name = "c7n" -version = "0.9.20" +version = "0.9.21" description = "Cloud Custodian - Policy Rules Engine" category = "dev" optional = false @@ -959,15 +959,15 @@ importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} [[package]] name = "colorama" -version = "0.4.5" +version = "0.4.6" description = "Cross-platform colored terminal text." category = "main" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" [[package]] name = "cryptography" -version = "38.0.1" +version = "38.0.3" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." category = "main" optional = false @@ -1027,7 +1027,7 @@ testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packag [[package]] name = "importlib-resources" -version = "5.9.0" +version = "5.10.0" description = "Read resources from Python packages" category = "dev" optional = false @@ -1037,8 +1037,8 @@ python-versions = ">=3.7" zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} [package.extras] -docs = ["jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx"] -testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"] +testing = ["flake8 (<5)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] [[package]] name = "isodate" @@ -1061,7 +1061,7 @@ python-versions = ">=3.7" [[package]] name = "jsonschema" -version = "4.16.0" +version = "4.17.0" description = "An implementation of JSON Schema validation for Python" category = "dev" optional = false @@ -1081,7 +1081,7 @@ format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339- [[package]] name = "msal" -version = "1.19.0" +version = "1.20.0" description = "The Microsoft Authentication Library (MSAL) for Python library enables your app to access the Microsoft Cloud by supporting authentication of users with Microsoft Azure Active Directory accounts (AAD) and Microsoft Accounts (MSA) using industry standard OAuth2 and OpenID Connect." category = "main" optional = false @@ -1092,6 +1092,9 @@ cryptography = ">=0.6,<41" PyJWT = {version = ">=1.0.0,<3", extras = ["crypto"]} requests = ">=2.0.0,<3" +[package.extras] +broker = ["pymsalruntime (>=0.11.2,<0.14)"] + [[package]] name = "msal-extensions" version = "1.0.0" @@ -1156,7 +1159,7 @@ python-versions = "*" [[package]] name = "oauthlib" -version = "3.2.1" +version = "3.2.2" description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic" category = "main" optional = false @@ -1188,7 +1191,7 @@ python-versions = ">=3.6" [[package]] name = "portalocker" -version = "2.5.1" +version = "2.6.0" description = "Wraps the portalocker recipe for easy usage" category = "main" optional = false @@ -1212,25 +1215,24 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" [[package]] name = "PyJWT" -version = "2.5.0" +version = "2.6.0" description = "JSON Web Token implementation in Python" category = "main" optional = false python-versions = ">=3.7" [package.dependencies] -cryptography = {version = ">=3.3.1", optional = true, markers = "extra == \"crypto\""} -types-cryptography = {version = ">=3.3.21", optional = true, markers = "extra == \"crypto\""} +cryptography = {version = ">=3.4.0", optional = true, markers = "extra == \"crypto\""} [package.extras] -crypto = ["cryptography (>=3.3.1)", "types-cryptography (>=3.3.21)"] -dev = ["coverage[toml] (==5.0.4)", "cryptography (>=3.3.1)", "pre-commit", "pytest (>=6.0.0,<7.0.0)", "sphinx (>=4.5.0,<5.0.0)", "sphinx-rtd-theme", "types-cryptography (>=3.3.21)", "zope.interface"] +crypto = ["cryptography (>=3.4.0)"] +dev = ["coverage[toml] (==5.0.4)", "cryptography (>=3.4.0)", "pre-commit", "pytest (>=6.0.0,<7.0.0)", "sphinx (>=4.5.0,<5.0.0)", "sphinx-rtd-theme", "zope.interface"] docs = ["sphinx (>=4.5.0,<5.0.0)", "sphinx-rtd-theme", "zope.interface"] tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] [[package]] name = "pyrsistent" -version = "0.18.1" +version = "0.19.2" description = "Persistent/Functional/Immutable data structures" category = "dev" optional = false @@ -1249,7 +1251,7 @@ six = ">=1.5" [[package]] name = "pytz" -version = "2022.4" +version = "2022.6" description = "World timezone definitions, modern and historical" category = "main" optional = false @@ -1269,7 +1271,7 @@ tzdata = {version = "*", markers = "python_version >= \"3.6\""} [[package]] name = "pywin32" -version = "304" +version = "305" description = "Python for Window Extensions" category = "main" optional = false @@ -1332,7 +1334,7 @@ crt = ["botocore[crt] (>=1.20.29,<2.0a.0)"] [[package]] name = "setuptools" -version = "65.4.1" +version = "65.5.1" description = "Easily download, build, install, upgrade, and uninstall Python packages" category = "main" optional = false @@ -1340,7 +1342,7 @@ python-versions = ">=3.7" [package.extras] docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-notfound-page (==0.8.3)", "sphinx-reredirects", "sphinxcontrib-towncrier"] -testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8 (<5)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "mock", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8 (<5)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] [[package]] @@ -1362,17 +1364,9 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" [package.extras] widechars = ["wcwidth"] -[[package]] -name = "types-cryptography" -version = "3.3.23" -description = "Typing stubs for cryptography" -category = "main" -optional = false -python-versions = "*" - [[package]] name = "typing-extensions" -version = "4.3.0" +version = "4.4.0" description = "Backported and Experimental Type Hints for Python 3.7+" category = "main" optional = false @@ -1380,7 +1374,7 @@ python-versions = ">=3.7" [[package]] name = "tzdata" -version = "2022.4" +version = "2022.6" description = "Provider of IANA time zone data" category = "main" optional = false @@ -1464,15 +1458,15 @@ typing-extensions = {version = ">=3.7.4", markers = "python_version < \"3.8\""} [[package]] name = "zipp" -version = "3.8.1" +version = "3.10.0" description = "Backport of pathlib-compatible object wrapper for zip files" category = "main" optional = false python-versions = ">=3.7" [package.extras] -docs = ["jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx"] -testing = ["func-timeout", "jaraco.itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"] +testing = ["flake8 (<5)", "func-timeout", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] [metadata] lock-version = "1.1" @@ -1489,8 +1483,8 @@ applicationinsights = [ {file = "applicationinsights-0.11.10.tar.gz", hash = "sha256:0b761f3ef0680acf4731906dfc1807faa6f2a57168ae74592db0084a6099f7b3"}, ] APScheduler = [ - {file = "APScheduler-3.9.1-py2.py3-none-any.whl", hash = "sha256:ddc25a0ddd899de44d7f451f4375fb971887e65af51e41e5dcf681f59b8b2c9a"}, - {file = "APScheduler-3.9.1.tar.gz", hash = "sha256:65e6574b6395498d371d045f2a8a7e4f7d50c6ad21ef7313d15b1c7cf20df1e3"}, + {file = "APScheduler-3.9.1.post1-py2.py3-none-any.whl", hash = "sha256:c8c618241dbb2785ed5a687504b14cb1851d6f7b5a4edf3a51e39cc6a069967a"}, + {file = "APScheduler-3.9.1.post1.tar.gz", hash = "sha256:b2bea0309569da53a7261bfa0ce19c67ddbfe151bda776a6a907579fdbd3eb2a"}, ] argcomplete = [ {file = "argcomplete-2.0.0-py2.py3-none-any.whl", hash = "sha256:cffa11ea77999bb0dd27bb25ff6dc142a6796142f68d45b1a26b11f58724561e"}, @@ -1505,8 +1499,8 @@ azure-common = [ {file = "azure_common-1.1.28-py2.py3-none-any.whl", hash = "sha256:5c12d3dcf4ec20599ca6b0d3e09e86e146353d443e7fcc050c9a19c1f9df20ad"}, ] azure-core = [ - {file = "azure-core-1.26.0.zip", hash = "sha256:b0036a0d256329e08d1278dff7df36be30031d2ec9b16c691bc61e4732f71fe0"}, - {file = "azure_core-1.26.0-py3-none-any.whl", hash = "sha256:578ea3ae56bca48880c96797871b6c954b5ae78d10d54360182c7604dc837f25"}, + {file = "azure-core-1.26.1.zip", hash = "sha256:223b0e90cbdd1f03c41b195b03239899843f20d00964dbb85e64386873414a2d"}, + {file = "azure_core-1.26.1-py3-none-any.whl", hash = "sha256:726ffd1ded04a2c1cb53f9d9155cbb05ac5c1c2a29af4ef622e93e1c0a8bc92b"}, ] azure-cosmos = [ {file = "azure-cosmos-3.2.0.tar.gz", hash = "sha256:4f77cc558fecffac04377ba758ac4e23f076dc1c54e2cf2515f85bc15cbde5c6"}, @@ -1521,16 +1515,16 @@ azure-cosmosdb-table = [ {file = "azure_cosmosdb_table-1.0.6-py2.py3-none-any.whl", hash = "sha256:ee525233d6c8c016526593bf28f8a374275cfe204a00c41134b83a1736f7b5f7"}, ] azure-functions = [ - {file = "azure-functions-1.11.2.tar.gz", hash = "sha256:a4bca1b650810c1063140fef8d9d51fb1837f869e48fbf8869ff9eee642c42f4"}, - {file = "azure_functions-1.11.2-py3-none-any.whl", hash = "sha256:db5730aad1b3eb6716790d593935abb5b49d2690bb446f2b4b83d91f3195f2f3"}, + {file = "azure-functions-1.12.0.tar.gz", hash = "sha256:e8e470d87327f76fcc25a038757f38d19c0182091ed183bd2239505a4e61587a"}, + {file = "azure_functions-1.12.0-py3-none-any.whl", hash = "sha256:443b049652ede41e57a698230cc3848d20e5b53dff52bc4a636ee0820813f1b5"}, ] azure-graphrbac = [ {file = "azure-graphrbac-0.61.1.zip", hash = "sha256:53e98ae2ca7c19b349e9e9bb1b6a824aeae8dcfcbe17190d20fe69c0f185b2e2"}, {file = "azure_graphrbac-0.61.1-py2.py3-none-any.whl", hash = "sha256:7b4e0f05676acc912f2b33c71c328d9fb2e4dc8e70ebadc9d3de8ab08bf0b175"}, ] azure-identity = [ - {file = "azure-identity-1.11.0.zip", hash = "sha256:c3fc800af58b857e7faf0e310376e5ef10f5dad5090914cc42ffa6d7d23b6729"}, - {file = "azure_identity-1.11.0-py3-none-any.whl", hash = "sha256:f5eb0035ac9ceca26658b30bb2a375755c4cda61d0e3fd236b0e52ade2cb0995"}, + {file = "azure-identity-1.12.0.zip", hash = "sha256:7f9b1ae7d97ea7af3f38dd09305e19ab81a1e16ab66ea186b6579d85c1ca2347"}, + {file = "azure_identity-1.12.0-py3-none-any.whl", hash = "sha256:2a58ce4a209a013e37eaccfd5937570ab99e9118b3e1acf875eed3a85d541b92"}, ] azure-keyvault = [ {file = "azure-keyvault-4.2.0.zip", hash = "sha256:731add108a3e29ab4fd501a3c477256c286c34d0996b383fb6a3945462933761"}, @@ -1722,8 +1716,8 @@ azure-nspkg = [ {file = "azure_nspkg-3.0.2-py3-none-any.whl", hash = "sha256:31a060caca00ed1ebd369fc7fe01a56768c927e404ebc92268f4d9d636435e28"}, ] azure-storage-blob = [ - {file = "azure-storage-blob-12.13.1.zip", hash = "sha256:899c4b8e2671812d2cf78f107556a27dbb128caaa2bb06094e72a3d5836740af"}, - {file = "azure_storage_blob-12.13.1-py3-none-any.whl", hash = "sha256:726b86f733dc76218ce45b7a3254b61ba4f0cc3d68b7621be4985248c92ee483"}, + {file = "azure-storage-blob-12.14.1.zip", hash = "sha256:860d4d82985a4bfc7d3271e71275af330f54f330a754355435a7ba749ccde997"}, + {file = "azure_storage_blob-12.14.1-py3-none-any.whl", hash = "sha256:52b84658e8df7853a3cf1c563814655b5028b979b2a87905b92aa6bb30be240e"}, ] azure-storage-common = [ {file = "azure-storage-common-2.1.0.tar.gz", hash = "sha256:ccedef5c67227bc4d6670ffd37cec18fb529a1b7c3a5e53e4096eb0cf23dc73f"}, @@ -1734,12 +1728,12 @@ azure-storage-file = [ {file = "azure_storage_file-2.1.0-py2.py3-none-any.whl", hash = "sha256:07e01b6b1ccbac97946a3abab773fdc4904965577c3afa0151e786c463bd7260"}, ] azure-storage-file-share = [ - {file = "azure-storage-file-share-12.9.0.zip", hash = "sha256:7daa3044fe07d7f7504cb9a15f99a17acb28c808ed83341678bf2df9315f5c22"}, - {file = "azure_storage_file_share-12.9.0-py3-none-any.whl", hash = "sha256:071bcd08f018c1de58986b4d5d908f26994d7acc42eecb3cf808049577ca0608"}, + {file = "azure-storage-file-share-12.10.1.zip", hash = "sha256:5679bbd9c760ffd3fe27749c9e3e63706ea42c274854c1a7c6753d6a7da8c464"}, + {file = "azure_storage_file_share-12.10.1-py3-none-any.whl", hash = "sha256:8dbe5dc6252310c891e9564a46d282db3df3d96101a5b9bbab23f265b7c33625"}, ] azure-storage-queue = [ - {file = "azure-storage-queue-12.4.0.zip", hash = "sha256:d633050e5beac6c43e86f7d1cbe74766a1798b9f6e1b44ae41c0490465d00b45"}, - {file = "azure_storage_queue-12.4.0-py3-none-any.whl", hash = "sha256:9bd68fc07f56c43cea8f3cd1b4a8ea10807fde25f075736725e708945ec39697"}, + {file = "azure-storage-queue-12.5.0.zip", hash = "sha256:3b374424af72d32daff8baf9b64630074c3a8b3fd5332a45216b3bc96bc7b172"}, + {file = "azure_storage_queue-12.5.0-py3-none-any.whl", hash = "sha256:e65a6cdbacef40b5a7056c504ce45e496d53fc123d032367d250ea0c6e8f9dce"}, ] "backports.zoneinfo" = [ {file = "backports.zoneinfo-0.2.1-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:da6013fd84a690242c310d77ddb8441a559e9cb3d3d59ebac9aca1a57b2e18bc"}, @@ -1760,12 +1754,12 @@ azure-storage-queue = [ {file = "backports.zoneinfo-0.2.1.tar.gz", hash = "sha256:fadbfe37f74051d024037f223b8e001611eac868b5c5b06144ef4d8b799862f2"}, ] boto3 = [ - {file = "boto3-1.24.88-py3-none-any.whl", hash = "sha256:6b4cf1cd0be65202c4cf0e4c69099bac3620bcd4049ca25a5e223c668401dd69"}, - {file = "boto3-1.24.88.tar.gz", hash = "sha256:93934343cac76084600a520e5be70c52152364d0c410681c2e25c2290f0e151c"}, + {file = "boto3-1.26.9-py3-none-any.whl", hash = "sha256:27efa5eb229364bc4643d9e182de0891f73c21b65ef80b5bd02a977caeaf595c"}, + {file = "boto3-1.26.9.tar.gz", hash = "sha256:15b059251990706c5d5a556c42a6e6e781a51edadf48a42afdd06bd313adfaf2"}, ] botocore = [ - {file = "botocore-1.27.88-py3-none-any.whl", hash = "sha256:de4e087b24cd3bc369eb2e27f8fe94a6499f7dea08c919fba13cefb2496bd2bb"}, - {file = "botocore-1.27.88.tar.gz", hash = "sha256:ded0a4035baf91eb358ef501c92a8512543f5ab7658f459df3077a70a555b5cd"}, + {file = "botocore-1.29.9-py3-none-any.whl", hash = "sha256:c876a7c6a07d7f86f46a8cc765f0d38999b84ac1d7b0666d6ce08c0503e13145"}, + {file = "botocore-1.29.9.tar.gz", hash = "sha256:01f168e2418419a6d8b335ecc4330faa6a7332d5a097029fc9b4a3ae3c41cea2"}, ] c7n = [] certifi = [ @@ -1847,36 +1841,36 @@ click = [ {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"}, ] colorama = [ - {file = "colorama-0.4.5-py2.py3-none-any.whl", hash = "sha256:854bf444933e37f5824ae7bfc1e98d5bce2ebe4160d46b5edf346a89358e99da"}, - {file = "colorama-0.4.5.tar.gz", hash = "sha256:e6c6b4334fc50988a639d9b98aa429a0b57da6e17b9a44f0451f930b6967b7a4"}, + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] cryptography = [ - {file = "cryptography-38.0.1-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:10d1f29d6292fc95acb597bacefd5b9e812099d75a6469004fd38ba5471a977f"}, - {file = "cryptography-38.0.1-cp36-abi3-macosx_10_10_x86_64.whl", hash = "sha256:3fc26e22840b77326a764ceb5f02ca2d342305fba08f002a8c1f139540cdfaad"}, - {file = "cryptography-38.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:3b72c360427889b40f36dc214630e688c2fe03e16c162ef0aa41da7ab1455153"}, - {file = "cryptography-38.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:194044c6b89a2f9f169df475cc167f6157eb9151cc69af8a2a163481d45cc407"}, - {file = "cryptography-38.0.1-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca9f6784ea96b55ff41708b92c3f6aeaebde4c560308e5fbbd3173fbc466e94e"}, - {file = "cryptography-38.0.1-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:16fa61e7481f4b77ef53991075de29fc5bacb582a1244046d2e8b4bb72ef66d0"}, - {file = "cryptography-38.0.1-cp36-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:d4ef6cc305394ed669d4d9eebf10d3a101059bdcf2669c366ec1d14e4fb227bd"}, - {file = "cryptography-38.0.1-cp36-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:3261725c0ef84e7592597606f6583385fed2a5ec3909f43bc475ade9729a41d6"}, - {file = "cryptography-38.0.1-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:0297ffc478bdd237f5ca3a7dc96fc0d315670bfa099c04dc3a4a2172008a405a"}, - {file = "cryptography-38.0.1-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:89ed49784ba88c221756ff4d4755dbc03b3c8d2c5103f6d6b4f83a0fb1e85294"}, - {file = "cryptography-38.0.1-cp36-abi3-win32.whl", hash = "sha256:ac7e48f7e7261207d750fa7e55eac2d45f720027d5703cd9007e9b37bbb59ac0"}, - {file = "cryptography-38.0.1-cp36-abi3-win_amd64.whl", hash = "sha256:ad7353f6ddf285aeadfaf79e5a6829110106ff8189391704c1d8801aa0bae45a"}, - {file = "cryptography-38.0.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:896dd3a66959d3a5ddcfc140a53391f69ff1e8f25d93f0e2e7830c6de90ceb9d"}, - {file = "cryptography-38.0.1-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:d3971e2749a723e9084dd507584e2a2761f78ad2c638aa31e80bc7a15c9db4f9"}, - {file = "cryptography-38.0.1-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:79473cf8a5cbc471979bd9378c9f425384980fcf2ab6534b18ed7d0d9843987d"}, - {file = "cryptography-38.0.1-pp38-pypy38_pp73-macosx_10_10_x86_64.whl", hash = "sha256:d9e69ae01f99abe6ad646947bba8941e896cb3aa805be2597a0400e0764b5818"}, - {file = "cryptography-38.0.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5067ee7f2bce36b11d0e334abcd1ccf8c541fc0bbdaf57cdd511fdee53e879b6"}, - {file = "cryptography-38.0.1-pp38-pypy38_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:3e3a2599e640927089f932295a9a247fc40a5bdf69b0484532f530471a382750"}, - {file = "cryptography-38.0.1-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c2e5856248a416767322c8668ef1845ad46ee62629266f84a8f007a317141013"}, - {file = "cryptography-38.0.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:64760ba5331e3f1794d0bcaabc0d0c39e8c60bf67d09c93dc0e54189dfd7cfe5"}, - {file = "cryptography-38.0.1-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:b6c9b706316d7b5a137c35e14f4103e2115b088c412140fdbd5f87c73284df61"}, - {file = "cryptography-38.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b0163a849b6f315bf52815e238bc2b2346604413fa7c1601eea84bcddb5fb9ac"}, - {file = "cryptography-38.0.1-pp39-pypy39_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:d1a5bd52d684e49a36582193e0b89ff267704cd4025abefb9e26803adeb3e5fb"}, - {file = "cryptography-38.0.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:765fa194a0f3372d83005ab83ab35d7c5526c4e22951e46059b8ac678b44fa5a"}, - {file = "cryptography-38.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:52e7bee800ec869b4031093875279f1ff2ed12c1e2f74923e8f49c916afd1d3b"}, - {file = "cryptography-38.0.1.tar.gz", hash = "sha256:1db3d807a14931fa317f96435695d9ec386be7b84b618cc61cfa5d08b0ae33d7"}, + {file = "cryptography-38.0.3-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:984fe150f350a3c91e84de405fe49e688aa6092b3525f407a18b9646f6612320"}, + {file = "cryptography-38.0.3-cp36-abi3-macosx_10_10_x86_64.whl", hash = "sha256:ed7b00096790213e09eb11c97cc6e2b757f15f3d2f85833cd2d3ec3fe37c1722"}, + {file = "cryptography-38.0.3-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:bbf203f1a814007ce24bd4d51362991d5cb90ba0c177a9c08825f2cc304d871f"}, + {file = "cryptography-38.0.3-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:554bec92ee7d1e9d10ded2f7e92a5d70c1f74ba9524947c0ba0c850c7b011828"}, + {file = "cryptography-38.0.3-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1b52c9e5f8aa2b802d48bd693190341fae201ea51c7a167d69fc48b60e8a959"}, + {file = "cryptography-38.0.3-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:728f2694fa743a996d7784a6194da430f197d5c58e2f4e278612b359f455e4a2"}, + {file = "cryptography-38.0.3-cp36-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:dfb4f4dd568de1b6af9f4cda334adf7d72cf5bc052516e1b2608b683375dd95c"}, + {file = "cryptography-38.0.3-cp36-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:5419a127426084933076132d317911e3c6eb77568a1ce23c3ac1e12d111e61e0"}, + {file = "cryptography-38.0.3-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:9b24bcff7853ed18a63cfb0c2b008936a9554af24af2fb146e16d8e1aed75748"}, + {file = "cryptography-38.0.3-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:25c1d1f19729fb09d42e06b4bf9895212292cb27bb50229f5aa64d039ab29146"}, + {file = "cryptography-38.0.3-cp36-abi3-win32.whl", hash = "sha256:7f836217000342d448e1c9a342e9163149e45d5b5eca76a30e84503a5a96cab0"}, + {file = "cryptography-38.0.3-cp36-abi3-win_amd64.whl", hash = "sha256:c46837ea467ed1efea562bbeb543994c2d1f6e800785bd5a2c98bc096f5cb220"}, + {file = "cryptography-38.0.3-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06fc3cc7b6f6cca87bd56ec80a580c88f1da5306f505876a71c8cfa7050257dd"}, + {file = "cryptography-38.0.3-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:65535bc550b70bd6271984d9863a37741352b4aad6fb1b3344a54e6950249b55"}, + {file = "cryptography-38.0.3-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:5e89468fbd2fcd733b5899333bc54d0d06c80e04cd23d8c6f3e0542358c6060b"}, + {file = "cryptography-38.0.3-pp38-pypy38_pp73-macosx_10_10_x86_64.whl", hash = "sha256:6ab9516b85bebe7aa83f309bacc5f44a61eeb90d0b4ec125d2d003ce41932d36"}, + {file = "cryptography-38.0.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:068147f32fa662c81aebab95c74679b401b12b57494872886eb5c1139250ec5d"}, + {file = "cryptography-38.0.3-pp38-pypy38_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:402852a0aea73833d982cabb6d0c3bb582c15483d29fb7085ef2c42bfa7e38d7"}, + {file = "cryptography-38.0.3-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b1b35d9d3a65542ed2e9d90115dfd16bbc027b3f07ee3304fc83580f26e43249"}, + {file = "cryptography-38.0.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:6addc3b6d593cd980989261dc1cce38263c76954d758c3c94de51f1e010c9a50"}, + {file = "cryptography-38.0.3-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:be243c7e2bfcf6cc4cb350c0d5cdf15ca6383bbcb2a8ef51d3c9411a9d4386f0"}, + {file = "cryptography-38.0.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78cf5eefac2b52c10398a42765bfa981ce2372cbc0457e6bf9658f41ec3c41d8"}, + {file = "cryptography-38.0.3-pp39-pypy39_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:4e269dcd9b102c5a3d72be3c45d8ce20377b8076a43cbed6f660a1afe365e436"}, + {file = "cryptography-38.0.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:8d41a46251bf0634e21fac50ffd643216ccecfaf3701a063257fe0b2be1b6548"}, + {file = "cryptography-38.0.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:785e4056b5a8b28f05a533fab69febf5004458e20dad7e2e13a3120d8ecec75a"}, + {file = "cryptography-38.0.3.tar.gz", hash = "sha256:bfbe6ee19615b07a98b1d2287d6a6073f734735b49ee45b11324d85efc4d5cbd"}, ] distlib = [ {file = "distlib-0.3.6-py2.py3-none-any.whl", hash = "sha256:f35c4b692542ca110de7ef0bea44d73981caeb34ca0b9b6b2e6d7790dda8f80e"}, @@ -1895,8 +1889,8 @@ importlib-metadata = [ {file = "importlib_metadata-4.13.0.tar.gz", hash = "sha256:dd0173e8f150d6815e098fd354f6414b0f079af4644ddfe90c71e2fc6174346d"}, ] importlib-resources = [ - {file = "importlib_resources-5.9.0-py3-none-any.whl", hash = "sha256:f78a8df21a79bcc30cfd400bdc38f314333de7c0fb619763f6b9dabab8268bb7"}, - {file = "importlib_resources-5.9.0.tar.gz", hash = "sha256:5481e97fb45af8dcf2f798952625591c58fe599d0735d86b10f54de086a61681"}, + {file = "importlib_resources-5.10.0-py3-none-any.whl", hash = "sha256:ee17ec648f85480d523596ce49eae8ead87d5631ae1551f913c0100b5edd3437"}, + {file = "importlib_resources-5.10.0.tar.gz", hash = "sha256:c01b1b94210d9849f286b86bb51bcea7cd56dde0600d8db721d7b81330711668"}, ] isodate = [ {file = "isodate-0.6.1-py2.py3-none-any.whl", hash = "sha256:0751eece944162659049d35f4f549ed815792b38793f07cf73381c1c87cbed96"}, @@ -1907,12 +1901,12 @@ jmespath = [ {file = "jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe"}, ] jsonschema = [ - {file = "jsonschema-4.16.0-py3-none-any.whl", hash = "sha256:9e74b8f9738d6a946d70705dc692b74b5429cd0960d58e79ffecfc43b2221eb9"}, - {file = "jsonschema-4.16.0.tar.gz", hash = "sha256:165059f076eff6971bae5b742fc029a7b4ef3f9bcf04c14e4776a7605de14b23"}, + {file = "jsonschema-4.17.0-py3-none-any.whl", hash = "sha256:f660066c3966db7d6daeaea8a75e0b68237a48e51cf49882087757bb59916248"}, + {file = "jsonschema-4.17.0.tar.gz", hash = "sha256:5bfcf2bca16a087ade17e02b282d34af7ccd749ef76241e7f9bd7c0cb8a9424d"}, ] msal = [ - {file = "msal-1.19.0-py2.py3-none-any.whl", hash = "sha256:2206b44a739918b3ba0ee1bacd904e548fc91706cada9f1673b763c8d5f3364e"}, - {file = "msal-1.19.0.tar.gz", hash = "sha256:65e329d69cbfe48bb3dd3236b1ef8e4cc91f869637606c184e227e86d2b0629d"}, + {file = "msal-1.20.0-py2.py3-none-any.whl", hash = "sha256:d2f1c26368ecdc28c8657d457352faa0b81b1845a7b889d8676787721ba86792"}, + {file = "msal-1.20.0.tar.gz", hash = "sha256:78344cd4c91d6134a593b5e3e45541e666e37b747ff8a6316c3668dd1e6ab6b2"}, ] msal-extensions = [ {file = "msal-extensions-1.0.0.tar.gz", hash = "sha256:c676aba56b0cce3783de1b5c5ecfe828db998167875126ca4b47dc6436451354"}, @@ -1992,8 +1986,8 @@ netaddr = [ {file = "netaddr-0.7.20.tar.gz", hash = "sha256:d09252e5aec3913815d77eb8e8ea8fa6eb33521253e52f977f6abaa964776f3e"}, ] oauthlib = [ - {file = "oauthlib-3.2.1-py3-none-any.whl", hash = "sha256:88e912ca1ad915e1dcc1c06fc9259d19de8deacd6fd17cc2df266decc2e49066"}, - {file = "oauthlib-3.2.1.tar.gz", hash = "sha256:1565237372795bf6ee3e5aba5e2a85bd5a65d0e2aa5c628b9a97b7d7a0da3721"}, + {file = "oauthlib-3.2.2-py3-none-any.whl", hash = "sha256:8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca"}, + {file = "oauthlib-3.2.2.tar.gz", hash = "sha256:9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918"}, ] parameterized = [ {file = "parameterized-0.7.5-py2.py3-none-any.whl", hash = "sha256:b36f709fcfd9e8c144c1374b16a40fc0b5984efe93e41d53e6d228ae2a1540c5"}, @@ -2004,67 +1998,68 @@ pkgutil_resolve_name = [ {file = "pkgutil_resolve_name-1.3.10.tar.gz", hash = "sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174"}, ] portalocker = [ - {file = "portalocker-2.5.1-py2.py3-none-any.whl", hash = "sha256:400bae275366e7b840d4baad0654c6ec5994e07c40c423d78e9e1340279b8352"}, - {file = "portalocker-2.5.1.tar.gz", hash = "sha256:ae8e9cc2660da04bf41fa1a0eef7e300bb5e4a5869adfb1a6d8551632b559b2b"}, + {file = "portalocker-2.6.0-py2.py3-none-any.whl", hash = "sha256:102ed1f2badd8dec9af3d732ef70e94b215b85ba45a8d7ff3c0003f19b442f4e"}, + {file = "portalocker-2.6.0.tar.gz", hash = "sha256:964f6830fb42a74b5d32bce99ed37d8308c1d7d44ddf18f3dd89f4680de97b39"}, ] pycparser = [ {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"}, {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"}, ] PyJWT = [ - {file = "PyJWT-2.5.0-py3-none-any.whl", hash = "sha256:8d82e7087868e94dd8d7d418e5088ce64f7daab4b36db654cbaedb46f9d1ca80"}, - {file = "PyJWT-2.5.0.tar.gz", hash = "sha256:e77ab89480905d86998442ac5788f35333fa85f65047a534adc38edf3c88fc3b"}, + {file = "PyJWT-2.6.0-py3-none-any.whl", hash = "sha256:d83c3d892a77bbb74d3e1a2cfa90afaadb60945205d1095d9221f04466f64c14"}, + {file = "PyJWT-2.6.0.tar.gz", hash = "sha256:69285c7e31fc44f68a1feb309e948e0df53259d579295e6cfe2b1792329f05fd"}, ] pyrsistent = [ - {file = "pyrsistent-0.18.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:df46c854f490f81210870e509818b729db4488e1f30f2a1ce1698b2295a878d1"}, - {file = "pyrsistent-0.18.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d45866ececf4a5fff8742c25722da6d4c9e180daa7b405dc0a2a2790d668c26"}, - {file = "pyrsistent-0.18.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4ed6784ceac462a7d6fcb7e9b663e93b9a6fb373b7f43594f9ff68875788e01e"}, - {file = "pyrsistent-0.18.1-cp310-cp310-win32.whl", hash = "sha256:e4f3149fd5eb9b285d6bfb54d2e5173f6a116fe19172686797c056672689daf6"}, - {file = "pyrsistent-0.18.1-cp310-cp310-win_amd64.whl", hash = "sha256:636ce2dc235046ccd3d8c56a7ad54e99d5c1cd0ef07d9ae847306c91d11b5fec"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e92a52c166426efbe0d1ec1332ee9119b6d32fc1f0bbfd55d5c1088070e7fc1b"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d7a096646eab884bf8bed965bad63ea327e0d0c38989fc83c5ea7b8a87037bfc"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cdfd2c361b8a8e5d9499b9082b501c452ade8bbf42aef97ea04854f4a3f43b22"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-win32.whl", hash = "sha256:7ec335fc998faa4febe75cc5268a9eac0478b3f681602c1f27befaf2a1abe1d8"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-win_amd64.whl", hash = "sha256:6455fc599df93d1f60e1c5c4fe471499f08d190d57eca040c0ea182301321286"}, - {file = "pyrsistent-0.18.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:fd8da6d0124efa2f67d86fa70c851022f87c98e205f0594e1fae044e7119a5a6"}, - {file = "pyrsistent-0.18.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7bfe2388663fd18bd8ce7db2c91c7400bf3e1a9e8bd7d63bf7e77d39051b85ec"}, - {file = "pyrsistent-0.18.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e3e1fcc45199df76053026a51cc59ab2ea3fc7c094c6627e93b7b44cdae2c8c"}, - {file = "pyrsistent-0.18.1-cp38-cp38-win32.whl", hash = "sha256:b568f35ad53a7b07ed9b1b2bae09eb15cdd671a5ba5d2c66caee40dbf91c68ca"}, - {file = "pyrsistent-0.18.1-cp38-cp38-win_amd64.whl", hash = "sha256:d1b96547410f76078eaf66d282ddca2e4baae8964364abb4f4dcdde855cd123a"}, - {file = "pyrsistent-0.18.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f87cc2863ef33c709e237d4b5f4502a62a00fab450c9e020892e8e2ede5847f5"}, - {file = "pyrsistent-0.18.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bc66318fb7ee012071b2792024564973ecc80e9522842eb4e17743604b5e045"}, - {file = "pyrsistent-0.18.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:914474c9f1d93080338ace89cb2acee74f4f666fb0424896fcfb8d86058bf17c"}, - {file = "pyrsistent-0.18.1-cp39-cp39-win32.whl", hash = "sha256:1b34eedd6812bf4d33814fca1b66005805d3640ce53140ab8bbb1e2651b0d9bc"}, - {file = "pyrsistent-0.18.1-cp39-cp39-win_amd64.whl", hash = "sha256:e24a828f57e0c337c8d8bb9f6b12f09dfdf0273da25fda9e314f0b684b415a07"}, - {file = "pyrsistent-0.18.1.tar.gz", hash = "sha256:d4d61f8b993a7255ba714df3aca52700f8125289f84f704cf80916517c46eb96"}, + {file = "pyrsistent-0.19.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d6982b5a0237e1b7d876b60265564648a69b14017f3b5f908c5be2de3f9abb7a"}, + {file = "pyrsistent-0.19.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:187d5730b0507d9285a96fca9716310d572e5464cadd19f22b63a6976254d77a"}, + {file = "pyrsistent-0.19.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:055ab45d5911d7cae397dc418808d8802fb95262751872c841c170b0dbf51eed"}, + {file = "pyrsistent-0.19.2-cp310-cp310-win32.whl", hash = "sha256:456cb30ca8bff00596519f2c53e42c245c09e1a4543945703acd4312949bfd41"}, + {file = "pyrsistent-0.19.2-cp310-cp310-win_amd64.whl", hash = "sha256:b39725209e06759217d1ac5fcdb510e98670af9e37223985f330b611f62e7425"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2aede922a488861de0ad00c7630a6e2d57e8023e4be72d9d7147a9fcd2d30712"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:879b4c2f4d41585c42df4d7654ddffff1239dc4065bc88b745f0341828b83e78"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c43bec251bbd10e3cb58ced80609c5c1eb238da9ca78b964aea410fb820d00d6"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-win32.whl", hash = "sha256:d690b18ac4b3e3cab73b0b7aa7dbe65978a172ff94970ff98d82f2031f8971c2"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-win_amd64.whl", hash = "sha256:3ba4134a3ff0fc7ad225b6b457d1309f4698108fb6b35532d015dca8f5abed73"}, + {file = "pyrsistent-0.19.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a178209e2df710e3f142cbd05313ba0c5ebed0a55d78d9945ac7a4e09d923308"}, + {file = "pyrsistent-0.19.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e371b844cec09d8dc424d940e54bba8f67a03ebea20ff7b7b0d56f526c71d584"}, + {file = "pyrsistent-0.19.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:111156137b2e71f3a9936baf27cb322e8024dac3dc54ec7fb9f0bcf3249e68bb"}, + {file = "pyrsistent-0.19.2-cp38-cp38-win32.whl", hash = "sha256:e5d8f84d81e3729c3b506657dddfe46e8ba9c330bf1858ee33108f8bb2adb38a"}, + {file = "pyrsistent-0.19.2-cp38-cp38-win_amd64.whl", hash = "sha256:9cd3e9978d12b5d99cbdc727a3022da0430ad007dacf33d0bf554b96427f33ab"}, + {file = "pyrsistent-0.19.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f1258f4e6c42ad0b20f9cfcc3ada5bd6b83374516cd01c0960e3cb75fdca6770"}, + {file = "pyrsistent-0.19.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21455e2b16000440e896ab99e8304617151981ed40c29e9507ef1c2e4314ee95"}, + {file = "pyrsistent-0.19.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bfd880614c6237243ff53a0539f1cb26987a6dc8ac6e66e0c5a40617296a045e"}, + {file = "pyrsistent-0.19.2-cp39-cp39-win32.whl", hash = "sha256:71d332b0320642b3261e9fee47ab9e65872c2bd90260e5d225dabeed93cbd42b"}, + {file = "pyrsistent-0.19.2-cp39-cp39-win_amd64.whl", hash = "sha256:dec3eac7549869365fe263831f576c8457f6c833937c68542d08fde73457d291"}, + {file = "pyrsistent-0.19.2-py3-none-any.whl", hash = "sha256:ea6b79a02a28550c98b6ca9c35b9f492beaa54d7c5c9e9949555893c8a9234d0"}, + {file = "pyrsistent-0.19.2.tar.gz", hash = "sha256:bfa0351be89c9fcbcb8c9879b826f4353be10f58f8a677efab0c017bf7137ec2"}, ] python-dateutil = [ {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, ] pytz = [ - {file = "pytz-2022.4-py2.py3-none-any.whl", hash = "sha256:2c0784747071402c6e99f0bafdb7da0fa22645f06554c7ae06bf6358897e9c91"}, - {file = "pytz-2022.4.tar.gz", hash = "sha256:48ce799d83b6f8aab2020e369b627446696619e79645419610b9facd909b3174"}, + {file = "pytz-2022.6-py2.py3-none-any.whl", hash = "sha256:222439474e9c98fced559f1709d89e6c9cbf8d79c794ff3eb9f8800064291427"}, + {file = "pytz-2022.6.tar.gz", hash = "sha256:e89512406b793ca39f5971bc999cc538ce125c0e51c27941bef4568b460095e2"}, ] pytz-deprecation-shim = [ {file = "pytz_deprecation_shim-0.1.0.post0-py2.py3-none-any.whl", hash = "sha256:8314c9692a636c8eb3bda879b9f119e350e93223ae83e70e80c31675a0fdc1a6"}, {file = "pytz_deprecation_shim-0.1.0.post0.tar.gz", hash = "sha256:af097bae1b616dde5c5744441e2ddc69e74dfdcb0c263129610d85b87445a59d"}, ] pywin32 = [ - {file = "pywin32-304-cp310-cp310-win32.whl", hash = "sha256:3c7bacf5e24298c86314f03fa20e16558a4e4138fc34615d7de4070c23e65af3"}, - {file = "pywin32-304-cp310-cp310-win_amd64.whl", hash = "sha256:4f32145913a2447736dad62495199a8e280a77a0ca662daa2332acf849f0be48"}, - {file = "pywin32-304-cp310-cp310-win_arm64.whl", hash = "sha256:d3ee45adff48e0551d1aa60d2ec066fec006083b791f5c3527c40cd8aefac71f"}, - {file = "pywin32-304-cp311-cp311-win32.whl", hash = "sha256:30c53d6ce44c12a316a06c153ea74152d3b1342610f1b99d40ba2795e5af0269"}, - {file = "pywin32-304-cp311-cp311-win_amd64.whl", hash = "sha256:7ffa0c0fa4ae4077e8b8aa73800540ef8c24530057768c3ac57c609f99a14fd4"}, - {file = "pywin32-304-cp311-cp311-win_arm64.whl", hash = "sha256:cbbe34dad39bdbaa2889a424d28752f1b4971939b14b1bb48cbf0182a3bcfc43"}, - {file = "pywin32-304-cp36-cp36m-win32.whl", hash = "sha256:be253e7b14bc601718f014d2832e4c18a5b023cbe72db826da63df76b77507a1"}, - {file = "pywin32-304-cp36-cp36m-win_amd64.whl", hash = "sha256:de9827c23321dcf43d2f288f09f3b6d772fee11e809015bdae9e69fe13213988"}, - {file = "pywin32-304-cp37-cp37m-win32.whl", hash = "sha256:f64c0377cf01b61bd5e76c25e1480ca8ab3b73f0c4add50538d332afdf8f69c5"}, - {file = "pywin32-304-cp37-cp37m-win_amd64.whl", hash = "sha256:bb2ea2aa81e96eee6a6b79d87e1d1648d3f8b87f9a64499e0b92b30d141e76df"}, - {file = "pywin32-304-cp38-cp38-win32.whl", hash = "sha256:94037b5259701988954931333aafd39cf897e990852115656b014ce72e052e96"}, - {file = "pywin32-304-cp38-cp38-win_amd64.whl", hash = "sha256:ead865a2e179b30fb717831f73cf4373401fc62fbc3455a0889a7ddac848f83e"}, - {file = "pywin32-304-cp39-cp39-win32.whl", hash = "sha256:25746d841201fd9f96b648a248f731c1dec851c9a08b8e33da8b56148e4c65cc"}, - {file = "pywin32-304-cp39-cp39-win_amd64.whl", hash = "sha256:d24a3382f013b21aa24a5cfbfad5a2cd9926610c0affde3e8ab5b3d7dbcf4ac9"}, + {file = "pywin32-305-cp310-cp310-win32.whl", hash = "sha256:421f6cd86e84bbb696d54563c48014b12a23ef95a14e0bdba526be756d89f116"}, + {file = "pywin32-305-cp310-cp310-win_amd64.whl", hash = "sha256:73e819c6bed89f44ff1d690498c0a811948f73777e5f97c494c152b850fad478"}, + {file = "pywin32-305-cp310-cp310-win_arm64.whl", hash = "sha256:742eb905ce2187133a29365b428e6c3b9001d79accdc30aa8969afba1d8470f4"}, + {file = "pywin32-305-cp311-cp311-win32.whl", hash = "sha256:19ca459cd2e66c0e2cc9a09d589f71d827f26d47fe4a9d09175f6aa0256b51c2"}, + {file = "pywin32-305-cp311-cp311-win_amd64.whl", hash = "sha256:326f42ab4cfff56e77e3e595aeaf6c216712bbdd91e464d167c6434b28d65990"}, + {file = "pywin32-305-cp311-cp311-win_arm64.whl", hash = "sha256:4ecd404b2c6eceaca52f8b2e3e91b2187850a1ad3f8b746d0796a98b4cea04db"}, + {file = "pywin32-305-cp36-cp36m-win32.whl", hash = "sha256:48d8b1659284f3c17b68587af047d110d8c44837736b8932c034091683e05863"}, + {file = "pywin32-305-cp36-cp36m-win_amd64.whl", hash = "sha256:13362cc5aa93c2beaf489c9c9017c793722aeb56d3e5166dadd5ef82da021fe1"}, + {file = "pywin32-305-cp37-cp37m-win32.whl", hash = "sha256:a55db448124d1c1484df22fa8bbcbc45c64da5e6eae74ab095b9ea62e6d00496"}, + {file = "pywin32-305-cp37-cp37m-win_amd64.whl", hash = "sha256:109f98980bfb27e78f4df8a51a8198e10b0f347257d1e265bb1a32993d0c973d"}, + {file = "pywin32-305-cp38-cp38-win32.whl", hash = "sha256:9dd98384da775afa009bc04863426cb30596fd78c6f8e4e2e5bbf4edf8029504"}, + {file = "pywin32-305-cp38-cp38-win_amd64.whl", hash = "sha256:56d7a9c6e1a6835f521788f53b5af7912090674bb84ef5611663ee1595860fc7"}, + {file = "pywin32-305-cp39-cp39-win32.whl", hash = "sha256:9d968c677ac4d5cbdaa62fd3014ab241718e619d8e36ef8e11fb930515a1e918"}, + {file = "pywin32-305-cp39-cp39-win_amd64.whl", hash = "sha256:50768c6b7c3f0b38b7fb14dd4104da93ebced5f1a50dc0e834594bff6fbe1271"}, ] PyYAML = [ {file = "PyYAML-6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53"}, @@ -2121,8 +2116,8 @@ s3transfer = [ {file = "s3transfer-0.6.0.tar.gz", hash = "sha256:2ed07d3866f523cc561bf4a00fc5535827981b117dd7876f036b0c1aca42c947"}, ] setuptools = [ - {file = "setuptools-65.4.1-py3-none-any.whl", hash = "sha256:1b6bdc6161661409c5f21508763dc63ab20a9ac2f8ba20029aaaa7fdb9118012"}, - {file = "setuptools-65.4.1.tar.gz", hash = "sha256:3050e338e5871e70c72983072fe34f6032ae1cdeeeb67338199c2f74e083a80e"}, + {file = "setuptools-65.5.1-py3-none-any.whl", hash = "sha256:d0b9a8433464d5800cbe05094acf5c6d52a91bfac9b52bcfc4d41382be5d5d31"}, + {file = "setuptools-65.5.1.tar.gz", hash = "sha256:e197a19aa8ec9722928f2206f8de752def0e4c9fc6953527360d1c36d94ddb2f"}, ] six = [ {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, @@ -2132,17 +2127,13 @@ tabulate = [ {file = "tabulate-0.8.10-py3-none-any.whl", hash = "sha256:0ba055423dbaa164b9e456abe7920c5e8ed33fcc16f6d1b2f2d152c8e1e8b4fc"}, {file = "tabulate-0.8.10.tar.gz", hash = "sha256:6c57f3f3dd7ac2782770155f3adb2db0b1a269637e42f27599925e64b114f519"}, ] -types-cryptography = [ - {file = "types-cryptography-3.3.23.tar.gz", hash = "sha256:b85c45fd4d3d92e8b18e9a5ee2da84517e8fff658e3ef5755c885b1c2a27c1fe"}, - {file = "types_cryptography-3.3.23-py3-none-any.whl", hash = "sha256:913b3e66a502edbf4bfc3bb45e33ab476040c56942164a7ff37bd1f0ef8ef783"}, -] typing-extensions = [ - {file = "typing_extensions-4.3.0-py3-none-any.whl", hash = "sha256:25642c956049920a5aa49edcdd6ab1e06d7e5d467fc00e0506c44ac86fbfca02"}, - {file = "typing_extensions-4.3.0.tar.gz", hash = "sha256:e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6"}, + {file = "typing_extensions-4.4.0-py3-none-any.whl", hash = "sha256:16fa4864408f655d35ec496218b85f79b3437c829e93320c7c9215ccfd92489e"}, + {file = "typing_extensions-4.4.0.tar.gz", hash = "sha256:1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa"}, ] tzdata = [ - {file = "tzdata-2022.4-py2.py3-none-any.whl", hash = "sha256:74da81ecf2b3887c94e53fc1d466d4362aaf8b26fc87cda18f22004544694583"}, - {file = "tzdata-2022.4.tar.gz", hash = "sha256:ada9133fbd561e6ec3d1674d3fba50251636e918aa97bd59d63735bef5a513bb"}, + {file = "tzdata-2022.6-py2.py3-none-any.whl", hash = "sha256:04a680bdc5b15750c39c12a448885a51134a27ec9af83667663f0b3a1bf3f342"}, + {file = "tzdata-2022.6.tar.gz", hash = "sha256:91f11db4503385928c15598c98573e3af07e7229181bee5375bd30f1695ddcae"}, ] tzlocal = [ {file = "tzlocal-4.2-py3-none-any.whl", hash = "sha256:89885494684c929d9191c57aa27502afc87a579be5cdd3225c77c463ea043745"}, @@ -2288,6 +2279,6 @@ yarl = [ {file = "yarl-1.8.1.tar.gz", hash = "sha256:af887845b8c2e060eb5605ff72b6f2dd2aab7a761379373fd89d314f4752abbf"}, ] zipp = [ - {file = "zipp-3.8.1-py3-none-any.whl", hash = "sha256:47c40d7fe183a6f21403a199b3e4192cca5774656965b0a4988ad2f8feb5f009"}, - {file = "zipp-3.8.1.tar.gz", hash = "sha256:05b45f1ee8f807d0cc928485ca40a07cb491cf092ff587c0df9cb1fd154848d2"}, + {file = "zipp-3.10.0-py3-none-any.whl", hash = "sha256:4fcb6f278987a6605757302a6e40e896257570d11c51628968ccb2a47e80c6c1"}, + {file = "zipp-3.10.0.tar.gz", hash = "sha256:7a7262fd930bd3e36c50b9a64897aec3fafff3dfdeec9623ae22b40e93f99bb8"}, ] diff --git a/tools/c7n_azure/pyproject.toml b/tools/c7n_azure/pyproject.toml index 58bf32b9fa9..5d7a380d27b 100644 --- a/tools/c7n_azure/pyproject.toml +++ b/tools/c7n_azure/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "c7n_azure" -version = "0.7.19" +version = "0.7.20" description = "Cloud Custodian - Azure Support" readme = "readme.md" homepage="https://cloudcustodian.io" diff --git a/tools/c7n_azure/requirements.txt b/tools/c7n_azure/requirements.txt index 4619376894a..06b4a5f2cb4 100644 --- a/tools/c7n_azure/requirements.txt +++ b/tools/c7n_azure/requirements.txt @@ -1,14 +1,14 @@ adal==1.2.7 ; python_version >= "3.7" and python_version < "4.0" applicationinsights==0.11.10 ; python_version >= "3.7" and python_version < "4.0" -apscheduler==3.9.1 ; python_version >= "3.7" and python_version < "4" +apscheduler==3.9.1.post1 ; python_version >= "3.7" and python_version < "4" azure-common==1.1.28 ; python_version >= "3.7" and python_version < "4.0" -azure-core==1.26.0 ; python_version >= "3.7" and python_version < "4.0" +azure-core==1.26.1 ; python_version >= "3.7" and python_version < "4.0" azure-cosmos==3.2.0 ; python_version >= "3.7" and python_version < "4.0" azure-cosmosdb-nspkg==2.0.2 ; python_version >= "3.7" and python_version < "4.0" azure-cosmosdb-table==1.0.6 ; python_version >= "3.7" and python_version < "4.0" -azure-functions==1.11.2 ; python_version >= "3.7" and python_version < "4" +azure-functions==1.12.0 ; python_version >= "3.7" and python_version < "4" azure-graphrbac==0.61.1 ; python_version >= "3.7" and python_version < "4.0" -azure-identity==1.11.0 ; python_version >= "3.7" and python_version < "4.0" +azure-identity==1.12.0 ; python_version >= "3.7" and python_version < "4.0" azure-keyvault-certificates==4.6.0 ; python_version >= "3.7" and python_version < "4.0" azure-keyvault-keys==4.7.0 ; python_version >= "3.7" and python_version < "4.0" azure-keyvault-secrets==4.6.0 ; python_version >= "3.7" and python_version < "4.0" @@ -56,44 +56,43 @@ azure-mgmt-subscription==1.0.0 ; python_version >= "3.7" and python_version < "4 azure-mgmt-trafficmanager==0.51.0 ; python_version >= "3.7" and python_version < "4.0" azure-mgmt-web==2.0.0 ; python_version >= "3.7" and python_version < "4.0" azure-nspkg==3.0.2 ; python_version >= "3.7" and python_version < "4.0" -azure-storage-blob==12.13.1 ; python_version >= "3.7" and python_version < "4.0" +azure-storage-blob==12.14.1 ; python_version >= "3.7" and python_version < "4.0" azure-storage-common==2.1.0 ; python_version >= "3.7" and python_version < "4.0" -azure-storage-file-share==12.9.0 ; python_version >= "3.7" and python_version < "4.0" +azure-storage-file-share==12.10.1 ; python_version >= "3.7" and python_version < "4.0" azure-storage-file==2.1.0 ; python_version >= "3.7" and python_version < "4.0" -azure-storage-queue==12.4.0 ; python_version >= "3.7" and python_version < "4.0" +azure-storage-queue==12.5.0 ; python_version >= "3.7" and python_version < "4.0" backports-zoneinfo==0.2.1 ; python_version >= "3.7" and python_version < "3.9" certifi==2022.9.24 ; python_version >= "3.7" and python_version < "4" cffi==1.15.1 ; python_version >= "3.7" and python_version < "4.0" charset-normalizer==2.1.1 ; python_version >= "3.7" and python_version < "4" click==8.1.3 ; python_version >= "3.7" and python_version < "4.0" -colorama==0.4.5 ; python_version >= "3.7" and python_version < "4.0" and platform_system == "Windows" -cryptography==38.0.1 ; python_version >= "3.7" and python_version < "4.0" +colorama==0.4.6 ; python_version >= "3.7" and python_version < "4.0" and platform_system == "Windows" +cryptography==38.0.3 ; python_version >= "3.7" and python_version < "4.0" distlib==0.3.6 ; python_version >= "3.7" and python_version < "4.0" idna==3.4 ; python_version >= "3.7" and python_version < "4" importlib-metadata==4.13.0 ; python_version >= "3.7" and python_version < "3.8" isodate==0.6.1 ; python_version >= "3.7" and python_version < "4.0" jmespath==1.0.1 ; python_version >= "3.7" and python_version < "4.0" msal-extensions==1.0.0 ; python_version >= "3.7" and python_version < "4.0" -msal==1.19.0 ; python_version >= "3.7" and python_version < "4.0" +msal==1.20.0 ; python_version >= "3.7" and python_version < "4.0" msrest==0.7.1 ; python_version >= "3.7" and python_version < "4.0" msrestazure==0.6.4 ; python_version >= "3.7" and python_version < "4.0" netaddr==0.7.20 ; python_version >= "3.7" and python_version < "4.0" -oauthlib==3.2.1 ; python_version >= "3.7" and python_version < "4.0" -portalocker==2.5.1 ; python_version >= "3.7" and python_version < "4.0" +oauthlib==3.2.2 ; python_version >= "3.7" and python_version < "4.0" +portalocker==2.6.0 ; python_version >= "3.7" and python_version < "4.0" pycparser==2.21 ; python_version >= "3.7" and python_version < "4.0" -pyjwt==2.5.0 ; python_version >= "3.7" and python_version < "4.0" -pyjwt[crypto]==2.5.0 ; python_version >= "3.7" and python_version < "4.0" +pyjwt==2.6.0 ; python_version >= "3.7" and python_version < "4.0" +pyjwt[crypto]==2.6.0 ; python_version >= "3.7" and python_version < "4.0" python-dateutil==2.8.2 ; python_version >= "3.7" and python_version < "4.0" pytz-deprecation-shim==0.1.0.post0 ; python_version >= "3.7" and python_version < "4" -pytz==2022.4 ; python_version >= "3.7" and python_version < "4" -pywin32==304 ; python_version >= "3.7" and platform_system == "Windows" and python_version < "4.0" +pytz==2022.6 ; python_version >= "3.7" and python_version < "4" +pywin32==305 ; python_version >= "3.7" and platform_system == "Windows" and python_version < "4.0" requests-oauthlib==1.3.1 ; python_version >= "3.7" and python_version < "4.0" requests==2.28.1 ; python_version >= "3.7" and python_version < "4" -setuptools==65.4.1 ; python_version >= "3.7" and python_version < "4" +setuptools==65.5.1 ; python_version >= "3.7" and python_version < "4" six==1.16.0 ; python_version >= "3.7" and python_version < "4" -types-cryptography==3.3.23 ; python_version >= "3.7" and python_version < "4.0" -typing-extensions==4.3.0 ; python_version >= "3.7" and python_version < "4.0" -tzdata==2022.4 ; python_version >= "3.7" and python_version < "4" +typing-extensions==4.4.0 ; python_version >= "3.7" and python_version < "4.0" +tzdata==2022.6 ; python_version >= "3.7" and python_version < "4" tzlocal==4.2 ; python_version >= "3.7" and python_version < "4" urllib3==1.26.12 ; python_version >= "3.7" and python_version < "4" -zipp==3.8.1 ; python_version >= "3.7" and python_version < "3.8" +zipp==3.10.0 ; python_version >= "3.7" and python_version < "3.8" diff --git a/tools/c7n_azure/setup.py b/tools/c7n_azure/setup.py index 7514b323b87..93ece7a9d1a 100644 --- a/tools/c7n_azure/setup.py +++ b/tools/c7n_azure/setup.py @@ -73,37 +73,37 @@ 'azure-storage-file-share>=12.4.1,<13.0.0', 'azure-storage-file>=2.1.0,<3.0.0', 'azure-storage-queue>=12.1.5,<13.0.0', - 'boto3 (>=1.24.88,<2.0.0)', - 'botocore (>=1.27.88,<2.0.0)', - 'c7n (>=0.9.20,<0.10.0)', + 'boto3 (>=1.26.9,<2.0.0)', + 'botocore (>=1.29.9,<2.0.0)', + 'c7n (>=0.9.21,<0.10.0)', 'click>=8.0,<9.0', 'cryptography>=3.4.6', 'distlib>=0.3.0,<0.4.0', 'docutils (>=0.17.1,<0.18.0)', 'importlib-metadata (>=4.13.0,<5.0.0)', - 'importlib-resources (>=5.9.0,<6.0.0)', + 'importlib-resources (>=5.10.0,<6.0.0)', 'jmespath (>=1.0.1,<2.0.0)', 'jmespath>=1.0.0,<2.0.0', - 'jsonschema (>=4.16.0,<5.0.0)', + 'jsonschema (>=4.17.0,<5.0.0)', 'netaddr>=0.7.19,<0.8.0', 'pkgutil_resolve_name (>=1.3.10,<2.0.0)', - 'pyrsistent (>=0.18.1,<0.19.0)', + 'pyrsistent (>=0.19.2,<0.20.0)', 'python-dateutil (>=2.8.2,<3.0.0)', 'pyyaml (>=6.0,<7.0)', 'requests>=2.22.0,<3.0.0', 's3transfer (>=0.6.0,<0.7.0)', 'six (>=1.16.0,<2.0.0)', 'tabulate (>=0.8.10,<0.9.0)', - 'typing-extensions (>=4.3.0,<5.0.0)', + 'typing-extensions (>=4.4.0,<5.0.0)', 'urllib3 (>=1.26.12,<2.0.0)', - 'zipp (>=3.8.1,<4.0.0)'] + 'zipp (>=3.10.0,<4.0.0)'] extras_require = \ {':python_version >= "3" and python_version < "4"': ['azure-functions>=1.0.8,<2.0.0']} setup_kwargs = { 'name': 'c7n-azure', - 'version': '0.7.19', + 'version': '0.7.20', 'description': 'Cloud Custodian - Azure Support', 'license': 'Apache-2.0', 'classifiers': [ diff --git a/tools/c7n_gcp/c7n_gcp/resources/resourcemanager.py b/tools/c7n_gcp/c7n_gcp/resources/resourcemanager.py index 998573dc66f..d9a666bec0e 100644 --- a/tools/c7n_gcp/c7n_gcp/resources/resourcemanager.py +++ b/tools/c7n_gcp/c7n_gcp/resources/resourcemanager.py @@ -163,9 +163,6 @@ class ProjectComputeMetaFilter(ValueFilter): permissions = ('compute.projects.get',) schema = type_schema('compute-meta', rinherit=ValueFilter.schema) - def __init__(self, data, manager=None): - super().__init__(data, manager) - def __call__(self, resource): if self.key in resource: return resource[self.key] diff --git a/tools/c7n_gcp/poetry.lock b/tools/c7n_gcp/poetry.lock index e53dcc15c65..318686bf5a7 100644 --- a/tools/c7n_gcp/poetry.lock +++ b/tools/c7n_gcp/poetry.lock @@ -28,14 +28,14 @@ tests_no_zope = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy [[package]] name = "boto3" -version = "1.24.88" +version = "1.26.9" description = "The AWS SDK for Python" category = "dev" optional = false python-versions = ">= 3.7" [package.dependencies] -botocore = ">=1.27.88,<1.28.0" +botocore = ">=1.29.9,<1.30.0" jmespath = ">=0.7.1,<2.0.0" s3transfer = ">=0.6.0,<0.7.0" @@ -44,7 +44,7 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] [[package]] name = "botocore" -version = "1.27.88" +version = "1.29.9" description = "Low-level, data-driven core of boto 3." category = "dev" optional = false @@ -60,7 +60,7 @@ crt = ["awscrt (==0.14.0)"] [[package]] name = "c7n" -version = "0.9.20" +version = "0.9.21" description = "Cloud Custodian - Policy Rules Engine" category = "dev" optional = false @@ -110,11 +110,11 @@ unicode_backport = ["unicodedata2"] [[package]] name = "colorama" -version = "0.4.5" +version = "0.4.6" description = "Cross-platform colored terminal text." category = "dev" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" [[package]] name = "docutils" @@ -124,6 +124,17 @@ category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +[[package]] +name = "exceptiongroup" +version = "1.0.3" +description = "Backport of PEP 654 (exception groups)" +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.extras] +test = ["pytest (>=6)"] + [[package]] name = "execnet" version = "1.9.0" @@ -137,7 +148,7 @@ testing = ["pre-commit"] [[package]] name = "google-api-core" -version = "2.10.1" +version = "2.10.2" description = "Google API client core library" category = "main" optional = false @@ -148,7 +159,7 @@ google-auth = ">=1.25.0,<3.0dev" googleapis-common-protos = ">=1.56.2,<2.0dev" grpcio = {version = ">=1.33.2,<2.0dev", optional = true, markers = "extra == \"grpc\""} grpcio-status = {version = ">=1.33.2,<2.0dev", optional = true, markers = "extra == \"grpc\""} -protobuf = ">=3.20.1,<5.0.0dev" +protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<5.0.0dev" requests = ">=2.18.0,<3.0.0dev" [package.extras] @@ -158,7 +169,7 @@ grpcio-gcp = ["grpcio-gcp (>=0.2.2,<1.0dev)"] [[package]] name = "google-api-python-client" -version = "2.64.0" +version = "2.65.0" description = "Google API Client Library for Python" category = "main" optional = false @@ -173,7 +184,7 @@ uritemplate = ">=3.0.1,<5" [[package]] name = "google-auth" -version = "2.12.0" +version = "2.14.1" description = "Google Authentication Library" category = "main" optional = false @@ -188,7 +199,7 @@ six = ">=1.9.0" [package.extras] aiohttp = ["aiohttp (>=3.6.2,<4.0.0dev)", "requests (>=2.20.0,<3.0.0dev)"] enterprise_cert = ["cryptography (==36.0.2)", "pyopenssl (==22.0.0)"] -pyopenssl = ["pyopenssl (>=20.0.0)"] +pyopenssl = ["cryptography (>=38.0.3)", "pyopenssl (>=20.0.0)"] reauth = ["pyu2f (>=0.1.5)"] [[package]] @@ -206,7 +217,7 @@ six = "*" [[package]] name = "google-cloud-appengine-logging" -version = "1.1.5" +version = "1.1.6" description = "" category = "main" optional = false @@ -215,7 +226,7 @@ python-versions = ">=3.7" [package.dependencies] google-api-core = {version = ">=1.31.5,<2.0.0 || >2.3.0,<3.0.0dev", extras = ["grpc"]} proto-plus = ">=1.22.0,<2.0.0dev" -protobuf = ">=3.20.2,<5.0.0dev" +protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<5.0.0dev" [[package]] name = "google-cloud-audit-log" @@ -246,7 +257,7 @@ grpc = ["grpcio (>=1.38.0,<2.0dev)"] [[package]] name = "google-cloud-logging" -version = "3.2.4" +version = "3.2.5" description = "Stackdriver Logging API client library" category = "main" optional = false @@ -259,11 +270,11 @@ google-cloud-audit-log = ">=0.1.0,<1.0.0dev" google-cloud-core = ">=2.0.0,<3.0.0dev" grpc-google-iam-v1 = ">=0.12.4,<1.0.0dev" proto-plus = ">=1.22.0,<2.0.0dev" -protobuf = ">=3.20.2,<5.0.0dev" +protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<5.0.0dev" [[package]] name = "google-cloud-monitoring" -version = "2.11.2" +version = "2.11.3" description = "Stackdriver Monitoring API client library" category = "main" optional = false @@ -272,7 +283,7 @@ python-versions = ">=3.7" [package.dependencies] google-api-core = {version = ">=1.32.0,<2.0.0 || >=2.8.0,<3.0.0dev", extras = ["grpc"]} proto-plus = ">=1.22.0,<2.0.0dev" -protobuf = ">=3.20.2,<5.0.0dev" +protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<5.0.0dev" [package.extras] pandas = ["pandas (>=0.17.1)"] @@ -349,7 +360,7 @@ grpcio = ">=1.0.0,<2.0.0dev" [[package]] name = "grpcio" -version = "1.49.1" +version = "1.50.0" description = "HTTP/2-based RPC framework" category = "main" optional = false @@ -359,11 +370,11 @@ python-versions = ">=3.7" six = ">=1.5.2" [package.extras] -protobuf = ["grpcio-tools (>=1.49.1)"] +protobuf = ["grpcio-tools (>=1.50.0)"] [[package]] name = "grpcio-status" -version = "1.49.1" +version = "1.50.0" description = "Status proto mapping for gRPC" category = "main" optional = false @@ -371,12 +382,12 @@ python-versions = ">=3.6" [package.dependencies] googleapis-common-protos = ">=1.5.5" -grpcio = ">=1.49.1" -protobuf = ">=4.21.3" +grpcio = ">=1.50.0" +protobuf = ">=4.21.6" [[package]] name = "httplib2" -version = "0.20.4" +version = "0.21.0" description = "A comprehensive HTTP client library." category = "main" optional = false @@ -412,7 +423,7 @@ testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packag [[package]] name = "importlib-resources" -version = "5.9.0" +version = "5.10.0" description = "Read resources from Python packages" category = "dev" optional = false @@ -422,8 +433,8 @@ python-versions = ">=3.7" zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} [package.extras] -docs = ["jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx"] -testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"] +testing = ["flake8 (<5)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] [[package]] name = "iniconfig" @@ -443,7 +454,7 @@ python-versions = ">=3.7" [[package]] name = "jsonschema" -version = "4.16.0" +version = "4.17.0" description = "An implementation of JSON Schema validation for Python" category = "dev" optional = false @@ -497,7 +508,7 @@ testing = ["pytest", "pytest-benchmark"] [[package]] name = "portalocker" -version = "2.5.1" +version = "2.6.0" description = "Wraps the portalocker recipe for easy usage" category = "dev" optional = false @@ -527,20 +538,12 @@ testing = ["google-api-core[grpc] (>=1.31.5)"] [[package]] name = "protobuf" -version = "4.21.7" +version = "4.21.9" description = "" category = "main" optional = false python-versions = ">=3.7" -[[package]] -name = "py" -version = "1.11.0" -description = "library with cross-python path, ini-parsing, io, code, log facilities" -category = "dev" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" - [[package]] name = "pyasn1" version = "0.4.8" @@ -573,7 +576,7 @@ diagrams = ["jinja2", "railroad-diagrams"] [[package]] name = "pyrsistent" -version = "0.18.1" +version = "0.19.2" description = "Persistent/Functional/Immutable data structures" category = "dev" optional = false @@ -581,7 +584,7 @@ python-versions = ">=3.7" [[package]] name = "pytest" -version = "7.1.3" +version = "7.2.0" description = "pytest: simple powerful testing with Python" category = "dev" optional = false @@ -590,28 +593,16 @@ python-versions = ">=3.7" [package.dependencies] attrs = ">=19.2.0" colorama = {version = "*", markers = "sys_platform == \"win32\""} +exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} iniconfig = "*" packaging = "*" pluggy = ">=0.12,<2.0" -py = ">=1.8.2" -tomli = ">=1.0.0" +tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""} [package.extras] testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"] -[[package]] -name = "pytest-forked" -version = "1.4.0" -description = "run tests in isolated forked subprocesses" -category = "dev" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -py = "*" -pytest = ">=3.10" - [[package]] name = "pytest-terraform" version = "0.6.4" @@ -628,7 +619,7 @@ pytest-xdist = ">=1.31.0" [[package]] name = "pytest-xdist" -version = "2.5.0" +version = "3.0.2" description = "pytest xdist plugin for distributed testing and loop-on-failing modes" category = "dev" optional = false @@ -637,7 +628,6 @@ python-versions = ">=3.6" [package.dependencies] execnet = ">=1.1" pytest = ">=6.2.0" -pytest-forked = "*" [package.extras] psutil = ["psutil (>=3.0)"] @@ -657,7 +647,7 @@ six = ">=1.5" [[package]] name = "pywin32" -version = "304" +version = "305" description = "Python for Window Extensions" category = "dev" optional = false @@ -765,7 +755,7 @@ python-versions = ">=3.7" [[package]] name = "typing-extensions" -version = "4.3.0" +version = "4.4.0" description = "Backported and Experimental Type Hints for Python 3.7+" category = "dev" optional = false @@ -794,15 +784,15 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] [[package]] name = "zipp" -version = "3.8.1" +version = "3.10.0" description = "Backport of pathlib-compatible object wrapper for zip files" category = "dev" optional = false python-versions = ">=3.7" [package.extras] -docs = ["jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx"] -testing = ["func-timeout", "jaraco.itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"] +testing = ["flake8 (<5)", "func-timeout", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] [metadata] lock-version = "1.1" @@ -819,12 +809,12 @@ attrs = [ {file = "attrs-22.1.0.tar.gz", hash = "sha256:29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6"}, ] boto3 = [ - {file = "boto3-1.24.88-py3-none-any.whl", hash = "sha256:6b4cf1cd0be65202c4cf0e4c69099bac3620bcd4049ca25a5e223c668401dd69"}, - {file = "boto3-1.24.88.tar.gz", hash = "sha256:93934343cac76084600a520e5be70c52152364d0c410681c2e25c2290f0e151c"}, + {file = "boto3-1.26.9-py3-none-any.whl", hash = "sha256:27efa5eb229364bc4643d9e182de0891f73c21b65ef80b5bd02a977caeaf595c"}, + {file = "boto3-1.26.9.tar.gz", hash = "sha256:15b059251990706c5d5a556c42a6e6e781a51edadf48a42afdd06bd313adfaf2"}, ] botocore = [ - {file = "botocore-1.27.88-py3-none-any.whl", hash = "sha256:de4e087b24cd3bc369eb2e27f8fe94a6499f7dea08c919fba13cefb2496bd2bb"}, - {file = "botocore-1.27.88.tar.gz", hash = "sha256:ded0a4035baf91eb358ef501c92a8512543f5ab7658f459df3077a70a555b5cd"}, + {file = "botocore-1.29.9-py3-none-any.whl", hash = "sha256:c876a7c6a07d7f86f46a8cc765f0d38999b84ac1d7b0666d6ce08c0503e13145"}, + {file = "botocore-1.29.9.tar.gz", hash = "sha256:01f168e2418419a6d8b335ecc4330faa6a7332d5a097029fc9b4a3ae3c41cea2"}, ] c7n = [] cachetools = [ @@ -840,36 +830,40 @@ charset-normalizer = [ {file = "charset_normalizer-2.1.1-py3-none-any.whl", hash = "sha256:83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f"}, ] colorama = [ - {file = "colorama-0.4.5-py2.py3-none-any.whl", hash = "sha256:854bf444933e37f5824ae7bfc1e98d5bce2ebe4160d46b5edf346a89358e99da"}, - {file = "colorama-0.4.5.tar.gz", hash = "sha256:e6c6b4334fc50988a639d9b98aa429a0b57da6e17b9a44f0451f930b6967b7a4"}, + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] docutils = [ {file = "docutils-0.17.1-py2.py3-none-any.whl", hash = "sha256:cf316c8370a737a022b72b56874f6602acf974a37a9fba42ec2876387549fc61"}, {file = "docutils-0.17.1.tar.gz", hash = "sha256:686577d2e4c32380bb50cbb22f575ed742d58168cee37e99117a854bcd88f125"}, ] +exceptiongroup = [ + {file = "exceptiongroup-1.0.3-py3-none-any.whl", hash = "sha256:6002703c7d31fb9950ddc8780840f67880c440895dc1151dd551553aa1246e4a"}, + {file = "exceptiongroup-1.0.3.tar.gz", hash = "sha256:76cac74b5207c5997678a1c7105cb6f14213c9c63c096a38cfcb529d83ce5c02"}, +] execnet = [ {file = "execnet-1.9.0-py2.py3-none-any.whl", hash = "sha256:a295f7cc774947aac58dde7fdc85f4aa00c42adf5d8f5468fc630c1acf30a142"}, {file = "execnet-1.9.0.tar.gz", hash = "sha256:8f694f3ba9cc92cab508b152dcfe322153975c29bda272e2fd7f3f00f36e47c5"}, ] google-api-core = [ - {file = "google-api-core-2.10.1.tar.gz", hash = "sha256:e16c15a11789bc5a3457afb2818a3540a03f341e6e710d7f9bbf6cde2ef4a7c8"}, - {file = "google_api_core-2.10.1-py3-none-any.whl", hash = "sha256:92d17123cfe399b5ef7e026c63babf978d8475e1ac877919eb7933e25dea2273"}, + {file = "google-api-core-2.10.2.tar.gz", hash = "sha256:10c06f7739fe57781f87523375e8e1a3a4674bf6392cd6131a3222182b971320"}, + {file = "google_api_core-2.10.2-py3-none-any.whl", hash = "sha256:34f24bd1d5f72a8c4519773d99ca6bf080a6c4e041b4e9f024fe230191dda62e"}, ] google-api-python-client = [ - {file = "google-api-python-client-2.64.0.tar.gz", hash = "sha256:0dc4c967a5c795e981af01340f1bd22173a986534de968b5456cb208ed6775a6"}, - {file = "google_api_python_client-2.64.0-py2.py3-none-any.whl", hash = "sha256:90545cd71969f8bcf15a6362c2a8c44c38b94ec35a88cfd60cf2c0df68a5eb74"}, + {file = "google-api-python-client-2.65.0.tar.gz", hash = "sha256:b8a0ca8454ad57bc65199044717d3d214197ae1e2d666426bbcd4021b36762e0"}, + {file = "google_api_python_client-2.65.0-py2.py3-none-any.whl", hash = "sha256:2c6611530308b3f931dcf1360713aa3a20cf465d0bf2bac65f2ec99e8c9860de"}, ] google-auth = [ - {file = "google-auth-2.12.0.tar.gz", hash = "sha256:f12d86502ce0f2c0174e2e70ecc8d36c69593817e67e1d9c5e34489120422e4b"}, - {file = "google_auth-2.12.0-py2.py3-none-any.whl", hash = "sha256:98f601773978c969e1769f97265e732a81a8e598da3263895023958d456ee625"}, + {file = "google-auth-2.14.1.tar.gz", hash = "sha256:ccaa901f31ad5cbb562615eb8b664b3dd0bf5404a67618e642307f00613eda4d"}, + {file = "google_auth-2.14.1-py2.py3-none-any.whl", hash = "sha256:f5d8701633bebc12e0deea4df8abd8aff31c28b355360597f7f2ee60f2e4d016"}, ] google-auth-httplib2 = [ {file = "google-auth-httplib2-0.1.0.tar.gz", hash = "sha256:a07c39fd632becacd3f07718dfd6021bf396978f03ad3ce4321d060015cc30ac"}, {file = "google_auth_httplib2-0.1.0-py2.py3-none-any.whl", hash = "sha256:31e49c36c6b5643b57e82617cb3e021e3e1d2df9da63af67252c02fa9c1f4a10"}, ] google-cloud-appengine-logging = [ - {file = "google-cloud-appengine-logging-1.1.5.tar.gz", hash = "sha256:ff32905faa25652d32975c80bbb1e0ba3f3b1940a23dfb9ff686a6a1b147c63c"}, - {file = "google_cloud_appengine_logging-1.1.5-py2.py3-none-any.whl", hash = "sha256:1a06dc41997c7daacadd83497b26208d49c30625103e790c4ce6dafa8ea5501c"}, + {file = "google-cloud-appengine-logging-1.1.6.tar.gz", hash = "sha256:37477ff25aaa2d3e085db834429c5c86d2783e604ebd7738c8692f361bc7c897"}, + {file = "google_cloud_appengine_logging-1.1.6-py2.py3-none-any.whl", hash = "sha256:75091dc527c2ff3459f5327d6e699069f12d68ee8732c08dcdba894aa1f0faec"}, ] google-cloud-audit-log = [ {file = "google-cloud-audit-log-0.2.4.tar.gz", hash = "sha256:aabe5543671e4f8a9c7a4c0e3ea9a87ba2ba2b96f9ffad6faa02209900e1f308"}, @@ -880,12 +874,12 @@ google-cloud-core = [ {file = "google_cloud_core-2.3.2-py2.py3-none-any.whl", hash = "sha256:8417acf6466be2fa85123441696c4badda48db314c607cf1e5d543fa8bdc22fe"}, ] google-cloud-logging = [ - {file = "google-cloud-logging-3.2.4.tar.gz", hash = "sha256:0ecab8fb6104f9f81b3162999ad94ed65029e9ad44696a4c2ef0ce0bb135d1e9"}, - {file = "google_cloud_logging-3.2.4-py2.py3-none-any.whl", hash = "sha256:c27b121b0d211ab45d797c938d4ef5aed8462dfa323a4f89e9fb72c48448fe55"}, + {file = "google-cloud-logging-3.2.5.tar.gz", hash = "sha256:c1b078003f8fc2c0864af04651e2be1213e5b738ea83291e5ff5652529bc5e58"}, + {file = "google_cloud_logging-3.2.5-py2.py3-none-any.whl", hash = "sha256:bc6c185f47b272a72015cd7dc3c8e5d06a6959d68c6ae9e04e7dbf5815126ed1"}, ] google-cloud-monitoring = [ - {file = "google-cloud-monitoring-2.11.2.tar.gz", hash = "sha256:28ebd7254b0b023ec07dcd5d2c4de230b85953fa6252f788c2dbe330df87fd1c"}, - {file = "google_cloud_monitoring-2.11.2-py2.py3-none-any.whl", hash = "sha256:931ec25d507f4dc6deaac174aabadee626ff7d9d24b4ee6112531b4502b69889"}, + {file = "google-cloud-monitoring-2.11.3.tar.gz", hash = "sha256:366dbbcb175feb0a10a0fdfb09e36b1e080cd96a1bbfd5bd26b993971e40e2e6"}, + {file = "google_cloud_monitoring-2.11.3-py2.py3-none-any.whl", hash = "sha256:2019f91328d052d699489d8cb4c46e909c59d0aee4320c9904958691fdf61055"}, ] google-cloud-storage = [ {file = "google-cloud-storage-1.44.0.tar.gz", hash = "sha256:29edbfeedd157d853049302bf5d104055c6f0cb7ef283537da3ce3f730073001"}, @@ -974,59 +968,59 @@ grpc-google-iam-v1 = [ {file = "grpc_google_iam_v1-0.12.4-py2.py3-none-any.whl", hash = "sha256:312801ae848aeb8408c099ea372b96d253077e7851aae1a9e745df984f81f20c"}, ] grpcio = [ - {file = "grpcio-1.49.1-cp310-cp310-linux_armv7l.whl", hash = "sha256:fd86040232e805b8e6378b2348c928490ee595b058ce9aaa27ed8e4b0f172b20"}, - {file = "grpcio-1.49.1-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:6fd0c9cede9552bf00f8c5791d257d5bf3790d7057b26c59df08be5e7a1e021d"}, - {file = "grpcio-1.49.1-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:d0d402e158d4e84e49c158cb5204119d55e1baf363ee98d6cb5dce321c3a065d"}, - {file = "grpcio-1.49.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:822ceec743d42a627e64ea266059a62d214c5a3cdfcd0d7fe2b7a8e4e82527c7"}, - {file = "grpcio-1.49.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2106d9c16527f0a85e2eea6e6b91a74fc99579c60dd810d8690843ea02bc0f5f"}, - {file = "grpcio-1.49.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:52dd02b7e7868233c571b49bc38ebd347c3bb1ff8907bb0cb74cb5f00c790afc"}, - {file = "grpcio-1.49.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:120fecba2ec5d14b5a15d11063b39783fda8dc8d24addd83196acb6582cabd9b"}, - {file = "grpcio-1.49.1-cp310-cp310-win32.whl", hash = "sha256:f1a3b88e3c53c1a6e6bed635ec1bbb92201bb6a1f2db186179f7f3f244829788"}, - {file = "grpcio-1.49.1-cp310-cp310-win_amd64.whl", hash = "sha256:a7d0017b92d3850abea87c1bdec6ea41104e71c77bca44c3e17f175c6700af62"}, - {file = "grpcio-1.49.1-cp311-cp311-linux_armv7l.whl", hash = "sha256:9fb17ff8c0d56099ac6ebfa84f670c5a62228d6b5c695cf21c02160c2ac1446b"}, - {file = "grpcio-1.49.1-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:075f2d06e3db6b48a2157a1bcd52d6cbdca980dd18988fe6afdb41795d51625f"}, - {file = "grpcio-1.49.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:46d93a1b4572b461a227f1db6b8d35a88952db1c47e5fadcf8b8a2f0e1dd9201"}, - {file = "grpcio-1.49.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc79b2b37d779ac42341ddef40ad5bf0966a64af412c89fc2b062e3ddabb093f"}, - {file = "grpcio-1.49.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:5f8b3a971c7820ea9878f3fd70086240a36aeee15d1b7e9ecbc2743b0e785568"}, - {file = "grpcio-1.49.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:49b301740cf5bc8fed4fee4c877570189ae3951432d79fa8e524b09353659811"}, - {file = "grpcio-1.49.1-cp311-cp311-win32.whl", hash = "sha256:1c66a25afc6c71d357867b341da594a5587db5849b48f4b7d5908d236bb62ede"}, - {file = "grpcio-1.49.1-cp311-cp311-win_amd64.whl", hash = "sha256:6b6c3a95d27846f4145d6967899b3ab25fffc6ae99544415e1adcacef84842d2"}, - {file = "grpcio-1.49.1-cp37-cp37m-linux_armv7l.whl", hash = "sha256:1cc400c8a2173d1c042997d98a9563e12d9bb3fb6ad36b7f355bc77c7663b8af"}, - {file = "grpcio-1.49.1-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:34f736bd4d0deae90015c0e383885b431444fe6b6c591dea288173df20603146"}, - {file = "grpcio-1.49.1-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:196082b9c89ebf0961dcd77cb114bed8171964c8e3063b9da2fb33536a6938ed"}, - {file = "grpcio-1.49.1-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8c9f89c42749890618cd3c2464e1fbf88446e3d2f67f1e334c8e5db2f3272bbd"}, - {file = "grpcio-1.49.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64419cb8a5b612cdb1550c2fd4acbb7d4fb263556cf4625f25522337e461509e"}, - {file = "grpcio-1.49.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:8a5272061826e6164f96e3255405ef6f73b88fd3e8bef464c7d061af8585ac62"}, - {file = "grpcio-1.49.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ea9d0172445241ad7cb49577314e39d0af2c5267395b3561d7ced5d70458a9f3"}, - {file = "grpcio-1.49.1-cp37-cp37m-win32.whl", hash = "sha256:2070e87d95991473244c72d96d13596c751cb35558e11f5df5414981e7ed2492"}, - {file = "grpcio-1.49.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4fcedcab49baaa9db4a2d240ac81f2d57eb0052b1c6a9501b46b8ae912720fbf"}, - {file = "grpcio-1.49.1-cp38-cp38-linux_armv7l.whl", hash = "sha256:afbb3475cf7f4f7d380c2ca37ee826e51974f3e2665613996a91d6a58583a534"}, - {file = "grpcio-1.49.1-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:a4f9ba141380abde6c3adc1727f21529137a2552002243fa87c41a07e528245c"}, - {file = "grpcio-1.49.1-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:cf0a1fb18a7204b9c44623dfbd1465b363236ce70c7a4ed30402f9f60d8b743b"}, - {file = "grpcio-1.49.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:17bb6fe72784b630728c6cff9c9d10ccc3b6d04e85da6e0a7b27fb1d135fac62"}, - {file = "grpcio-1.49.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18305d5a082d1593b005a895c10041f833b16788e88b02bb81061f5ebcc465df"}, - {file = "grpcio-1.49.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:b6a1b39e59ac5a3067794a0e498911cf2e37e4b19ee9e9977dc5e7051714f13f"}, - {file = "grpcio-1.49.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:0e20d59aafc086b1cc68400463bddda6e41d3e5ed30851d1e2e0f6a2e7e342d3"}, - {file = "grpcio-1.49.1-cp38-cp38-win32.whl", hash = "sha256:e1e83233d4680863a421f3ee4a7a9b80d33cd27ee9ed7593bc93f6128302d3f2"}, - {file = "grpcio-1.49.1-cp38-cp38-win_amd64.whl", hash = "sha256:221d42c654d2a41fa31323216279c73ed17d92f533bc140a3390cc1bd78bf63c"}, - {file = "grpcio-1.49.1-cp39-cp39-linux_armv7l.whl", hash = "sha256:fa9e6e61391e99708ac87fc3436f6b7b9c6b845dc4639b406e5e61901e1aacde"}, - {file = "grpcio-1.49.1-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:9b449e966ef518ce9c860d21f8afe0b0f055220d95bc710301752ac1db96dd6a"}, - {file = "grpcio-1.49.1-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:aa34d2ad9f24e47fa9a3172801c676e4037d862247e39030165fe83821a7aafd"}, - {file = "grpcio-1.49.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5207f4eed1b775d264fcfe379d8541e1c43b878f2b63c0698f8f5c56c40f3d68"}, - {file = "grpcio-1.49.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b24a74651438d45619ac67004638856f76cc13d78b7478f2457754cbcb1c8ad"}, - {file = "grpcio-1.49.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:fe763781669790dc8b9618e7e677c839c87eae6cf28b655ee1fa69ae04eea03f"}, - {file = "grpcio-1.49.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2f2ff7ba0f8f431f32d4b4bc3a3713426949d3533b08466c4ff1b2b475932ca8"}, - {file = "grpcio-1.49.1-cp39-cp39-win32.whl", hash = "sha256:08ff74aec8ff457a89b97152d36cb811dcc1d17cd5a92a65933524e363327394"}, - {file = "grpcio-1.49.1-cp39-cp39-win_amd64.whl", hash = "sha256:274ffbb39717918c514b35176510ae9be06e1d93121e84d50b350861dcb9a705"}, - {file = "grpcio-1.49.1.tar.gz", hash = "sha256:d4725fc9ec8e8822906ae26bb26f5546891aa7fbc3443de970cc556d43a5c99f"}, + {file = "grpcio-1.50.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:906f4d1beb83b3496be91684c47a5d870ee628715227d5d7c54b04a8de802974"}, + {file = "grpcio-1.50.0-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:2d9fd6e38b16c4d286a01e1776fdf6c7a4123d99ae8d6b3f0b4a03a34bf6ce45"}, + {file = "grpcio-1.50.0-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:4b123fbb7a777a2fedec684ca0b723d85e1d2379b6032a9a9b7851829ed3ca9a"}, + {file = "grpcio-1.50.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b2f77a90ba7b85bfb31329f8eab9d9540da2cf8a302128fb1241d7ea239a5469"}, + {file = "grpcio-1.50.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9eea18a878cffc804506d39c6682d71f6b42ec1c151d21865a95fae743fda500"}, + {file = "grpcio-1.50.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:2b71916fa8f9eb2abd93151fafe12e18cebb302686b924bd4ec39266211da525"}, + {file = "grpcio-1.50.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:95ce51f7a09491fb3da8cf3935005bff19983b77c4e9437ef77235d787b06842"}, + {file = "grpcio-1.50.0-cp310-cp310-win32.whl", hash = "sha256:f7025930039a011ed7d7e7ef95a1cb5f516e23c5a6ecc7947259b67bea8e06ca"}, + {file = "grpcio-1.50.0-cp310-cp310-win_amd64.whl", hash = "sha256:05f7c248e440f538aaad13eee78ef35f0541e73498dd6f832fe284542ac4b298"}, + {file = "grpcio-1.50.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:ca8a2254ab88482936ce941485c1c20cdeaef0efa71a61dbad171ab6758ec998"}, + {file = "grpcio-1.50.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:3b611b3de3dfd2c47549ca01abfa9bbb95937eb0ea546ea1d762a335739887be"}, + {file = "grpcio-1.50.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1a4cd8cb09d1bc70b3ea37802be484c5ae5a576108bad14728f2516279165dd7"}, + {file = "grpcio-1.50.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:156f8009e36780fab48c979c5605eda646065d4695deea4cfcbcfdd06627ddb6"}, + {file = "grpcio-1.50.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de411d2b030134b642c092e986d21aefb9d26a28bf5a18c47dd08ded411a3bc5"}, + {file = "grpcio-1.50.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d144ad10eeca4c1d1ce930faa105899f86f5d99cecfe0d7224f3c4c76265c15e"}, + {file = "grpcio-1.50.0-cp311-cp311-win32.whl", hash = "sha256:92d7635d1059d40d2ec29c8bf5ec58900120b3ce5150ef7414119430a4b2dd5c"}, + {file = "grpcio-1.50.0-cp311-cp311-win_amd64.whl", hash = "sha256:ce8513aee0af9c159319692bfbf488b718d1793d764798c3d5cff827a09e25ef"}, + {file = "grpcio-1.50.0-cp37-cp37m-linux_armv7l.whl", hash = "sha256:8e8999a097ad89b30d584c034929f7c0be280cd7851ac23e9067111167dcbf55"}, + {file = "grpcio-1.50.0-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:a50a1be449b9e238b9bd43d3857d40edf65df9416dea988929891d92a9f8a778"}, + {file = "grpcio-1.50.0-cp37-cp37m-manylinux_2_17_aarch64.whl", hash = "sha256:cf151f97f5f381163912e8952eb5b3afe89dec9ed723d1561d59cabf1e219a35"}, + {file = "grpcio-1.50.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a23d47f2fc7111869f0ff547f771733661ff2818562b04b9ed674fa208e261f4"}, + {file = "grpcio-1.50.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d84d04dec64cc4ed726d07c5d17b73c343c8ddcd6b59c7199c801d6bbb9d9ed1"}, + {file = "grpcio-1.50.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:67dd41a31f6fc5c7db097a5c14a3fa588af54736ffc174af4411d34c4f306f68"}, + {file = "grpcio-1.50.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8d4c8e73bf20fb53fe5a7318e768b9734cf122fe671fcce75654b98ba12dfb75"}, + {file = "grpcio-1.50.0-cp37-cp37m-win32.whl", hash = "sha256:7489dbb901f4fdf7aec8d3753eadd40839c9085967737606d2c35b43074eea24"}, + {file = "grpcio-1.50.0-cp37-cp37m-win_amd64.whl", hash = "sha256:531f8b46f3d3db91d9ef285191825d108090856b3bc86a75b7c3930f16ce432f"}, + {file = "grpcio-1.50.0-cp38-cp38-linux_armv7l.whl", hash = "sha256:d534d169673dd5e6e12fb57cc67664c2641361e1a0885545495e65a7b761b0f4"}, + {file = "grpcio-1.50.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:1d8d02dbb616c0a9260ce587eb751c9c7dc689bc39efa6a88cc4fa3e9c138a7b"}, + {file = "grpcio-1.50.0-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:baab51dcc4f2aecabf4ed1e2f57bceab240987c8b03533f1cef90890e6502067"}, + {file = "grpcio-1.50.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40838061e24f960b853d7bce85086c8e1b81c6342b1f4c47ff0edd44bbae2722"}, + {file = "grpcio-1.50.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:931e746d0f75b2a5cff0a1197d21827a3a2f400c06bace036762110f19d3d507"}, + {file = "grpcio-1.50.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:15f9e6d7f564e8f0776770e6ef32dac172c6f9960c478616c366862933fa08b4"}, + {file = "grpcio-1.50.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:a4c23e54f58e016761b576976da6a34d876420b993f45f66a2bfb00363ecc1f9"}, + {file = "grpcio-1.50.0-cp38-cp38-win32.whl", hash = "sha256:3e4244c09cc1b65c286d709658c061f12c61c814be0b7030a2d9966ff02611e0"}, + {file = "grpcio-1.50.0-cp38-cp38-win_amd64.whl", hash = "sha256:8e69aa4e9b7f065f01d3fdcecbe0397895a772d99954bb82eefbb1682d274518"}, + {file = "grpcio-1.50.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:af98d49e56605a2912cf330b4627e5286243242706c3a9fa0bcec6e6f68646fc"}, + {file = "grpcio-1.50.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:080b66253f29e1646ac53ef288c12944b131a2829488ac3bac8f52abb4413c0d"}, + {file = "grpcio-1.50.0-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:ab5d0e3590f0a16cb88de4a3fa78d10eb66a84ca80901eb2c17c1d2c308c230f"}, + {file = "grpcio-1.50.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cb11464f480e6103c59d558a3875bd84eed6723f0921290325ebe97262ae1347"}, + {file = "grpcio-1.50.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e07fe0d7ae395897981d16be61f0db9791f482f03fee7d1851fe20ddb4f69c03"}, + {file = "grpcio-1.50.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:d75061367a69808ab2e84c960e9dce54749bcc1e44ad3f85deee3a6c75b4ede9"}, + {file = "grpcio-1.50.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ae23daa7eda93c1c49a9ecc316e027ceb99adbad750fbd3a56fa9e4a2ffd5ae0"}, + {file = "grpcio-1.50.0-cp39-cp39-win32.whl", hash = "sha256:177afaa7dba3ab5bfc211a71b90da1b887d441df33732e94e26860b3321434d9"}, + {file = "grpcio-1.50.0-cp39-cp39-win_amd64.whl", hash = "sha256:ea8ccf95e4c7e20419b7827aa5b6da6f02720270686ac63bd3493a651830235c"}, + {file = "grpcio-1.50.0.tar.gz", hash = "sha256:12b479839a5e753580b5e6053571de14006157f2ef9b71f38c56dc9b23b95ad6"}, ] grpcio-status = [ - {file = "grpcio-status-1.49.1.tar.gz", hash = "sha256:658f48dc146ee0c7b6eebd302d74e0d45c00727c20035ff51d68750dbaccf5d9"}, - {file = "grpcio_status-1.49.1-py3-none-any.whl", hash = "sha256:fe4ae9f624f03e50ccf6f6ead60727ab20b17735bb3d0dd506ef355349282378"}, + {file = "grpcio-status-1.50.0.tar.gz", hash = "sha256:69be81c4317ec77983fb0eab80221a01e86e833e0fcf2f6acea0a62597c84b93"}, + {file = "grpcio_status-1.50.0-py3-none-any.whl", hash = "sha256:6bcf86b1cb1a8929c9cb75c8593ea001a667f5167cf692627f4b3fc1ae0eded4"}, ] httplib2 = [ - {file = "httplib2-0.20.4-py3-none-any.whl", hash = "sha256:8b6a905cb1c79eefd03f8669fd993c36dc341f7c558f056cb5a33b5c2f458543"}, - {file = "httplib2-0.20.4.tar.gz", hash = "sha256:58a98e45b4b1a48273073f905d2961666ecf0fbac4250ea5b47aef259eb5c585"}, + {file = "httplib2-0.21.0-py3-none-any.whl", hash = "sha256:987c8bb3eb82d3fa60c68699510a692aa2ad9c4bd4f123e51dfb1488c14cdd01"}, + {file = "httplib2-0.21.0.tar.gz", hash = "sha256:fc144f091c7286b82bec71bdbd9b27323ba709cc612568d3000893bfd9cb4b34"}, ] idna = [ {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, @@ -1037,8 +1031,8 @@ importlib-metadata = [ {file = "importlib_metadata-4.13.0.tar.gz", hash = "sha256:dd0173e8f150d6815e098fd354f6414b0f079af4644ddfe90c71e2fc6174346d"}, ] importlib-resources = [ - {file = "importlib_resources-5.9.0-py3-none-any.whl", hash = "sha256:f78a8df21a79bcc30cfd400bdc38f314333de7c0fb619763f6b9dabab8268bb7"}, - {file = "importlib_resources-5.9.0.tar.gz", hash = "sha256:5481e97fb45af8dcf2f798952625591c58fe599d0735d86b10f54de086a61681"}, + {file = "importlib_resources-5.10.0-py3-none-any.whl", hash = "sha256:ee17ec648f85480d523596ce49eae8ead87d5631ae1551f913c0100b5edd3437"}, + {file = "importlib_resources-5.10.0.tar.gz", hash = "sha256:c01b1b94210d9849f286b86bb51bcea7cd56dde0600d8db721d7b81330711668"}, ] iniconfig = [ {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"}, @@ -1049,8 +1043,8 @@ jmespath = [ {file = "jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe"}, ] jsonschema = [ - {file = "jsonschema-4.16.0-py3-none-any.whl", hash = "sha256:9e74b8f9738d6a946d70705dc692b74b5429cd0960d58e79ffecfc43b2221eb9"}, - {file = "jsonschema-4.16.0.tar.gz", hash = "sha256:165059f076eff6971bae5b742fc029a7b4ef3f9bcf04c14e4776a7605de14b23"}, + {file = "jsonschema-4.17.0-py3-none-any.whl", hash = "sha256:f660066c3966db7d6daeaea8a75e0b68237a48e51cf49882087757bb59916248"}, + {file = "jsonschema-4.17.0.tar.gz", hash = "sha256:5bfcf2bca16a087ade17e02b282d34af7ccd749ef76241e7f9bd7c0cb8a9424d"}, ] packaging = [ {file = "packaging-21.3-py3-none-any.whl", hash = "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"}, @@ -1065,32 +1059,28 @@ pluggy = [ {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"}, ] portalocker = [ - {file = "portalocker-2.5.1-py2.py3-none-any.whl", hash = "sha256:400bae275366e7b840d4baad0654c6ec5994e07c40c423d78e9e1340279b8352"}, - {file = "portalocker-2.5.1.tar.gz", hash = "sha256:ae8e9cc2660da04bf41fa1a0eef7e300bb5e4a5869adfb1a6d8551632b559b2b"}, + {file = "portalocker-2.6.0-py2.py3-none-any.whl", hash = "sha256:102ed1f2badd8dec9af3d732ef70e94b215b85ba45a8d7ff3c0003f19b442f4e"}, + {file = "portalocker-2.6.0.tar.gz", hash = "sha256:964f6830fb42a74b5d32bce99ed37d8308c1d7d44ddf18f3dd89f4680de97b39"}, ] proto-plus = [ {file = "proto-plus-1.22.1.tar.gz", hash = "sha256:6c7dfd122dfef8019ff654746be4f5b1d9c80bba787fe9611b508dd88be3a2fa"}, {file = "proto_plus-1.22.1-py3-none-any.whl", hash = "sha256:ea8982669a23c379f74495bc48e3dcb47c822c484ce8ee1d1d7beb339d4e34c5"}, ] protobuf = [ - {file = "protobuf-4.21.7-cp310-abi3-win32.whl", hash = "sha256:c7cb105d69a87416bd9023e64324e1c089593e6dae64d2536f06bcbe49cd97d8"}, - {file = "protobuf-4.21.7-cp310-abi3-win_amd64.whl", hash = "sha256:3ec85328a35a16463c6f419dbce3c0fc42b3e904d966f17f48bae39597c7a543"}, - {file = "protobuf-4.21.7-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:db9056b6a11cb5131036d734bcbf91ef3ef9235d6b681b2fc431cbfe5a7f2e56"}, - {file = "protobuf-4.21.7-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:ca200645d6235ce0df3ccfdff1567acbab35c4db222a97357806e015f85b5744"}, - {file = "protobuf-4.21.7-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:b019c79e23a80735cc8a71b95f76a49a262f579d6b84fd20a0b82279f40e2cc1"}, - {file = "protobuf-4.21.7-cp37-cp37m-win32.whl", hash = "sha256:d3f89ccf7182293feba2de2739c8bf34fed1ed7c65a5cf987be00311acac57c1"}, - {file = "protobuf-4.21.7-cp37-cp37m-win_amd64.whl", hash = "sha256:a74d96cd960b87b4b712797c741bb3ea3a913f5c2dc4b6cbe9c0f8360b75297d"}, - {file = "protobuf-4.21.7-cp38-cp38-win32.whl", hash = "sha256:8e09d1916386eca1ef1353767b6efcebc0a6859ed7f73cb7fb974feba3184830"}, - {file = "protobuf-4.21.7-cp38-cp38-win_amd64.whl", hash = "sha256:9e355f2a839d9930d83971b9f562395e13493f0e9211520f8913bd11efa53c02"}, - {file = "protobuf-4.21.7-cp39-cp39-win32.whl", hash = "sha256:f370c0a71712f8965023dd5b13277444d3cdfecc96b2c778b0e19acbfd60df6e"}, - {file = "protobuf-4.21.7-cp39-cp39-win_amd64.whl", hash = "sha256:9643684232b6b340b5e63bb69c9b4904cdd39e4303d498d1a92abddc7e895b7f"}, - {file = "protobuf-4.21.7-py2.py3-none-any.whl", hash = "sha256:8066322588d4b499869bf9f665ebe448e793036b552f68c585a9b28f1e393f66"}, - {file = "protobuf-4.21.7-py3-none-any.whl", hash = "sha256:58b81358ec6c0b5d50df761460ae2db58405c063fd415e1101209221a0a810e1"}, - {file = "protobuf-4.21.7.tar.gz", hash = "sha256:71d9dba03ed3432c878a801e2ea51e034b0ea01cf3a4344fb60166cb5f6c8757"}, -] -py = [ - {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"}, - {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"}, + {file = "protobuf-4.21.9-cp310-abi3-win32.whl", hash = "sha256:6e0be9f09bf9b6cf497b27425487706fa48c6d1632ddd94dab1a5fe11a422392"}, + {file = "protobuf-4.21.9-cp310-abi3-win_amd64.whl", hash = "sha256:a7d0ea43949d45b836234f4ebb5ba0b22e7432d065394b532cdca8f98415e3cf"}, + {file = "protobuf-4.21.9-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:b5ab0b8918c136345ff045d4b3d5f719b505b7c8af45092d7f45e304f55e50a1"}, + {file = "protobuf-4.21.9-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:2c9c2ed7466ad565f18668aa4731c535511c5d9a40c6da39524bccf43e441719"}, + {file = "protobuf-4.21.9-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:e575c57dc8b5b2b2caa436c16d44ef6981f2235eb7179bfc847557886376d740"}, + {file = "protobuf-4.21.9-cp37-cp37m-win32.whl", hash = "sha256:9227c14010acd9ae7702d6467b4625b6fe853175a6b150e539b21d2b2f2b409c"}, + {file = "protobuf-4.21.9-cp37-cp37m-win_amd64.whl", hash = "sha256:a419cc95fca8694804709b8c4f2326266d29659b126a93befe210f5bbc772536"}, + {file = "protobuf-4.21.9-cp38-cp38-win32.whl", hash = "sha256:5b0834e61fb38f34ba8840d7dcb2e5a2f03de0c714e0293b3963b79db26de8ce"}, + {file = "protobuf-4.21.9-cp38-cp38-win_amd64.whl", hash = "sha256:84ea107016244dfc1eecae7684f7ce13c788b9a644cd3fca5b77871366556444"}, + {file = "protobuf-4.21.9-cp39-cp39-win32.whl", hash = "sha256:f9eae277dd240ae19bb06ff4e2346e771252b0e619421965504bd1b1bba7c5fa"}, + {file = "protobuf-4.21.9-cp39-cp39-win_amd64.whl", hash = "sha256:6e312e280fbe3c74ea9e080d9e6080b636798b5e3939242298b591064470b06b"}, + {file = "protobuf-4.21.9-py2.py3-none-any.whl", hash = "sha256:7eb8f2cc41a34e9c956c256e3ac766cf4e1a4c9c925dc757a41a01be3e852965"}, + {file = "protobuf-4.21.9-py3-none-any.whl", hash = "sha256:48e2cd6b88c6ed3d5877a3ea40df79d08374088e89bedc32557348848dff250b"}, + {file = "protobuf-4.21.9.tar.gz", hash = "sha256:61f21493d96d2a77f9ca84fefa105872550ab5ef71d21c458eb80edcf4885a99"}, ] pyasn1 = [ {file = "pyasn1-0.4.8-py2.py3-none-any.whl", hash = "sha256:39c7e2ec30515947ff4e87fb6f456dfc6e84857d34be479c9d4a4ba4bf46aa5d"}, @@ -1105,63 +1095,60 @@ pyparsing = [ {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"}, ] pyrsistent = [ - {file = "pyrsistent-0.18.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:df46c854f490f81210870e509818b729db4488e1f30f2a1ce1698b2295a878d1"}, - {file = "pyrsistent-0.18.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d45866ececf4a5fff8742c25722da6d4c9e180daa7b405dc0a2a2790d668c26"}, - {file = "pyrsistent-0.18.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4ed6784ceac462a7d6fcb7e9b663e93b9a6fb373b7f43594f9ff68875788e01e"}, - {file = "pyrsistent-0.18.1-cp310-cp310-win32.whl", hash = "sha256:e4f3149fd5eb9b285d6bfb54d2e5173f6a116fe19172686797c056672689daf6"}, - {file = "pyrsistent-0.18.1-cp310-cp310-win_amd64.whl", hash = "sha256:636ce2dc235046ccd3d8c56a7ad54e99d5c1cd0ef07d9ae847306c91d11b5fec"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e92a52c166426efbe0d1ec1332ee9119b6d32fc1f0bbfd55d5c1088070e7fc1b"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d7a096646eab884bf8bed965bad63ea327e0d0c38989fc83c5ea7b8a87037bfc"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cdfd2c361b8a8e5d9499b9082b501c452ade8bbf42aef97ea04854f4a3f43b22"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-win32.whl", hash = "sha256:7ec335fc998faa4febe75cc5268a9eac0478b3f681602c1f27befaf2a1abe1d8"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-win_amd64.whl", hash = "sha256:6455fc599df93d1f60e1c5c4fe471499f08d190d57eca040c0ea182301321286"}, - {file = "pyrsistent-0.18.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:fd8da6d0124efa2f67d86fa70c851022f87c98e205f0594e1fae044e7119a5a6"}, - {file = "pyrsistent-0.18.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7bfe2388663fd18bd8ce7db2c91c7400bf3e1a9e8bd7d63bf7e77d39051b85ec"}, - {file = "pyrsistent-0.18.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e3e1fcc45199df76053026a51cc59ab2ea3fc7c094c6627e93b7b44cdae2c8c"}, - {file = "pyrsistent-0.18.1-cp38-cp38-win32.whl", hash = "sha256:b568f35ad53a7b07ed9b1b2bae09eb15cdd671a5ba5d2c66caee40dbf91c68ca"}, - {file = "pyrsistent-0.18.1-cp38-cp38-win_amd64.whl", hash = "sha256:d1b96547410f76078eaf66d282ddca2e4baae8964364abb4f4dcdde855cd123a"}, - {file = "pyrsistent-0.18.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f87cc2863ef33c709e237d4b5f4502a62a00fab450c9e020892e8e2ede5847f5"}, - {file = "pyrsistent-0.18.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bc66318fb7ee012071b2792024564973ecc80e9522842eb4e17743604b5e045"}, - {file = "pyrsistent-0.18.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:914474c9f1d93080338ace89cb2acee74f4f666fb0424896fcfb8d86058bf17c"}, - {file = "pyrsistent-0.18.1-cp39-cp39-win32.whl", hash = "sha256:1b34eedd6812bf4d33814fca1b66005805d3640ce53140ab8bbb1e2651b0d9bc"}, - {file = "pyrsistent-0.18.1-cp39-cp39-win_amd64.whl", hash = "sha256:e24a828f57e0c337c8d8bb9f6b12f09dfdf0273da25fda9e314f0b684b415a07"}, - {file = "pyrsistent-0.18.1.tar.gz", hash = "sha256:d4d61f8b993a7255ba714df3aca52700f8125289f84f704cf80916517c46eb96"}, + {file = "pyrsistent-0.19.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d6982b5a0237e1b7d876b60265564648a69b14017f3b5f908c5be2de3f9abb7a"}, + {file = "pyrsistent-0.19.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:187d5730b0507d9285a96fca9716310d572e5464cadd19f22b63a6976254d77a"}, + {file = "pyrsistent-0.19.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:055ab45d5911d7cae397dc418808d8802fb95262751872c841c170b0dbf51eed"}, + {file = "pyrsistent-0.19.2-cp310-cp310-win32.whl", hash = "sha256:456cb30ca8bff00596519f2c53e42c245c09e1a4543945703acd4312949bfd41"}, + {file = "pyrsistent-0.19.2-cp310-cp310-win_amd64.whl", hash = "sha256:b39725209e06759217d1ac5fcdb510e98670af9e37223985f330b611f62e7425"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2aede922a488861de0ad00c7630a6e2d57e8023e4be72d9d7147a9fcd2d30712"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:879b4c2f4d41585c42df4d7654ddffff1239dc4065bc88b745f0341828b83e78"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c43bec251bbd10e3cb58ced80609c5c1eb238da9ca78b964aea410fb820d00d6"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-win32.whl", hash = "sha256:d690b18ac4b3e3cab73b0b7aa7dbe65978a172ff94970ff98d82f2031f8971c2"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-win_amd64.whl", hash = "sha256:3ba4134a3ff0fc7ad225b6b457d1309f4698108fb6b35532d015dca8f5abed73"}, + {file = "pyrsistent-0.19.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a178209e2df710e3f142cbd05313ba0c5ebed0a55d78d9945ac7a4e09d923308"}, + {file = "pyrsistent-0.19.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e371b844cec09d8dc424d940e54bba8f67a03ebea20ff7b7b0d56f526c71d584"}, + {file = "pyrsistent-0.19.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:111156137b2e71f3a9936baf27cb322e8024dac3dc54ec7fb9f0bcf3249e68bb"}, + {file = "pyrsistent-0.19.2-cp38-cp38-win32.whl", hash = "sha256:e5d8f84d81e3729c3b506657dddfe46e8ba9c330bf1858ee33108f8bb2adb38a"}, + {file = "pyrsistent-0.19.2-cp38-cp38-win_amd64.whl", hash = "sha256:9cd3e9978d12b5d99cbdc727a3022da0430ad007dacf33d0bf554b96427f33ab"}, + {file = "pyrsistent-0.19.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f1258f4e6c42ad0b20f9cfcc3ada5bd6b83374516cd01c0960e3cb75fdca6770"}, + {file = "pyrsistent-0.19.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21455e2b16000440e896ab99e8304617151981ed40c29e9507ef1c2e4314ee95"}, + {file = "pyrsistent-0.19.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bfd880614c6237243ff53a0539f1cb26987a6dc8ac6e66e0c5a40617296a045e"}, + {file = "pyrsistent-0.19.2-cp39-cp39-win32.whl", hash = "sha256:71d332b0320642b3261e9fee47ab9e65872c2bd90260e5d225dabeed93cbd42b"}, + {file = "pyrsistent-0.19.2-cp39-cp39-win_amd64.whl", hash = "sha256:dec3eac7549869365fe263831f576c8457f6c833937c68542d08fde73457d291"}, + {file = "pyrsistent-0.19.2-py3-none-any.whl", hash = "sha256:ea6b79a02a28550c98b6ca9c35b9f492beaa54d7c5c9e9949555893c8a9234d0"}, + {file = "pyrsistent-0.19.2.tar.gz", hash = "sha256:bfa0351be89c9fcbcb8c9879b826f4353be10f58f8a677efab0c017bf7137ec2"}, ] pytest = [ - {file = "pytest-7.1.3-py3-none-any.whl", hash = "sha256:1377bda3466d70b55e3f5cecfa55bb7cfcf219c7964629b967c37cf0bda818b7"}, - {file = "pytest-7.1.3.tar.gz", hash = "sha256:4f365fec2dff9c1162f834d9f18af1ba13062db0c708bf7b946f8a5c76180c39"}, -] -pytest-forked = [ - {file = "pytest-forked-1.4.0.tar.gz", hash = "sha256:8b67587c8f98cbbadfdd804539ed5455b6ed03802203485dd2f53c1422d7440e"}, - {file = "pytest_forked-1.4.0-py3-none-any.whl", hash = "sha256:bbbb6717efc886b9d64537b41fb1497cfaf3c9601276be8da2cccfea5a3c8ad8"}, + {file = "pytest-7.2.0-py3-none-any.whl", hash = "sha256:892f933d339f068883b6fd5a459f03d85bfcb355e4981e146d2c7616c21fef71"}, + {file = "pytest-7.2.0.tar.gz", hash = "sha256:c4014eb40e10f11f355ad4e3c2fb2c6c6d1919c73f3b5a433de4708202cade59"}, ] pytest-terraform = [ {file = "pytest-terraform-0.6.4.tar.gz", hash = "sha256:5d6c5087c8524fe471f3d31f107e22b05f8ee9c7f6aa5984d953a6559589dff9"}, {file = "pytest_terraform-0.6.4-py3-none-any.whl", hash = "sha256:713d502d0de2a2889dcefbd5620f113b5bfb797a40cd8409ab663eceefffe283"}, ] pytest-xdist = [ - {file = "pytest-xdist-2.5.0.tar.gz", hash = "sha256:4580deca3ff04ddb2ac53eba39d76cb5dd5edeac050cb6fbc768b0dd712b4edf"}, - {file = "pytest_xdist-2.5.0-py3-none-any.whl", hash = "sha256:6fe5c74fec98906deb8f2d2b616b5c782022744978e7bd4695d39c8f42d0ce65"}, + {file = "pytest-xdist-3.0.2.tar.gz", hash = "sha256:688da9b814370e891ba5de650c9327d1a9d861721a524eb917e620eec3e90291"}, + {file = "pytest_xdist-3.0.2-py3-none-any.whl", hash = "sha256:9feb9a18e1790696ea23e1434fa73b325ed4998b0e9fcb221f16fd1945e6df1b"}, ] python-dateutil = [ {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, ] pywin32 = [ - {file = "pywin32-304-cp310-cp310-win32.whl", hash = "sha256:3c7bacf5e24298c86314f03fa20e16558a4e4138fc34615d7de4070c23e65af3"}, - {file = "pywin32-304-cp310-cp310-win_amd64.whl", hash = "sha256:4f32145913a2447736dad62495199a8e280a77a0ca662daa2332acf849f0be48"}, - {file = "pywin32-304-cp310-cp310-win_arm64.whl", hash = "sha256:d3ee45adff48e0551d1aa60d2ec066fec006083b791f5c3527c40cd8aefac71f"}, - {file = "pywin32-304-cp311-cp311-win32.whl", hash = "sha256:30c53d6ce44c12a316a06c153ea74152d3b1342610f1b99d40ba2795e5af0269"}, - {file = "pywin32-304-cp311-cp311-win_amd64.whl", hash = "sha256:7ffa0c0fa4ae4077e8b8aa73800540ef8c24530057768c3ac57c609f99a14fd4"}, - {file = "pywin32-304-cp311-cp311-win_arm64.whl", hash = "sha256:cbbe34dad39bdbaa2889a424d28752f1b4971939b14b1bb48cbf0182a3bcfc43"}, - {file = "pywin32-304-cp36-cp36m-win32.whl", hash = "sha256:be253e7b14bc601718f014d2832e4c18a5b023cbe72db826da63df76b77507a1"}, - {file = "pywin32-304-cp36-cp36m-win_amd64.whl", hash = "sha256:de9827c23321dcf43d2f288f09f3b6d772fee11e809015bdae9e69fe13213988"}, - {file = "pywin32-304-cp37-cp37m-win32.whl", hash = "sha256:f64c0377cf01b61bd5e76c25e1480ca8ab3b73f0c4add50538d332afdf8f69c5"}, - {file = "pywin32-304-cp37-cp37m-win_amd64.whl", hash = "sha256:bb2ea2aa81e96eee6a6b79d87e1d1648d3f8b87f9a64499e0b92b30d141e76df"}, - {file = "pywin32-304-cp38-cp38-win32.whl", hash = "sha256:94037b5259701988954931333aafd39cf897e990852115656b014ce72e052e96"}, - {file = "pywin32-304-cp38-cp38-win_amd64.whl", hash = "sha256:ead865a2e179b30fb717831f73cf4373401fc62fbc3455a0889a7ddac848f83e"}, - {file = "pywin32-304-cp39-cp39-win32.whl", hash = "sha256:25746d841201fd9f96b648a248f731c1dec851c9a08b8e33da8b56148e4c65cc"}, - {file = "pywin32-304-cp39-cp39-win_amd64.whl", hash = "sha256:d24a3382f013b21aa24a5cfbfad5a2cd9926610c0affde3e8ab5b3d7dbcf4ac9"}, + {file = "pywin32-305-cp310-cp310-win32.whl", hash = "sha256:421f6cd86e84bbb696d54563c48014b12a23ef95a14e0bdba526be756d89f116"}, + {file = "pywin32-305-cp310-cp310-win_amd64.whl", hash = "sha256:73e819c6bed89f44ff1d690498c0a811948f73777e5f97c494c152b850fad478"}, + {file = "pywin32-305-cp310-cp310-win_arm64.whl", hash = "sha256:742eb905ce2187133a29365b428e6c3b9001d79accdc30aa8969afba1d8470f4"}, + {file = "pywin32-305-cp311-cp311-win32.whl", hash = "sha256:19ca459cd2e66c0e2cc9a09d589f71d827f26d47fe4a9d09175f6aa0256b51c2"}, + {file = "pywin32-305-cp311-cp311-win_amd64.whl", hash = "sha256:326f42ab4cfff56e77e3e595aeaf6c216712bbdd91e464d167c6434b28d65990"}, + {file = "pywin32-305-cp311-cp311-win_arm64.whl", hash = "sha256:4ecd404b2c6eceaca52f8b2e3e91b2187850a1ad3f8b746d0796a98b4cea04db"}, + {file = "pywin32-305-cp36-cp36m-win32.whl", hash = "sha256:48d8b1659284f3c17b68587af047d110d8c44837736b8932c034091683e05863"}, + {file = "pywin32-305-cp36-cp36m-win_amd64.whl", hash = "sha256:13362cc5aa93c2beaf489c9c9017c793722aeb56d3e5166dadd5ef82da021fe1"}, + {file = "pywin32-305-cp37-cp37m-win32.whl", hash = "sha256:a55db448124d1c1484df22fa8bbcbc45c64da5e6eae74ab095b9ea62e6d00496"}, + {file = "pywin32-305-cp37-cp37m-win_amd64.whl", hash = "sha256:109f98980bfb27e78f4df8a51a8198e10b0f347257d1e265bb1a32993d0c973d"}, + {file = "pywin32-305-cp38-cp38-win32.whl", hash = "sha256:9dd98384da775afa009bc04863426cb30596fd78c6f8e4e2e5bbf4edf8029504"}, + {file = "pywin32-305-cp38-cp38-win_amd64.whl", hash = "sha256:56d7a9c6e1a6835f521788f53b5af7912090674bb84ef5611663ee1595860fc7"}, + {file = "pywin32-305-cp39-cp39-win32.whl", hash = "sha256:9d968c677ac4d5cbdaa62fd3014ab241718e619d8e36ef8e11fb930515a1e918"}, + {file = "pywin32-305-cp39-cp39-win_amd64.whl", hash = "sha256:50768c6b7c3f0b38b7fb14dd4104da93ebced5f1a50dc0e834594bff6fbe1271"}, ] PyYAML = [ {file = "PyYAML-6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53"}, @@ -1237,8 +1224,8 @@ tomli = [ {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, ] typing-extensions = [ - {file = "typing_extensions-4.3.0-py3-none-any.whl", hash = "sha256:25642c956049920a5aa49edcdd6ab1e06d7e5d467fc00e0506c44ac86fbfca02"}, - {file = "typing_extensions-4.3.0.tar.gz", hash = "sha256:e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6"}, + {file = "typing_extensions-4.4.0-py3-none-any.whl", hash = "sha256:16fa4864408f655d35ec496218b85f79b3437c829e93320c7c9215ccfd92489e"}, + {file = "typing_extensions-4.4.0.tar.gz", hash = "sha256:1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa"}, ] uritemplate = [ {file = "uritemplate-4.1.1-py2.py3-none-any.whl", hash = "sha256:830c08b8d99bdd312ea4ead05994a38e8936266f84b9a7878232db50b044e02e"}, @@ -1249,6 +1236,6 @@ urllib3 = [ {file = "urllib3-1.26.12.tar.gz", hash = "sha256:3fa96cf423e6987997fc326ae8df396db2a8b7c667747d47ddd8ecba91f4a74e"}, ] zipp = [ - {file = "zipp-3.8.1-py3-none-any.whl", hash = "sha256:47c40d7fe183a6f21403a199b3e4192cca5774656965b0a4988ad2f8feb5f009"}, - {file = "zipp-3.8.1.tar.gz", hash = "sha256:05b45f1ee8f807d0cc928485ca40a07cb491cf092ff587c0df9cb1fd154848d2"}, + {file = "zipp-3.10.0-py3-none-any.whl", hash = "sha256:4fcb6f278987a6605757302a6e40e896257570d11c51628968ccb2a47e80c6c1"}, + {file = "zipp-3.10.0.tar.gz", hash = "sha256:7a7262fd930bd3e36c50b9a64897aec3fafff3dfdeec9623ae22b40e93f99bb8"}, ] diff --git a/tools/c7n_gcp/pyproject.toml b/tools/c7n_gcp/pyproject.toml index 41d229c6c11..231708bebaf 100644 --- a/tools/c7n_gcp/pyproject.toml +++ b/tools/c7n_gcp/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "c7n_gcp" -version = "0.4.19" +version = "0.4.20" description = "Cloud Custodian - Google Cloud Provider" readme = "readme.md" homepage = "https://cloudcustodian.io" diff --git a/tools/c7n_gcp/requirements.txt b/tools/c7n_gcp/requirements.txt index 7cc296174a8..2f9e34d9bd7 100644 --- a/tools/c7n_gcp/requirements.txt +++ b/tools/c7n_gcp/requirements.txt @@ -1,28 +1,28 @@ cachetools==5.2.0 ; python_version >= "3.7" and python_version < "4.0" certifi==2022.9.24 ; python_version >= "3.7" and python_version < "4" charset-normalizer==2.1.1 ; python_version >= "3.7" and python_version < "4" -google-api-core==2.10.1 ; python_version >= "3.7" and python_version < "4.0" -google-api-core[grpc]==2.10.1 ; python_version >= "3.7" and python_version < "4.0" -google-api-python-client==2.64.0 ; python_version >= "3.7" and python_version < "4.0" +google-api-core==2.10.2 ; python_version >= "3.7" and python_version < "4.0" +google-api-core[grpc]==2.10.2 ; python_version >= "3.7" and python_version < "4.0" +google-api-python-client==2.65.0 ; python_version >= "3.7" and python_version < "4.0" google-auth-httplib2==0.1.0 ; python_version >= "3.7" and python_version < "4.0" -google-auth==2.12.0 ; python_version >= "3.7" and python_version < "4.0" -google-cloud-appengine-logging==1.1.5 ; python_version >= "3.7" and python_version < "4.0" +google-auth==2.14.1 ; python_version >= "3.7" and python_version < "4.0" +google-cloud-appengine-logging==1.1.6 ; python_version >= "3.7" and python_version < "4.0" google-cloud-audit-log==0.2.4 ; python_version >= "3.7" and python_version < "4.0" google-cloud-core==2.3.2 ; python_version >= "3.7" and python_version < "4.0" -google-cloud-logging==3.2.4 ; python_version >= "3.7" and python_version < "4.0" -google-cloud-monitoring==2.11.2 ; python_version >= "3.7" and python_version < "4.0" +google-cloud-logging==3.2.5 ; python_version >= "3.7" and python_version < "4.0" +google-cloud-monitoring==2.11.3 ; python_version >= "3.7" and python_version < "4.0" google-cloud-storage==1.44.0 ; python_version >= "3.7" and python_version < "4.0" google-crc32c==1.5.0 ; python_version >= "3.7" and python_version < "4.0" google-resumable-media==2.4.0 ; python_version >= "3.7" and python_version < "4.0" googleapis-common-protos==1.56.4 ; python_version >= "3.7" and python_version < "4.0" googleapis-common-protos[grpc]==1.56.4 ; python_version >= "3.7" and python_version < "4.0" grpc-google-iam-v1==0.12.4 ; python_version >= "3.7" and python_version < "4.0" -grpcio-status==1.49.1 ; python_version >= "3.7" and python_version < "4.0" -grpcio==1.49.1 ; python_version >= "3.7" and python_version < "4.0" -httplib2==0.20.4 ; python_version >= "3.7" and python_version < "4.0" +grpcio-status==1.50.0 ; python_version >= "3.7" and python_version < "4.0" +grpcio==1.50.0 ; python_version >= "3.7" and python_version < "4.0" +httplib2==0.21.0 ; python_version >= "3.7" and python_version < "4.0" idna==3.4 ; python_version >= "3.7" and python_version < "4" proto-plus==1.22.1 ; python_version >= "3.7" and python_version < "4.0" -protobuf==4.21.7 ; python_version >= "3.7" and python_version < "4.0" +protobuf==4.21.9 ; python_version >= "3.7" and python_version < "4.0" pyasn1-modules==0.2.8 ; python_version >= "3.7" and python_version < "4.0" pyasn1==0.4.8 ; python_version >= "3.7" and python_version < "4.0" pyparsing==3.0.9 ; python_version >= "3.7" and python_version < "4.0" diff --git a/tools/c7n_gcp/setup.py b/tools/c7n_gcp/setup.py index 2fa1f645d6a..9e303066ab8 100644 --- a/tools/c7n_gcp/setup.py +++ b/tools/c7n_gcp/setup.py @@ -12,9 +12,9 @@ install_requires = \ ['argcomplete (>=2.0.0,<3.0.0)', 'attrs (>=22.1.0,<23.0.0)', - 'boto3 (>=1.24.88,<2.0.0)', - 'botocore (>=1.27.88,<2.0.0)', - 'c7n (>=0.9.20,<0.10.0)', + 'boto3 (>=1.26.9,<2.0.0)', + 'botocore (>=1.29.9,<2.0.0)', + 'c7n (>=0.9.21,<0.10.0)', 'docutils (>=0.17.1,<0.18.0)', 'google-api-python-client>=2.0,<3.0', 'google-auth>=2.1.0,<3.0.0', @@ -22,11 +22,11 @@ 'google-cloud-monitoring>=2.5.0,<3.0.0', 'google-cloud-storage>=1.42.2,<2.0.0', 'importlib-metadata (>=4.13.0,<5.0.0)', - 'importlib-resources (>=5.9.0,<6.0.0)', + 'importlib-resources (>=5.10.0,<6.0.0)', 'jmespath (>=1.0.1,<2.0.0)', - 'jsonschema (>=4.16.0,<5.0.0)', + 'jsonschema (>=4.17.0,<5.0.0)', 'pkgutil_resolve_name (>=1.3.10,<2.0.0)', - 'pyrsistent (>=0.18.1,<0.19.0)', + 'pyrsistent (>=0.19.2,<0.20.0)', 'python-dateutil (>=2.8.2,<3.0.0)', 'pyyaml (>=6.0,<7.0)', 'ratelimiter>=1.2.0,<2.0.0', @@ -34,13 +34,13 @@ 's3transfer (>=0.6.0,<0.7.0)', 'six (>=1.16.0,<2.0.0)', 'tabulate (>=0.8.10,<0.9.0)', - 'typing-extensions (>=4.3.0,<5.0.0)', + 'typing-extensions (>=4.4.0,<5.0.0)', 'urllib3 (>=1.26.12,<2.0.0)', - 'zipp (>=3.8.1,<4.0.0)'] + 'zipp (>=3.10.0,<4.0.0)'] setup_kwargs = { 'name': 'c7n-gcp', - 'version': '0.4.19', + 'version': '0.4.20', 'description': 'Cloud Custodian - Google Cloud Provider', 'license': 'Apache-2.0', 'classifiers': [ diff --git a/tools/c7n_kube/poetry.lock b/tools/c7n_kube/poetry.lock index 8958492fb85..018d2391879 100644 --- a/tools/c7n_kube/poetry.lock +++ b/tools/c7n_kube/poetry.lock @@ -28,14 +28,14 @@ tests_no_zope = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy [[package]] name = "boto3" -version = "1.24.88" +version = "1.26.9" description = "The AWS SDK for Python" category = "dev" optional = false python-versions = ">= 3.7" [package.dependencies] -botocore = ">=1.27.88,<1.28.0" +botocore = ">=1.29.9,<1.30.0" jmespath = ">=0.7.1,<2.0.0" s3transfer = ">=0.6.0,<0.7.0" @@ -44,7 +44,7 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] [[package]] name = "botocore" -version = "1.27.88" +version = "1.29.9" description = "Low-level, data-driven core of boto 3." category = "dev" optional = false @@ -60,7 +60,7 @@ crt = ["awscrt (==0.14.0)"] [[package]] name = "c7n" -version = "0.9.20" +version = "0.9.21" description = "Cloud Custodian - Policy Rules Engine" category = "dev" optional = false @@ -110,11 +110,11 @@ unicode_backport = ["unicodedata2"] [[package]] name = "colorama" -version = "0.4.5" +version = "0.4.6" description = "Cross-platform colored terminal text." category = "dev" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" [[package]] name = "docutils" @@ -124,9 +124,20 @@ category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +[[package]] +name = "exceptiongroup" +version = "1.0.3" +description = "Backport of PEP 654 (exception groups)" +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.extras] +test = ["pytest (>=6)"] + [[package]] name = "google-auth" -version = "2.12.0" +version = "2.14.1" description = "Google Authentication Library" category = "main" optional = false @@ -141,7 +152,7 @@ six = ">=1.9.0" [package.extras] aiohttp = ["aiohttp (>=3.6.2,<4.0.0dev)", "requests (>=2.20.0,<3.0.0dev)"] enterprise_cert = ["cryptography (==36.0.2)", "pyopenssl (==22.0.0)"] -pyopenssl = ["pyopenssl (>=20.0.0)"] +pyopenssl = ["cryptography (>=38.0.3)", "pyopenssl (>=20.0.0)"] reauth = ["pyu2f (>=0.1.5)"] [[package]] @@ -171,7 +182,7 @@ testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packag [[package]] name = "importlib-resources" -version = "5.9.0" +version = "5.10.0" description = "Read resources from Python packages" category = "dev" optional = false @@ -181,8 +192,8 @@ python-versions = ">=3.7" zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} [package.extras] -docs = ["jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx"] -testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"] +testing = ["flake8 (<5)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] [[package]] name = "iniconfig" @@ -202,7 +213,7 @@ python-versions = ">=3.7" [[package]] name = "jsonschema" -version = "4.16.0" +version = "4.17.0" description = "An implementation of JSON Schema validation for Python" category = "dev" optional = false @@ -253,7 +264,7 @@ python-versions = ">=3.7" [[package]] name = "oauthlib" -version = "3.2.1" +version = "3.2.2" description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic" category = "main" optional = false @@ -298,14 +309,6 @@ importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} dev = ["pre-commit", "tox"] testing = ["pytest", "pytest-benchmark"] -[[package]] -name = "py" -version = "1.11.0" -description = "library with cross-python path, ini-parsing, io, code, log facilities" -category = "dev" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" - [[package]] name = "pyasn1" version = "0.4.8" @@ -338,7 +341,7 @@ diagrams = ["jinja2", "railroad-diagrams"] [[package]] name = "pyrsistent" -version = "0.18.1" +version = "0.19.2" description = "Persistent/Functional/Immutable data structures" category = "dev" optional = false @@ -346,7 +349,7 @@ python-versions = ">=3.7" [[package]] name = "pytest" -version = "7.1.3" +version = "7.2.0" description = "pytest: simple powerful testing with Python" category = "dev" optional = false @@ -355,12 +358,12 @@ python-versions = ">=3.7" [package.dependencies] attrs = ">=19.2.0" colorama = {version = "*", markers = "sys_platform == \"win32\""} +exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} iniconfig = "*" packaging = "*" pluggy = ">=0.12,<2.0" -py = ">=1.8.2" -tomli = ">=1.0.0" +tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""} [package.extras] testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"] @@ -444,7 +447,7 @@ crt = ["botocore[crt] (>=1.20.29,<2.0a.0)"] [[package]] name = "setuptools" -version = "65.4.1" +version = "65.5.1" description = "Easily download, build, install, upgrade, and uninstall Python packages" category = "main" optional = false @@ -452,7 +455,7 @@ python-versions = ">=3.7" [package.extras] docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-notfound-page (==0.8.3)", "sphinx-reredirects", "sphinxcontrib-towncrier"] -testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8 (<5)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "mock", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8 (<5)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] [[package]] @@ -519,7 +522,7 @@ yarl = "*" [[package]] name = "websocket-client" -version = "1.4.1" +version = "1.4.2" description = "WebSocket client for Python with low level API options" category = "main" optional = false @@ -553,15 +556,15 @@ typing-extensions = {version = ">=3.7.4", markers = "python_version < \"3.8\""} [[package]] name = "zipp" -version = "3.8.1" +version = "3.10.0" description = "Backport of pathlib-compatible object wrapper for zip files" category = "dev" optional = false python-versions = ">=3.7" [package.extras] -docs = ["jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx"] -testing = ["func-timeout", "jaraco.itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"] +testing = ["flake8 (<5)", "func-timeout", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] [metadata] lock-version = "1.1" @@ -578,12 +581,12 @@ attrs = [ {file = "attrs-22.1.0.tar.gz", hash = "sha256:29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6"}, ] boto3 = [ - {file = "boto3-1.24.88-py3-none-any.whl", hash = "sha256:6b4cf1cd0be65202c4cf0e4c69099bac3620bcd4049ca25a5e223c668401dd69"}, - {file = "boto3-1.24.88.tar.gz", hash = "sha256:93934343cac76084600a520e5be70c52152364d0c410681c2e25c2290f0e151c"}, + {file = "boto3-1.26.9-py3-none-any.whl", hash = "sha256:27efa5eb229364bc4643d9e182de0891f73c21b65ef80b5bd02a977caeaf595c"}, + {file = "boto3-1.26.9.tar.gz", hash = "sha256:15b059251990706c5d5a556c42a6e6e781a51edadf48a42afdd06bd313adfaf2"}, ] botocore = [ - {file = "botocore-1.27.88-py3-none-any.whl", hash = "sha256:de4e087b24cd3bc369eb2e27f8fe94a6499f7dea08c919fba13cefb2496bd2bb"}, - {file = "botocore-1.27.88.tar.gz", hash = "sha256:ded0a4035baf91eb358ef501c92a8512543f5ab7658f459df3077a70a555b5cd"}, + {file = "botocore-1.29.9-py3-none-any.whl", hash = "sha256:c876a7c6a07d7f86f46a8cc765f0d38999b84ac1d7b0666d6ce08c0503e13145"}, + {file = "botocore-1.29.9.tar.gz", hash = "sha256:01f168e2418419a6d8b335ecc4330faa6a7332d5a097029fc9b4a3ae3c41cea2"}, ] c7n = [] cachetools = [ @@ -599,16 +602,20 @@ charset-normalizer = [ {file = "charset_normalizer-2.1.1-py3-none-any.whl", hash = "sha256:83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f"}, ] colorama = [ - {file = "colorama-0.4.5-py2.py3-none-any.whl", hash = "sha256:854bf444933e37f5824ae7bfc1e98d5bce2ebe4160d46b5edf346a89358e99da"}, - {file = "colorama-0.4.5.tar.gz", hash = "sha256:e6c6b4334fc50988a639d9b98aa429a0b57da6e17b9a44f0451f930b6967b7a4"}, + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] docutils = [ {file = "docutils-0.17.1-py2.py3-none-any.whl", hash = "sha256:cf316c8370a737a022b72b56874f6602acf974a37a9fba42ec2876387549fc61"}, {file = "docutils-0.17.1.tar.gz", hash = "sha256:686577d2e4c32380bb50cbb22f575ed742d58168cee37e99117a854bcd88f125"}, ] +exceptiongroup = [ + {file = "exceptiongroup-1.0.3-py3-none-any.whl", hash = "sha256:6002703c7d31fb9950ddc8780840f67880c440895dc1151dd551553aa1246e4a"}, + {file = "exceptiongroup-1.0.3.tar.gz", hash = "sha256:76cac74b5207c5997678a1c7105cb6f14213c9c63c096a38cfcb529d83ce5c02"}, +] google-auth = [ - {file = "google-auth-2.12.0.tar.gz", hash = "sha256:f12d86502ce0f2c0174e2e70ecc8d36c69593817e67e1d9c5e34489120422e4b"}, - {file = "google_auth-2.12.0-py2.py3-none-any.whl", hash = "sha256:98f601773978c969e1769f97265e732a81a8e598da3263895023958d456ee625"}, + {file = "google-auth-2.14.1.tar.gz", hash = "sha256:ccaa901f31ad5cbb562615eb8b664b3dd0bf5404a67618e642307f00613eda4d"}, + {file = "google_auth-2.14.1-py2.py3-none-any.whl", hash = "sha256:f5d8701633bebc12e0deea4df8abd8aff31c28b355360597f7f2ee60f2e4d016"}, ] idna = [ {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, @@ -619,8 +626,8 @@ importlib-metadata = [ {file = "importlib_metadata-4.13.0.tar.gz", hash = "sha256:dd0173e8f150d6815e098fd354f6414b0f079af4644ddfe90c71e2fc6174346d"}, ] importlib-resources = [ - {file = "importlib_resources-5.9.0-py3-none-any.whl", hash = "sha256:f78a8df21a79bcc30cfd400bdc38f314333de7c0fb619763f6b9dabab8268bb7"}, - {file = "importlib_resources-5.9.0.tar.gz", hash = "sha256:5481e97fb45af8dcf2f798952625591c58fe599d0735d86b10f54de086a61681"}, + {file = "importlib_resources-5.10.0-py3-none-any.whl", hash = "sha256:ee17ec648f85480d523596ce49eae8ead87d5631ae1551f913c0100b5edd3437"}, + {file = "importlib_resources-5.10.0.tar.gz", hash = "sha256:c01b1b94210d9849f286b86bb51bcea7cd56dde0600d8db721d7b81330711668"}, ] iniconfig = [ {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"}, @@ -631,8 +638,8 @@ jmespath = [ {file = "jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe"}, ] jsonschema = [ - {file = "jsonschema-4.16.0-py3-none-any.whl", hash = "sha256:9e74b8f9738d6a946d70705dc692b74b5429cd0960d58e79ffecfc43b2221eb9"}, - {file = "jsonschema-4.16.0.tar.gz", hash = "sha256:165059f076eff6971bae5b742fc029a7b4ef3f9bcf04c14e4776a7605de14b23"}, + {file = "jsonschema-4.17.0-py3-none-any.whl", hash = "sha256:f660066c3966db7d6daeaea8a75e0b68237a48e51cf49882087757bb59916248"}, + {file = "jsonschema-4.17.0.tar.gz", hash = "sha256:5bfcf2bca16a087ade17e02b282d34af7ccd749ef76241e7f9bd7c0cb8a9424d"}, ] kubernetes = [ {file = "kubernetes-10.0.1-py2.py3-none-any.whl", hash = "sha256:a6dee02a1b39ea4bb9c4c2cc415ea0ada33d8ea0a920f7d4fb6d166989dcac01"}, @@ -700,8 +707,8 @@ multidict = [ {file = "multidict-6.0.2.tar.gz", hash = "sha256:5ff3bd75f38e4c43f1f470f2df7a4d430b821c4ce22be384e1459cb57d6bb013"}, ] oauthlib = [ - {file = "oauthlib-3.2.1-py3-none-any.whl", hash = "sha256:88e912ca1ad915e1dcc1c06fc9259d19de8deacd6fd17cc2df266decc2e49066"}, - {file = "oauthlib-3.2.1.tar.gz", hash = "sha256:1565237372795bf6ee3e5aba5e2a85bd5a65d0e2aa5c628b9a97b7d7a0da3721"}, + {file = "oauthlib-3.2.2-py3-none-any.whl", hash = "sha256:8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca"}, + {file = "oauthlib-3.2.2.tar.gz", hash = "sha256:9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918"}, ] packaging = [ {file = "packaging-21.3-py3-none-any.whl", hash = "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"}, @@ -715,10 +722,6 @@ pluggy = [ {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"}, {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"}, ] -py = [ - {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"}, - {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"}, -] pyasn1 = [ {file = "pyasn1-0.4.8-py2.py3-none-any.whl", hash = "sha256:39c7e2ec30515947ff4e87fb6f456dfc6e84857d34be479c9d4a4ba4bf46aa5d"}, {file = "pyasn1-0.4.8.tar.gz", hash = "sha256:aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba"}, @@ -732,31 +735,32 @@ pyparsing = [ {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"}, ] pyrsistent = [ - {file = "pyrsistent-0.18.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:df46c854f490f81210870e509818b729db4488e1f30f2a1ce1698b2295a878d1"}, - {file = "pyrsistent-0.18.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d45866ececf4a5fff8742c25722da6d4c9e180daa7b405dc0a2a2790d668c26"}, - {file = "pyrsistent-0.18.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4ed6784ceac462a7d6fcb7e9b663e93b9a6fb373b7f43594f9ff68875788e01e"}, - {file = "pyrsistent-0.18.1-cp310-cp310-win32.whl", hash = "sha256:e4f3149fd5eb9b285d6bfb54d2e5173f6a116fe19172686797c056672689daf6"}, - {file = "pyrsistent-0.18.1-cp310-cp310-win_amd64.whl", hash = "sha256:636ce2dc235046ccd3d8c56a7ad54e99d5c1cd0ef07d9ae847306c91d11b5fec"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e92a52c166426efbe0d1ec1332ee9119b6d32fc1f0bbfd55d5c1088070e7fc1b"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d7a096646eab884bf8bed965bad63ea327e0d0c38989fc83c5ea7b8a87037bfc"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cdfd2c361b8a8e5d9499b9082b501c452ade8bbf42aef97ea04854f4a3f43b22"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-win32.whl", hash = "sha256:7ec335fc998faa4febe75cc5268a9eac0478b3f681602c1f27befaf2a1abe1d8"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-win_amd64.whl", hash = "sha256:6455fc599df93d1f60e1c5c4fe471499f08d190d57eca040c0ea182301321286"}, - {file = "pyrsistent-0.18.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:fd8da6d0124efa2f67d86fa70c851022f87c98e205f0594e1fae044e7119a5a6"}, - {file = "pyrsistent-0.18.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7bfe2388663fd18bd8ce7db2c91c7400bf3e1a9e8bd7d63bf7e77d39051b85ec"}, - {file = "pyrsistent-0.18.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e3e1fcc45199df76053026a51cc59ab2ea3fc7c094c6627e93b7b44cdae2c8c"}, - {file = "pyrsistent-0.18.1-cp38-cp38-win32.whl", hash = "sha256:b568f35ad53a7b07ed9b1b2bae09eb15cdd671a5ba5d2c66caee40dbf91c68ca"}, - {file = "pyrsistent-0.18.1-cp38-cp38-win_amd64.whl", hash = "sha256:d1b96547410f76078eaf66d282ddca2e4baae8964364abb4f4dcdde855cd123a"}, - {file = "pyrsistent-0.18.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f87cc2863ef33c709e237d4b5f4502a62a00fab450c9e020892e8e2ede5847f5"}, - {file = "pyrsistent-0.18.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bc66318fb7ee012071b2792024564973ecc80e9522842eb4e17743604b5e045"}, - {file = "pyrsistent-0.18.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:914474c9f1d93080338ace89cb2acee74f4f666fb0424896fcfb8d86058bf17c"}, - {file = "pyrsistent-0.18.1-cp39-cp39-win32.whl", hash = "sha256:1b34eedd6812bf4d33814fca1b66005805d3640ce53140ab8bbb1e2651b0d9bc"}, - {file = "pyrsistent-0.18.1-cp39-cp39-win_amd64.whl", hash = "sha256:e24a828f57e0c337c8d8bb9f6b12f09dfdf0273da25fda9e314f0b684b415a07"}, - {file = "pyrsistent-0.18.1.tar.gz", hash = "sha256:d4d61f8b993a7255ba714df3aca52700f8125289f84f704cf80916517c46eb96"}, + {file = "pyrsistent-0.19.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d6982b5a0237e1b7d876b60265564648a69b14017f3b5f908c5be2de3f9abb7a"}, + {file = "pyrsistent-0.19.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:187d5730b0507d9285a96fca9716310d572e5464cadd19f22b63a6976254d77a"}, + {file = "pyrsistent-0.19.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:055ab45d5911d7cae397dc418808d8802fb95262751872c841c170b0dbf51eed"}, + {file = "pyrsistent-0.19.2-cp310-cp310-win32.whl", hash = "sha256:456cb30ca8bff00596519f2c53e42c245c09e1a4543945703acd4312949bfd41"}, + {file = "pyrsistent-0.19.2-cp310-cp310-win_amd64.whl", hash = "sha256:b39725209e06759217d1ac5fcdb510e98670af9e37223985f330b611f62e7425"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2aede922a488861de0ad00c7630a6e2d57e8023e4be72d9d7147a9fcd2d30712"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:879b4c2f4d41585c42df4d7654ddffff1239dc4065bc88b745f0341828b83e78"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c43bec251bbd10e3cb58ced80609c5c1eb238da9ca78b964aea410fb820d00d6"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-win32.whl", hash = "sha256:d690b18ac4b3e3cab73b0b7aa7dbe65978a172ff94970ff98d82f2031f8971c2"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-win_amd64.whl", hash = "sha256:3ba4134a3ff0fc7ad225b6b457d1309f4698108fb6b35532d015dca8f5abed73"}, + {file = "pyrsistent-0.19.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a178209e2df710e3f142cbd05313ba0c5ebed0a55d78d9945ac7a4e09d923308"}, + {file = "pyrsistent-0.19.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e371b844cec09d8dc424d940e54bba8f67a03ebea20ff7b7b0d56f526c71d584"}, + {file = "pyrsistent-0.19.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:111156137b2e71f3a9936baf27cb322e8024dac3dc54ec7fb9f0bcf3249e68bb"}, + {file = "pyrsistent-0.19.2-cp38-cp38-win32.whl", hash = "sha256:e5d8f84d81e3729c3b506657dddfe46e8ba9c330bf1858ee33108f8bb2adb38a"}, + {file = "pyrsistent-0.19.2-cp38-cp38-win_amd64.whl", hash = "sha256:9cd3e9978d12b5d99cbdc727a3022da0430ad007dacf33d0bf554b96427f33ab"}, + {file = "pyrsistent-0.19.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f1258f4e6c42ad0b20f9cfcc3ada5bd6b83374516cd01c0960e3cb75fdca6770"}, + {file = "pyrsistent-0.19.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21455e2b16000440e896ab99e8304617151981ed40c29e9507ef1c2e4314ee95"}, + {file = "pyrsistent-0.19.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bfd880614c6237243ff53a0539f1cb26987a6dc8ac6e66e0c5a40617296a045e"}, + {file = "pyrsistent-0.19.2-cp39-cp39-win32.whl", hash = "sha256:71d332b0320642b3261e9fee47ab9e65872c2bd90260e5d225dabeed93cbd42b"}, + {file = "pyrsistent-0.19.2-cp39-cp39-win_amd64.whl", hash = "sha256:dec3eac7549869365fe263831f576c8457f6c833937c68542d08fde73457d291"}, + {file = "pyrsistent-0.19.2-py3-none-any.whl", hash = "sha256:ea6b79a02a28550c98b6ca9c35b9f492beaa54d7c5c9e9949555893c8a9234d0"}, + {file = "pyrsistent-0.19.2.tar.gz", hash = "sha256:bfa0351be89c9fcbcb8c9879b826f4353be10f58f8a677efab0c017bf7137ec2"}, ] pytest = [ - {file = "pytest-7.1.3-py3-none-any.whl", hash = "sha256:1377bda3466d70b55e3f5cecfa55bb7cfcf219c7964629b967c37cf0bda818b7"}, - {file = "pytest-7.1.3.tar.gz", hash = "sha256:4f365fec2dff9c1162f834d9f18af1ba13062db0c708bf7b946f8a5c76180c39"}, + {file = "pytest-7.2.0-py3-none-any.whl", hash = "sha256:892f933d339f068883b6fd5a459f03d85bfcb355e4981e146d2c7616c21fef71"}, + {file = "pytest-7.2.0.tar.gz", hash = "sha256:c4014eb40e10f11f355ad4e3c2fb2c6c6d1919c73f3b5a433de4708202cade59"}, ] python-dateutil = [ {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, @@ -821,8 +825,8 @@ s3transfer = [ {file = "s3transfer-0.6.0.tar.gz", hash = "sha256:2ed07d3866f523cc561bf4a00fc5535827981b117dd7876f036b0c1aca42c947"}, ] setuptools = [ - {file = "setuptools-65.4.1-py3-none-any.whl", hash = "sha256:1b6bdc6161661409c5f21508763dc63ab20a9ac2f8ba20029aaaa7fdb9118012"}, - {file = "setuptools-65.4.1.tar.gz", hash = "sha256:3050e338e5871e70c72983072fe34f6032ae1cdeeeb67338199c2f74e083a80e"}, + {file = "setuptools-65.5.1-py3-none-any.whl", hash = "sha256:d0b9a8433464d5800cbe05094acf5c6d52a91bfac9b52bcfc4d41382be5d5d31"}, + {file = "setuptools-65.5.1.tar.gz", hash = "sha256:e197a19aa8ec9722928f2206f8de752def0e4c9fc6953527360d1c36d94ddb2f"}, ] six = [ {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, @@ -849,8 +853,8 @@ vcrpy = [ {file = "vcrpy-4.2.1.tar.gz", hash = "sha256:7cd3e81a2c492e01c281f180bcc2a86b520b173d2b656cb5d89d99475423e013"}, ] websocket-client = [ - {file = "websocket-client-1.4.1.tar.gz", hash = "sha256:f9611eb65c8241a67fb373bef040b3cf8ad377a9f6546a12b620b6511e8ea9ef"}, - {file = "websocket_client-1.4.1-py3-none-any.whl", hash = "sha256:398909eb7e261f44b8f4bd474785b6ec5f5b499d4953342fe9755e01ef624090"}, + {file = "websocket-client-1.4.2.tar.gz", hash = "sha256:d6e8f90ca8e2dd4e8027c4561adeb9456b54044312dba655e7cae652ceb9ae59"}, + {file = "websocket_client-1.4.2-py3-none-any.whl", hash = "sha256:d6b06432f184438d99ac1f456eaf22fe1ade524c3dd16e661142dc54e9cba574"}, ] wrapt = [ {file = "wrapt-1.14.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:1b376b3f4896e7930f1f772ac4b064ac12598d1c38d04907e696cc4d794b43d3"}, @@ -980,6 +984,6 @@ yarl = [ {file = "yarl-1.8.1.tar.gz", hash = "sha256:af887845b8c2e060eb5605ff72b6f2dd2aab7a761379373fd89d314f4752abbf"}, ] zipp = [ - {file = "zipp-3.8.1-py3-none-any.whl", hash = "sha256:47c40d7fe183a6f21403a199b3e4192cca5774656965b0a4988ad2f8feb5f009"}, - {file = "zipp-3.8.1.tar.gz", hash = "sha256:05b45f1ee8f807d0cc928485ca40a07cb491cf092ff587c0df9cb1fd154848d2"}, + {file = "zipp-3.10.0-py3-none-any.whl", hash = "sha256:4fcb6f278987a6605757302a6e40e896257570d11c51628968ccb2a47e80c6c1"}, + {file = "zipp-3.10.0.tar.gz", hash = "sha256:7a7262fd930bd3e36c50b9a64897aec3fafff3dfdeec9623ae22b40e93f99bb8"}, ] diff --git a/tools/c7n_kube/pyproject.toml b/tools/c7n_kube/pyproject.toml index b6f82ffa64b..bcecb520675 100644 --- a/tools/c7n_kube/pyproject.toml +++ b/tools/c7n_kube/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "c7n_kube" -version = "0.2.19" +version = "0.2.20" description = "Cloud Custodian - Kubernetes Provider" readme = "readme.md" homepage = "https://cloudcustodian.io" diff --git a/tools/c7n_kube/requirements.txt b/tools/c7n_kube/requirements.txt index ef1ddc41b46..4f73365822e 100644 --- a/tools/c7n_kube/requirements.txt +++ b/tools/c7n_kube/requirements.txt @@ -1,10 +1,10 @@ cachetools==5.2.0 ; python_version >= "3.7" and python_version < "4.0" certifi==2022.9.24 ; python_version >= "3.7" and python_version < "4.0" charset-normalizer==2.1.1 ; python_version >= "3.7" and python_version < "4" -google-auth==2.12.0 ; python_version >= "3.7" and python_version < "4.0" +google-auth==2.14.1 ; python_version >= "3.7" and python_version < "4.0" idna==3.4 ; python_version >= "3.7" and python_version < "4" kubernetes==10.0.1 ; python_version >= "3.7" and python_version < "4.0" -oauthlib==3.2.1 ; python_version >= "3.7" and python_version < "4.0" +oauthlib==3.2.2 ; python_version >= "3.7" and python_version < "4.0" pyasn1-modules==0.2.8 ; python_version >= "3.7" and python_version < "4.0" pyasn1==0.4.8 ; python_version >= "3.7" and python_version < "4.0" python-dateutil==2.8.2 ; python_version >= "3.7" and python_version < "4.0" @@ -12,7 +12,7 @@ pyyaml==6.0 ; python_version >= "3.7" and python_version < "4.0" requests-oauthlib==1.3.1 ; python_version >= "3.7" and python_version < "4.0" requests==2.28.1 ; python_version >= "3.7" and python_version < "4" rsa==4.9 ; python_version >= "3.7" and python_version < "4" -setuptools==65.4.1 ; python_version >= "3.7" and python_version < "4.0" +setuptools==65.5.1 ; python_version >= "3.7" and python_version < "4.0" six==1.16.0 ; python_version >= "3.7" and python_version < "4.0" urllib3==1.26.12 ; python_version >= "3.7" and python_version < "4" -websocket-client==1.4.1 ; python_version >= "3.7" and python_version < "4.0" +websocket-client==1.4.2 ; python_version >= "3.7" and python_version < "4.0" diff --git a/tools/c7n_kube/setup.py b/tools/c7n_kube/setup.py index 02ee8e0695a..db56f7c113b 100644 --- a/tools/c7n_kube/setup.py +++ b/tools/c7n_kube/setup.py @@ -8,7 +8,8 @@ 'c7n_kube.actions', 'c7n_kube.resources', 'c7n_kube.resources.apps', - 'c7n_kube.resources.core'] + 'c7n_kube.resources.core', + 'c7n_kube.resources.rbac'] package_data = \ {'': ['*']} @@ -16,29 +17,32 @@ install_requires = \ ['argcomplete (>=2.0.0,<3.0.0)', 'attrs (>=22.1.0,<23.0.0)', - 'boto3 (>=1.24.88,<2.0.0)', - 'botocore (>=1.27.88,<2.0.0)', - 'c7n (>=0.9.20,<0.10.0)', + 'boto3 (>=1.26.9,<2.0.0)', + 'botocore (>=1.29.9,<2.0.0)', + 'c7n (>=0.9.21,<0.10.0)', 'docutils (>=0.17.1,<0.18.0)', 'importlib-metadata (>=4.13.0,<5.0.0)', - 'importlib-resources (>=5.9.0,<6.0.0)', + 'importlib-resources (>=5.10.0,<6.0.0)', 'jmespath (>=1.0.1,<2.0.0)', - 'jsonschema (>=4.16.0,<5.0.0)', + 'jsonschema (>=4.17.0,<5.0.0)', 'kubernetes>=10.0.1,<11.0.0', 'pkgutil_resolve_name (>=1.3.10,<2.0.0)', - 'pyrsistent (>=0.18.1,<0.19.0)', + 'pyrsistent (>=0.19.2,<0.20.0)', 'python-dateutil (>=2.8.2,<3.0.0)', 'pyyaml (>=6.0,<7.0)', 's3transfer (>=0.6.0,<0.7.0)', 'six (>=1.16.0,<2.0.0)', 'tabulate (>=0.8.10,<0.9.0)', - 'typing-extensions (>=4.3.0,<5.0.0)', + 'typing-extensions (>=4.4.0,<5.0.0)', 'urllib3 (>=1.26.12,<2.0.0)', - 'zipp (>=3.8.1,<4.0.0)'] + 'zipp (>=3.10.0,<4.0.0)'] + +entry_points = \ +{'console_scripts': ['c7n-kates = c7n_kube.cli:cli']} setup_kwargs = { 'name': 'c7n-kube', - 'version': '0.2.19', + 'version': '0.2.20', 'description': 'Cloud Custodian - Kubernetes Provider', 'license': 'Apache-2.0', 'classifiers': [ @@ -46,7 +50,7 @@ 'Topic :: System :: Systems Administration', 'Topic :: System :: Distributed Computing' ], - 'long_description': '# Custodian Kubernetes Support\n\n\nWork in Progress - Not Ready For Use.\n\n', + 'long_description': "# Custodian Kubernetes Support\n\nCloud Custodian can run policies directly inside your cluster, reporting on \nresources that violate those policies, or blocking them altogether.\n\n# Running the server \n\nc7n-kates can be run and installed via poetry. `poetry install && poetry run c7n-kates`. \n\n| name | default | description |\n|----------------|-----------|--------------------------------------------------------------|\n| --host | 127.0.0.1 | (optional) The host that the server should listen on. |\n| --port | 8800 | (optional) The port the server will listen on. |\n| --policy-dir | | Path to the policy directory. |\n| --on-exception | warn | Action to take on an internal exception. One of: warn, deny. |\n| --cert | | Path to the certificate. | \n| --ca-cert | | Path to the CA's certificate. |\n| --cert-key | | Path to the certificate's key. |\n\n# Generate a MutatingWebhookConfiguration\n\nAfter the server is running, you'll need to configure and install the \nMutatingWebhookConfiguration manually. To generate a webhook configuration, you\ncan run `poetry run c7n-kates --generate --endpoint $ENDPOINT_URL --policy-dir $DIR`, and \nit will generate an appropriate configuration for you, based on your policies.\n\nNote: some modification of the webhook configuration may be required. See the \n[documentation](https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/) \non webhooks for more configuration.\n\n# Development\n\nYou can use [skaffold](https://github.com/GoogleContainerTools/skaffold/) to \nassist with testing and debugging this controller. Run `skaffold dev` in this\nfolder to deploy the local container into a local kubernetes cluster. It will \nautomatically redeploy it as files change.\n", 'long_description_content_type': 'text/markdown', 'author': 'Cloud Custodian Project', 'author_email': 'cloud-custodian@googlegroups.com', @@ -59,6 +63,7 @@ 'packages': packages, 'package_data': package_data, 'install_requires': install_requires, + 'entry_points': entry_points, 'python_requires': '>=3.7,<4.0', } diff --git a/tools/c7n_logexporter/poetry.lock b/tools/c7n_logexporter/poetry.lock index 9270e9bec47..07af841c69d 100644 --- a/tools/c7n_logexporter/poetry.lock +++ b/tools/c7n_logexporter/poetry.lock @@ -28,14 +28,14 @@ tests_no_zope = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy [[package]] name = "boto3" -version = "1.24.88" +version = "1.26.9" description = "The AWS SDK for Python" category = "dev" optional = false python-versions = ">= 3.7" [package.dependencies] -botocore = ">=1.27.88,<1.28.0" +botocore = ">=1.29.9,<1.30.0" jmespath = ">=0.7.1,<2.0.0" s3transfer = ">=0.6.0,<0.7.0" @@ -44,7 +44,7 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] [[package]] name = "botocore" -version = "1.27.88" +version = "1.29.9" description = "Low-level, data-driven core of boto 3." category = "dev" optional = false @@ -60,7 +60,7 @@ crt = ["awscrt (==0.14.0)"] [[package]] name = "c7n" -version = "0.9.20" +version = "0.9.21" description = "Cloud Custodian - Policy Rules Engine" category = "dev" optional = false @@ -95,11 +95,11 @@ importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} [[package]] name = "colorama" -version = "0.4.5" +version = "0.4.6" description = "Cross-platform colored terminal text." category = "main" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" [[package]] name = "docutils" @@ -128,7 +128,7 @@ testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packag [[package]] name = "importlib-resources" -version = "5.9.0" +version = "5.10.0" description = "Read resources from Python packages" category = "dev" optional = false @@ -138,8 +138,8 @@ python-versions = ">=3.7" zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} [package.extras] -docs = ["jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx"] -testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"] +testing = ["flake8 (<5)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] [[package]] name = "jmespath" @@ -151,7 +151,7 @@ python-versions = ">=3.7" [[package]] name = "jsonschema" -version = "4.16.0" +version = "4.17.0" description = "An implementation of JSON Schema validation for Python" category = "dev" optional = false @@ -179,7 +179,7 @@ python-versions = ">=3.6" [[package]] name = "pyrsistent" -version = "0.18.1" +version = "0.19.2" description = "Persistent/Functional/Immutable data structures" category = "dev" optional = false @@ -239,7 +239,7 @@ widechars = ["wcwidth"] [[package]] name = "typing-extensions" -version = "4.3.0" +version = "4.4.0" description = "Backported and Experimental Type Hints for Python 3.7+" category = "main" optional = false @@ -260,15 +260,15 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] [[package]] name = "zipp" -version = "3.8.1" +version = "3.10.0" description = "Backport of pathlib-compatible object wrapper for zip files" category = "main" optional = false python-versions = ">=3.7" [package.extras] -docs = ["jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx"] -testing = ["func-timeout", "jaraco.itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"] +testing = ["flake8 (<5)", "func-timeout", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] [metadata] lock-version = "1.1" @@ -285,12 +285,12 @@ attrs = [ {file = "attrs-22.1.0.tar.gz", hash = "sha256:29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6"}, ] boto3 = [ - {file = "boto3-1.24.88-py3-none-any.whl", hash = "sha256:6b4cf1cd0be65202c4cf0e4c69099bac3620bcd4049ca25a5e223c668401dd69"}, - {file = "boto3-1.24.88.tar.gz", hash = "sha256:93934343cac76084600a520e5be70c52152364d0c410681c2e25c2290f0e151c"}, + {file = "boto3-1.26.9-py3-none-any.whl", hash = "sha256:27efa5eb229364bc4643d9e182de0891f73c21b65ef80b5bd02a977caeaf595c"}, + {file = "boto3-1.26.9.tar.gz", hash = "sha256:15b059251990706c5d5a556c42a6e6e781a51edadf48a42afdd06bd313adfaf2"}, ] botocore = [ - {file = "botocore-1.27.88-py3-none-any.whl", hash = "sha256:de4e087b24cd3bc369eb2e27f8fe94a6499f7dea08c919fba13cefb2496bd2bb"}, - {file = "botocore-1.27.88.tar.gz", hash = "sha256:ded0a4035baf91eb358ef501c92a8512543f5ab7658f459df3077a70a555b5cd"}, + {file = "botocore-1.29.9-py3-none-any.whl", hash = "sha256:c876a7c6a07d7f86f46a8cc765f0d38999b84ac1d7b0666d6ce08c0503e13145"}, + {file = "botocore-1.29.9.tar.gz", hash = "sha256:01f168e2418419a6d8b335ecc4330faa6a7332d5a097029fc9b4a3ae3c41cea2"}, ] c7n = [] click = [ @@ -298,8 +298,8 @@ click = [ {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"}, ] colorama = [ - {file = "colorama-0.4.5-py2.py3-none-any.whl", hash = "sha256:854bf444933e37f5824ae7bfc1e98d5bce2ebe4160d46b5edf346a89358e99da"}, - {file = "colorama-0.4.5.tar.gz", hash = "sha256:e6c6b4334fc50988a639d9b98aa429a0b57da6e17b9a44f0451f930b6967b7a4"}, + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] docutils = [ {file = "docutils-0.17.1-py2.py3-none-any.whl", hash = "sha256:cf316c8370a737a022b72b56874f6602acf974a37a9fba42ec2876387549fc61"}, @@ -310,43 +310,44 @@ importlib-metadata = [ {file = "importlib_metadata-4.13.0.tar.gz", hash = "sha256:dd0173e8f150d6815e098fd354f6414b0f079af4644ddfe90c71e2fc6174346d"}, ] importlib-resources = [ - {file = "importlib_resources-5.9.0-py3-none-any.whl", hash = "sha256:f78a8df21a79bcc30cfd400bdc38f314333de7c0fb619763f6b9dabab8268bb7"}, - {file = "importlib_resources-5.9.0.tar.gz", hash = "sha256:5481e97fb45af8dcf2f798952625591c58fe599d0735d86b10f54de086a61681"}, + {file = "importlib_resources-5.10.0-py3-none-any.whl", hash = "sha256:ee17ec648f85480d523596ce49eae8ead87d5631ae1551f913c0100b5edd3437"}, + {file = "importlib_resources-5.10.0.tar.gz", hash = "sha256:c01b1b94210d9849f286b86bb51bcea7cd56dde0600d8db721d7b81330711668"}, ] jmespath = [ {file = "jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980"}, {file = "jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe"}, ] jsonschema = [ - {file = "jsonschema-4.16.0-py3-none-any.whl", hash = "sha256:9e74b8f9738d6a946d70705dc692b74b5429cd0960d58e79ffecfc43b2221eb9"}, - {file = "jsonschema-4.16.0.tar.gz", hash = "sha256:165059f076eff6971bae5b742fc029a7b4ef3f9bcf04c14e4776a7605de14b23"}, + {file = "jsonschema-4.17.0-py3-none-any.whl", hash = "sha256:f660066c3966db7d6daeaea8a75e0b68237a48e51cf49882087757bb59916248"}, + {file = "jsonschema-4.17.0.tar.gz", hash = "sha256:5bfcf2bca16a087ade17e02b282d34af7ccd749ef76241e7f9bd7c0cb8a9424d"}, ] pkgutil_resolve_name = [ {file = "pkgutil_resolve_name-1.3.10-py3-none-any.whl", hash = "sha256:ca27cc078d25c5ad71a9de0a7a330146c4e014c2462d9af19c6b828280649c5e"}, {file = "pkgutil_resolve_name-1.3.10.tar.gz", hash = "sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174"}, ] pyrsistent = [ - {file = "pyrsistent-0.18.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:df46c854f490f81210870e509818b729db4488e1f30f2a1ce1698b2295a878d1"}, - {file = "pyrsistent-0.18.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d45866ececf4a5fff8742c25722da6d4c9e180daa7b405dc0a2a2790d668c26"}, - {file = "pyrsistent-0.18.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4ed6784ceac462a7d6fcb7e9b663e93b9a6fb373b7f43594f9ff68875788e01e"}, - {file = "pyrsistent-0.18.1-cp310-cp310-win32.whl", hash = "sha256:e4f3149fd5eb9b285d6bfb54d2e5173f6a116fe19172686797c056672689daf6"}, - {file = "pyrsistent-0.18.1-cp310-cp310-win_amd64.whl", hash = "sha256:636ce2dc235046ccd3d8c56a7ad54e99d5c1cd0ef07d9ae847306c91d11b5fec"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e92a52c166426efbe0d1ec1332ee9119b6d32fc1f0bbfd55d5c1088070e7fc1b"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d7a096646eab884bf8bed965bad63ea327e0d0c38989fc83c5ea7b8a87037bfc"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cdfd2c361b8a8e5d9499b9082b501c452ade8bbf42aef97ea04854f4a3f43b22"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-win32.whl", hash = "sha256:7ec335fc998faa4febe75cc5268a9eac0478b3f681602c1f27befaf2a1abe1d8"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-win_amd64.whl", hash = "sha256:6455fc599df93d1f60e1c5c4fe471499f08d190d57eca040c0ea182301321286"}, - {file = "pyrsistent-0.18.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:fd8da6d0124efa2f67d86fa70c851022f87c98e205f0594e1fae044e7119a5a6"}, - {file = "pyrsistent-0.18.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7bfe2388663fd18bd8ce7db2c91c7400bf3e1a9e8bd7d63bf7e77d39051b85ec"}, - {file = "pyrsistent-0.18.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e3e1fcc45199df76053026a51cc59ab2ea3fc7c094c6627e93b7b44cdae2c8c"}, - {file = "pyrsistent-0.18.1-cp38-cp38-win32.whl", hash = "sha256:b568f35ad53a7b07ed9b1b2bae09eb15cdd671a5ba5d2c66caee40dbf91c68ca"}, - {file = "pyrsistent-0.18.1-cp38-cp38-win_amd64.whl", hash = "sha256:d1b96547410f76078eaf66d282ddca2e4baae8964364abb4f4dcdde855cd123a"}, - {file = "pyrsistent-0.18.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f87cc2863ef33c709e237d4b5f4502a62a00fab450c9e020892e8e2ede5847f5"}, - {file = "pyrsistent-0.18.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bc66318fb7ee012071b2792024564973ecc80e9522842eb4e17743604b5e045"}, - {file = "pyrsistent-0.18.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:914474c9f1d93080338ace89cb2acee74f4f666fb0424896fcfb8d86058bf17c"}, - {file = "pyrsistent-0.18.1-cp39-cp39-win32.whl", hash = "sha256:1b34eedd6812bf4d33814fca1b66005805d3640ce53140ab8bbb1e2651b0d9bc"}, - {file = "pyrsistent-0.18.1-cp39-cp39-win_amd64.whl", hash = "sha256:e24a828f57e0c337c8d8bb9f6b12f09dfdf0273da25fda9e314f0b684b415a07"}, - {file = "pyrsistent-0.18.1.tar.gz", hash = "sha256:d4d61f8b993a7255ba714df3aca52700f8125289f84f704cf80916517c46eb96"}, + {file = "pyrsistent-0.19.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d6982b5a0237e1b7d876b60265564648a69b14017f3b5f908c5be2de3f9abb7a"}, + {file = "pyrsistent-0.19.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:187d5730b0507d9285a96fca9716310d572e5464cadd19f22b63a6976254d77a"}, + {file = "pyrsistent-0.19.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:055ab45d5911d7cae397dc418808d8802fb95262751872c841c170b0dbf51eed"}, + {file = "pyrsistent-0.19.2-cp310-cp310-win32.whl", hash = "sha256:456cb30ca8bff00596519f2c53e42c245c09e1a4543945703acd4312949bfd41"}, + {file = "pyrsistent-0.19.2-cp310-cp310-win_amd64.whl", hash = "sha256:b39725209e06759217d1ac5fcdb510e98670af9e37223985f330b611f62e7425"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2aede922a488861de0ad00c7630a6e2d57e8023e4be72d9d7147a9fcd2d30712"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:879b4c2f4d41585c42df4d7654ddffff1239dc4065bc88b745f0341828b83e78"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c43bec251bbd10e3cb58ced80609c5c1eb238da9ca78b964aea410fb820d00d6"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-win32.whl", hash = "sha256:d690b18ac4b3e3cab73b0b7aa7dbe65978a172ff94970ff98d82f2031f8971c2"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-win_amd64.whl", hash = "sha256:3ba4134a3ff0fc7ad225b6b457d1309f4698108fb6b35532d015dca8f5abed73"}, + {file = "pyrsistent-0.19.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a178209e2df710e3f142cbd05313ba0c5ebed0a55d78d9945ac7a4e09d923308"}, + {file = "pyrsistent-0.19.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e371b844cec09d8dc424d940e54bba8f67a03ebea20ff7b7b0d56f526c71d584"}, + {file = "pyrsistent-0.19.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:111156137b2e71f3a9936baf27cb322e8024dac3dc54ec7fb9f0bcf3249e68bb"}, + {file = "pyrsistent-0.19.2-cp38-cp38-win32.whl", hash = "sha256:e5d8f84d81e3729c3b506657dddfe46e8ba9c330bf1858ee33108f8bb2adb38a"}, + {file = "pyrsistent-0.19.2-cp38-cp38-win_amd64.whl", hash = "sha256:9cd3e9978d12b5d99cbdc727a3022da0430ad007dacf33d0bf554b96427f33ab"}, + {file = "pyrsistent-0.19.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f1258f4e6c42ad0b20f9cfcc3ada5bd6b83374516cd01c0960e3cb75fdca6770"}, + {file = "pyrsistent-0.19.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21455e2b16000440e896ab99e8304617151981ed40c29e9507ef1c2e4314ee95"}, + {file = "pyrsistent-0.19.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bfd880614c6237243ff53a0539f1cb26987a6dc8ac6e66e0c5a40617296a045e"}, + {file = "pyrsistent-0.19.2-cp39-cp39-win32.whl", hash = "sha256:71d332b0320642b3261e9fee47ab9e65872c2bd90260e5d225dabeed93cbd42b"}, + {file = "pyrsistent-0.19.2-cp39-cp39-win_amd64.whl", hash = "sha256:dec3eac7549869365fe263831f576c8457f6c833937c68542d08fde73457d291"}, + {file = "pyrsistent-0.19.2-py3-none-any.whl", hash = "sha256:ea6b79a02a28550c98b6ca9c35b9f492beaa54d7c5c9e9949555893c8a9234d0"}, + {file = "pyrsistent-0.19.2.tar.gz", hash = "sha256:bfa0351be89c9fcbcb8c9879b826f4353be10f58f8a677efab0c017bf7137ec2"}, ] python-dateutil = [ {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, @@ -407,14 +408,14 @@ tabulate = [ {file = "tabulate-0.8.10.tar.gz", hash = "sha256:6c57f3f3dd7ac2782770155f3adb2db0b1a269637e42f27599925e64b114f519"}, ] typing-extensions = [ - {file = "typing_extensions-4.3.0-py3-none-any.whl", hash = "sha256:25642c956049920a5aa49edcdd6ab1e06d7e5d467fc00e0506c44ac86fbfca02"}, - {file = "typing_extensions-4.3.0.tar.gz", hash = "sha256:e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6"}, + {file = "typing_extensions-4.4.0-py3-none-any.whl", hash = "sha256:16fa4864408f655d35ec496218b85f79b3437c829e93320c7c9215ccfd92489e"}, + {file = "typing_extensions-4.4.0.tar.gz", hash = "sha256:1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa"}, ] urllib3 = [ {file = "urllib3-1.26.12-py2.py3-none-any.whl", hash = "sha256:b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997"}, {file = "urllib3-1.26.12.tar.gz", hash = "sha256:3fa96cf423e6987997fc326ae8df396db2a8b7c667747d47ddd8ecba91f4a74e"}, ] zipp = [ - {file = "zipp-3.8.1-py3-none-any.whl", hash = "sha256:47c40d7fe183a6f21403a199b3e4192cca5774656965b0a4988ad2f8feb5f009"}, - {file = "zipp-3.8.1.tar.gz", hash = "sha256:05b45f1ee8f807d0cc928485ca40a07cb491cf092ff587c0df9cb1fd154848d2"}, + {file = "zipp-3.10.0-py3-none-any.whl", hash = "sha256:4fcb6f278987a6605757302a6e40e896257570d11c51628968ccb2a47e80c6c1"}, + {file = "zipp-3.10.0.tar.gz", hash = "sha256:7a7262fd930bd3e36c50b9a64897aec3fafff3dfdeec9623ae22b40e93f99bb8"}, ] diff --git a/tools/c7n_logexporter/pyproject.toml b/tools/c7n_logexporter/pyproject.toml index 94dba1f25b9..a1474e0edde 100644 --- a/tools/c7n_logexporter/pyproject.toml +++ b/tools/c7n_logexporter/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "c7n_logexporter" -version = "0.4.19" +version = "0.4.20" description = "Cloud Custodian - Cloud Watch Log S3 exporter" readme = "README.md" homepage = "https://cloudcustodian.io" diff --git a/tools/c7n_logexporter/requirements.txt b/tools/c7n_logexporter/requirements.txt index 4b53288a517..0d0039e3e53 100644 --- a/tools/c7n_logexporter/requirements.txt +++ b/tools/c7n_logexporter/requirements.txt @@ -1,5 +1,5 @@ click==8.1.3 ; python_version >= "3.7" and python_version < "4.0" -colorama==0.4.5 ; python_version >= "3.7" and python_version < "4.0" and platform_system == "Windows" +colorama==0.4.6 ; python_version >= "3.7" and python_version < "4.0" and platform_system == "Windows" importlib-metadata==4.13.0 ; python_version >= "3.7" and python_version < "3.8" -typing-extensions==4.3.0 ; python_version >= "3.7" and python_version < "3.8" -zipp==3.8.1 ; python_version >= "3.7" and python_version < "3.8" +typing-extensions==4.4.0 ; python_version >= "3.7" and python_version < "3.8" +zipp==3.10.0 ; python_version >= "3.7" and python_version < "3.8" diff --git a/tools/c7n_logexporter/setup.py b/tools/c7n_logexporter/setup.py index 19eeb359d07..ad4492e52cb 100644 --- a/tools/c7n_logexporter/setup.py +++ b/tools/c7n_logexporter/setup.py @@ -12,32 +12,32 @@ install_requires = \ ['argcomplete (>=2.0.0,<3.0.0)', 'attrs (>=22.1.0,<23.0.0)', - 'boto3 (>=1.24.88,<2.0.0)', - 'botocore (>=1.27.88,<2.0.0)', - 'c7n (>=0.9.20,<0.10.0)', + 'boto3 (>=1.26.9,<2.0.0)', + 'botocore (>=1.29.9,<2.0.0)', + 'c7n (>=0.9.21,<0.10.0)', 'click>=8.0,<9.0', 'docutils (>=0.17.1,<0.18.0)', 'importlib-metadata (>=4.13.0,<5.0.0)', - 'importlib-resources (>=5.9.0,<6.0.0)', + 'importlib-resources (>=5.10.0,<6.0.0)', 'jmespath (>=1.0.1,<2.0.0)', - 'jsonschema (>=4.16.0,<5.0.0)', + 'jsonschema (>=4.17.0,<5.0.0)', 'pkgutil_resolve_name (>=1.3.10,<2.0.0)', - 'pyrsistent (>=0.18.1,<0.19.0)', + 'pyrsistent (>=0.19.2,<0.20.0)', 'python-dateutil (>=2.8.2,<3.0.0)', 'pyyaml (>=6.0,<7.0)', 's3transfer (>=0.6.0,<0.7.0)', 'six (>=1.16.0,<2.0.0)', 'tabulate (>=0.8.10,<0.9.0)', - 'typing-extensions (>=4.3.0,<5.0.0)', + 'typing-extensions (>=4.4.0,<5.0.0)', 'urllib3 (>=1.26.12,<2.0.0)', - 'zipp (>=3.8.1,<4.0.0)'] + 'zipp (>=3.10.0,<4.0.0)'] entry_points = \ {'console_scripts': ['c7n-log-exporter = c7n_logexporter.exporter:cli']} setup_kwargs = { 'name': 'c7n-logexporter', - 'version': '0.4.19', + 'version': '0.4.20', 'description': 'Cloud Custodian - Cloud Watch Log S3 exporter', 'license': 'Apache-2.0', 'classifiers': [ diff --git a/tools/c7n_mailer/poetry.lock b/tools/c7n_mailer/poetry.lock index 80b178dc6bb..235b22e55dc 100644 --- a/tools/c7n_mailer/poetry.lock +++ b/tools/c7n_mailer/poetry.lock @@ -71,7 +71,7 @@ python-versions = "*" [[package]] name = "azure-core" -version = "1.25.1" +version = "1.26.0" description = "Microsoft Azure Core Library for Python" category = "main" optional = true @@ -82,6 +82,9 @@ requests = ">=2.18.4" six = ">=1.11.0" typing-extensions = ">=4.0.1" +[package.extras] +aio = ["aiohttp (>=3.0)"] + [[package]] name = "azure-cosmos" version = "3.2.0" @@ -845,11 +848,11 @@ tzdata = ["tzdata"] [[package]] name = "black" -version = "22.8.0" +version = "22.10.0" description = "The uncompromising code formatter." category = "dev" optional = false -python-versions = ">=3.6.2" +python-versions = ">=3.7" [package.dependencies] click = ">=8.0.0" @@ -900,7 +903,7 @@ crt = ["awscrt (==0.14.0)"] [[package]] name = "c7n-azure" -version = "0.7.18" +version = "0.7.20" description = "Cloud Custodian - Azure Support" category = "main" optional = true @@ -979,7 +982,7 @@ url = "../c7n_azure" [[package]] name = "c7n-gcp" -version = "0.4.18" +version = "0.4.20" description = "Cloud Custodian - Google Cloud Provider" category = "main" optional = true @@ -1104,16 +1107,27 @@ category = "main" optional = true python-versions = "*" +[[package]] +name = "exceptiongroup" +version = "1.0.3" +description = "Backport of PEP 654 (exception groups)" +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.extras] +test = ["pytest (>=6)"] + [[package]] name = "fakeredis" -version = "1.9.3" +version = "1.10.1" description = "Fake implementation of redis API for testing purposes." category = "dev" optional = false python-versions = ">=3.7,<4.0" [package.dependencies] -redis = "<4.4" +redis = "<4.5" sortedcontainers = ">=2.4.0,<3.0.0" [package.extras] @@ -1264,7 +1278,7 @@ pandas = ["pandas (>=0.17.1)"] [[package]] name = "google-cloud-secret-manager" -version = "2.12.5" +version = "2.12.6" description = "Secret Manager API API client library" category = "main" optional = true @@ -1274,7 +1288,7 @@ python-versions = ">=3.7" google-api-core = {version = ">=1.32.0,<2.0.0 || >=2.8.0,<3.0.0dev", extras = ["grpc"]} grpc-google-iam-v1 = ">=0.12.4,<1.0.0dev" proto-plus = ">=1.22.0,<2.0.0dev" -protobuf = ">=3.20.2,<5.0.0dev" +protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<5.0.0dev" [package.extras] libcst = ["libcst (>=0.2.5)"] @@ -1550,8 +1564,8 @@ python-versions = "*" [package.dependencies] msal = ">=0.4.1,<2.0.0" portalocker = [ - {version = ">=1.6,<3", markers = "python_version >= \"3.5\" and platform_system == \"Windows\""}, {version = ">=1.0,<3", markers = "python_version >= \"3.5\" and platform_system != \"Windows\""}, + {version = ">=1.6,<3", markers = "python_version >= \"3.5\" and platform_system == \"Windows\""}, ] [[package]] @@ -1645,7 +1659,7 @@ pyparsing = ">=2.0.2,<3.0.5 || >3.0.5" [[package]] name = "pathspec" -version = "0.10.1" +version = "0.10.2" description = "Utility library for gitignore style pattern matching of file paths." category = "dev" optional = false @@ -1661,15 +1675,15 @@ python-versions = ">=3.6" [[package]] name = "platformdirs" -version = "2.5.2" -description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +version = "2.5.4" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." category = "dev" optional = false python-versions = ">=3.7" [package.extras] -docs = ["furo (>=2021.7.5b38)", "proselint (>=0.10.2)", "sphinx (>=4)", "sphinx-autodoc-typehints (>=1.12)"] -test = ["appdirs (==1.4.4)", "pytest (>=6)", "pytest-cov (>=2.7)", "pytest-mock (>=3.6)"] +docs = ["furo (>=2022.9.29)", "proselint (>=0.13)", "sphinx (>=5.3)", "sphinx-autodoc-typehints (>=1.19.4)"] +test = ["appdirs (==1.4.4)", "pytest (>=7.2)", "pytest-cov (>=4)", "pytest-mock (>=3.10)"] [[package]] name = "pluggy" @@ -1724,14 +1738,6 @@ category = "main" optional = true python-versions = ">=3.7" -[[package]] -name = "py" -version = "1.11.0" -description = "library with cross-python path, ini-parsing, io, code, log facilities" -category = "dev" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" - [[package]] name = "pyasn1" version = "0.4.8" @@ -1798,7 +1804,7 @@ python-versions = ">=3.7" [[package]] name = "pytest" -version = "7.1.3" +version = "7.2.0" description = "pytest: simple powerful testing with Python" category = "dev" optional = false @@ -1807,12 +1813,12 @@ python-versions = ">=3.7" [package.dependencies] attrs = ">=19.2.0" colorama = {version = "*", markers = "sys_platform == \"win32\""} +exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} iniconfig = "*" packaging = "*" pluggy = ">=0.12,<2.0" -py = ">=1.8.2" -tomli = ">=1.0.0" +tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""} [package.extras] testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"] @@ -2006,7 +2012,7 @@ python-versions = "*" [[package]] name = "starkbank-ecdsa" -version = "2.1.0" +version = "2.2.0" description = "A lightweight and fast pure python ECDSA library" category = "main" optional = false @@ -2038,7 +2044,7 @@ python-versions = "*" [[package]] name = "types-six" -version = "1.16.21" +version = "1.16.21.3" description = "Typing stubs for six" category = "main" optional = false @@ -2117,7 +2123,7 @@ gcp = ["c7n-gcp", "google-cloud-secret-manager"] [metadata] lock-version = "1.1" python-versions = "^3.7" -content-hash = "43b0cbdc9a3f83682ed8605fc971eec4a7b8b49c0909b82a65e4a3d231d69bfc" +content-hash = "d64aa1558a7430a807d1eb1eb1f6e6417ad874e51465953f6e6a3b58e1765364" [metadata.files] adal = [ @@ -2141,8 +2147,8 @@ azure-common = [ {file = "azure_common-1.1.28-py2.py3-none-any.whl", hash = "sha256:5c12d3dcf4ec20599ca6b0d3e09e86e146353d443e7fcc050c9a19c1f9df20ad"}, ] azure-core = [ - {file = "azure-core-1.25.1.zip", hash = "sha256:3c1cf368650e76ec009c07cd1174a95cdcb471b247bb72d18245f7d56c1809b2"}, - {file = "azure_core-1.25.1-py3-none-any.whl", hash = "sha256:b0d62e67ec6d47365eebb12c50bc96f7b22d06b359f56ce7f904b095cb46b195"}, + {file = "azure-core-1.26.0.zip", hash = "sha256:b0036a0d256329e08d1278dff7df36be30031d2ec9b16c691bc61e4732f71fe0"}, + {file = "azure_core-1.26.0-py3-none-any.whl", hash = "sha256:578ea3ae56bca48880c96797871b6c954b5ae78d10d54360182c7604dc837f25"}, ] azure-cosmos = [ {file = "azure-cosmos-3.2.0.tar.gz", hash = "sha256:4f77cc558fecffac04377ba758ac4e23f076dc1c54e2cf2515f85bc15cbde5c6"}, @@ -2396,29 +2402,27 @@ azure-storage-queue = [ {file = "backports.zoneinfo-0.2.1.tar.gz", hash = "sha256:fadbfe37f74051d024037f223b8e001611eac868b5c5b06144ef4d8b799862f2"}, ] black = [ - {file = "black-22.8.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ce957f1d6b78a8a231b18e0dd2d94a33d2ba738cd88a7fe64f53f659eea49fdd"}, - {file = "black-22.8.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5107ea36b2b61917956d018bd25129baf9ad1125e39324a9b18248d362156a27"}, - {file = "black-22.8.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e8166b7bfe5dcb56d325385bd1d1e0f635f24aae14b3ae437102dedc0c186747"}, - {file = "black-22.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd82842bb272297503cbec1a2600b6bfb338dae017186f8f215c8958f8acf869"}, - {file = "black-22.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:d839150f61d09e7217f52917259831fe2b689f5c8e5e32611736351b89bb2a90"}, - {file = "black-22.8.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:a05da0430bd5ced89176db098567973be52ce175a55677436a271102d7eaa3fe"}, - {file = "black-22.8.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a098a69a02596e1f2a58a2a1c8d5a05d5a74461af552b371e82f9fa4ada8342"}, - {file = "black-22.8.0-cp36-cp36m-win_amd64.whl", hash = "sha256:5594efbdc35426e35a7defa1ea1a1cb97c7dbd34c0e49af7fb593a36bd45edab"}, - {file = "black-22.8.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a983526af1bea1e4cf6768e649990f28ee4f4137266921c2c3cee8116ae42ec3"}, - {file = "black-22.8.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b2c25f8dea5e8444bdc6788a2f543e1fb01494e144480bc17f806178378005e"}, - {file = "black-22.8.0-cp37-cp37m-win_amd64.whl", hash = "sha256:78dd85caaab7c3153054756b9fe8c611efa63d9e7aecfa33e533060cb14b6d16"}, - {file = "black-22.8.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:cea1b2542d4e2c02c332e83150e41e3ca80dc0fb8de20df3c5e98e242156222c"}, - {file = "black-22.8.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5b879eb439094751185d1cfdca43023bc6786bd3c60372462b6f051efa6281a5"}, - {file = "black-22.8.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:0a12e4e1353819af41df998b02c6742643cfef58282915f781d0e4dd7a200411"}, - {file = "black-22.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c3a73f66b6d5ba7288cd5d6dad9b4c9b43f4e8a4b789a94bf5abfb878c663eb3"}, - {file = "black-22.8.0-cp38-cp38-win_amd64.whl", hash = "sha256:e981e20ec152dfb3e77418fb616077937378b322d7b26aa1ff87717fb18b4875"}, - {file = "black-22.8.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8ce13ffed7e66dda0da3e0b2eb1bdfc83f5812f66e09aca2b0978593ed636b6c"}, - {file = "black-22.8.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:32a4b17f644fc288c6ee2bafdf5e3b045f4eff84693ac069d87b1a347d861497"}, - {file = "black-22.8.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0ad827325a3a634bae88ae7747db1a395d5ee02cf05d9aa7a9bd77dfb10e940c"}, - {file = "black-22.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:53198e28a1fb865e9fe97f88220da2e44df6da82b18833b588b1883b16bb5d41"}, - {file = "black-22.8.0-cp39-cp39-win_amd64.whl", hash = "sha256:bc4d4123830a2d190e9cc42a2e43570f82ace35c3aeb26a512a2102bce5af7ec"}, - {file = "black-22.8.0-py3-none-any.whl", hash = "sha256:d2c21d439b2baf7aa80d6dd4e3659259be64c6f49dfd0f32091063db0e006db4"}, - {file = "black-22.8.0.tar.gz", hash = "sha256:792f7eb540ba9a17e8656538701d3eb1afcb134e3b45b71f20b25c77a8db7e6e"}, + {file = "black-22.10.0-1fixedarch-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:5cc42ca67989e9c3cf859e84c2bf014f6633db63d1cbdf8fdb666dcd9e77e3fa"}, + {file = "black-22.10.0-1fixedarch-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:5d8f74030e67087b219b032aa33a919fae8806d49c867846bfacde57f43972ef"}, + {file = "black-22.10.0-1fixedarch-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:197df8509263b0b8614e1df1756b1dd41be6738eed2ba9e9769f3880c2b9d7b6"}, + {file = "black-22.10.0-1fixedarch-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:2644b5d63633702bc2c5f3754b1b475378fbbfb481f62319388235d0cd104c2d"}, + {file = "black-22.10.0-1fixedarch-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:e41a86c6c650bcecc6633ee3180d80a025db041a8e2398dcc059b3afa8382cd4"}, + {file = "black-22.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2039230db3c6c639bd84efe3292ec7b06e9214a2992cd9beb293d639c6402edb"}, + {file = "black-22.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14ff67aec0a47c424bc99b71005202045dc09270da44a27848d534600ac64fc7"}, + {file = "black-22.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:819dc789f4498ecc91438a7de64427c73b45035e2e3680c92e18795a839ebb66"}, + {file = "black-22.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5b9b29da4f564ba8787c119f37d174f2b69cdfdf9015b7d8c5c16121ddc054ae"}, + {file = "black-22.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8b49776299fece66bffaafe357d929ca9451450f5466e997a7285ab0fe28e3b"}, + {file = "black-22.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:21199526696b8f09c3997e2b4db8d0b108d801a348414264d2eb8eb2532e540d"}, + {file = "black-22.10.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e464456d24e23d11fced2bc8c47ef66d471f845c7b7a42f3bd77bf3d1789650"}, + {file = "black-22.10.0-cp37-cp37m-win_amd64.whl", hash = "sha256:9311e99228ae10023300ecac05be5a296f60d2fd10fff31cf5c1fa4ca4b1988d"}, + {file = "black-22.10.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:fba8a281e570adafb79f7755ac8721b6cf1bbf691186a287e990c7929c7692ff"}, + {file = "black-22.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:915ace4ff03fdfff953962fa672d44be269deb2eaf88499a0f8805221bc68c87"}, + {file = "black-22.10.0-cp38-cp38-win_amd64.whl", hash = "sha256:444ebfb4e441254e87bad00c661fe32df9969b2bf224373a448d8aca2132b395"}, + {file = "black-22.10.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:974308c58d057a651d182208a484ce80a26dac0caef2895836a92dd6ebd725e0"}, + {file = "black-22.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72ef3925f30e12a184889aac03d77d031056860ccae8a1e519f6cbb742736383"}, + {file = "black-22.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:432247333090c8c5366e69627ccb363bc58514ae3e63f7fc75c54b1ea80fa7de"}, + {file = "black-22.10.0-py3-none-any.whl", hash = "sha256:c957b2b4ea88587b46cf49d1dc17681c1e672864fd7af32fc1e9664d572b3458"}, + {file = "black-22.10.0.tar.gz", hash = "sha256:f513588da599943e0cde4e32cc9879e825d58720d6557062d1098c5ad80080e1"}, ] boto3 = [ {file = "boto3-1.24.88-py3-none-any.whl", hash = "sha256:6b4cf1cd0be65202c4cf0e4c69099bac3620bcd4049ca25a5e223c668401dd69"}, @@ -2556,9 +2560,13 @@ distlib = [ {file = "distlib-0.3.6-py2.py3-none-any.whl", hash = "sha256:f35c4b692542ca110de7ef0bea44d73981caeb34ca0b9b6b2e6d7790dda8f80e"}, {file = "distlib-0.3.6.tar.gz", hash = "sha256:14bad2d9b04d3a36127ac97f30b12a19268f211063d8f8ee4f47108896e11b46"}, ] +exceptiongroup = [ + {file = "exceptiongroup-1.0.3-py3-none-any.whl", hash = "sha256:6002703c7d31fb9950ddc8780840f67880c440895dc1151dd551553aa1246e4a"}, + {file = "exceptiongroup-1.0.3.tar.gz", hash = "sha256:76cac74b5207c5997678a1c7105cb6f14213c9c63c096a38cfcb529d83ce5c02"}, +] fakeredis = [ - {file = "fakeredis-1.9.3-py3-none-any.whl", hash = "sha256:74a2f1e5e8781014418fe734b156808d5d1a2d15edec982fada3d6e7603f8536"}, - {file = "fakeredis-1.9.3.tar.gz", hash = "sha256:ea7e4ed076def2eea36188662586a9f2271946ae56ebc2de6a998c82b33df776"}, + {file = "fakeredis-1.10.1-py3-none-any.whl", hash = "sha256:054ec109ec2cb4b1f0c6ed8d53603b07504c971bf8865dc6459eb5598e02ef1b"}, + {file = "fakeredis-1.10.1.tar.gz", hash = "sha256:2d0d9163ce9ea7e3eae44c65d2e4ed168a8a3827a1d3ba430ca6f31ab0e762ff"}, ] google-api-core = [ {file = "google-api-core-2.10.1.tar.gz", hash = "sha256:e16c15a11789bc5a3457afb2818a3540a03f341e6e710d7f9bbf6cde2ef4a7c8"}, @@ -2597,8 +2605,8 @@ google-cloud-monitoring = [ {file = "google_cloud_monitoring-2.11.2-py2.py3-none-any.whl", hash = "sha256:931ec25d507f4dc6deaac174aabadee626ff7d9d24b4ee6112531b4502b69889"}, ] google-cloud-secret-manager = [ - {file = "google-cloud-secret-manager-2.12.5.tar.gz", hash = "sha256:cdf0cc614134e6b8eee966fa821132befe0c7379b57a1aa15b23d6267805590e"}, - {file = "google_cloud_secret_manager-2.12.5-py2.py3-none-any.whl", hash = "sha256:c6a745388b93dc6c22ba00e248b8cd6d5692f35c766e6459f6b93d466f308a27"}, + {file = "google-cloud-secret-manager-2.12.6.tar.gz", hash = "sha256:7aaba2997f43f8c3b35903efc54c389a802f39853ba81e81e1190f093420ecf6"}, + {file = "google_cloud_secret_manager-2.12.6-py2.py3-none-any.whl", hash = "sha256:585e2ccd05038526b39eeabfe6932a7398341a76770ee0dd797c8581313e5212"}, ] google-cloud-storage = [ {file = "google-cloud-storage-1.44.0.tar.gz", hash = "sha256:29edbfeedd157d853049302bf5d104055c6f0cb7ef283537da3ce3f730073001"}, @@ -2882,16 +2890,16 @@ packaging = [ {file = "packaging-21.3.tar.gz", hash = "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb"}, ] pathspec = [ - {file = "pathspec-0.10.1-py3-none-any.whl", hash = "sha256:46846318467efc4556ccfd27816e004270a9eeeeb4d062ce5e6fc7a87c573f93"}, - {file = "pathspec-0.10.1.tar.gz", hash = "sha256:7ace6161b621d31e7902eb6b5ae148d12cfd23f4a249b9ffb6b9fee12084323d"}, + {file = "pathspec-0.10.2-py3-none-any.whl", hash = "sha256:88c2606f2c1e818b978540f73ecc908e13999c6c3a383daf3705652ae79807a5"}, + {file = "pathspec-0.10.2.tar.gz", hash = "sha256:8f6bf73e5758fd365ef5d58ce09ac7c27d2833a8d7da51712eac6e27e35141b0"}, ] pkgutil_resolve_name = [ {file = "pkgutil_resolve_name-1.3.10-py3-none-any.whl", hash = "sha256:ca27cc078d25c5ad71a9de0a7a330146c4e014c2462d9af19c6b828280649c5e"}, {file = "pkgutil_resolve_name-1.3.10.tar.gz", hash = "sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174"}, ] platformdirs = [ - {file = "platformdirs-2.5.2-py3-none-any.whl", hash = "sha256:027d8e83a2d7de06bbac4e5ef7e023c02b863d7ea5d079477e722bb41ab25788"}, - {file = "platformdirs-2.5.2.tar.gz", hash = "sha256:58c8abb07dcb441e6ee4b11d8df0ac856038f944ab98b7be6b27b2a3c7feef19"}, + {file = "platformdirs-2.5.4-py3-none-any.whl", hash = "sha256:af0276409f9a02373d540bf8480021a048711d572745aef4b7842dad245eba10"}, + {file = "platformdirs-2.5.4.tar.gz", hash = "sha256:1006647646d80f16130f052404c6b901e80ee4ed6bef6792e1f238a8969106f7"}, ] pluggy = [ {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"}, @@ -2921,10 +2929,6 @@ protobuf = [ {file = "protobuf-4.21.7-py3-none-any.whl", hash = "sha256:58b81358ec6c0b5d50df761460ae2db58405c063fd415e1101209221a0a810e1"}, {file = "protobuf-4.21.7.tar.gz", hash = "sha256:71d9dba03ed3432c878a801e2ea51e034b0ea01cf3a4344fb60166cb5f6c8757"}, ] -py = [ - {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"}, - {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"}, -] pyasn1 = [ {file = "pyasn1-0.4.8-py2.py3-none-any.whl", hash = "sha256:39c7e2ec30515947ff4e87fb6f456dfc6e84857d34be479c9d4a4ba4bf46aa5d"}, {file = "pyasn1-0.4.8.tar.gz", hash = "sha256:aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba"}, @@ -2969,8 +2973,8 @@ pyrsistent = [ {file = "pyrsistent-0.18.1.tar.gz", hash = "sha256:d4d61f8b993a7255ba714df3aca52700f8125289f84f704cf80916517c46eb96"}, ] pytest = [ - {file = "pytest-7.1.3-py3-none-any.whl", hash = "sha256:1377bda3466d70b55e3f5cecfa55bb7cfcf219c7964629b967c37cf0bda818b7"}, - {file = "pytest-7.1.3.tar.gz", hash = "sha256:4f365fec2dff9c1162f834d9f18af1ba13062db0c708bf7b946f8a5c76180c39"}, + {file = "pytest-7.2.0-py3-none-any.whl", hash = "sha256:892f933d339f068883b6fd5a459f03d85bfcb355e4981e146d2c7616c21fef71"}, + {file = "pytest-7.2.0.tar.gz", hash = "sha256:c4014eb40e10f11f355ad4e3c2fb2c6c6d1919c73f3b5a433de4708202cade59"}, ] python-dateutil = [ {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, @@ -3090,7 +3094,7 @@ sortedcontainers = [ {file = "sortedcontainers-2.4.0.tar.gz", hash = "sha256:25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88"}, ] starkbank-ecdsa = [ - {file = "starkbank-ecdsa-2.1.0.tar.gz", hash = "sha256:24422395e8682ac22a5b20ba3d7418d62e1a927aef29e8ddb5e678662be6b643"}, + {file = "starkbank-ecdsa-2.2.0.tar.gz", hash = "sha256:9399c3371b899d4a235b68a1ed7919d202fbf024bd2c863ae8ebdad343c2a63a"}, ] tomli = [ {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, @@ -3127,8 +3131,8 @@ types-cryptography = [ {file = "types_cryptography-3.3.23-py3-none-any.whl", hash = "sha256:913b3e66a502edbf4bfc3bb45e33ab476040c56942164a7ff37bd1f0ef8ef783"}, ] types-six = [ - {file = "types-six-1.16.21.tar.gz", hash = "sha256:562b036de1a837eafe164827c5c53d7a8d703a44bb211642932dcd59e9e0f7c9"}, - {file = "types_six-1.16.21-py3-none-any.whl", hash = "sha256:e4428b56da2505b5de228a3b5603561fa98571540fd75a90306eed8b3016ddf4"}, + {file = "types-six-1.16.21.3.tar.gz", hash = "sha256:5af96a017d6a4550a1c0efabed2abe7110bedf5afa5feb62aba4a6722ee0c851"}, + {file = "types_six-1.16.21.3-py3-none-any.whl", hash = "sha256:0f231cc67813264a733d2aca3b588fa74a2cea827e08ce2532b974a2ddafe5b0"}, ] typing-extensions = [ {file = "typing_extensions-4.3.0-py3-none-any.whl", hash = "sha256:25642c956049920a5aa49edcdd6ab1e06d7e5d467fc00e0506c44ac86fbfca02"}, diff --git a/tools/c7n_mailer/pyproject.toml b/tools/c7n_mailer/pyproject.toml index 1911dbbb548..344989b6efa 100644 --- a/tools/c7n_mailer/pyproject.toml +++ b/tools/c7n_mailer/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "c7n_mailer" -version = "0.6.19" +version = "0.6.20" description = "Cloud Custodian - Reference Mailer" authors = ["Cloud Custodian Project"] license = "Apache-2.0" @@ -39,11 +39,13 @@ c7n-gcp = { version = "*", optional = true } google-cloud-secret-manager = { version = "^2.8.0", optional = true } c7n-azure = { version = "*", optional = true } -[tool.poetry.dev-dependencies] +[tool.poetry.group.dev.dependencies] fakeredis = "^1.2.0" pytest = "^7.1.2" mypy = "^0.931" black = "^22.1.0" +c7n-gcp = { path = "../c7n_gcp/", develop = true, optional = true } +c7n-azure = { path = "../c7n_azure/", develop = true, optional = true } [tool.poetry.extras] gcp = ["c7n-gcp", "google-cloud-secret-manager"] diff --git a/tools/c7n_mailer/requirements.txt b/tools/c7n_mailer/requirements.txt index b183d9b68b9..2fa031c31f7 100644 --- a/tools/c7n_mailer/requirements.txt +++ b/tools/c7n_mailer/requirements.txt @@ -1,7 +1,6 @@ attrs==22.1.0 ; python_version >= "3.7" and python_version < "4.0" boto3==1.24.88 ; python_version >= "3.7" and python_version < "4.0" botocore==1.27.88 ; python_version >= "3.7" and python_version < "4.0" -cachetools==5.2.0 ; python_version >= "3.7" and python_version < "4.0" certifi==2022.9.24 ; python_version >= "3.7" and python_version < "4" charset-normalizer==2.1.1 ; python_version >= "3.7" and python_version < "4" datadog==0.34.1 ; python_version >= "3.7" and python_version < "4.0" @@ -27,8 +26,8 @@ requests==2.28.1 ; python_version >= "3.7" and python_version < "4" s3transfer==0.6.0 ; python_version >= "3.7" and python_version < "4.0" sendgrid==6.9.7 ; python_version >= "3.7" and python_version < "4.0" six==1.16.0 ; python_version >= "3.7" and python_version < "4.0" -starkbank-ecdsa==2.1.0 ; python_version >= "3.7" and python_version < "4.0" -types-six==1.16.21 ; python_version >= "3.7" and python_version < "4.0" +starkbank-ecdsa==2.2.0 ; python_version >= "3.7" and python_version < "4.0" +types-six==1.16.21.3 ; python_version >= "3.7" and python_version < "4.0" typing-extensions==4.3.0 ; python_version >= "3.7" and python_version < "3.8" urllib3==1.26.12 ; python_version >= "3.7" and python_version < "4" zipp==3.8.1 ; python_version >= "3.7" and python_version < "4.0" diff --git a/tools/c7n_mailer/setup.py b/tools/c7n_mailer/setup.py index 092c33be247..bbb6932e7f6 100644 --- a/tools/c7n_mailer/setup.py +++ b/tools/c7n_mailer/setup.py @@ -34,7 +34,7 @@ setup_kwargs = { 'name': 'c7n-mailer', - 'version': '0.6.19', + 'version': '0.6.20', 'description': 'Cloud Custodian - Reference Mailer', 'license': 'Apache-2.0', 'classifiers': [ diff --git a/tools/c7n_openstack/poetry.lock b/tools/c7n_openstack/poetry.lock index 321a524d41f..9ffd174a7ee 100644 --- a/tools/c7n_openstack/poetry.lock +++ b/tools/c7n_openstack/poetry.lock @@ -36,14 +36,14 @@ tests_no_zope = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy [[package]] name = "boto3" -version = "1.24.88" +version = "1.26.9" description = "The AWS SDK for Python" category = "dev" optional = false python-versions = ">= 3.7" [package.dependencies] -botocore = ">=1.27.88,<1.28.0" +botocore = ">=1.29.9,<1.30.0" jmespath = ">=0.7.1,<2.0.0" s3transfer = ">=0.6.0,<0.7.0" @@ -52,7 +52,7 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] [[package]] name = "botocore" -version = "1.27.88" +version = "1.29.9" description = "Low-level, data-driven core of boto 3." category = "dev" optional = false @@ -68,7 +68,7 @@ crt = ["awscrt (==0.14.0)"] [[package]] name = "c7n" -version = "0.9.20" +version = "0.9.21" description = "Cloud Custodian - Policy Rules Engine" category = "dev" optional = false @@ -121,15 +121,15 @@ unicode_backport = ["unicodedata2"] [[package]] name = "colorama" -version = "0.4.5" +version = "0.4.6" description = "Cross-platform colored terminal text." category = "dev" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" [[package]] name = "cryptography" -version = "38.0.1" +version = "38.0.3" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." category = "main" optional = false @@ -174,6 +174,17 @@ python-versions = ">=3.6" decorator = ">=4.0.0" stevedore = ">=3.0.0" +[[package]] +name = "exceptiongroup" +version = "1.0.3" +description = "Backport of PEP 654 (exception groups)" +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.extras] +test = ["pytest (>=6)"] + [[package]] name = "idna" version = "3.4" @@ -201,7 +212,7 @@ testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packag [[package]] name = "importlib-resources" -version = "5.9.0" +version = "5.10.0" description = "Read resources from Python packages" category = "dev" optional = false @@ -211,8 +222,8 @@ python-versions = ">=3.7" zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} [package.extras] -docs = ["jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx"] -testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"] +testing = ["flake8 (<5)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] [[package]] name = "iniconfig" @@ -259,7 +270,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" [[package]] name = "jsonschema" -version = "4.16.0" +version = "4.17.0" description = "An implementation of JSON Schema validation for Python" category = "dev" optional = false @@ -380,7 +391,7 @@ pyparsing = ">=2.0.2,<3.0.5 || >3.0.5" [[package]] name = "pbr" -version = "5.10.0" +version = "5.11.0" description = "Python Build Reasonableness" category = "main" optional = false @@ -409,14 +420,6 @@ importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} dev = ["pre-commit", "tox"] testing = ["pytest", "pytest-benchmark"] -[[package]] -name = "py" -version = "1.11.0" -description = "library with cross-python path, ini-parsing, io, code, log facilities" -category = "dev" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" - [[package]] name = "pycparser" version = "2.21" @@ -438,7 +441,7 @@ diagrams = ["jinja2", "railroad-diagrams"] [[package]] name = "pyrsistent" -version = "0.18.1" +version = "0.19.2" description = "Persistent/Functional/Immutable data structures" category = "dev" optional = false @@ -446,7 +449,7 @@ python-versions = ">=3.7" [[package]] name = "pytest" -version = "7.1.3" +version = "7.2.0" description = "pytest: simple powerful testing with Python" category = "dev" optional = false @@ -455,12 +458,12 @@ python-versions = ">=3.7" [package.dependencies] attrs = ">=19.2.0" colorama = {version = "*", markers = "sys_platform == \"win32\""} +exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} iniconfig = "*" packaging = "*" pluggy = ">=0.12,<2.0" -py = ">=1.8.2" -tomli = ">=1.0.0" +tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""} [package.extras] testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"] @@ -534,7 +537,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" [[package]] name = "stevedore" -version = "3.5.0" +version = "3.5.2" description = "Manage dynamic plugins for Python applications" category = "main" optional = false @@ -565,7 +568,7 @@ python-versions = ">=3.7" [[package]] name = "typing-extensions" -version = "4.3.0" +version = "4.4.0" description = "Backported and Experimental Type Hints for Python 3.7+" category = "main" optional = false @@ -621,15 +624,15 @@ typing-extensions = {version = ">=3.7.4", markers = "python_version < \"3.8\""} [[package]] name = "zipp" -version = "3.8.1" +version = "3.10.0" description = "Backport of pathlib-compatible object wrapper for zip files" category = "main" optional = false python-versions = ">=3.7" [package.extras] -docs = ["jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx"] -testing = ["func-timeout", "jaraco.itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"] +testing = ["flake8 (<5)", "func-timeout", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] [metadata] lock-version = "1.1" @@ -650,12 +653,12 @@ attrs = [ {file = "attrs-22.1.0.tar.gz", hash = "sha256:29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6"}, ] boto3 = [ - {file = "boto3-1.24.88-py3-none-any.whl", hash = "sha256:6b4cf1cd0be65202c4cf0e4c69099bac3620bcd4049ca25a5e223c668401dd69"}, - {file = "boto3-1.24.88.tar.gz", hash = "sha256:93934343cac76084600a520e5be70c52152364d0c410681c2e25c2290f0e151c"}, + {file = "boto3-1.26.9-py3-none-any.whl", hash = "sha256:27efa5eb229364bc4643d9e182de0891f73c21b65ef80b5bd02a977caeaf595c"}, + {file = "boto3-1.26.9.tar.gz", hash = "sha256:15b059251990706c5d5a556c42a6e6e781a51edadf48a42afdd06bd313adfaf2"}, ] botocore = [ - {file = "botocore-1.27.88-py3-none-any.whl", hash = "sha256:de4e087b24cd3bc369eb2e27f8fe94a6499f7dea08c919fba13cefb2496bd2bb"}, - {file = "botocore-1.27.88.tar.gz", hash = "sha256:ded0a4035baf91eb358ef501c92a8512543f5ab7658f459df3077a70a555b5cd"}, + {file = "botocore-1.29.9-py3-none-any.whl", hash = "sha256:c876a7c6a07d7f86f46a8cc765f0d38999b84ac1d7b0666d6ce08c0503e13145"}, + {file = "botocore-1.29.9.tar.gz", hash = "sha256:01f168e2418419a6d8b335ecc4330faa6a7332d5a097029fc9b4a3ae3c41cea2"}, ] c7n = [] certifi = [ @@ -733,36 +736,36 @@ charset-normalizer = [ {file = "charset_normalizer-2.1.1-py3-none-any.whl", hash = "sha256:83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f"}, ] colorama = [ - {file = "colorama-0.4.5-py2.py3-none-any.whl", hash = "sha256:854bf444933e37f5824ae7bfc1e98d5bce2ebe4160d46b5edf346a89358e99da"}, - {file = "colorama-0.4.5.tar.gz", hash = "sha256:e6c6b4334fc50988a639d9b98aa429a0b57da6e17b9a44f0451f930b6967b7a4"}, + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] cryptography = [ - {file = "cryptography-38.0.1-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:10d1f29d6292fc95acb597bacefd5b9e812099d75a6469004fd38ba5471a977f"}, - {file = "cryptography-38.0.1-cp36-abi3-macosx_10_10_x86_64.whl", hash = "sha256:3fc26e22840b77326a764ceb5f02ca2d342305fba08f002a8c1f139540cdfaad"}, - {file = "cryptography-38.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:3b72c360427889b40f36dc214630e688c2fe03e16c162ef0aa41da7ab1455153"}, - {file = "cryptography-38.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:194044c6b89a2f9f169df475cc167f6157eb9151cc69af8a2a163481d45cc407"}, - {file = "cryptography-38.0.1-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca9f6784ea96b55ff41708b92c3f6aeaebde4c560308e5fbbd3173fbc466e94e"}, - {file = "cryptography-38.0.1-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:16fa61e7481f4b77ef53991075de29fc5bacb582a1244046d2e8b4bb72ef66d0"}, - {file = "cryptography-38.0.1-cp36-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:d4ef6cc305394ed669d4d9eebf10d3a101059bdcf2669c366ec1d14e4fb227bd"}, - {file = "cryptography-38.0.1-cp36-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:3261725c0ef84e7592597606f6583385fed2a5ec3909f43bc475ade9729a41d6"}, - {file = "cryptography-38.0.1-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:0297ffc478bdd237f5ca3a7dc96fc0d315670bfa099c04dc3a4a2172008a405a"}, - {file = "cryptography-38.0.1-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:89ed49784ba88c221756ff4d4755dbc03b3c8d2c5103f6d6b4f83a0fb1e85294"}, - {file = "cryptography-38.0.1-cp36-abi3-win32.whl", hash = "sha256:ac7e48f7e7261207d750fa7e55eac2d45f720027d5703cd9007e9b37bbb59ac0"}, - {file = "cryptography-38.0.1-cp36-abi3-win_amd64.whl", hash = "sha256:ad7353f6ddf285aeadfaf79e5a6829110106ff8189391704c1d8801aa0bae45a"}, - {file = "cryptography-38.0.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:896dd3a66959d3a5ddcfc140a53391f69ff1e8f25d93f0e2e7830c6de90ceb9d"}, - {file = "cryptography-38.0.1-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:d3971e2749a723e9084dd507584e2a2761f78ad2c638aa31e80bc7a15c9db4f9"}, - {file = "cryptography-38.0.1-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:79473cf8a5cbc471979bd9378c9f425384980fcf2ab6534b18ed7d0d9843987d"}, - {file = "cryptography-38.0.1-pp38-pypy38_pp73-macosx_10_10_x86_64.whl", hash = "sha256:d9e69ae01f99abe6ad646947bba8941e896cb3aa805be2597a0400e0764b5818"}, - {file = "cryptography-38.0.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5067ee7f2bce36b11d0e334abcd1ccf8c541fc0bbdaf57cdd511fdee53e879b6"}, - {file = "cryptography-38.0.1-pp38-pypy38_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:3e3a2599e640927089f932295a9a247fc40a5bdf69b0484532f530471a382750"}, - {file = "cryptography-38.0.1-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c2e5856248a416767322c8668ef1845ad46ee62629266f84a8f007a317141013"}, - {file = "cryptography-38.0.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:64760ba5331e3f1794d0bcaabc0d0c39e8c60bf67d09c93dc0e54189dfd7cfe5"}, - {file = "cryptography-38.0.1-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:b6c9b706316d7b5a137c35e14f4103e2115b088c412140fdbd5f87c73284df61"}, - {file = "cryptography-38.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b0163a849b6f315bf52815e238bc2b2346604413fa7c1601eea84bcddb5fb9ac"}, - {file = "cryptography-38.0.1-pp39-pypy39_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:d1a5bd52d684e49a36582193e0b89ff267704cd4025abefb9e26803adeb3e5fb"}, - {file = "cryptography-38.0.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:765fa194a0f3372d83005ab83ab35d7c5526c4e22951e46059b8ac678b44fa5a"}, - {file = "cryptography-38.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:52e7bee800ec869b4031093875279f1ff2ed12c1e2f74923e8f49c916afd1d3b"}, - {file = "cryptography-38.0.1.tar.gz", hash = "sha256:1db3d807a14931fa317f96435695d9ec386be7b84b618cc61cfa5d08b0ae33d7"}, + {file = "cryptography-38.0.3-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:984fe150f350a3c91e84de405fe49e688aa6092b3525f407a18b9646f6612320"}, + {file = "cryptography-38.0.3-cp36-abi3-macosx_10_10_x86_64.whl", hash = "sha256:ed7b00096790213e09eb11c97cc6e2b757f15f3d2f85833cd2d3ec3fe37c1722"}, + {file = "cryptography-38.0.3-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:bbf203f1a814007ce24bd4d51362991d5cb90ba0c177a9c08825f2cc304d871f"}, + {file = "cryptography-38.0.3-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:554bec92ee7d1e9d10ded2f7e92a5d70c1f74ba9524947c0ba0c850c7b011828"}, + {file = "cryptography-38.0.3-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1b52c9e5f8aa2b802d48bd693190341fae201ea51c7a167d69fc48b60e8a959"}, + {file = "cryptography-38.0.3-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:728f2694fa743a996d7784a6194da430f197d5c58e2f4e278612b359f455e4a2"}, + {file = "cryptography-38.0.3-cp36-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:dfb4f4dd568de1b6af9f4cda334adf7d72cf5bc052516e1b2608b683375dd95c"}, + {file = "cryptography-38.0.3-cp36-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:5419a127426084933076132d317911e3c6eb77568a1ce23c3ac1e12d111e61e0"}, + {file = "cryptography-38.0.3-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:9b24bcff7853ed18a63cfb0c2b008936a9554af24af2fb146e16d8e1aed75748"}, + {file = "cryptography-38.0.3-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:25c1d1f19729fb09d42e06b4bf9895212292cb27bb50229f5aa64d039ab29146"}, + {file = "cryptography-38.0.3-cp36-abi3-win32.whl", hash = "sha256:7f836217000342d448e1c9a342e9163149e45d5b5eca76a30e84503a5a96cab0"}, + {file = "cryptography-38.0.3-cp36-abi3-win_amd64.whl", hash = "sha256:c46837ea467ed1efea562bbeb543994c2d1f6e800785bd5a2c98bc096f5cb220"}, + {file = "cryptography-38.0.3-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06fc3cc7b6f6cca87bd56ec80a580c88f1da5306f505876a71c8cfa7050257dd"}, + {file = "cryptography-38.0.3-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:65535bc550b70bd6271984d9863a37741352b4aad6fb1b3344a54e6950249b55"}, + {file = "cryptography-38.0.3-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:5e89468fbd2fcd733b5899333bc54d0d06c80e04cd23d8c6f3e0542358c6060b"}, + {file = "cryptography-38.0.3-pp38-pypy38_pp73-macosx_10_10_x86_64.whl", hash = "sha256:6ab9516b85bebe7aa83f309bacc5f44a61eeb90d0b4ec125d2d003ce41932d36"}, + {file = "cryptography-38.0.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:068147f32fa662c81aebab95c74679b401b12b57494872886eb5c1139250ec5d"}, + {file = "cryptography-38.0.3-pp38-pypy38_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:402852a0aea73833d982cabb6d0c3bb582c15483d29fb7085ef2c42bfa7e38d7"}, + {file = "cryptography-38.0.3-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b1b35d9d3a65542ed2e9d90115dfd16bbc027b3f07ee3304fc83580f26e43249"}, + {file = "cryptography-38.0.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:6addc3b6d593cd980989261dc1cce38263c76954d758c3c94de51f1e010c9a50"}, + {file = "cryptography-38.0.3-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:be243c7e2bfcf6cc4cb350c0d5cdf15ca6383bbcb2a8ef51d3c9411a9d4386f0"}, + {file = "cryptography-38.0.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78cf5eefac2b52c10398a42765bfa981ce2372cbc0457e6bf9658f41ec3c41d8"}, + {file = "cryptography-38.0.3-pp39-pypy39_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:4e269dcd9b102c5a3d72be3c45d8ce20377b8076a43cbed6f660a1afe365e436"}, + {file = "cryptography-38.0.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:8d41a46251bf0634e21fac50ffd643216ccecfaf3701a063257fe0b2be1b6548"}, + {file = "cryptography-38.0.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:785e4056b5a8b28f05a533fab69febf5004458e20dad7e2e13a3120d8ecec75a"}, + {file = "cryptography-38.0.3.tar.gz", hash = "sha256:bfbe6ee19615b07a98b1d2287d6a6073f734735b49ee45b11324d85efc4d5cbd"}, ] decorator = [ {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, @@ -776,6 +779,10 @@ docutils = [ {file = "dogpile.cache-1.1.8-py3-none-any.whl", hash = "sha256:3f0ca10b46b165e0b0e65e0e74b1a4b36187787b69db7c0f7073077adff2f05d"}, {file = "dogpile.cache-1.1.8.tar.gz", hash = "sha256:d844e8bb638cc4f544a4c89a834dfd36fe935400b71a16cbd744ebdfb720fd4e"}, ] +exceptiongroup = [ + {file = "exceptiongroup-1.0.3-py3-none-any.whl", hash = "sha256:6002703c7d31fb9950ddc8780840f67880c440895dc1151dd551553aa1246e4a"}, + {file = "exceptiongroup-1.0.3.tar.gz", hash = "sha256:76cac74b5207c5997678a1c7105cb6f14213c9c63c096a38cfcb529d83ce5c02"}, +] idna = [ {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, @@ -785,8 +792,8 @@ importlib-metadata = [ {file = "importlib_metadata-4.13.0.tar.gz", hash = "sha256:dd0173e8f150d6815e098fd354f6414b0f079af4644ddfe90c71e2fc6174346d"}, ] importlib-resources = [ - {file = "importlib_resources-5.9.0-py3-none-any.whl", hash = "sha256:f78a8df21a79bcc30cfd400bdc38f314333de7c0fb619763f6b9dabab8268bb7"}, - {file = "importlib_resources-5.9.0.tar.gz", hash = "sha256:5481e97fb45af8dcf2f798952625591c58fe599d0735d86b10f54de086a61681"}, + {file = "importlib_resources-5.10.0-py3-none-any.whl", hash = "sha256:ee17ec648f85480d523596ce49eae8ead87d5631ae1551f913c0100b5edd3437"}, + {file = "importlib_resources-5.10.0.tar.gz", hash = "sha256:c01b1b94210d9849f286b86bb51bcea7cd56dde0600d8db721d7b81330711668"}, ] iniconfig = [ {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"}, @@ -809,8 +816,8 @@ jsonpointer = [ {file = "jsonpointer-2.3.tar.gz", hash = "sha256:97cba51526c829282218feb99dab1b1e6bdf8efd1c43dc9d57be093c0d69c99a"}, ] jsonschema = [ - {file = "jsonschema-4.16.0-py3-none-any.whl", hash = "sha256:9e74b8f9738d6a946d70705dc692b74b5429cd0960d58e79ffecfc43b2221eb9"}, - {file = "jsonschema-4.16.0.tar.gz", hash = "sha256:165059f076eff6971bae5b742fc029a7b4ef3f9bcf04c14e4776a7605de14b23"}, + {file = "jsonschema-4.17.0-py3-none-any.whl", hash = "sha256:f660066c3966db7d6daeaea8a75e0b68237a48e51cf49882087757bb59916248"}, + {file = "jsonschema-4.17.0.tar.gz", hash = "sha256:5bfcf2bca16a087ade17e02b282d34af7ccd749ef76241e7f9bd7c0cb8a9424d"}, ] keystoneauth1 = [ {file = "keystoneauth1-5.0.0-py3-none-any.whl", hash = "sha256:249894b8a9e28df2f4a6001cf217b522c41812b0b20b153535cea56e1b2d6620"}, @@ -926,8 +933,8 @@ packaging = [ {file = "packaging-21.3.tar.gz", hash = "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb"}, ] pbr = [ - {file = "pbr-5.10.0-py2.py3-none-any.whl", hash = "sha256:da3e18aac0a3c003e9eea1a81bd23e5a3a75d745670dcf736317b7d966887fdf"}, - {file = "pbr-5.10.0.tar.gz", hash = "sha256:cfcc4ff8e698256fc17ea3ff796478b050852585aa5bae79ecd05b2ab7b39b9a"}, + {file = "pbr-5.11.0-py2.py3-none-any.whl", hash = "sha256:db2317ff07c84c4c63648c9064a79fe9d9f5c7ce85a9099d4b6258b3db83225a"}, + {file = "pbr-5.11.0.tar.gz", hash = "sha256:b97bc6695b2aff02144133c2e7399d5885223d42b7912ffaec2ca3898e673bfe"}, ] pkgutil_resolve_name = [ {file = "pkgutil_resolve_name-1.3.10-py3-none-any.whl", hash = "sha256:ca27cc078d25c5ad71a9de0a7a330146c4e014c2462d9af19c6b828280649c5e"}, @@ -937,10 +944,6 @@ pluggy = [ {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"}, {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"}, ] -py = [ - {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"}, - {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"}, -] pycparser = [ {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"}, {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"}, @@ -950,31 +953,32 @@ pyparsing = [ {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"}, ] pyrsistent = [ - {file = "pyrsistent-0.18.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:df46c854f490f81210870e509818b729db4488e1f30f2a1ce1698b2295a878d1"}, - {file = "pyrsistent-0.18.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d45866ececf4a5fff8742c25722da6d4c9e180daa7b405dc0a2a2790d668c26"}, - {file = "pyrsistent-0.18.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4ed6784ceac462a7d6fcb7e9b663e93b9a6fb373b7f43594f9ff68875788e01e"}, - {file = "pyrsistent-0.18.1-cp310-cp310-win32.whl", hash = "sha256:e4f3149fd5eb9b285d6bfb54d2e5173f6a116fe19172686797c056672689daf6"}, - {file = "pyrsistent-0.18.1-cp310-cp310-win_amd64.whl", hash = "sha256:636ce2dc235046ccd3d8c56a7ad54e99d5c1cd0ef07d9ae847306c91d11b5fec"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e92a52c166426efbe0d1ec1332ee9119b6d32fc1f0bbfd55d5c1088070e7fc1b"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d7a096646eab884bf8bed965bad63ea327e0d0c38989fc83c5ea7b8a87037bfc"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cdfd2c361b8a8e5d9499b9082b501c452ade8bbf42aef97ea04854f4a3f43b22"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-win32.whl", hash = "sha256:7ec335fc998faa4febe75cc5268a9eac0478b3f681602c1f27befaf2a1abe1d8"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-win_amd64.whl", hash = "sha256:6455fc599df93d1f60e1c5c4fe471499f08d190d57eca040c0ea182301321286"}, - {file = "pyrsistent-0.18.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:fd8da6d0124efa2f67d86fa70c851022f87c98e205f0594e1fae044e7119a5a6"}, - {file = "pyrsistent-0.18.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7bfe2388663fd18bd8ce7db2c91c7400bf3e1a9e8bd7d63bf7e77d39051b85ec"}, - {file = "pyrsistent-0.18.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e3e1fcc45199df76053026a51cc59ab2ea3fc7c094c6627e93b7b44cdae2c8c"}, - {file = "pyrsistent-0.18.1-cp38-cp38-win32.whl", hash = "sha256:b568f35ad53a7b07ed9b1b2bae09eb15cdd671a5ba5d2c66caee40dbf91c68ca"}, - {file = "pyrsistent-0.18.1-cp38-cp38-win_amd64.whl", hash = "sha256:d1b96547410f76078eaf66d282ddca2e4baae8964364abb4f4dcdde855cd123a"}, - {file = "pyrsistent-0.18.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f87cc2863ef33c709e237d4b5f4502a62a00fab450c9e020892e8e2ede5847f5"}, - {file = "pyrsistent-0.18.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bc66318fb7ee012071b2792024564973ecc80e9522842eb4e17743604b5e045"}, - {file = "pyrsistent-0.18.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:914474c9f1d93080338ace89cb2acee74f4f666fb0424896fcfb8d86058bf17c"}, - {file = "pyrsistent-0.18.1-cp39-cp39-win32.whl", hash = "sha256:1b34eedd6812bf4d33814fca1b66005805d3640ce53140ab8bbb1e2651b0d9bc"}, - {file = "pyrsistent-0.18.1-cp39-cp39-win_amd64.whl", hash = "sha256:e24a828f57e0c337c8d8bb9f6b12f09dfdf0273da25fda9e314f0b684b415a07"}, - {file = "pyrsistent-0.18.1.tar.gz", hash = "sha256:d4d61f8b993a7255ba714df3aca52700f8125289f84f704cf80916517c46eb96"}, + {file = "pyrsistent-0.19.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d6982b5a0237e1b7d876b60265564648a69b14017f3b5f908c5be2de3f9abb7a"}, + {file = "pyrsistent-0.19.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:187d5730b0507d9285a96fca9716310d572e5464cadd19f22b63a6976254d77a"}, + {file = "pyrsistent-0.19.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:055ab45d5911d7cae397dc418808d8802fb95262751872c841c170b0dbf51eed"}, + {file = "pyrsistent-0.19.2-cp310-cp310-win32.whl", hash = "sha256:456cb30ca8bff00596519f2c53e42c245c09e1a4543945703acd4312949bfd41"}, + {file = "pyrsistent-0.19.2-cp310-cp310-win_amd64.whl", hash = "sha256:b39725209e06759217d1ac5fcdb510e98670af9e37223985f330b611f62e7425"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2aede922a488861de0ad00c7630a6e2d57e8023e4be72d9d7147a9fcd2d30712"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:879b4c2f4d41585c42df4d7654ddffff1239dc4065bc88b745f0341828b83e78"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c43bec251bbd10e3cb58ced80609c5c1eb238da9ca78b964aea410fb820d00d6"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-win32.whl", hash = "sha256:d690b18ac4b3e3cab73b0b7aa7dbe65978a172ff94970ff98d82f2031f8971c2"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-win_amd64.whl", hash = "sha256:3ba4134a3ff0fc7ad225b6b457d1309f4698108fb6b35532d015dca8f5abed73"}, + {file = "pyrsistent-0.19.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a178209e2df710e3f142cbd05313ba0c5ebed0a55d78d9945ac7a4e09d923308"}, + {file = "pyrsistent-0.19.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e371b844cec09d8dc424d940e54bba8f67a03ebea20ff7b7b0d56f526c71d584"}, + {file = "pyrsistent-0.19.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:111156137b2e71f3a9936baf27cb322e8024dac3dc54ec7fb9f0bcf3249e68bb"}, + {file = "pyrsistent-0.19.2-cp38-cp38-win32.whl", hash = "sha256:e5d8f84d81e3729c3b506657dddfe46e8ba9c330bf1858ee33108f8bb2adb38a"}, + {file = "pyrsistent-0.19.2-cp38-cp38-win_amd64.whl", hash = "sha256:9cd3e9978d12b5d99cbdc727a3022da0430ad007dacf33d0bf554b96427f33ab"}, + {file = "pyrsistent-0.19.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f1258f4e6c42ad0b20f9cfcc3ada5bd6b83374516cd01c0960e3cb75fdca6770"}, + {file = "pyrsistent-0.19.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21455e2b16000440e896ab99e8304617151981ed40c29e9507ef1c2e4314ee95"}, + {file = "pyrsistent-0.19.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bfd880614c6237243ff53a0539f1cb26987a6dc8ac6e66e0c5a40617296a045e"}, + {file = "pyrsistent-0.19.2-cp39-cp39-win32.whl", hash = "sha256:71d332b0320642b3261e9fee47ab9e65872c2bd90260e5d225dabeed93cbd42b"}, + {file = "pyrsistent-0.19.2-cp39-cp39-win_amd64.whl", hash = "sha256:dec3eac7549869365fe263831f576c8457f6c833937c68542d08fde73457d291"}, + {file = "pyrsistent-0.19.2-py3-none-any.whl", hash = "sha256:ea6b79a02a28550c98b6ca9c35b9f492beaa54d7c5c9e9949555893c8a9234d0"}, + {file = "pyrsistent-0.19.2.tar.gz", hash = "sha256:bfa0351be89c9fcbcb8c9879b826f4353be10f58f8a677efab0c017bf7137ec2"}, ] pytest = [ - {file = "pytest-7.1.3-py3-none-any.whl", hash = "sha256:1377bda3466d70b55e3f5cecfa55bb7cfcf219c7964629b967c37cf0bda818b7"}, - {file = "pytest-7.1.3.tar.gz", hash = "sha256:4f365fec2dff9c1162f834d9f18af1ba13062db0c708bf7b946f8a5c76180c39"}, + {file = "pytest-7.2.0-py3-none-any.whl", hash = "sha256:892f933d339f068883b6fd5a459f03d85bfcb355e4981e146d2c7616c21fef71"}, + {file = "pytest-7.2.0.tar.gz", hash = "sha256:c4014eb40e10f11f355ad4e3c2fb2c6c6d1919c73f3b5a433de4708202cade59"}, ] python-dateutil = [ {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, @@ -1039,8 +1043,8 @@ six = [ {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, ] stevedore = [ - {file = "stevedore-3.5.0-py3-none-any.whl", hash = "sha256:a547de73308fd7e90075bb4d301405bebf705292fa90a90fc3bcf9133f58616c"}, - {file = "stevedore-3.5.0.tar.gz", hash = "sha256:f40253887d8712eaa2bb0ea3830374416736dc8ec0e22f5a65092c1174c44335"}, + {file = "stevedore-3.5.2-py3-none-any.whl", hash = "sha256:fa2630e3d0ad3e22d4914aff2501445815b9a4467a6edc49387c667a38faf5bf"}, + {file = "stevedore-3.5.2.tar.gz", hash = "sha256:cf99f41fc0d5a4f185ca4d3d42b03be9011b0a1ec1a4ea1a282be1b4b306dcc2"}, ] tabulate = [ {file = "tabulate-0.8.10-py3-none-any.whl", hash = "sha256:0ba055423dbaa164b9e456abe7920c5e8ed33fcc16f6d1b2f2d152c8e1e8b4fc"}, @@ -1051,8 +1055,8 @@ tomli = [ {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, ] typing-extensions = [ - {file = "typing_extensions-4.3.0-py3-none-any.whl", hash = "sha256:25642c956049920a5aa49edcdd6ab1e06d7e5d467fc00e0506c44ac86fbfca02"}, - {file = "typing_extensions-4.3.0.tar.gz", hash = "sha256:e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6"}, + {file = "typing_extensions-4.4.0-py3-none-any.whl", hash = "sha256:16fa4864408f655d35ec496218b85f79b3437c829e93320c7c9215ccfd92489e"}, + {file = "typing_extensions-4.4.0.tar.gz", hash = "sha256:1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa"}, ] urllib3 = [ {file = "urllib3-1.26.12-py2.py3-none-any.whl", hash = "sha256:b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997"}, @@ -1190,6 +1194,6 @@ yarl = [ {file = "yarl-1.8.1.tar.gz", hash = "sha256:af887845b8c2e060eb5605ff72b6f2dd2aab7a761379373fd89d314f4752abbf"}, ] zipp = [ - {file = "zipp-3.8.1-py3-none-any.whl", hash = "sha256:47c40d7fe183a6f21403a199b3e4192cca5774656965b0a4988ad2f8feb5f009"}, - {file = "zipp-3.8.1.tar.gz", hash = "sha256:05b45f1ee8f807d0cc928485ca40a07cb491cf092ff587c0df9cb1fd154848d2"}, + {file = "zipp-3.10.0-py3-none-any.whl", hash = "sha256:4fcb6f278987a6605757302a6e40e896257570d11c51628968ccb2a47e80c6c1"}, + {file = "zipp-3.10.0.tar.gz", hash = "sha256:7a7262fd930bd3e36c50b9a64897aec3fafff3dfdeec9623ae22b40e93f99bb8"}, ] diff --git a/tools/c7n_openstack/pyproject.toml b/tools/c7n_openstack/pyproject.toml index cad1d520241..f796073287c 100644 --- a/tools/c7n_openstack/pyproject.toml +++ b/tools/c7n_openstack/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "c7n_openstack" -version = "0.1.10" +version = "0.1.11" description = "Cloud Custodian - OpenStack Provider" readme = "readme.md" authors = ["Cloud Custodian Project"] diff --git a/tools/c7n_openstack/requirements.txt b/tools/c7n_openstack/requirements.txt index c2cb6f6f239..8f5b6a56f8e 100644 --- a/tools/c7n_openstack/requirements.txt +++ b/tools/c7n_openstack/requirements.txt @@ -2,7 +2,7 @@ appdirs==1.4.4 ; python_version >= "3.7" and python_version < "4.0" certifi==2022.9.24 ; python_version >= "3.7" and python_version < "4" cffi==1.15.1 ; python_version >= "3.7" and python_version < "4.0" charset-normalizer==2.1.1 ; python_version >= "3.7" and python_version < "4" -cryptography==38.0.1 ; python_version >= "3.7" and python_version < "4.0" +cryptography==38.0.3 ; python_version >= "3.7" and python_version < "4.0" decorator==5.1.1 ; python_version >= "3.7" and python_version < "4.0" dogpile-cache==1.1.8 ; python_version >= "3.7" and python_version < "4.0" idna==3.4 ; python_version >= "3.7" and python_version < "4" @@ -16,13 +16,13 @@ munch==2.5.0 ; python_version >= "3.7" and python_version < "4.0" netifaces==0.11.0 ; python_version >= "3.7" and python_version < "4.0" openstacksdk==0.52.0 ; python_version >= "3.7" and python_version < "4.0" os-service-types==1.7.0 ; python_version >= "3.7" and python_version < "4.0" -pbr==5.10.0 ; python_version >= "3.7" and python_version < "4.0" +pbr==5.11.0 ; python_version >= "3.7" and python_version < "4.0" pycparser==2.21 ; python_version >= "3.7" and python_version < "4.0" pyyaml==6.0 ; python_version >= "3.7" and python_version < "4.0" requests==2.28.1 ; python_version >= "3.7" and python_version < "4" requestsexceptions==1.4.0 ; python_version >= "3.7" and python_version < "4.0" six==1.16.0 ; python_version >= "3.7" and python_version < "4.0" -stevedore==3.5.0 ; python_version >= "3.7" and python_version < "4.0" -typing-extensions==4.3.0 ; python_version >= "3.7" and python_version < "3.8" +stevedore==3.5.2 ; python_version >= "3.7" and python_version < "4.0" +typing-extensions==4.4.0 ; python_version >= "3.7" and python_version < "3.8" urllib3==1.26.12 ; python_version >= "3.7" and python_version < "4" -zipp==3.8.1 ; python_version >= "3.7" and python_version < "3.8" +zipp==3.10.0 ; python_version >= "3.7" and python_version < "3.8" diff --git a/tools/c7n_openstack/setup.py b/tools/c7n_openstack/setup.py index c4fd2ce6d9b..bbf0a471a3a 100644 --- a/tools/c7n_openstack/setup.py +++ b/tools/c7n_openstack/setup.py @@ -12,29 +12,29 @@ install_requires = \ ['argcomplete (>=2.0.0,<3.0.0)', 'attrs (>=22.1.0,<23.0.0)', - 'boto3 (>=1.24.88,<2.0.0)', - 'botocore (>=1.27.88,<2.0.0)', - 'c7n (>=0.9.20,<0.10.0)', + 'boto3 (>=1.26.9,<2.0.0)', + 'botocore (>=1.29.9,<2.0.0)', + 'c7n (>=0.9.21,<0.10.0)', 'docutils (>=0.17.1,<0.18.0)', 'importlib-metadata (>=4.13.0,<5.0.0)', - 'importlib-resources (>=5.9.0,<6.0.0)', + 'importlib-resources (>=5.10.0,<6.0.0)', 'jmespath (>=1.0.1,<2.0.0)', - 'jsonschema (>=4.16.0,<5.0.0)', + 'jsonschema (>=4.17.0,<5.0.0)', 'openstacksdk>=0.52.0,<0.53.0', 'pkgutil_resolve_name (>=1.3.10,<2.0.0)', - 'pyrsistent (>=0.18.1,<0.19.0)', + 'pyrsistent (>=0.19.2,<0.20.0)', 'python-dateutil (>=2.8.2,<3.0.0)', 'pyyaml (>=6.0,<7.0)', 's3transfer (>=0.6.0,<0.7.0)', 'six (>=1.16.0,<2.0.0)', 'tabulate (>=0.8.10,<0.9.0)', - 'typing-extensions (>=4.3.0,<5.0.0)', + 'typing-extensions (>=4.4.0,<5.0.0)', 'urllib3 (>=1.26.12,<2.0.0)', - 'zipp (>=3.8.1,<4.0.0)'] + 'zipp (>=3.10.0,<4.0.0)'] setup_kwargs = { 'name': 'c7n-openstack', - 'version': '0.1.10', + 'version': '0.1.11', 'description': 'Cloud Custodian - OpenStack Provider', 'license': 'Apache-2.0', 'classifiers': [ diff --git a/tools/c7n_org/poetry.lock b/tools/c7n_org/poetry.lock index ea199670d60..4da29c24fda 100644 --- a/tools/c7n_org/poetry.lock +++ b/tools/c7n_org/poetry.lock @@ -28,14 +28,14 @@ tests_no_zope = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy [[package]] name = "boto3" -version = "1.24.88" +version = "1.26.9" description = "The AWS SDK for Python" category = "dev" optional = false python-versions = ">= 3.7" [package.dependencies] -botocore = ">=1.27.88,<1.28.0" +botocore = ">=1.29.9,<1.30.0" jmespath = ">=0.7.1,<2.0.0" s3transfer = ">=0.6.0,<0.7.0" @@ -44,7 +44,7 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] [[package]] name = "botocore" -version = "1.27.88" +version = "1.29.9" description = "Low-level, data-driven core of boto 3." category = "dev" optional = false @@ -60,7 +60,7 @@ crt = ["awscrt (==0.14.0)"] [[package]] name = "c7n" -version = "0.9.20" +version = "0.9.21" description = "Cloud Custodian - Policy Rules Engine" category = "dev" optional = false @@ -95,11 +95,11 @@ importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} [[package]] name = "colorama" -version = "0.4.5" +version = "0.4.6" description = "Cross-platform colored terminal text." category = "main" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" [[package]] name = "docutils" @@ -109,6 +109,17 @@ category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +[[package]] +name = "exceptiongroup" +version = "1.0.3" +description = "Backport of PEP 654 (exception groups)" +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.extras] +test = ["pytest (>=6)"] + [[package]] name = "importlib-metadata" version = "4.13.0" @@ -128,7 +139,7 @@ testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packag [[package]] name = "importlib-resources" -version = "5.9.0" +version = "5.10.0" description = "Read resources from Python packages" category = "dev" optional = false @@ -138,8 +149,8 @@ python-versions = ">=3.7" zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} [package.extras] -docs = ["jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx"] -testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"] +testing = ["flake8 (<5)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] [[package]] name = "iniconfig" @@ -159,7 +170,7 @@ python-versions = ">=3.7" [[package]] name = "jsonschema" -version = "4.16.0" +version = "4.17.0" description = "An implementation of JSON Schema validation for Python" category = "dev" optional = false @@ -211,14 +222,6 @@ importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} dev = ["pre-commit", "tox"] testing = ["pytest", "pytest-benchmark"] -[[package]] -name = "py" -version = "1.11.0" -description = "library with cross-python path, ini-parsing, io, code, log facilities" -category = "dev" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" - [[package]] name = "pyparsing" version = "3.0.9" @@ -232,7 +235,7 @@ diagrams = ["jinja2", "railroad-diagrams"] [[package]] name = "pyrsistent" -version = "0.18.1" +version = "0.19.2" description = "Persistent/Functional/Immutable data structures" category = "dev" optional = false @@ -240,7 +243,7 @@ python-versions = ">=3.7" [[package]] name = "pytest" -version = "7.1.3" +version = "7.2.0" description = "pytest: simple powerful testing with Python" category = "dev" optional = false @@ -249,12 +252,12 @@ python-versions = ">=3.7" [package.dependencies] attrs = ">=19.2.0" colorama = {version = "*", markers = "sys_platform == \"win32\""} +exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} iniconfig = "*" packaging = "*" pluggy = ">=0.12,<2.0" -py = ">=1.8.2" -tomli = ">=1.0.0" +tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""} [package.extras] testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"] @@ -321,7 +324,7 @@ python-versions = ">=3.7" [[package]] name = "typing-extensions" -version = "4.3.0" +version = "4.4.0" description = "Backported and Experimental Type Hints for Python 3.7+" category = "main" optional = false @@ -342,15 +345,15 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] [[package]] name = "zipp" -version = "3.8.1" +version = "3.10.0" description = "Backport of pathlib-compatible object wrapper for zip files" category = "main" optional = false python-versions = ">=3.7" [package.extras] -docs = ["jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx"] -testing = ["func-timeout", "jaraco.itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"] +testing = ["flake8 (<5)", "func-timeout", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] [metadata] lock-version = "1.1" @@ -367,12 +370,12 @@ attrs = [ {file = "attrs-22.1.0.tar.gz", hash = "sha256:29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6"}, ] boto3 = [ - {file = "boto3-1.24.88-py3-none-any.whl", hash = "sha256:6b4cf1cd0be65202c4cf0e4c69099bac3620bcd4049ca25a5e223c668401dd69"}, - {file = "boto3-1.24.88.tar.gz", hash = "sha256:93934343cac76084600a520e5be70c52152364d0c410681c2e25c2290f0e151c"}, + {file = "boto3-1.26.9-py3-none-any.whl", hash = "sha256:27efa5eb229364bc4643d9e182de0891f73c21b65ef80b5bd02a977caeaf595c"}, + {file = "boto3-1.26.9.tar.gz", hash = "sha256:15b059251990706c5d5a556c42a6e6e781a51edadf48a42afdd06bd313adfaf2"}, ] botocore = [ - {file = "botocore-1.27.88-py3-none-any.whl", hash = "sha256:de4e087b24cd3bc369eb2e27f8fe94a6499f7dea08c919fba13cefb2496bd2bb"}, - {file = "botocore-1.27.88.tar.gz", hash = "sha256:ded0a4035baf91eb358ef501c92a8512543f5ab7658f459df3077a70a555b5cd"}, + {file = "botocore-1.29.9-py3-none-any.whl", hash = "sha256:c876a7c6a07d7f86f46a8cc765f0d38999b84ac1d7b0666d6ce08c0503e13145"}, + {file = "botocore-1.29.9.tar.gz", hash = "sha256:01f168e2418419a6d8b335ecc4330faa6a7332d5a097029fc9b4a3ae3c41cea2"}, ] c7n = [] click = [ @@ -380,20 +383,24 @@ click = [ {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"}, ] colorama = [ - {file = "colorama-0.4.5-py2.py3-none-any.whl", hash = "sha256:854bf444933e37f5824ae7bfc1e98d5bce2ebe4160d46b5edf346a89358e99da"}, - {file = "colorama-0.4.5.tar.gz", hash = "sha256:e6c6b4334fc50988a639d9b98aa429a0b57da6e17b9a44f0451f930b6967b7a4"}, + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] docutils = [ {file = "docutils-0.17.1-py2.py3-none-any.whl", hash = "sha256:cf316c8370a737a022b72b56874f6602acf974a37a9fba42ec2876387549fc61"}, {file = "docutils-0.17.1.tar.gz", hash = "sha256:686577d2e4c32380bb50cbb22f575ed742d58168cee37e99117a854bcd88f125"}, ] +exceptiongroup = [ + {file = "exceptiongroup-1.0.3-py3-none-any.whl", hash = "sha256:6002703c7d31fb9950ddc8780840f67880c440895dc1151dd551553aa1246e4a"}, + {file = "exceptiongroup-1.0.3.tar.gz", hash = "sha256:76cac74b5207c5997678a1c7105cb6f14213c9c63c096a38cfcb529d83ce5c02"}, +] importlib-metadata = [ {file = "importlib_metadata-4.13.0-py3-none-any.whl", hash = "sha256:8a8a81bcf996e74fee46f0d16bd3eaa382a7eb20fd82445c3ad11f4090334116"}, {file = "importlib_metadata-4.13.0.tar.gz", hash = "sha256:dd0173e8f150d6815e098fd354f6414b0f079af4644ddfe90c71e2fc6174346d"}, ] importlib-resources = [ - {file = "importlib_resources-5.9.0-py3-none-any.whl", hash = "sha256:f78a8df21a79bcc30cfd400bdc38f314333de7c0fb619763f6b9dabab8268bb7"}, - {file = "importlib_resources-5.9.0.tar.gz", hash = "sha256:5481e97fb45af8dcf2f798952625591c58fe599d0735d86b10f54de086a61681"}, + {file = "importlib_resources-5.10.0-py3-none-any.whl", hash = "sha256:ee17ec648f85480d523596ce49eae8ead87d5631ae1551f913c0100b5edd3437"}, + {file = "importlib_resources-5.10.0.tar.gz", hash = "sha256:c01b1b94210d9849f286b86bb51bcea7cd56dde0600d8db721d7b81330711668"}, ] iniconfig = [ {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"}, @@ -404,8 +411,8 @@ jmespath = [ {file = "jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe"}, ] jsonschema = [ - {file = "jsonschema-4.16.0-py3-none-any.whl", hash = "sha256:9e74b8f9738d6a946d70705dc692b74b5429cd0960d58e79ffecfc43b2221eb9"}, - {file = "jsonschema-4.16.0.tar.gz", hash = "sha256:165059f076eff6971bae5b742fc029a7b4ef3f9bcf04c14e4776a7605de14b23"}, + {file = "jsonschema-4.17.0-py3-none-any.whl", hash = "sha256:f660066c3966db7d6daeaea8a75e0b68237a48e51cf49882087757bb59916248"}, + {file = "jsonschema-4.17.0.tar.gz", hash = "sha256:5bfcf2bca16a087ade17e02b282d34af7ccd749ef76241e7f9bd7c0cb8a9424d"}, ] packaging = [ {file = "packaging-21.3-py3-none-any.whl", hash = "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"}, @@ -419,40 +426,37 @@ pluggy = [ {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"}, {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"}, ] -py = [ - {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"}, - {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"}, -] pyparsing = [ {file = "pyparsing-3.0.9-py3-none-any.whl", hash = "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"}, {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"}, ] pyrsistent = [ - {file = "pyrsistent-0.18.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:df46c854f490f81210870e509818b729db4488e1f30f2a1ce1698b2295a878d1"}, - {file = "pyrsistent-0.18.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d45866ececf4a5fff8742c25722da6d4c9e180daa7b405dc0a2a2790d668c26"}, - {file = "pyrsistent-0.18.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4ed6784ceac462a7d6fcb7e9b663e93b9a6fb373b7f43594f9ff68875788e01e"}, - {file = "pyrsistent-0.18.1-cp310-cp310-win32.whl", hash = "sha256:e4f3149fd5eb9b285d6bfb54d2e5173f6a116fe19172686797c056672689daf6"}, - {file = "pyrsistent-0.18.1-cp310-cp310-win_amd64.whl", hash = "sha256:636ce2dc235046ccd3d8c56a7ad54e99d5c1cd0ef07d9ae847306c91d11b5fec"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e92a52c166426efbe0d1ec1332ee9119b6d32fc1f0bbfd55d5c1088070e7fc1b"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d7a096646eab884bf8bed965bad63ea327e0d0c38989fc83c5ea7b8a87037bfc"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cdfd2c361b8a8e5d9499b9082b501c452ade8bbf42aef97ea04854f4a3f43b22"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-win32.whl", hash = "sha256:7ec335fc998faa4febe75cc5268a9eac0478b3f681602c1f27befaf2a1abe1d8"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-win_amd64.whl", hash = "sha256:6455fc599df93d1f60e1c5c4fe471499f08d190d57eca040c0ea182301321286"}, - {file = "pyrsistent-0.18.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:fd8da6d0124efa2f67d86fa70c851022f87c98e205f0594e1fae044e7119a5a6"}, - {file = "pyrsistent-0.18.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7bfe2388663fd18bd8ce7db2c91c7400bf3e1a9e8bd7d63bf7e77d39051b85ec"}, - {file = "pyrsistent-0.18.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e3e1fcc45199df76053026a51cc59ab2ea3fc7c094c6627e93b7b44cdae2c8c"}, - {file = "pyrsistent-0.18.1-cp38-cp38-win32.whl", hash = "sha256:b568f35ad53a7b07ed9b1b2bae09eb15cdd671a5ba5d2c66caee40dbf91c68ca"}, - {file = "pyrsistent-0.18.1-cp38-cp38-win_amd64.whl", hash = "sha256:d1b96547410f76078eaf66d282ddca2e4baae8964364abb4f4dcdde855cd123a"}, - {file = "pyrsistent-0.18.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f87cc2863ef33c709e237d4b5f4502a62a00fab450c9e020892e8e2ede5847f5"}, - {file = "pyrsistent-0.18.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bc66318fb7ee012071b2792024564973ecc80e9522842eb4e17743604b5e045"}, - {file = "pyrsistent-0.18.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:914474c9f1d93080338ace89cb2acee74f4f666fb0424896fcfb8d86058bf17c"}, - {file = "pyrsistent-0.18.1-cp39-cp39-win32.whl", hash = "sha256:1b34eedd6812bf4d33814fca1b66005805d3640ce53140ab8bbb1e2651b0d9bc"}, - {file = "pyrsistent-0.18.1-cp39-cp39-win_amd64.whl", hash = "sha256:e24a828f57e0c337c8d8bb9f6b12f09dfdf0273da25fda9e314f0b684b415a07"}, - {file = "pyrsistent-0.18.1.tar.gz", hash = "sha256:d4d61f8b993a7255ba714df3aca52700f8125289f84f704cf80916517c46eb96"}, + {file = "pyrsistent-0.19.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d6982b5a0237e1b7d876b60265564648a69b14017f3b5f908c5be2de3f9abb7a"}, + {file = "pyrsistent-0.19.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:187d5730b0507d9285a96fca9716310d572e5464cadd19f22b63a6976254d77a"}, + {file = "pyrsistent-0.19.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:055ab45d5911d7cae397dc418808d8802fb95262751872c841c170b0dbf51eed"}, + {file = "pyrsistent-0.19.2-cp310-cp310-win32.whl", hash = "sha256:456cb30ca8bff00596519f2c53e42c245c09e1a4543945703acd4312949bfd41"}, + {file = "pyrsistent-0.19.2-cp310-cp310-win_amd64.whl", hash = "sha256:b39725209e06759217d1ac5fcdb510e98670af9e37223985f330b611f62e7425"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2aede922a488861de0ad00c7630a6e2d57e8023e4be72d9d7147a9fcd2d30712"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:879b4c2f4d41585c42df4d7654ddffff1239dc4065bc88b745f0341828b83e78"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c43bec251bbd10e3cb58ced80609c5c1eb238da9ca78b964aea410fb820d00d6"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-win32.whl", hash = "sha256:d690b18ac4b3e3cab73b0b7aa7dbe65978a172ff94970ff98d82f2031f8971c2"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-win_amd64.whl", hash = "sha256:3ba4134a3ff0fc7ad225b6b457d1309f4698108fb6b35532d015dca8f5abed73"}, + {file = "pyrsistent-0.19.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a178209e2df710e3f142cbd05313ba0c5ebed0a55d78d9945ac7a4e09d923308"}, + {file = "pyrsistent-0.19.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e371b844cec09d8dc424d940e54bba8f67a03ebea20ff7b7b0d56f526c71d584"}, + {file = "pyrsistent-0.19.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:111156137b2e71f3a9936baf27cb322e8024dac3dc54ec7fb9f0bcf3249e68bb"}, + {file = "pyrsistent-0.19.2-cp38-cp38-win32.whl", hash = "sha256:e5d8f84d81e3729c3b506657dddfe46e8ba9c330bf1858ee33108f8bb2adb38a"}, + {file = "pyrsistent-0.19.2-cp38-cp38-win_amd64.whl", hash = "sha256:9cd3e9978d12b5d99cbdc727a3022da0430ad007dacf33d0bf554b96427f33ab"}, + {file = "pyrsistent-0.19.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f1258f4e6c42ad0b20f9cfcc3ada5bd6b83374516cd01c0960e3cb75fdca6770"}, + {file = "pyrsistent-0.19.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21455e2b16000440e896ab99e8304617151981ed40c29e9507ef1c2e4314ee95"}, + {file = "pyrsistent-0.19.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bfd880614c6237243ff53a0539f1cb26987a6dc8ac6e66e0c5a40617296a045e"}, + {file = "pyrsistent-0.19.2-cp39-cp39-win32.whl", hash = "sha256:71d332b0320642b3261e9fee47ab9e65872c2bd90260e5d225dabeed93cbd42b"}, + {file = "pyrsistent-0.19.2-cp39-cp39-win_amd64.whl", hash = "sha256:dec3eac7549869365fe263831f576c8457f6c833937c68542d08fde73457d291"}, + {file = "pyrsistent-0.19.2-py3-none-any.whl", hash = "sha256:ea6b79a02a28550c98b6ca9c35b9f492beaa54d7c5c9e9949555893c8a9234d0"}, + {file = "pyrsistent-0.19.2.tar.gz", hash = "sha256:bfa0351be89c9fcbcb8c9879b826f4353be10f58f8a677efab0c017bf7137ec2"}, ] pytest = [ - {file = "pytest-7.1.3-py3-none-any.whl", hash = "sha256:1377bda3466d70b55e3f5cecfa55bb7cfcf219c7964629b967c37cf0bda818b7"}, - {file = "pytest-7.1.3.tar.gz", hash = "sha256:4f365fec2dff9c1162f834d9f18af1ba13062db0c708bf7b946f8a5c76180c39"}, + {file = "pytest-7.2.0-py3-none-any.whl", hash = "sha256:892f933d339f068883b6fd5a459f03d85bfcb355e4981e146d2c7616c21fef71"}, + {file = "pytest-7.2.0.tar.gz", hash = "sha256:c4014eb40e10f11f355ad4e3c2fb2c6c6d1919c73f3b5a433de4708202cade59"}, ] python-dateutil = [ {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, @@ -517,14 +521,14 @@ tomli = [ {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, ] typing-extensions = [ - {file = "typing_extensions-4.3.0-py3-none-any.whl", hash = "sha256:25642c956049920a5aa49edcdd6ab1e06d7e5d467fc00e0506c44ac86fbfca02"}, - {file = "typing_extensions-4.3.0.tar.gz", hash = "sha256:e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6"}, + {file = "typing_extensions-4.4.0-py3-none-any.whl", hash = "sha256:16fa4864408f655d35ec496218b85f79b3437c829e93320c7c9215ccfd92489e"}, + {file = "typing_extensions-4.4.0.tar.gz", hash = "sha256:1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa"}, ] urllib3 = [ {file = "urllib3-1.26.12-py2.py3-none-any.whl", hash = "sha256:b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997"}, {file = "urllib3-1.26.12.tar.gz", hash = "sha256:3fa96cf423e6987997fc326ae8df396db2a8b7c667747d47ddd8ecba91f4a74e"}, ] zipp = [ - {file = "zipp-3.8.1-py3-none-any.whl", hash = "sha256:47c40d7fe183a6f21403a199b3e4192cca5774656965b0a4988ad2f8feb5f009"}, - {file = "zipp-3.8.1.tar.gz", hash = "sha256:05b45f1ee8f807d0cc928485ca40a07cb491cf092ff587c0df9cb1fd154848d2"}, + {file = "zipp-3.10.0-py3-none-any.whl", hash = "sha256:4fcb6f278987a6605757302a6e40e896257570d11c51628968ccb2a47e80c6c1"}, + {file = "zipp-3.10.0.tar.gz", hash = "sha256:7a7262fd930bd3e36c50b9a64897aec3fafff3dfdeec9623ae22b40e93f99bb8"}, ] diff --git a/tools/c7n_org/pyproject.toml b/tools/c7n_org/pyproject.toml index 904abb4c717..3ef8143e776 100644 --- a/tools/c7n_org/pyproject.toml +++ b/tools/c7n_org/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "c7n_org" -version = "0.6.19" +version = "0.6.20" description = "Cloud Custodian - Parallel Execution" readme = "README.md" homepage = "https://cloudcustodian.io" diff --git a/tools/c7n_org/requirements.txt b/tools/c7n_org/requirements.txt index 4b53288a517..0d0039e3e53 100644 --- a/tools/c7n_org/requirements.txt +++ b/tools/c7n_org/requirements.txt @@ -1,5 +1,5 @@ click==8.1.3 ; python_version >= "3.7" and python_version < "4.0" -colorama==0.4.5 ; python_version >= "3.7" and python_version < "4.0" and platform_system == "Windows" +colorama==0.4.6 ; python_version >= "3.7" and python_version < "4.0" and platform_system == "Windows" importlib-metadata==4.13.0 ; python_version >= "3.7" and python_version < "3.8" -typing-extensions==4.3.0 ; python_version >= "3.7" and python_version < "3.8" -zipp==3.8.1 ; python_version >= "3.7" and python_version < "3.8" +typing-extensions==4.4.0 ; python_version >= "3.7" and python_version < "3.8" +zipp==3.10.0 ; python_version >= "3.7" and python_version < "3.8" diff --git a/tools/c7n_org/setup.py b/tools/c7n_org/setup.py index 282aeef1f50..e78ba449307 100644 --- a/tools/c7n_org/setup.py +++ b/tools/c7n_org/setup.py @@ -12,32 +12,32 @@ install_requires = \ ['argcomplete (>=2.0.0,<3.0.0)', 'attrs (>=22.1.0,<23.0.0)', - 'boto3 (>=1.24.88,<2.0.0)', - 'botocore (>=1.27.88,<2.0.0)', - 'c7n (>=0.9.20,<0.10.0)', + 'boto3 (>=1.26.9,<2.0.0)', + 'botocore (>=1.29.9,<2.0.0)', + 'c7n (>=0.9.21,<0.10.0)', 'click>=8.0', 'docutils (>=0.17.1,<0.18.0)', 'importlib-metadata (>=4.13.0,<5.0.0)', - 'importlib-resources (>=5.9.0,<6.0.0)', + 'importlib-resources (>=5.10.0,<6.0.0)', 'jmespath (>=1.0.1,<2.0.0)', - 'jsonschema (>=4.16.0,<5.0.0)', + 'jsonschema (>=4.17.0,<5.0.0)', 'pkgutil_resolve_name (>=1.3.10,<2.0.0)', - 'pyrsistent (>=0.18.1,<0.19.0)', + 'pyrsistent (>=0.19.2,<0.20.0)', 'python-dateutil (>=2.8.2,<3.0.0)', 'pyyaml (>=6.0,<7.0)', 's3transfer (>=0.6.0,<0.7.0)', 'six (>=1.16.0,<2.0.0)', 'tabulate (>=0.8.10,<0.9.0)', - 'typing-extensions (>=4.3.0,<5.0.0)', + 'typing-extensions (>=4.4.0,<5.0.0)', 'urllib3 (>=1.26.12,<2.0.0)', - 'zipp (>=3.8.1,<4.0.0)'] + 'zipp (>=3.10.0,<4.0.0)'] entry_points = \ {'console_scripts': ['c7n-org = c7n_org.cli:cli']} setup_kwargs = { 'name': 'c7n-org', - 'version': '0.6.19', + 'version': '0.6.20', 'description': 'Cloud Custodian - Parallel Execution', 'license': 'Apache-2.0', 'classifiers': [ @@ -45,7 +45,7 @@ 'Topic :: System :: Systems Administration', 'Topic :: System :: Distributed Computing' ], - 'long_description': '# c7n-org: Multi Account Custodian Execution\n\n% [comment]: # ( !!! IMPORTANT !!! )\n% [comment]: # (This file is moved during document generation.)\n% [comment]: # (Only edit the original document at ./tools/c7n_org/README.md)\n\nc7n-org is a tool to run custodian against multiple AWS accounts,\nAzure subscriptions, or GCP projects in parallel.\n\n## Installation\n\n```shell\npip install c7n-org\n```\n\nc7n-org has 3 run modes:\n\n```shell\nUsage: c7n-org [OPTIONS] COMMAND [ARGS]...\n\n custodian organization multi-account runner.\n\nOptions:\n --help Show this message and exit.\n\nCommands:\n report report on an AWS cross account policy execution\n run run a custodian policy across accounts (AWS, Azure, GCP)\n run-script run a script across AWS accounts\n```\n\nIn order to run c7n-org against multiple accounts, a config file must\nfirst be created containing pertinent information about the accounts:\n\n\nExample AWS Config File:\n\n```yaml\naccounts:\n- account_id: \'123123123123\'\n name: account-1\n regions:\n - us-east-1\n - us-west-2\n role: arn:aws:iam::123123123123:role/CloudCustodian\n vars:\n charge_code: xyz\n tags:\n - type:prod\n - division:some division\n - partition:us\n - scope:pci\n...\n```\n\nExample Azure Config File:\n\n```yaml\nsubscriptions:\n- name: Subscription-1\n subscription_id: a1b2c3d4-e5f6-g7h8i9...\n- name: Subscription-2\n subscription_id: 1z2y3x4w-5v6u-7t8s9r...\n```\n\nExample GCP Config File:\n\n```yaml\nprojects:\n- name: app-dev\n project_id: app-203501\n tags:\n - label:env:dev \n- name: app-prod\n project_id: app-1291\n tags:\n - label:env:dev\n\n```\n\n### Config File Generation\n\nWe also distribute scripts to generate the necessary config file in the `scripts` folder.\n\n**Note** Currently these are distributed only via git, per\nhttps://github.com/cloud-custodian/cloud-custodian/issues/2420 we\'ll\nbe looking to incorporate them into a new c7n-org subcommand.\n\n- For **AWS**, the script `orgaccounts.py` generates a config file\n from the AWS Organizations API\n\n- For **Azure**, the script `azuresubs.py` generates a config file\n from the Azure Resource Management API\n\n - Please see the [Additional Azure Instructions](#Additional-Azure-Instructions)\n - for initial setup and other important info\n\n- For **GCP**, the script `gcpprojects.py` generates a config file from\n the GCP Resource Management API\n\n\n```shell\npython orgaccounts.py -f accounts.yml\n```\n```shell\npython azuresubs.py -f subscriptions.yml\n```\n```shell\npython gcpprojects.py -f projects.yml\n```\n\n## Running a Policy with c7n-org\n\nTo run a policy, the following arguments must be passed in:\n\n```shell\n-c | accounts|projects|subscriptions config file\n-s | output directory\n-u | policy\n```\n\n\n```shell\nc7n-org run -c accounts.yml -s output -u test.yml --dryrun\n```\n\nAfter running the above command, the following folder structure will be created:\n\n```\noutput\n |_ account-1\n |_ us-east-1\n |_ policy-name\n |_ resources.json\n |_ custodian-run.log\n |_ us-west-2\n |_ policy-name\n |_ resources.json\n |_ custodian-run.log\n |- account-2\n...\n```\n\nUse `c7n-org report` to generate a csv report from the output directory.\n\n## Selecting accounts, regions, policies for execution\n\nYou can filter the accounts to be run against by either passing the\naccount name or id via the `-a` flag, which can be specified multiple\ntimes, or alternatively with comma separated values.\n\nGroups of accounts can also be selected for execution by specifying\nthe `-t` tag filter. Account tags are specified in the config\nfile. ie given the above accounts config file you can specify all prod\naccounts with `-t type:prod`. you can specify the -t flag multiple\ntimes or use a comma separated list.\n\nYou can specify which policies to use for execution by either\nspecifying `-p` or selecting groups of policies via their tags with\n`-l`, both options support being specified multiple times or using\ncomma separated values.\n\nBy default in aws, c7n-org will execute in parallel across regions,\nthe \'-r\' flag can be specified multiple times, and defaults to\n(us-east-1, us-west-2). a special value of `all` will execute across\nall regions.\n\n\nSee `c7n-org run --help` for more information.\n\n## Defining and using variables\n\nEach account/subscription/project configuration in the config file can\nalso define a variables section `vars` that can be used in policies\'\ndefinitions and are interpolated at execution time. These are in\naddition to the default runtime variables custodian provides like\n`account_id`, `now`, and `region`.\n\nExample of defining in c7n-org config file:\n\n```yaml\naccounts:\n- account_id: \'123123123123\'\n name: account-1\n role: arn:aws:iam::123123123123:role/CloudCustodian\n vars:\n charge_code: xyz\n```\n\nExample of using in a policy file:\n\n```yaml\npolicies:\n - name: ec2-check-tag\n resource: aws.ec2\n filters:\n - "tag:CostCenter": "{charge_code}"\n```\n\n**Note** Variable interpolation is sensitive to proper quoting and spacing,\ni.e., `{ charge_code }` would be invalid due to the extra white space. Additionally,\nyaml parsing can transform a value like `{charge_code}` to null, unless it\'s quoted\nin strings like the above example. Values that do interpolation into other content\ndon\'t require quoting, i.e., "my_{charge_code}".\n\n## Other commands\n\nc7n-org also supports running arbitrary scripts against accounts via\nthe run-script command. For AWS the standard AWS SDK credential\ninformation is exported into the process environment before executing.\nFor Azure and GCP, only the environment variables\n`AZURE_SUBSCRIPTION_ID` and `PROJECT_ID` are exported(in addition of\nthe system env variables).\n\nc7n-org also supports generating reports for a given policy execution\nacross accounts via the `c7n-org report` subcommand.\n\n## Additional Azure Instructions\n\nIf you\'re using an Azure Service Principal for executing c7n-org\nyou\'ll need to ensure that the principal has access to multiple\nsubscriptions.\n\nFor instructions on creating a service principal and granting access\nacross subscriptions, visit the [Azure authentication docs\npage](https://cloudcustodian.io/docs/azure/authentication.html).\n', + 'long_description': '# c7n-org: Multi Account Custodian Execution\n\n% [comment]: # ( !!! IMPORTANT !!! )\n% [comment]: # (This file is moved during document generation.)\n% [comment]: # (Only edit the original document at ./tools/c7n_org/README.md)\n\nc7n-org is a tool to run custodian against multiple AWS accounts,\nAzure subscriptions, or GCP projects in parallel.\n\n## Installation\n\n```shell\npip install c7n-org\n```\n\nc7n-org has 3 run modes:\n\n```shell\nUsage: c7n-org [OPTIONS] COMMAND [ARGS]...\n\n custodian organization multi-account runner.\n\nOptions:\n --help Show this message and exit.\n\nCommands:\n report report on an AWS cross account policy execution\n run run a custodian policy across accounts (AWS, Azure, GCP)\n run-script run a script across AWS accounts\n```\n\nIn order to run c7n-org against multiple accounts, a config file must\nfirst be created containing pertinent information about the accounts:\n\n\nExample AWS Config File:\n\n```yaml\naccounts:\n- account_id: \'123123123123\'\n name: account-1\n regions:\n - us-east-1\n - us-west-2\n role: arn:aws:iam::123123123123:role/CloudCustodian\n vars:\n charge_code: xyz\n tags:\n - type:prod\n - division:some division\n - partition:us\n - scope:pci\n...\n```\n\nExample Azure Config File:\n\n```yaml\nsubscriptions:\n- name: Subscription-1\n subscription_id: a1b2c3d4-e5f6-g7h8i9...\n- name: Subscription-2\n subscription_id: 1z2y3x4w-5v6u-7t8s9r...\n```\n\nExample GCP Config File:\n\n```yaml\nprojects:\n- name: app-dev\n project_id: app-203501\n tags:\n - label:env:dev \n- name: app-prod\n project_id: app-1291\n tags:\n - label:env:dev\n\n```\n\n### Config File Generation\n\nWe also distribute scripts to generate the necessary config file in the `scripts` folder.\n\n**Note** Currently these are distributed only via git, per\nhttps://github.com/cloud-custodian/cloud-custodian/issues/2420 we\'ll\nbe looking to incorporate them into a new c7n-org subcommand.\n\n- For **AWS**, the script `orgaccounts.py` generates a config file\n from the AWS Organizations API\n\n- For **Azure**, the script `azuresubs.py` generates a config file\n from the Azure Resource Management API\n\n - Please see the [Additional Azure Instructions](#Additional-Azure-Instructions)\n - for initial setup and other important info\n\n- For **GCP**, the script `gcpprojects.py` generates a config file from\n the GCP Resource Management API\n\n\n```shell\npython orgaccounts.py -f accounts.yml\n```\n```shell\npython azuresubs.py -f subscriptions.yml\n```\n```shell\npython gcpprojects.py -f projects.yml\n```\n\n## Running a Policy with c7n-org\n\nTo run a policy, the following arguments must be passed in:\n\n```shell\n-c | accounts|projects|subscriptions config file\n-s | output directory\n-u | policy\n```\n\n\n```shell\nc7n-org run -c accounts.yml -s output -u test.yml --dryrun\n```\n\nAfter running the above command, the following folder structure will be created:\n\n```\noutput\n |_ account-1\n |_ us-east-1\n |_ policy-name\n |_ resources.json\n |_ custodian-run.log\n |_ us-west-2\n |_ policy-name\n |_ resources.json\n |_ custodian-run.log\n |- account-2\n...\n```\n\nUse `c7n-org report` to generate a csv report from the output directory.\n\n## Selecting accounts, regions, policies for execution\n\nYou can filter the accounts to be run against by either passing the\naccount name or id via the `-a` flag, which can be specified multiple\ntimes, or alternatively with comma separated values.\n\nGroups of accounts can also be selected for execution by specifying\nthe `-t` tag filter. Account tags are specified in the config\nfile. ie given the above accounts config file you can specify all prod\naccounts with `-t type:prod`. you can specify the -t flag multiple\ntimes or use a comma separated list.\n\nYou can specify which policies to use for execution by either\nspecifying `-p` or selecting groups of policies via their tags with\n`-l`, both options support being specified multiple times or using\ncomma separated values.\n\nBy default in aws, c7n-org will execute in parallel across regions,\nthe \'-r\' flag can be specified multiple times, and defaults to\n(us-east-1, us-west-2). a special value of `all` will execute across\nall regions.\n\n\nSee `c7n-org run --help` for more information.\n\n## Defining and using variables\n\nEach account/subscription/project configuration in the config file can\nalso define a variables section `vars` that can be used in policies\'\ndefinitions and are interpolated at execution time. These are in\naddition to the default runtime variables custodian provides like\n`account_id`, `now`, and `region`.\n\nExample of defining in c7n-org config file:\n\n```yaml\naccounts:\n- account_id: \'123123123123\'\n name: account-1\n role: arn:aws:iam::123123123123:role/CloudCustodian\n vars:\n charge_code: xyz\n```\n\nExample of using in a policy file:\n\n```yaml\npolicies:\n - name: ec2-check-tag\n resource: aws.ec2\n filters:\n - "tag:CostCenter": "{charge_code}"\n```\n\nAnother enhancement for `c7n-org run-script` is to support a few vars in the script arg.\nThe available vars are `account`, `account_id`, `region` and `output_dir`.\n\n```shell\nc7n-org run-script -s . -c my-projects.yml gcp_check_{region}.sh\n# or\nc7n-org run-script -s . -c my-projects.yml use_another_policy_result.sh {output_dir}\n```\n\n**Note** Variable interpolation is sensitive to proper quoting and spacing,\ni.e., `{ charge_code }` would be invalid due to the extra white space. Additionally,\nyaml parsing can transform a value like `{charge_code}` to null, unless it\'s quoted\nin strings like the above example. Values that do interpolation into other content\ndon\'t require quoting, i.e., "my_{charge_code}".\n\n## Other commands\n\nc7n-org also supports running arbitrary scripts against accounts via\nthe run-script command. For AWS the standard AWS SDK credential\ninformation is exported into the process environment before executing.\nFor Azure and GCP, only the environment variables\n`AZURE_SUBSCRIPTION_ID` and `PROJECT_ID` are exported(in addition of\nthe system env variables).\n\nc7n-org also supports generating reports for a given policy execution\nacross accounts via the `c7n-org report` subcommand.\n\n## Additional Azure Instructions\n\nIf you\'re using an Azure Service Principal for executing c7n-org\nyou\'ll need to ensure that the principal has access to multiple\nsubscriptions.\n\nFor instructions on creating a service principal and granting access\nacross subscriptions, visit the [Azure authentication docs\npage](https://cloudcustodian.io/docs/azure/authentication.html).\n', 'long_description_content_type': 'text/markdown', 'author': 'Cloud Custodian Project', 'author_email': 'cloud-custodian@googlegroups.com', diff --git a/tools/c7n_policystream/poetry.lock b/tools/c7n_policystream/poetry.lock index c13f175ad91..f2595fedf76 100644 --- a/tools/c7n_policystream/poetry.lock +++ b/tools/c7n_policystream/poetry.lock @@ -28,14 +28,14 @@ tests_no_zope = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy [[package]] name = "boto3" -version = "1.24.88" +version = "1.26.9" description = "The AWS SDK for Python" category = "main" optional = false python-versions = ">= 3.7" [package.dependencies] -botocore = ">=1.27.88,<1.28.0" +botocore = ">=1.29.9,<1.30.0" jmespath = ">=0.7.1,<2.0.0" s3transfer = ">=0.6.0,<0.7.0" @@ -44,7 +44,7 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] [[package]] name = "botocore" -version = "1.27.88" +version = "1.29.9" description = "Low-level, data-driven core of boto 3." category = "main" optional = false @@ -60,7 +60,7 @@ crt = ["awscrt (==0.14.0)"] [[package]] name = "c7n" -version = "0.9.20" +version = "0.9.21" description = "Cloud Custodian - Policy Rules Engine" category = "dev" optional = false @@ -133,11 +133,11 @@ importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} [[package]] name = "colorama" -version = "0.4.5" +version = "0.4.6" description = "Cross-platform colored terminal text." category = "main" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" [[package]] name = "docutils" @@ -147,6 +147,17 @@ category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +[[package]] +name = "exceptiongroup" +version = "1.0.3" +description = "Backport of PEP 654 (exception groups)" +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.extras] +test = ["pytest (>=6)"] + [[package]] name = "idna" version = "3.4" @@ -174,7 +185,7 @@ testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packag [[package]] name = "importlib-resources" -version = "5.9.0" +version = "5.10.0" description = "Read resources from Python packages" category = "dev" optional = false @@ -184,8 +195,8 @@ python-versions = ">=3.7" zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} [package.extras] -docs = ["jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx"] -testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"] +testing = ["flake8 (<5)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] [[package]] name = "iniconfig" @@ -205,7 +216,7 @@ python-versions = ">=3.7" [[package]] name = "jsonschema" -version = "4.16.0" +version = "4.17.0" description = "An implementation of JSON Schema validation for Python" category = "dev" optional = false @@ -270,14 +281,6 @@ importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} dev = ["pre-commit", "tox"] testing = ["pytest", "pytest-benchmark"] -[[package]] -name = "py" -version = "1.11.0" -description = "library with cross-python path, ini-parsing, io, code, log facilities" -category = "dev" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" - [[package]] name = "pycparser" version = "2.21" @@ -311,7 +314,7 @@ diagrams = ["jinja2", "railroad-diagrams"] [[package]] name = "pyrsistent" -version = "0.18.1" +version = "0.19.2" description = "Persistent/Functional/Immutable data structures" category = "dev" optional = false @@ -319,7 +322,7 @@ python-versions = ">=3.7" [[package]] name = "pytest" -version = "7.1.3" +version = "7.2.0" description = "pytest: simple powerful testing with Python" category = "dev" optional = false @@ -328,12 +331,12 @@ python-versions = ">=3.7" [package.dependencies] attrs = ">=19.2.0" colorama = {version = "*", markers = "sys_platform == \"win32\""} +exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} iniconfig = "*" packaging = "*" pluggy = ">=0.12,<2.0" -py = ">=1.8.2" -tomli = ">=1.0.0" +tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""} [package.extras] testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"] @@ -418,7 +421,7 @@ python-versions = ">=3.7" [[package]] name = "typing-extensions" -version = "4.3.0" +version = "4.4.0" description = "Backported and Experimental Type Hints for Python 3.7+" category = "main" optional = false @@ -439,15 +442,15 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] [[package]] name = "zipp" -version = "3.8.1" +version = "3.10.0" description = "Backport of pathlib-compatible object wrapper for zip files" category = "main" optional = false python-versions = ">=3.7" [package.extras] -docs = ["jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx"] -testing = ["func-timeout", "jaraco.itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"] +testing = ["flake8 (<5)", "func-timeout", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] [metadata] lock-version = "1.1" @@ -464,12 +467,12 @@ attrs = [ {file = "attrs-22.1.0.tar.gz", hash = "sha256:29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6"}, ] boto3 = [ - {file = "boto3-1.24.88-py3-none-any.whl", hash = "sha256:6b4cf1cd0be65202c4cf0e4c69099bac3620bcd4049ca25a5e223c668401dd69"}, - {file = "boto3-1.24.88.tar.gz", hash = "sha256:93934343cac76084600a520e5be70c52152364d0c410681c2e25c2290f0e151c"}, + {file = "boto3-1.26.9-py3-none-any.whl", hash = "sha256:27efa5eb229364bc4643d9e182de0891f73c21b65ef80b5bd02a977caeaf595c"}, + {file = "boto3-1.26.9.tar.gz", hash = "sha256:15b059251990706c5d5a556c42a6e6e781a51edadf48a42afdd06bd313adfaf2"}, ] botocore = [ - {file = "botocore-1.27.88-py3-none-any.whl", hash = "sha256:de4e087b24cd3bc369eb2e27f8fe94a6499f7dea08c919fba13cefb2496bd2bb"}, - {file = "botocore-1.27.88.tar.gz", hash = "sha256:ded0a4035baf91eb358ef501c92a8512543f5ab7658f459df3077a70a555b5cd"}, + {file = "botocore-1.29.9-py3-none-any.whl", hash = "sha256:c876a7c6a07d7f86f46a8cc765f0d38999b84ac1d7b0666d6ce08c0503e13145"}, + {file = "botocore-1.29.9.tar.gz", hash = "sha256:01f168e2418419a6d8b335ecc4330faa6a7332d5a097029fc9b4a3ae3c41cea2"}, ] c7n = [] cached-property = [ @@ -555,13 +558,17 @@ click = [ {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"}, ] colorama = [ - {file = "colorama-0.4.5-py2.py3-none-any.whl", hash = "sha256:854bf444933e37f5824ae7bfc1e98d5bce2ebe4160d46b5edf346a89358e99da"}, - {file = "colorama-0.4.5.tar.gz", hash = "sha256:e6c6b4334fc50988a639d9b98aa429a0b57da6e17b9a44f0451f930b6967b7a4"}, + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] docutils = [ {file = "docutils-0.17.1-py2.py3-none-any.whl", hash = "sha256:cf316c8370a737a022b72b56874f6602acf974a37a9fba42ec2876387549fc61"}, {file = "docutils-0.17.1.tar.gz", hash = "sha256:686577d2e4c32380bb50cbb22f575ed742d58168cee37e99117a854bcd88f125"}, ] +exceptiongroup = [ + {file = "exceptiongroup-1.0.3-py3-none-any.whl", hash = "sha256:6002703c7d31fb9950ddc8780840f67880c440895dc1151dd551553aa1246e4a"}, + {file = "exceptiongroup-1.0.3.tar.gz", hash = "sha256:76cac74b5207c5997678a1c7105cb6f14213c9c63c096a38cfcb529d83ce5c02"}, +] idna = [ {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, @@ -571,8 +578,8 @@ importlib-metadata = [ {file = "importlib_metadata-4.13.0.tar.gz", hash = "sha256:dd0173e8f150d6815e098fd354f6414b0f079af4644ddfe90c71e2fc6174346d"}, ] importlib-resources = [ - {file = "importlib_resources-5.9.0-py3-none-any.whl", hash = "sha256:f78a8df21a79bcc30cfd400bdc38f314333de7c0fb619763f6b9dabab8268bb7"}, - {file = "importlib_resources-5.9.0.tar.gz", hash = "sha256:5481e97fb45af8dcf2f798952625591c58fe599d0735d86b10f54de086a61681"}, + {file = "importlib_resources-5.10.0-py3-none-any.whl", hash = "sha256:ee17ec648f85480d523596ce49eae8ead87d5631ae1551f913c0100b5edd3437"}, + {file = "importlib_resources-5.10.0.tar.gz", hash = "sha256:c01b1b94210d9849f286b86bb51bcea7cd56dde0600d8db721d7b81330711668"}, ] iniconfig = [ {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"}, @@ -583,8 +590,8 @@ jmespath = [ {file = "jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe"}, ] jsonschema = [ - {file = "jsonschema-4.16.0-py3-none-any.whl", hash = "sha256:9e74b8f9738d6a946d70705dc692b74b5429cd0960d58e79ffecfc43b2221eb9"}, - {file = "jsonschema-4.16.0.tar.gz", hash = "sha256:165059f076eff6971bae5b742fc029a7b4ef3f9bcf04c14e4776a7605de14b23"}, + {file = "jsonschema-4.17.0-py3-none-any.whl", hash = "sha256:f660066c3966db7d6daeaea8a75e0b68237a48e51cf49882087757bb59916248"}, + {file = "jsonschema-4.17.0.tar.gz", hash = "sha256:5bfcf2bca16a087ade17e02b282d34af7ccd749ef76241e7f9bd7c0cb8a9424d"}, ] mock = [ {file = "mock-4.0.3-py3-none-any.whl", hash = "sha256:122fcb64ee37cfad5b3f48d7a7d51875d7031aaf3d8be7c42e2bee25044eee62"}, @@ -602,10 +609,6 @@ pluggy = [ {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"}, {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"}, ] -py = [ - {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"}, - {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"}, -] pycparser = [ {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"}, {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"}, @@ -650,31 +653,32 @@ pyparsing = [ {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"}, ] pyrsistent = [ - {file = "pyrsistent-0.18.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:df46c854f490f81210870e509818b729db4488e1f30f2a1ce1698b2295a878d1"}, - {file = "pyrsistent-0.18.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d45866ececf4a5fff8742c25722da6d4c9e180daa7b405dc0a2a2790d668c26"}, - {file = "pyrsistent-0.18.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4ed6784ceac462a7d6fcb7e9b663e93b9a6fb373b7f43594f9ff68875788e01e"}, - {file = "pyrsistent-0.18.1-cp310-cp310-win32.whl", hash = "sha256:e4f3149fd5eb9b285d6bfb54d2e5173f6a116fe19172686797c056672689daf6"}, - {file = "pyrsistent-0.18.1-cp310-cp310-win_amd64.whl", hash = "sha256:636ce2dc235046ccd3d8c56a7ad54e99d5c1cd0ef07d9ae847306c91d11b5fec"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e92a52c166426efbe0d1ec1332ee9119b6d32fc1f0bbfd55d5c1088070e7fc1b"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d7a096646eab884bf8bed965bad63ea327e0d0c38989fc83c5ea7b8a87037bfc"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cdfd2c361b8a8e5d9499b9082b501c452ade8bbf42aef97ea04854f4a3f43b22"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-win32.whl", hash = "sha256:7ec335fc998faa4febe75cc5268a9eac0478b3f681602c1f27befaf2a1abe1d8"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-win_amd64.whl", hash = "sha256:6455fc599df93d1f60e1c5c4fe471499f08d190d57eca040c0ea182301321286"}, - {file = "pyrsistent-0.18.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:fd8da6d0124efa2f67d86fa70c851022f87c98e205f0594e1fae044e7119a5a6"}, - {file = "pyrsistent-0.18.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7bfe2388663fd18bd8ce7db2c91c7400bf3e1a9e8bd7d63bf7e77d39051b85ec"}, - {file = "pyrsistent-0.18.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e3e1fcc45199df76053026a51cc59ab2ea3fc7c094c6627e93b7b44cdae2c8c"}, - {file = "pyrsistent-0.18.1-cp38-cp38-win32.whl", hash = "sha256:b568f35ad53a7b07ed9b1b2bae09eb15cdd671a5ba5d2c66caee40dbf91c68ca"}, - {file = "pyrsistent-0.18.1-cp38-cp38-win_amd64.whl", hash = "sha256:d1b96547410f76078eaf66d282ddca2e4baae8964364abb4f4dcdde855cd123a"}, - {file = "pyrsistent-0.18.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f87cc2863ef33c709e237d4b5f4502a62a00fab450c9e020892e8e2ede5847f5"}, - {file = "pyrsistent-0.18.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bc66318fb7ee012071b2792024564973ecc80e9522842eb4e17743604b5e045"}, - {file = "pyrsistent-0.18.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:914474c9f1d93080338ace89cb2acee74f4f666fb0424896fcfb8d86058bf17c"}, - {file = "pyrsistent-0.18.1-cp39-cp39-win32.whl", hash = "sha256:1b34eedd6812bf4d33814fca1b66005805d3640ce53140ab8bbb1e2651b0d9bc"}, - {file = "pyrsistent-0.18.1-cp39-cp39-win_amd64.whl", hash = "sha256:e24a828f57e0c337c8d8bb9f6b12f09dfdf0273da25fda9e314f0b684b415a07"}, - {file = "pyrsistent-0.18.1.tar.gz", hash = "sha256:d4d61f8b993a7255ba714df3aca52700f8125289f84f704cf80916517c46eb96"}, + {file = "pyrsistent-0.19.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d6982b5a0237e1b7d876b60265564648a69b14017f3b5f908c5be2de3f9abb7a"}, + {file = "pyrsistent-0.19.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:187d5730b0507d9285a96fca9716310d572e5464cadd19f22b63a6976254d77a"}, + {file = "pyrsistent-0.19.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:055ab45d5911d7cae397dc418808d8802fb95262751872c841c170b0dbf51eed"}, + {file = "pyrsistent-0.19.2-cp310-cp310-win32.whl", hash = "sha256:456cb30ca8bff00596519f2c53e42c245c09e1a4543945703acd4312949bfd41"}, + {file = "pyrsistent-0.19.2-cp310-cp310-win_amd64.whl", hash = "sha256:b39725209e06759217d1ac5fcdb510e98670af9e37223985f330b611f62e7425"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2aede922a488861de0ad00c7630a6e2d57e8023e4be72d9d7147a9fcd2d30712"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:879b4c2f4d41585c42df4d7654ddffff1239dc4065bc88b745f0341828b83e78"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c43bec251bbd10e3cb58ced80609c5c1eb238da9ca78b964aea410fb820d00d6"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-win32.whl", hash = "sha256:d690b18ac4b3e3cab73b0b7aa7dbe65978a172ff94970ff98d82f2031f8971c2"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-win_amd64.whl", hash = "sha256:3ba4134a3ff0fc7ad225b6b457d1309f4698108fb6b35532d015dca8f5abed73"}, + {file = "pyrsistent-0.19.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a178209e2df710e3f142cbd05313ba0c5ebed0a55d78d9945ac7a4e09d923308"}, + {file = "pyrsistent-0.19.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e371b844cec09d8dc424d940e54bba8f67a03ebea20ff7b7b0d56f526c71d584"}, + {file = "pyrsistent-0.19.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:111156137b2e71f3a9936baf27cb322e8024dac3dc54ec7fb9f0bcf3249e68bb"}, + {file = "pyrsistent-0.19.2-cp38-cp38-win32.whl", hash = "sha256:e5d8f84d81e3729c3b506657dddfe46e8ba9c330bf1858ee33108f8bb2adb38a"}, + {file = "pyrsistent-0.19.2-cp38-cp38-win_amd64.whl", hash = "sha256:9cd3e9978d12b5d99cbdc727a3022da0430ad007dacf33d0bf554b96427f33ab"}, + {file = "pyrsistent-0.19.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f1258f4e6c42ad0b20f9cfcc3ada5bd6b83374516cd01c0960e3cb75fdca6770"}, + {file = "pyrsistent-0.19.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21455e2b16000440e896ab99e8304617151981ed40c29e9507ef1c2e4314ee95"}, + {file = "pyrsistent-0.19.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bfd880614c6237243ff53a0539f1cb26987a6dc8ac6e66e0c5a40617296a045e"}, + {file = "pyrsistent-0.19.2-cp39-cp39-win32.whl", hash = "sha256:71d332b0320642b3261e9fee47ab9e65872c2bd90260e5d225dabeed93cbd42b"}, + {file = "pyrsistent-0.19.2-cp39-cp39-win_amd64.whl", hash = "sha256:dec3eac7549869365fe263831f576c8457f6c833937c68542d08fde73457d291"}, + {file = "pyrsistent-0.19.2-py3-none-any.whl", hash = "sha256:ea6b79a02a28550c98b6ca9c35b9f492beaa54d7c5c9e9949555893c8a9234d0"}, + {file = "pyrsistent-0.19.2.tar.gz", hash = "sha256:bfa0351be89c9fcbcb8c9879b826f4353be10f58f8a677efab0c017bf7137ec2"}, ] pytest = [ - {file = "pytest-7.1.3-py3-none-any.whl", hash = "sha256:1377bda3466d70b55e3f5cecfa55bb7cfcf219c7964629b967c37cf0bda818b7"}, - {file = "pytest-7.1.3.tar.gz", hash = "sha256:4f365fec2dff9c1162f834d9f18af1ba13062db0c708bf7b946f8a5c76180c39"}, + {file = "pytest-7.2.0-py3-none-any.whl", hash = "sha256:892f933d339f068883b6fd5a459f03d85bfcb355e4981e146d2c7616c21fef71"}, + {file = "pytest-7.2.0.tar.gz", hash = "sha256:c4014eb40e10f11f355ad4e3c2fb2c6c6d1919c73f3b5a433de4708202cade59"}, ] python-dateutil = [ {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, @@ -743,14 +747,14 @@ tomli = [ {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, ] typing-extensions = [ - {file = "typing_extensions-4.3.0-py3-none-any.whl", hash = "sha256:25642c956049920a5aa49edcdd6ab1e06d7e5d467fc00e0506c44ac86fbfca02"}, - {file = "typing_extensions-4.3.0.tar.gz", hash = "sha256:e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6"}, + {file = "typing_extensions-4.4.0-py3-none-any.whl", hash = "sha256:16fa4864408f655d35ec496218b85f79b3437c829e93320c7c9215ccfd92489e"}, + {file = "typing_extensions-4.4.0.tar.gz", hash = "sha256:1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa"}, ] urllib3 = [ {file = "urllib3-1.26.12-py2.py3-none-any.whl", hash = "sha256:b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997"}, {file = "urllib3-1.26.12.tar.gz", hash = "sha256:3fa96cf423e6987997fc326ae8df396db2a8b7c667747d47ddd8ecba91f4a74e"}, ] zipp = [ - {file = "zipp-3.8.1-py3-none-any.whl", hash = "sha256:47c40d7fe183a6f21403a199b3e4192cca5774656965b0a4988ad2f8feb5f009"}, - {file = "zipp-3.8.1.tar.gz", hash = "sha256:05b45f1ee8f807d0cc928485ca40a07cb491cf092ff587c0df9cb1fd154848d2"}, + {file = "zipp-3.10.0-py3-none-any.whl", hash = "sha256:4fcb6f278987a6605757302a6e40e896257570d11c51628968ccb2a47e80c6c1"}, + {file = "zipp-3.10.0.tar.gz", hash = "sha256:7a7262fd930bd3e36c50b9a64897aec3fafff3dfdeec9623ae22b40e93f99bb8"}, ] diff --git a/tools/c7n_policystream/pyproject.toml b/tools/c7n_policystream/pyproject.toml index b679740daec..5e155a6108d 100644 --- a/tools/c7n_policystream/pyproject.toml +++ b/tools/c7n_policystream/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "c7n_policystream" -version = "0.4.19" +version = "0.4.20" description = "Cloud Custodian - Git Commits as Logical Policy Changes" readme = "README.md" homepage = "https://cloudcustodian.io" diff --git a/tools/c7n_policystream/requirements.txt b/tools/c7n_policystream/requirements.txt index 034d7306d20..50f0b5c25d7 100644 --- a/tools/c7n_policystream/requirements.txt +++ b/tools/c7n_policystream/requirements.txt @@ -1,11 +1,11 @@ -boto3==1.24.88 ; python_version >= "3.7" and python_version < "4.0" -botocore==1.27.88 ; python_version >= "3.7" and python_version < "4.0" +boto3==1.26.9 ; python_version >= "3.7" and python_version < "4.0" +botocore==1.29.9 ; python_version >= "3.7" and python_version < "4.0" cached-property==1.5.2 ; python_version >= "3.7" and python_version < "3.8" certifi==2022.9.24 ; python_version >= "3.7" and python_version < "4" cffi==1.15.1 ; python_version >= "3.7" and python_version < "4.0" charset-normalizer==2.1.1 ; python_version >= "3.7" and python_version < "4" click==8.1.3 ; python_version >= "3.7" and python_version < "4.0" -colorama==0.4.5 ; python_version >= "3.7" and python_version < "4.0" and platform_system == "Windows" +colorama==0.4.6 ; python_version >= "3.7" and python_version < "4.0" and platform_system == "Windows" idna==3.4 ; python_version >= "3.7" and python_version < "4" importlib-metadata==4.13.0 ; python_version >= "3.7" and python_version < "3.8" jmespath==1.0.1 ; python_version >= "3.7" and python_version < "4.0" @@ -16,6 +16,6 @@ pyyaml==6.0 ; python_version >= "3.7" and python_version < "4.0" requests==2.28.1 ; python_version >= "3.7" and python_version < "4" s3transfer==0.6.0 ; python_version >= "3.7" and python_version < "4.0" six==1.16.0 ; python_version >= "3.7" and python_version < "4.0" -typing-extensions==4.3.0 ; python_version >= "3.7" and python_version < "3.8" +typing-extensions==4.4.0 ; python_version >= "3.7" and python_version < "3.8" urllib3==1.26.12 ; python_version >= "3.7" and python_version < "4" -zipp==3.8.1 ; python_version >= "3.7" and python_version < "3.8" +zipp==3.10.0 ; python_version >= "3.7" and python_version < "3.8" diff --git a/tools/c7n_policystream/setup.py b/tools/c7n_policystream/setup.py index 20c024b36c1..6c15d014f27 100644 --- a/tools/c7n_policystream/setup.py +++ b/tools/c7n_policystream/setup.py @@ -8,19 +8,19 @@ install_requires = \ ['argcomplete (>=2.0.0,<3.0.0)', 'attrs (>=22.1.0,<23.0.0)', - 'boto3 (>=1.24.88,<2.0.0)', + 'boto3 (>=1.26.9,<2.0.0)', 'boto3>=1.12.0,<2.0.0', - 'botocore (>=1.27.88,<2.0.0)', - 'c7n (>=0.9.20,<0.10.0)', + 'botocore (>=1.29.9,<2.0.0)', + 'c7n (>=0.9.21,<0.10.0)', 'click>=8.0,<9.0', 'docutils (>=0.17.1,<0.18.0)', 'importlib-metadata (>=4.13.0,<5.0.0)', - 'importlib-resources (>=5.9.0,<6.0.0)', + 'importlib-resources (>=5.10.0,<6.0.0)', 'jmespath (>=1.0.1,<2.0.0)', - 'jsonschema (>=4.16.0,<5.0.0)', + 'jsonschema (>=4.17.0,<5.0.0)', 'pkgutil_resolve_name (>=1.3.10,<2.0.0)', 'pygit2>=1.9,<1.10', - 'pyrsistent (>=0.18.1,<0.19.0)', + 'pyrsistent (>=0.19.2,<0.20.0)', 'python-dateutil (>=2.8.2,<3.0.0)', 'pyyaml (>=6.0,<7.0)', 'pyyaml>=5.4.0', @@ -28,16 +28,16 @@ 's3transfer (>=0.6.0,<0.7.0)', 'six (>=1.16.0,<2.0.0)', 'tabulate (>=0.8.10,<0.9.0)', - 'typing-extensions (>=4.3.0,<5.0.0)', + 'typing-extensions (>=4.4.0,<5.0.0)', 'urllib3 (>=1.26.12,<2.0.0)', - 'zipp (>=3.8.1,<4.0.0)'] + 'zipp (>=3.10.0,<4.0.0)'] entry_points = \ {'console_scripts': ['c7n-policystream = policystream:cli']} setup_kwargs = { 'name': 'c7n-policystream', - 'version': '0.4.19', + 'version': '0.4.20', 'description': 'Cloud Custodian - Git Commits as Logical Policy Changes', 'license': 'Apache-2.0', 'classifiers': [ diff --git a/tools/c7n_sphinxext/poetry.lock b/tools/c7n_sphinxext/poetry.lock index 7eec075f2cc..74533a3238a 100644 --- a/tools/c7n_sphinxext/poetry.lock +++ b/tools/c7n_sphinxext/poetry.lock @@ -36,7 +36,7 @@ tests_no_zope = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy [[package]] name = "Babel" -version = "2.10.3" +version = "2.11.0" description = "Internationalization utilities" category = "main" optional = false @@ -47,14 +47,14 @@ pytz = ">=2015.7" [[package]] name = "boto3" -version = "1.24.88" +version = "1.26.9" description = "The AWS SDK for Python" category = "dev" optional = false python-versions = ">= 3.7" [package.dependencies] -botocore = ">=1.27.88,<1.28.0" +botocore = ">=1.29.9,<1.30.0" jmespath = ">=0.7.1,<2.0.0" s3transfer = ">=0.6.0,<0.7.0" @@ -63,7 +63,7 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] [[package]] name = "botocore" -version = "1.27.88" +version = "1.29.9" description = "Low-level, data-driven core of boto 3." category = "dev" optional = false @@ -79,7 +79,7 @@ crt = ["awscrt (==0.14.0)"] [[package]] name = "c7n" -version = "0.9.20" +version = "0.9.21" description = "Cloud Custodian - Policy Rules Engine" category = "dev" optional = false @@ -133,11 +133,11 @@ importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} [[package]] name = "colorama" -version = "0.4.5" +version = "0.4.6" description = "Cross-platform colored terminal text." category = "main" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" [[package]] name = "commonmark" @@ -193,7 +193,7 @@ testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packag [[package]] name = "importlib-resources" -version = "5.9.0" +version = "5.10.0" description = "Read resources from Python packages" category = "dev" optional = false @@ -203,8 +203,8 @@ python-versions = ">=3.7" zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} [package.extras] -docs = ["jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx"] -testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"] +testing = ["flake8 (<5)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] [[package]] name = "Jinja2" @@ -230,7 +230,7 @@ python-versions = ">=3.7" [[package]] name = "jsonschema" -version = "4.16.0" +version = "4.17.0" description = "An implementation of JSON Schema validation for Python" category = "dev" optional = false @@ -376,7 +376,7 @@ diagrams = ["jinja2", "railroad-diagrams"] [[package]] name = "pyrsistent" -version = "0.18.1" +version = "0.19.2" description = "Persistent/Functional/Immutable data structures" category = "dev" optional = false @@ -395,7 +395,7 @@ six = ">=1.5" [[package]] name = "pytz" -version = "2022.4" +version = "2022.6" description = "World timezone definitions, modern and historical" category = "main" optional = false @@ -515,18 +515,18 @@ markdown = "3.0.1" [[package]] name = "sphinx-rtd-theme" -version = "1.0.0" +version = "1.1.1" description = "Read the Docs theme for Sphinx" category = "main" optional = false -python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" [package.dependencies] docutils = "<0.18" -sphinx = ">=1.6" +sphinx = ">=1.6,<6" [package.extras] -dev = ["bump2version", "sphinxcontrib-httpdomain", "transifex-client"] +dev = ["bump2version", "sphinxcontrib-httpdomain", "transifex-client", "wheel"] [[package]] name = "sphinxcontrib-applehelp" @@ -612,7 +612,7 @@ widechars = ["wcwidth"] [[package]] name = "typing-extensions" -version = "4.3.0" +version = "4.4.0" description = "Backported and Experimental Type Hints for Python 3.7+" category = "main" optional = false @@ -633,15 +633,15 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] [[package]] name = "zipp" -version = "3.8.1" +version = "3.10.0" description = "Backport of pathlib-compatible object wrapper for zip files" category = "main" optional = false python-versions = ">=3.7" [package.extras] -docs = ["jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx"] -testing = ["func-timeout", "jaraco.itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"] +testing = ["flake8 (<5)", "func-timeout", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] [metadata] lock-version = "1.1" @@ -662,16 +662,16 @@ attrs = [ {file = "attrs-22.1.0.tar.gz", hash = "sha256:29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6"}, ] Babel = [ - {file = "Babel-2.10.3-py3-none-any.whl", hash = "sha256:ff56f4892c1c4bf0d814575ea23471c230d544203c7748e8c68f0089478d48eb"}, - {file = "Babel-2.10.3.tar.gz", hash = "sha256:7614553711ee97490f732126dc077f8d0ae084ebc6a96e23db1482afabdb2c51"}, + {file = "Babel-2.11.0-py3-none-any.whl", hash = "sha256:1ad3eca1c885218f6dce2ab67291178944f810a10a9b5f3cb8382a5a232b64fe"}, + {file = "Babel-2.11.0.tar.gz", hash = "sha256:5ef4b3226b0180dedded4229651c8b0e1a3a6a2837d45a073272f313e4cf97f6"}, ] boto3 = [ - {file = "boto3-1.24.88-py3-none-any.whl", hash = "sha256:6b4cf1cd0be65202c4cf0e4c69099bac3620bcd4049ca25a5e223c668401dd69"}, - {file = "boto3-1.24.88.tar.gz", hash = "sha256:93934343cac76084600a520e5be70c52152364d0c410681c2e25c2290f0e151c"}, + {file = "boto3-1.26.9-py3-none-any.whl", hash = "sha256:27efa5eb229364bc4643d9e182de0891f73c21b65ef80b5bd02a977caeaf595c"}, + {file = "boto3-1.26.9.tar.gz", hash = "sha256:15b059251990706c5d5a556c42a6e6e781a51edadf48a42afdd06bd313adfaf2"}, ] botocore = [ - {file = "botocore-1.27.88-py3-none-any.whl", hash = "sha256:de4e087b24cd3bc369eb2e27f8fe94a6499f7dea08c919fba13cefb2496bd2bb"}, - {file = "botocore-1.27.88.tar.gz", hash = "sha256:ded0a4035baf91eb358ef501c92a8512543f5ab7658f459df3077a70a555b5cd"}, + {file = "botocore-1.29.9-py3-none-any.whl", hash = "sha256:c876a7c6a07d7f86f46a8cc765f0d38999b84ac1d7b0666d6ce08c0503e13145"}, + {file = "botocore-1.29.9.tar.gz", hash = "sha256:01f168e2418419a6d8b335ecc4330faa6a7332d5a097029fc9b4a3ae3c41cea2"}, ] c7n = [] certifi = [ @@ -687,8 +687,8 @@ click = [ {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"}, ] colorama = [ - {file = "colorama-0.4.5-py2.py3-none-any.whl", hash = "sha256:854bf444933e37f5824ae7bfc1e98d5bce2ebe4160d46b5edf346a89358e99da"}, - {file = "colorama-0.4.5.tar.gz", hash = "sha256:e6c6b4334fc50988a639d9b98aa429a0b57da6e17b9a44f0451f930b6967b7a4"}, + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] commonmark = [ {file = "commonmark-0.9.1-py2.py3-none-any.whl", hash = "sha256:da2f38c92590f83de410ba1a3cbceafbc74fee9def35f9251ba9a971d6d66fd9"}, @@ -711,8 +711,8 @@ importlib-metadata = [ {file = "importlib_metadata-4.13.0.tar.gz", hash = "sha256:dd0173e8f150d6815e098fd354f6414b0f079af4644ddfe90c71e2fc6174346d"}, ] importlib-resources = [ - {file = "importlib_resources-5.9.0-py3-none-any.whl", hash = "sha256:f78a8df21a79bcc30cfd400bdc38f314333de7c0fb619763f6b9dabab8268bb7"}, - {file = "importlib_resources-5.9.0.tar.gz", hash = "sha256:5481e97fb45af8dcf2f798952625591c58fe599d0735d86b10f54de086a61681"}, + {file = "importlib_resources-5.10.0-py3-none-any.whl", hash = "sha256:ee17ec648f85480d523596ce49eae8ead87d5631ae1551f913c0100b5edd3437"}, + {file = "importlib_resources-5.10.0.tar.gz", hash = "sha256:c01b1b94210d9849f286b86bb51bcea7cd56dde0600d8db721d7b81330711668"}, ] Jinja2 = [ {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, @@ -723,8 +723,8 @@ jmespath = [ {file = "jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe"}, ] jsonschema = [ - {file = "jsonschema-4.16.0-py3-none-any.whl", hash = "sha256:9e74b8f9738d6a946d70705dc692b74b5429cd0960d58e79ffecfc43b2221eb9"}, - {file = "jsonschema-4.16.0.tar.gz", hash = "sha256:165059f076eff6971bae5b742fc029a7b4ef3f9bcf04c14e4776a7605de14b23"}, + {file = "jsonschema-4.17.0-py3-none-any.whl", hash = "sha256:f660066c3966db7d6daeaea8a75e0b68237a48e51cf49882087757bb59916248"}, + {file = "jsonschema-4.17.0.tar.gz", hash = "sha256:5bfcf2bca16a087ade17e02b282d34af7ccd749ef76241e7f9bd7c0cb8a9424d"}, ] Markdown = [ {file = "Markdown-3.0.1-py2.py3-none-any.whl", hash = "sha256:c00429bd503a47ec88d5e30a751e147dcb4c6889663cd3e2ba0afe858e009baa"}, @@ -805,35 +805,36 @@ pyparsing = [ {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"}, ] pyrsistent = [ - {file = "pyrsistent-0.18.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:df46c854f490f81210870e509818b729db4488e1f30f2a1ce1698b2295a878d1"}, - {file = "pyrsistent-0.18.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d45866ececf4a5fff8742c25722da6d4c9e180daa7b405dc0a2a2790d668c26"}, - {file = "pyrsistent-0.18.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4ed6784ceac462a7d6fcb7e9b663e93b9a6fb373b7f43594f9ff68875788e01e"}, - {file = "pyrsistent-0.18.1-cp310-cp310-win32.whl", hash = "sha256:e4f3149fd5eb9b285d6bfb54d2e5173f6a116fe19172686797c056672689daf6"}, - {file = "pyrsistent-0.18.1-cp310-cp310-win_amd64.whl", hash = "sha256:636ce2dc235046ccd3d8c56a7ad54e99d5c1cd0ef07d9ae847306c91d11b5fec"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e92a52c166426efbe0d1ec1332ee9119b6d32fc1f0bbfd55d5c1088070e7fc1b"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d7a096646eab884bf8bed965bad63ea327e0d0c38989fc83c5ea7b8a87037bfc"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cdfd2c361b8a8e5d9499b9082b501c452ade8bbf42aef97ea04854f4a3f43b22"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-win32.whl", hash = "sha256:7ec335fc998faa4febe75cc5268a9eac0478b3f681602c1f27befaf2a1abe1d8"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-win_amd64.whl", hash = "sha256:6455fc599df93d1f60e1c5c4fe471499f08d190d57eca040c0ea182301321286"}, - {file = "pyrsistent-0.18.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:fd8da6d0124efa2f67d86fa70c851022f87c98e205f0594e1fae044e7119a5a6"}, - {file = "pyrsistent-0.18.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7bfe2388663fd18bd8ce7db2c91c7400bf3e1a9e8bd7d63bf7e77d39051b85ec"}, - {file = "pyrsistent-0.18.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e3e1fcc45199df76053026a51cc59ab2ea3fc7c094c6627e93b7b44cdae2c8c"}, - {file = "pyrsistent-0.18.1-cp38-cp38-win32.whl", hash = "sha256:b568f35ad53a7b07ed9b1b2bae09eb15cdd671a5ba5d2c66caee40dbf91c68ca"}, - {file = "pyrsistent-0.18.1-cp38-cp38-win_amd64.whl", hash = "sha256:d1b96547410f76078eaf66d282ddca2e4baae8964364abb4f4dcdde855cd123a"}, - {file = "pyrsistent-0.18.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f87cc2863ef33c709e237d4b5f4502a62a00fab450c9e020892e8e2ede5847f5"}, - {file = "pyrsistent-0.18.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bc66318fb7ee012071b2792024564973ecc80e9522842eb4e17743604b5e045"}, - {file = "pyrsistent-0.18.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:914474c9f1d93080338ace89cb2acee74f4f666fb0424896fcfb8d86058bf17c"}, - {file = "pyrsistent-0.18.1-cp39-cp39-win32.whl", hash = "sha256:1b34eedd6812bf4d33814fca1b66005805d3640ce53140ab8bbb1e2651b0d9bc"}, - {file = "pyrsistent-0.18.1-cp39-cp39-win_amd64.whl", hash = "sha256:e24a828f57e0c337c8d8bb9f6b12f09dfdf0273da25fda9e314f0b684b415a07"}, - {file = "pyrsistent-0.18.1.tar.gz", hash = "sha256:d4d61f8b993a7255ba714df3aca52700f8125289f84f704cf80916517c46eb96"}, + {file = "pyrsistent-0.19.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d6982b5a0237e1b7d876b60265564648a69b14017f3b5f908c5be2de3f9abb7a"}, + {file = "pyrsistent-0.19.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:187d5730b0507d9285a96fca9716310d572e5464cadd19f22b63a6976254d77a"}, + {file = "pyrsistent-0.19.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:055ab45d5911d7cae397dc418808d8802fb95262751872c841c170b0dbf51eed"}, + {file = "pyrsistent-0.19.2-cp310-cp310-win32.whl", hash = "sha256:456cb30ca8bff00596519f2c53e42c245c09e1a4543945703acd4312949bfd41"}, + {file = "pyrsistent-0.19.2-cp310-cp310-win_amd64.whl", hash = "sha256:b39725209e06759217d1ac5fcdb510e98670af9e37223985f330b611f62e7425"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2aede922a488861de0ad00c7630a6e2d57e8023e4be72d9d7147a9fcd2d30712"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:879b4c2f4d41585c42df4d7654ddffff1239dc4065bc88b745f0341828b83e78"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c43bec251bbd10e3cb58ced80609c5c1eb238da9ca78b964aea410fb820d00d6"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-win32.whl", hash = "sha256:d690b18ac4b3e3cab73b0b7aa7dbe65978a172ff94970ff98d82f2031f8971c2"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-win_amd64.whl", hash = "sha256:3ba4134a3ff0fc7ad225b6b457d1309f4698108fb6b35532d015dca8f5abed73"}, + {file = "pyrsistent-0.19.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a178209e2df710e3f142cbd05313ba0c5ebed0a55d78d9945ac7a4e09d923308"}, + {file = "pyrsistent-0.19.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e371b844cec09d8dc424d940e54bba8f67a03ebea20ff7b7b0d56f526c71d584"}, + {file = "pyrsistent-0.19.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:111156137b2e71f3a9936baf27cb322e8024dac3dc54ec7fb9f0bcf3249e68bb"}, + {file = "pyrsistent-0.19.2-cp38-cp38-win32.whl", hash = "sha256:e5d8f84d81e3729c3b506657dddfe46e8ba9c330bf1858ee33108f8bb2adb38a"}, + {file = "pyrsistent-0.19.2-cp38-cp38-win_amd64.whl", hash = "sha256:9cd3e9978d12b5d99cbdc727a3022da0430ad007dacf33d0bf554b96427f33ab"}, + {file = "pyrsistent-0.19.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f1258f4e6c42ad0b20f9cfcc3ada5bd6b83374516cd01c0960e3cb75fdca6770"}, + {file = "pyrsistent-0.19.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21455e2b16000440e896ab99e8304617151981ed40c29e9507ef1c2e4314ee95"}, + {file = "pyrsistent-0.19.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bfd880614c6237243ff53a0539f1cb26987a6dc8ac6e66e0c5a40617296a045e"}, + {file = "pyrsistent-0.19.2-cp39-cp39-win32.whl", hash = "sha256:71d332b0320642b3261e9fee47ab9e65872c2bd90260e5d225dabeed93cbd42b"}, + {file = "pyrsistent-0.19.2-cp39-cp39-win_amd64.whl", hash = "sha256:dec3eac7549869365fe263831f576c8457f6c833937c68542d08fde73457d291"}, + {file = "pyrsistent-0.19.2-py3-none-any.whl", hash = "sha256:ea6b79a02a28550c98b6ca9c35b9f492beaa54d7c5c9e9949555893c8a9234d0"}, + {file = "pyrsistent-0.19.2.tar.gz", hash = "sha256:bfa0351be89c9fcbcb8c9879b826f4353be10f58f8a677efab0c017bf7137ec2"}, ] python-dateutil = [ {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, ] pytz = [ - {file = "pytz-2022.4-py2.py3-none-any.whl", hash = "sha256:2c0784747071402c6e99f0bafdb7da0fa22645f06554c7ae06bf6358897e9c91"}, - {file = "pytz-2022.4.tar.gz", hash = "sha256:48ce799d83b6f8aab2020e369b627446696619e79645419610b9facd909b3174"}, + {file = "pytz-2022.6-py2.py3-none-any.whl", hash = "sha256:222439474e9c98fced559f1709d89e6c9cbf8d79c794ff3eb9f8800064291427"}, + {file = "pytz-2022.6.tar.gz", hash = "sha256:e89512406b793ca39f5971bc999cc538ce125c0e51c27941bef4568b460095e2"}, ] PyYAML = [ {file = "PyYAML-6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53"}, @@ -906,8 +907,8 @@ sphinx-markdown-tables = [ {file = "sphinx_markdown_tables-0.0.12-py3-none-any.whl", hash = "sha256:ecfc7fd2e02c339fcf12eb9cbcf59fedeb5ff54b6fe666df6e0791a03ece9b05"}, ] sphinx-rtd-theme = [ - {file = "sphinx_rtd_theme-1.0.0-py2.py3-none-any.whl", hash = "sha256:4d35a56f4508cfee4c4fb604373ede6feae2a306731d533f409ef5c3496fdbd8"}, - {file = "sphinx_rtd_theme-1.0.0.tar.gz", hash = "sha256:eec6d497e4c2195fa0e8b2016b337532b8a699a68bcb22a512870e16925c6a5c"}, + {file = "sphinx_rtd_theme-1.1.1-py2.py3-none-any.whl", hash = "sha256:31faa07d3e97c8955637fc3f1423a5ab2c44b74b8cc558a51498c202ce5cbda7"}, + {file = "sphinx_rtd_theme-1.1.1.tar.gz", hash = "sha256:6146c845f1e1947b3c3dd4432c28998a1693ccc742b4f9ad7c63129f0757c103"}, ] sphinxcontrib-applehelp = [ {file = "sphinxcontrib-applehelp-1.0.2.tar.gz", hash = "sha256:a072735ec80e7675e3f432fcae8610ecf509c5f1869d17e2eecff44389cdbc58"}, @@ -938,14 +939,14 @@ tabulate = [ {file = "tabulate-0.8.10.tar.gz", hash = "sha256:6c57f3f3dd7ac2782770155f3adb2db0b1a269637e42f27599925e64b114f519"}, ] typing-extensions = [ - {file = "typing_extensions-4.3.0-py3-none-any.whl", hash = "sha256:25642c956049920a5aa49edcdd6ab1e06d7e5d467fc00e0506c44ac86fbfca02"}, - {file = "typing_extensions-4.3.0.tar.gz", hash = "sha256:e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6"}, + {file = "typing_extensions-4.4.0-py3-none-any.whl", hash = "sha256:16fa4864408f655d35ec496218b85f79b3437c829e93320c7c9215ccfd92489e"}, + {file = "typing_extensions-4.4.0.tar.gz", hash = "sha256:1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa"}, ] urllib3 = [ {file = "urllib3-1.26.12-py2.py3-none-any.whl", hash = "sha256:b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997"}, {file = "urllib3-1.26.12.tar.gz", hash = "sha256:3fa96cf423e6987997fc326ae8df396db2a8b7c667747d47ddd8ecba91f4a74e"}, ] zipp = [ - {file = "zipp-3.8.1-py3-none-any.whl", hash = "sha256:47c40d7fe183a6f21403a199b3e4192cca5774656965b0a4988ad2f8feb5f009"}, - {file = "zipp-3.8.1.tar.gz", hash = "sha256:05b45f1ee8f807d0cc928485ca40a07cb491cf092ff587c0df9cb1fd154848d2"}, + {file = "zipp-3.10.0-py3-none-any.whl", hash = "sha256:4fcb6f278987a6605757302a6e40e896257570d11c51628968ccb2a47e80c6c1"}, + {file = "zipp-3.10.0.tar.gz", hash = "sha256:7a7262fd930bd3e36c50b9a64897aec3fafff3dfdeec9623ae22b40e93f99bb8"}, ] diff --git a/tools/c7n_sphinxext/pyproject.toml b/tools/c7n_sphinxext/pyproject.toml index 03d1b27f03e..377204d7073 100644 --- a/tools/c7n_sphinxext/pyproject.toml +++ b/tools/c7n_sphinxext/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "c7n_sphinxext" -version = "1.1.19" +version = "1.1.20" description = "Cloud Custodian - Sphinx Extensions" authors = ["Cloud Custodian Project"] license = "Apache-2.0" diff --git a/tools/c7n_sphinxext/requirements.txt b/tools/c7n_sphinxext/requirements.txt index 66bd393374e..9e9417e256d 100644 --- a/tools/c7n_sphinxext/requirements.txt +++ b/tools/c7n_sphinxext/requirements.txt @@ -1,9 +1,9 @@ alabaster==0.7.12 ; python_version >= "3.7" and python_version < "4.0" -babel==2.10.3 ; python_version >= "3.7" and python_version < "4.0" +babel==2.11.0 ; python_version >= "3.7" and python_version < "4.0" certifi==2022.9.24 ; python_version >= "3.7" and python_version < "4" charset-normalizer==2.1.1 ; python_version >= "3.7" and python_version < "4" click==8.1.3 ; python_version >= "3.7" and python_version < "4.0" -colorama==0.4.5 ; python_version >= "3.7" and python_version < "4.0" and sys_platform == "win32" or python_version >= "3.7" and python_version < "4.0" and platform_system == "Windows" +colorama==0.4.6 ; python_version >= "3.7" and python_version < "4.0" and sys_platform == "win32" or python_version >= "3.7" and python_version < "4.0" and platform_system == "Windows" commonmark==0.9.1 ; python_version >= "3.7" and python_version < "4.0" docutils==0.17.1 ; python_version >= "3.7" and python_version < "4.0" idna==3.4 ; python_version >= "3.7" and python_version < "4" @@ -19,13 +19,13 @@ myst-parser==0.18.1 ; python_version >= "3.7" and python_version < "4.0" packaging==21.3 ; python_version >= "3.7" and python_version < "4.0" pygments==2.13.0 ; python_version >= "3.7" and python_version < "4.0" pyparsing==3.0.9 ; python_version >= "3.7" and python_version < "4.0" -pytz==2022.4 ; python_version >= "3.7" and python_version < "4.0" +pytz==2022.6 ; python_version >= "3.7" and python_version < "4.0" pyyaml==6.0 ; python_version >= "3.7" and python_version < "4.0" recommonmark==0.6.0 ; python_version >= "3.7" and python_version < "4.0" requests==2.28.1 ; python_version >= "3.7" and python_version < "4" snowballstemmer==2.2.0 ; python_version >= "3.7" and python_version < "4.0" sphinx-markdown-tables==0.0.12 ; python_version >= "3.7" and python_version < "4.0" -sphinx-rtd-theme==1.0.0 ; python_version >= "3.7" and python_version < "4.0" +sphinx-rtd-theme==1.1.1 ; python_version >= "3.7" and python_version < "4.0" sphinx==4.5.0 ; python_version >= "3.7" and python_version < "4.0" sphinxcontrib-applehelp==1.0.2 ; python_version >= "3.7" and python_version < "4.0" sphinxcontrib-devhelp==1.0.2 ; python_version >= "3.7" and python_version < "4.0" @@ -33,6 +33,6 @@ sphinxcontrib-htmlhelp==2.0.0 ; python_version >= "3.7" and python_version < "4. sphinxcontrib-jsmath==1.0.1 ; python_version >= "3.7" and python_version < "4.0" sphinxcontrib-qthelp==1.0.3 ; python_version >= "3.7" and python_version < "4.0" sphinxcontrib-serializinghtml==1.1.5 ; python_version >= "3.7" and python_version < "4.0" -typing-extensions==4.3.0 ; python_version >= "3.7" and python_version < "4.0" +typing-extensions==4.4.0 ; python_version >= "3.7" and python_version < "4.0" urllib3==1.26.12 ; python_version >= "3.7" and python_version < "4" -zipp==3.8.1 ; python_version >= "3.7" and python_version < "3.10" +zipp==3.10.0 ; python_version >= "3.7" and python_version < "3.10" diff --git a/tools/c7n_sphinxext/setup.py b/tools/c7n_sphinxext/setup.py index 2e760cddaf2..cd61c1018d8 100644 --- a/tools/c7n_sphinxext/setup.py +++ b/tools/c7n_sphinxext/setup.py @@ -14,19 +14,19 @@ 'Sphinx>=4.2.0,<5.0.0', 'argcomplete (>=2.0.0,<3.0.0)', 'attrs (>=22.1.0,<23.0.0)', - 'boto3 (>=1.24.88,<2.0.0)', - 'botocore (>=1.27.88,<2.0.0)', - 'c7n (>=0.9.20,<0.10.0)', + 'boto3 (>=1.26.9,<2.0.0)', + 'botocore (>=1.29.9,<2.0.0)', + 'c7n (>=0.9.21,<0.10.0)', 'click>=8.0,<9.0', 'docutils (>=0.17.1,<0.18.0)', 'docutils>=0.14,<0.18', 'importlib-metadata (>=4.13.0,<5.0.0)', - 'importlib-resources (>=5.9.0,<6.0.0)', + 'importlib-resources (>=5.10.0,<6.0.0)', 'jmespath (>=1.0.1,<2.0.0)', - 'jsonschema (>=4.16.0,<5.0.0)', + 'jsonschema (>=4.17.0,<5.0.0)', 'myst-parser>=0.18.0,<0.19.0', 'pkgutil_resolve_name (>=1.3.10,<2.0.0)', - 'pyrsistent (>=0.18.1,<0.19.0)', + 'pyrsistent (>=0.19.2,<0.20.0)', 'python-dateutil (>=2.8.2,<3.0.0)', 'pyyaml (>=6.0,<7.0)', 'recommonmark>=0.6.0,<0.7.0', @@ -35,16 +35,16 @@ 'sphinx-rtd-theme>=1.0.0,<2.0.0', 'sphinx_markdown_tables>=0.0.12,<0.0.13', 'tabulate (>=0.8.10,<0.9.0)', - 'typing-extensions (>=4.3.0,<5.0.0)', + 'typing-extensions (>=4.4.0,<5.0.0)', 'urllib3 (>=1.26.12,<2.0.0)', - 'zipp (>=3.8.1,<4.0.0)'] + 'zipp (>=3.10.0,<4.0.0)'] entry_points = \ {'console_scripts': ['c7n-sphinxext = c7n_sphinxext.docgen:main']} setup_kwargs = { 'name': 'c7n-sphinxext', - 'version': '1.1.19', + 'version': '1.1.20', 'description': 'Cloud Custodian - Sphinx Extensions', 'license': 'Apache-2.0', 'classifiers': [ diff --git a/tools/c7n_tencentcloud/poetry.lock b/tools/c7n_tencentcloud/poetry.lock index 626ad6e744f..ab1f43ffb37 100644 --- a/tools/c7n_tencentcloud/poetry.lock +++ b/tools/c7n_tencentcloud/poetry.lock @@ -28,14 +28,14 @@ tests_no_zope = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy [[package]] name = "boto3" -version = "1.24.88" +version = "1.26.9" description = "The AWS SDK for Python" category = "dev" optional = false python-versions = ">= 3.7" [package.dependencies] -botocore = ">=1.27.88,<1.28.0" +botocore = ">=1.29.9,<1.30.0" jmespath = ">=0.7.1,<2.0.0" s3transfer = ">=0.6.0,<0.7.0" @@ -44,7 +44,7 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] [[package]] name = "botocore" -version = "1.27.88" +version = "1.29.9" description = "Low-level, data-driven core of boto 3." category = "dev" optional = false @@ -60,7 +60,7 @@ crt = ["awscrt (==0.14.0)"] [[package]] name = "c7n" -version = "0.9.20" +version = "0.9.21" description = "Cloud Custodian - Policy Rules Engine" category = "dev" optional = false @@ -102,11 +102,11 @@ unicode_backport = ["unicodedata2"] [[package]] name = "colorama" -version = "0.4.5" +version = "0.4.6" description = "Cross-platform colored terminal text." category = "dev" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" [[package]] name = "coverage" @@ -130,6 +130,17 @@ category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +[[package]] +name = "exceptiongroup" +version = "1.0.3" +description = "Backport of PEP 654 (exception groups)" +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.extras] +test = ["pytest (>=6)"] + [[package]] name = "freezegun" version = "1.2.2" @@ -168,7 +179,7 @@ testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packag [[package]] name = "importlib-resources" -version = "5.9.0" +version = "5.10.0" description = "Read resources from Python packages" category = "dev" optional = false @@ -178,8 +189,8 @@ python-versions = ">=3.7" zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} [package.extras] -docs = ["jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx"] -testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"] +testing = ["flake8 (<5)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] [[package]] name = "iniconfig" @@ -199,7 +210,7 @@ python-versions = ">=3.7" [[package]] name = "jsonschema" -version = "4.16.0" +version = "4.17.0" description = "An implementation of JSON Schema validation for Python" category = "dev" optional = false @@ -267,14 +278,6 @@ importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} dev = ["pre-commit", "tox"] testing = ["pytest", "pytest-benchmark"] -[[package]] -name = "py" -version = "1.11.0" -description = "library with cross-python path, ini-parsing, io, code, log facilities" -category = "dev" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" - [[package]] name = "pyparsing" version = "3.0.9" @@ -288,7 +291,7 @@ diagrams = ["jinja2", "railroad-diagrams"] [[package]] name = "pyrsistent" -version = "0.18.1" +version = "0.19.2" description = "Persistent/Functional/Immutable data structures" category = "dev" optional = false @@ -296,7 +299,7 @@ python-versions = ">=3.7" [[package]] name = "pytest" -version = "7.1.3" +version = "7.2.0" description = "pytest: simple powerful testing with Python" category = "dev" optional = false @@ -305,12 +308,12 @@ python-versions = ">=3.7" [package.dependencies] attrs = ">=19.2.0" colorama = {version = "*", markers = "sys_platform == \"win32\""} +exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} iniconfig = "*" packaging = "*" pluggy = ">=0.12,<2.0" -py = ">=1.8.2" -tomli = ">=1.0.0" +tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""} [package.extras] testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"] @@ -356,7 +359,7 @@ six = ">=1.5" [[package]] name = "pytz" -version = "2022.4" +version = "2022.6" description = "World timezone definitions, modern and historical" category = "main" optional = false @@ -434,7 +437,7 @@ widechars = ["wcwidth"] [[package]] name = "tencentcloud-sdk-python" -version = "3.0.745" +version = "3.0.771" description = "Tencent Cloud SDK for Python" category = "main" optional = false @@ -453,7 +456,7 @@ python-versions = ">=3.7" [[package]] name = "typing-extensions" -version = "4.3.0" +version = "4.4.0" description = "Backported and Experimental Type Hints for Python 3.7+" category = "dev" optional = false @@ -509,15 +512,15 @@ typing-extensions = {version = ">=3.7.4", markers = "python_version < \"3.8\""} [[package]] name = "zipp" -version = "3.8.1" +version = "3.10.0" description = "Backport of pathlib-compatible object wrapper for zip files" category = "dev" optional = false python-versions = ">=3.7" [package.extras] -docs = ["jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx"] -testing = ["func-timeout", "jaraco.itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"] +testing = ["flake8 (<5)", "func-timeout", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] [metadata] lock-version = "1.1" @@ -534,12 +537,12 @@ attrs = [ {file = "attrs-22.1.0.tar.gz", hash = "sha256:29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6"}, ] boto3 = [ - {file = "boto3-1.24.88-py3-none-any.whl", hash = "sha256:6b4cf1cd0be65202c4cf0e4c69099bac3620bcd4049ca25a5e223c668401dd69"}, - {file = "boto3-1.24.88.tar.gz", hash = "sha256:93934343cac76084600a520e5be70c52152364d0c410681c2e25c2290f0e151c"}, + {file = "boto3-1.26.9-py3-none-any.whl", hash = "sha256:27efa5eb229364bc4643d9e182de0891f73c21b65ef80b5bd02a977caeaf595c"}, + {file = "boto3-1.26.9.tar.gz", hash = "sha256:15b059251990706c5d5a556c42a6e6e781a51edadf48a42afdd06bd313adfaf2"}, ] botocore = [ - {file = "botocore-1.27.88-py3-none-any.whl", hash = "sha256:de4e087b24cd3bc369eb2e27f8fe94a6499f7dea08c919fba13cefb2496bd2bb"}, - {file = "botocore-1.27.88.tar.gz", hash = "sha256:ded0a4035baf91eb358ef501c92a8512543f5ab7658f459df3077a70a555b5cd"}, + {file = "botocore-1.29.9-py3-none-any.whl", hash = "sha256:c876a7c6a07d7f86f46a8cc765f0d38999b84ac1d7b0666d6ce08c0503e13145"}, + {file = "botocore-1.29.9.tar.gz", hash = "sha256:01f168e2418419a6d8b335ecc4330faa6a7332d5a097029fc9b4a3ae3c41cea2"}, ] c7n = [] certifi = [ @@ -551,8 +554,8 @@ charset-normalizer = [ {file = "charset_normalizer-2.1.1-py3-none-any.whl", hash = "sha256:83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f"}, ] colorama = [ - {file = "colorama-0.4.5-py2.py3-none-any.whl", hash = "sha256:854bf444933e37f5824ae7bfc1e98d5bce2ebe4160d46b5edf346a89358e99da"}, - {file = "colorama-0.4.5.tar.gz", hash = "sha256:e6c6b4334fc50988a639d9b98aa429a0b57da6e17b9a44f0451f930b6967b7a4"}, + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] coverage = [ {file = "coverage-6.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ef8674b0ee8cc11e2d574e3e2998aea5df5ab242e012286824ea3c6970580e53"}, @@ -610,6 +613,10 @@ docutils = [ {file = "docutils-0.17.1-py2.py3-none-any.whl", hash = "sha256:cf316c8370a737a022b72b56874f6602acf974a37a9fba42ec2876387549fc61"}, {file = "docutils-0.17.1.tar.gz", hash = "sha256:686577d2e4c32380bb50cbb22f575ed742d58168cee37e99117a854bcd88f125"}, ] +exceptiongroup = [ + {file = "exceptiongroup-1.0.3-py3-none-any.whl", hash = "sha256:6002703c7d31fb9950ddc8780840f67880c440895dc1151dd551553aa1246e4a"}, + {file = "exceptiongroup-1.0.3.tar.gz", hash = "sha256:76cac74b5207c5997678a1c7105cb6f14213c9c63c096a38cfcb529d83ce5c02"}, +] freezegun = [ {file = "freezegun-1.2.2-py3-none-any.whl", hash = "sha256:ea1b963b993cb9ea195adbd893a48d573fda951b0da64f60883d7e988b606c9f"}, {file = "freezegun-1.2.2.tar.gz", hash = "sha256:cd22d1ba06941384410cd967d8a99d5ae2442f57dfafeff2fda5de8dc5c05446"}, @@ -623,8 +630,8 @@ importlib-metadata = [ {file = "importlib_metadata-4.13.0.tar.gz", hash = "sha256:dd0173e8f150d6815e098fd354f6414b0f079af4644ddfe90c71e2fc6174346d"}, ] importlib-resources = [ - {file = "importlib_resources-5.9.0-py3-none-any.whl", hash = "sha256:f78a8df21a79bcc30cfd400bdc38f314333de7c0fb619763f6b9dabab8268bb7"}, - {file = "importlib_resources-5.9.0.tar.gz", hash = "sha256:5481e97fb45af8dcf2f798952625591c58fe599d0735d86b10f54de086a61681"}, + {file = "importlib_resources-5.10.0-py3-none-any.whl", hash = "sha256:ee17ec648f85480d523596ce49eae8ead87d5631ae1551f913c0100b5edd3437"}, + {file = "importlib_resources-5.10.0.tar.gz", hash = "sha256:c01b1b94210d9849f286b86bb51bcea7cd56dde0600d8db721d7b81330711668"}, ] iniconfig = [ {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"}, @@ -635,8 +642,8 @@ jmespath = [ {file = "jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe"}, ] jsonschema = [ - {file = "jsonschema-4.16.0-py3-none-any.whl", hash = "sha256:9e74b8f9738d6a946d70705dc692b74b5429cd0960d58e79ffecfc43b2221eb9"}, - {file = "jsonschema-4.16.0.tar.gz", hash = "sha256:165059f076eff6971bae5b742fc029a7b4ef3f9bcf04c14e4776a7605de14b23"}, + {file = "jsonschema-4.17.0-py3-none-any.whl", hash = "sha256:f660066c3966db7d6daeaea8a75e0b68237a48e51cf49882087757bb59916248"}, + {file = "jsonschema-4.17.0.tar.gz", hash = "sha256:5bfcf2bca16a087ade17e02b282d34af7ccd749ef76241e7f9bd7c0cb8a9424d"}, ] multidict = [ {file = "multidict-6.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b9e95a740109c6047602f4db4da9949e6c5945cefbad34a1299775ddc9a62e2"}, @@ -714,40 +721,37 @@ pluggy = [ {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"}, {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"}, ] -py = [ - {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"}, - {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"}, -] pyparsing = [ {file = "pyparsing-3.0.9-py3-none-any.whl", hash = "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"}, {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"}, ] pyrsistent = [ - {file = "pyrsistent-0.18.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:df46c854f490f81210870e509818b729db4488e1f30f2a1ce1698b2295a878d1"}, - {file = "pyrsistent-0.18.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d45866ececf4a5fff8742c25722da6d4c9e180daa7b405dc0a2a2790d668c26"}, - {file = "pyrsistent-0.18.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4ed6784ceac462a7d6fcb7e9b663e93b9a6fb373b7f43594f9ff68875788e01e"}, - {file = "pyrsistent-0.18.1-cp310-cp310-win32.whl", hash = "sha256:e4f3149fd5eb9b285d6bfb54d2e5173f6a116fe19172686797c056672689daf6"}, - {file = "pyrsistent-0.18.1-cp310-cp310-win_amd64.whl", hash = "sha256:636ce2dc235046ccd3d8c56a7ad54e99d5c1cd0ef07d9ae847306c91d11b5fec"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e92a52c166426efbe0d1ec1332ee9119b6d32fc1f0bbfd55d5c1088070e7fc1b"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d7a096646eab884bf8bed965bad63ea327e0d0c38989fc83c5ea7b8a87037bfc"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cdfd2c361b8a8e5d9499b9082b501c452ade8bbf42aef97ea04854f4a3f43b22"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-win32.whl", hash = "sha256:7ec335fc998faa4febe75cc5268a9eac0478b3f681602c1f27befaf2a1abe1d8"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-win_amd64.whl", hash = "sha256:6455fc599df93d1f60e1c5c4fe471499f08d190d57eca040c0ea182301321286"}, - {file = "pyrsistent-0.18.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:fd8da6d0124efa2f67d86fa70c851022f87c98e205f0594e1fae044e7119a5a6"}, - {file = "pyrsistent-0.18.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7bfe2388663fd18bd8ce7db2c91c7400bf3e1a9e8bd7d63bf7e77d39051b85ec"}, - {file = "pyrsistent-0.18.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e3e1fcc45199df76053026a51cc59ab2ea3fc7c094c6627e93b7b44cdae2c8c"}, - {file = "pyrsistent-0.18.1-cp38-cp38-win32.whl", hash = "sha256:b568f35ad53a7b07ed9b1b2bae09eb15cdd671a5ba5d2c66caee40dbf91c68ca"}, - {file = "pyrsistent-0.18.1-cp38-cp38-win_amd64.whl", hash = "sha256:d1b96547410f76078eaf66d282ddca2e4baae8964364abb4f4dcdde855cd123a"}, - {file = "pyrsistent-0.18.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f87cc2863ef33c709e237d4b5f4502a62a00fab450c9e020892e8e2ede5847f5"}, - {file = "pyrsistent-0.18.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bc66318fb7ee012071b2792024564973ecc80e9522842eb4e17743604b5e045"}, - {file = "pyrsistent-0.18.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:914474c9f1d93080338ace89cb2acee74f4f666fb0424896fcfb8d86058bf17c"}, - {file = "pyrsistent-0.18.1-cp39-cp39-win32.whl", hash = "sha256:1b34eedd6812bf4d33814fca1b66005805d3640ce53140ab8bbb1e2651b0d9bc"}, - {file = "pyrsistent-0.18.1-cp39-cp39-win_amd64.whl", hash = "sha256:e24a828f57e0c337c8d8bb9f6b12f09dfdf0273da25fda9e314f0b684b415a07"}, - {file = "pyrsistent-0.18.1.tar.gz", hash = "sha256:d4d61f8b993a7255ba714df3aca52700f8125289f84f704cf80916517c46eb96"}, + {file = "pyrsistent-0.19.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d6982b5a0237e1b7d876b60265564648a69b14017f3b5f908c5be2de3f9abb7a"}, + {file = "pyrsistent-0.19.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:187d5730b0507d9285a96fca9716310d572e5464cadd19f22b63a6976254d77a"}, + {file = "pyrsistent-0.19.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:055ab45d5911d7cae397dc418808d8802fb95262751872c841c170b0dbf51eed"}, + {file = "pyrsistent-0.19.2-cp310-cp310-win32.whl", hash = "sha256:456cb30ca8bff00596519f2c53e42c245c09e1a4543945703acd4312949bfd41"}, + {file = "pyrsistent-0.19.2-cp310-cp310-win_amd64.whl", hash = "sha256:b39725209e06759217d1ac5fcdb510e98670af9e37223985f330b611f62e7425"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2aede922a488861de0ad00c7630a6e2d57e8023e4be72d9d7147a9fcd2d30712"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:879b4c2f4d41585c42df4d7654ddffff1239dc4065bc88b745f0341828b83e78"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c43bec251bbd10e3cb58ced80609c5c1eb238da9ca78b964aea410fb820d00d6"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-win32.whl", hash = "sha256:d690b18ac4b3e3cab73b0b7aa7dbe65978a172ff94970ff98d82f2031f8971c2"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-win_amd64.whl", hash = "sha256:3ba4134a3ff0fc7ad225b6b457d1309f4698108fb6b35532d015dca8f5abed73"}, + {file = "pyrsistent-0.19.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a178209e2df710e3f142cbd05313ba0c5ebed0a55d78d9945ac7a4e09d923308"}, + {file = "pyrsistent-0.19.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e371b844cec09d8dc424d940e54bba8f67a03ebea20ff7b7b0d56f526c71d584"}, + {file = "pyrsistent-0.19.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:111156137b2e71f3a9936baf27cb322e8024dac3dc54ec7fb9f0bcf3249e68bb"}, + {file = "pyrsistent-0.19.2-cp38-cp38-win32.whl", hash = "sha256:e5d8f84d81e3729c3b506657dddfe46e8ba9c330bf1858ee33108f8bb2adb38a"}, + {file = "pyrsistent-0.19.2-cp38-cp38-win_amd64.whl", hash = "sha256:9cd3e9978d12b5d99cbdc727a3022da0430ad007dacf33d0bf554b96427f33ab"}, + {file = "pyrsistent-0.19.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f1258f4e6c42ad0b20f9cfcc3ada5bd6b83374516cd01c0960e3cb75fdca6770"}, + {file = "pyrsistent-0.19.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21455e2b16000440e896ab99e8304617151981ed40c29e9507ef1c2e4314ee95"}, + {file = "pyrsistent-0.19.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bfd880614c6237243ff53a0539f1cb26987a6dc8ac6e66e0c5a40617296a045e"}, + {file = "pyrsistent-0.19.2-cp39-cp39-win32.whl", hash = "sha256:71d332b0320642b3261e9fee47ab9e65872c2bd90260e5d225dabeed93cbd42b"}, + {file = "pyrsistent-0.19.2-cp39-cp39-win_amd64.whl", hash = "sha256:dec3eac7549869365fe263831f576c8457f6c833937c68542d08fde73457d291"}, + {file = "pyrsistent-0.19.2-py3-none-any.whl", hash = "sha256:ea6b79a02a28550c98b6ca9c35b9f492beaa54d7c5c9e9949555893c8a9234d0"}, + {file = "pyrsistent-0.19.2.tar.gz", hash = "sha256:bfa0351be89c9fcbcb8c9879b826f4353be10f58f8a677efab0c017bf7137ec2"}, ] pytest = [ - {file = "pytest-7.1.3-py3-none-any.whl", hash = "sha256:1377bda3466d70b55e3f5cecfa55bb7cfcf219c7964629b967c37cf0bda818b7"}, - {file = "pytest-7.1.3.tar.gz", hash = "sha256:4f365fec2dff9c1162f834d9f18af1ba13062db0c708bf7b946f8a5c76180c39"}, + {file = "pytest-7.2.0-py3-none-any.whl", hash = "sha256:892f933d339f068883b6fd5a459f03d85bfcb355e4981e146d2c7616c21fef71"}, + {file = "pytest-7.2.0.tar.gz", hash = "sha256:c4014eb40e10f11f355ad4e3c2fb2c6c6d1919c73f3b5a433de4708202cade59"}, ] pytest-cov = [ {file = "pytest-cov-3.0.0.tar.gz", hash = "sha256:e7f0f5b1617d2210a2cabc266dfe2f4c75a8d32fb89eafb7ad9d06f6d076d470"}, @@ -762,8 +766,8 @@ python-dateutil = [ {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, ] pytz = [ - {file = "pytz-2022.4-py2.py3-none-any.whl", hash = "sha256:2c0784747071402c6e99f0bafdb7da0fa22645f06554c7ae06bf6358897e9c91"}, - {file = "pytz-2022.4.tar.gz", hash = "sha256:48ce799d83b6f8aab2020e369b627446696619e79645419610b9facd909b3174"}, + {file = "pytz-2022.6-py2.py3-none-any.whl", hash = "sha256:222439474e9c98fced559f1709d89e6c9cbf8d79c794ff3eb9f8800064291427"}, + {file = "pytz-2022.6.tar.gz", hash = "sha256:e89512406b793ca39f5971bc999cc538ce125c0e51c27941bef4568b460095e2"}, ] PyYAML = [ {file = "PyYAML-6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53"}, @@ -827,16 +831,16 @@ tabulate = [ {file = "tabulate-0.8.10.tar.gz", hash = "sha256:6c57f3f3dd7ac2782770155f3adb2db0b1a269637e42f27599925e64b114f519"}, ] tencentcloud-sdk-python = [ - {file = "tencentcloud-sdk-python-3.0.745.tar.gz", hash = "sha256:829f6e5dfe54e1361e148d7297b4731ca9f32841e98d208fb791fd9ab4fce69b"}, - {file = "tencentcloud_sdk_python-3.0.745-py2.py3-none-any.whl", hash = "sha256:26d5a2d754683dd088ff38c655c225bb81fcecee68593e4f2e0520cdf2dd62d2"}, + {file = "tencentcloud-sdk-python-3.0.771.tar.gz", hash = "sha256:adb1fcd64afe1cb67beab06d41eccc9a149aa126ad084035d4da1703fdc252b9"}, + {file = "tencentcloud_sdk_python-3.0.771-py2.py3-none-any.whl", hash = "sha256:41720416a457c24594b4e4264b1a59ebe9d84c4990be2905f057a4269c189bf9"}, ] tomli = [ {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, ] typing-extensions = [ - {file = "typing_extensions-4.3.0-py3-none-any.whl", hash = "sha256:25642c956049920a5aa49edcdd6ab1e06d7e5d467fc00e0506c44ac86fbfca02"}, - {file = "typing_extensions-4.3.0.tar.gz", hash = "sha256:e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6"}, + {file = "typing_extensions-4.4.0-py3-none-any.whl", hash = "sha256:16fa4864408f655d35ec496218b85f79b3437c829e93320c7c9215ccfd92489e"}, + {file = "typing_extensions-4.4.0.tar.gz", hash = "sha256:1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa"}, ] urllib3 = [ {file = "urllib3-1.26.12-py2.py3-none-any.whl", hash = "sha256:b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997"}, @@ -974,6 +978,6 @@ yarl = [ {file = "yarl-1.8.1.tar.gz", hash = "sha256:af887845b8c2e060eb5605ff72b6f2dd2aab7a761379373fd89d314f4752abbf"}, ] zipp = [ - {file = "zipp-3.8.1-py3-none-any.whl", hash = "sha256:47c40d7fe183a6f21403a199b3e4192cca5774656965b0a4988ad2f8feb5f009"}, - {file = "zipp-3.8.1.tar.gz", hash = "sha256:05b45f1ee8f807d0cc928485ca40a07cb491cf092ff587c0df9cb1fd154848d2"}, + {file = "zipp-3.10.0-py3-none-any.whl", hash = "sha256:4fcb6f278987a6605757302a6e40e896257570d11c51628968ccb2a47e80c6c1"}, + {file = "zipp-3.10.0.tar.gz", hash = "sha256:7a7262fd930bd3e36c50b9a64897aec3fafff3dfdeec9623ae22b40e93f99bb8"}, ] diff --git a/tools/c7n_tencentcloud/pyproject.toml b/tools/c7n_tencentcloud/pyproject.toml index 4b0a05bb659..56332e7819a 100644 --- a/tools/c7n_tencentcloud/pyproject.toml +++ b/tools/c7n_tencentcloud/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "c7n_tencentcloud" -version = "0.1.2" +version = "0.1.3" description = "Cloud Custodian - Tencent Cloud Provider" authors = ["Tencent Cloud"] license = "Apache-2.0" diff --git a/tools/c7n_tencentcloud/requirements.txt b/tools/c7n_tencentcloud/requirements.txt index a31e938ac7a..aaf635e692a 100644 --- a/tools/c7n_tencentcloud/requirements.txt +++ b/tools/c7n_tencentcloud/requirements.txt @@ -1,9 +1,9 @@ certifi==2022.9.24 ; python_version >= "3.7" and python_version < "4" charset-normalizer==2.1.1 ; python_version >= "3.7" and python_version < "4" idna==3.4 ; python_version >= "3.7" and python_version < "4" -pytz==2022.4 ; python_version >= "3.7" and python_version < "4.0" +pytz==2022.6 ; python_version >= "3.7" and python_version < "4.0" requests==2.28.1 ; python_version >= "3.7" and python_version < "4" retrying==1.3.3 ; python_version >= "3.7" and python_version < "4.0" six==1.16.0 ; python_version >= "3.7" and python_version < "4.0" -tencentcloud-sdk-python==3.0.745 ; python_version >= "3.7" and python_version < "4.0" +tencentcloud-sdk-python==3.0.771 ; python_version >= "3.7" and python_version < "4.0" urllib3==1.26.12 ; python_version >= "3.7" and python_version < "4" diff --git a/tools/c7n_tencentcloud/setup.py b/tools/c7n_tencentcloud/setup.py index 1a596c7e2b6..5625a43c66c 100644 --- a/tools/c7n_tencentcloud/setup.py +++ b/tools/c7n_tencentcloud/setup.py @@ -15,16 +15,16 @@ install_requires = \ ['argcomplete (>=2.0.0,<3.0.0)', 'attrs (>=22.1.0,<23.0.0)', - 'boto3 (>=1.24.88,<2.0.0)', - 'botocore (>=1.27.88,<2.0.0)', - 'c7n (>=0.9.20,<0.10.0)', + 'boto3 (>=1.26.9,<2.0.0)', + 'botocore (>=1.29.9,<2.0.0)', + 'c7n (>=0.9.21,<0.10.0)', 'docutils (>=0.17.1,<0.18.0)', 'importlib-metadata (>=4.13.0,<5.0.0)', - 'importlib-resources (>=5.9.0,<6.0.0)', + 'importlib-resources (>=5.10.0,<6.0.0)', 'jmespath (>=1.0.1,<2.0.0)', - 'jsonschema (>=4.16.0,<5.0.0)', + 'jsonschema (>=4.17.0,<5.0.0)', 'pkgutil_resolve_name (>=1.3.10,<2.0.0)', - 'pyrsistent (>=0.18.1,<0.19.0)', + 'pyrsistent (>=0.19.2,<0.20.0)', 'python-dateutil (>=2.8.2,<3.0.0)', 'pytz>=2022.1', 'pyyaml (>=6.0,<7.0)', @@ -33,13 +33,13 @@ 'six (>=1.16.0,<2.0.0)', 'tabulate (>=0.8.10,<0.9.0)', 'tencentcloud-sdk-python>=3.0.715,<4.0.0', - 'typing-extensions (>=4.3.0,<5.0.0)', + 'typing-extensions (>=4.4.0,<5.0.0)', 'urllib3 (>=1.26.12,<2.0.0)', - 'zipp (>=3.8.1,<4.0.0)'] + 'zipp (>=3.10.0,<4.0.0)'] setup_kwargs = { 'name': 'c7n-tencentcloud', - 'version': '0.1.2', + 'version': '0.1.3', 'description': 'Cloud Custodian - Tencent Cloud Provider', 'license': 'Apache-2.0', 'classifiers': [ @@ -52,7 +52,7 @@ 'author': 'Cloud Custodian Project', 'author_email': 'cloud-custodian@googlegroups.com', 'project_urls': { - 'Homepage': 'None', + 'Homepage': 'https://cloudcustodian.io', 'Documentation': 'https://cloudcustodian.io/docs/', 'Source': 'https://github.com/cloud-custodian/cloud-custodian', 'Issue Tracker': 'https://github.com/cloud-custodian/cloud-custodian/issues', diff --git a/tools/c7n_terraform/poetry.lock b/tools/c7n_terraform/poetry.lock index 77f34fbf12c..ca61c81e3e7 100644 --- a/tools/c7n_terraform/poetry.lock +++ b/tools/c7n_terraform/poetry.lock @@ -28,14 +28,14 @@ tests_no_zope = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy [[package]] name = "boto3" -version = "1.24.88" +version = "1.26.9" description = "The AWS SDK for Python" category = "dev" optional = false python-versions = ">= 3.7" [package.dependencies] -botocore = ">=1.27.88,<1.28.0" +botocore = ">=1.29.9,<1.30.0" jmespath = ">=0.7.1,<2.0.0" s3transfer = ">=0.6.0,<0.7.0" @@ -44,7 +44,7 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] [[package]] name = "botocore" -version = "1.27.88" +version = "1.29.9" description = "Low-level, data-driven core of boto 3." category = "dev" optional = false @@ -60,7 +60,7 @@ crt = ["awscrt (==0.14.0)"] [[package]] name = "c7n" -version = "0.9.20" +version = "0.9.21" description = "Cloud Custodian - Policy Rules Engine" category = "dev" optional = false @@ -95,11 +95,11 @@ importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} [[package]] name = "colorama" -version = "0.4.5" +version = "0.4.6" description = "Cross-platform colored terminal text." category = "main" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" [[package]] name = "docutils" @@ -109,6 +109,17 @@ category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +[[package]] +name = "exceptiongroup" +version = "1.0.3" +description = "Backport of PEP 654 (exception groups)" +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.extras] +test = ["pytest (>=6)"] + [[package]] name = "importlib-metadata" version = "4.13.0" @@ -128,7 +139,7 @@ testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packag [[package]] name = "importlib-resources" -version = "5.9.0" +version = "5.10.0" description = "Read resources from Python packages" category = "dev" optional = false @@ -138,8 +149,8 @@ python-versions = ">=3.7" zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} [package.extras] -docs = ["jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx"] -testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"] +testing = ["flake8 (<5)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] [[package]] name = "iniconfig" @@ -159,7 +170,7 @@ python-versions = ">=3.7" [[package]] name = "jsonschema" -version = "4.16.0" +version = "4.17.0" description = "An implementation of JSON Schema validation for Python" category = "dev" optional = false @@ -223,14 +234,6 @@ importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} dev = ["pre-commit", "tox"] testing = ["pytest", "pytest-benchmark"] -[[package]] -name = "py" -version = "1.11.0" -description = "library with cross-python path, ini-parsing, io, code, log facilities" -category = "dev" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" - [[package]] name = "pyparsing" version = "3.0.9" @@ -244,7 +247,7 @@ diagrams = ["jinja2", "railroad-diagrams"] [[package]] name = "pyrsistent" -version = "0.18.1" +version = "0.19.2" description = "Persistent/Functional/Immutable data structures" category = "dev" optional = false @@ -252,7 +255,7 @@ python-versions = ">=3.7" [[package]] name = "pytest" -version = "7.1.3" +version = "7.2.0" description = "pytest: simple powerful testing with Python" category = "dev" optional = false @@ -261,12 +264,12 @@ python-versions = ">=3.7" [package.dependencies] attrs = ">=19.2.0" colorama = {version = "*", markers = "sys_platform == \"win32\""} +exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} iniconfig = "*" packaging = "*" pluggy = ">=0.12,<2.0" -py = ">=1.8.2" -tomli = ">=1.0.0" +tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""} [package.extras] testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"] @@ -344,7 +347,7 @@ python-versions = ">=3.7" [[package]] name = "typing-extensions" -version = "4.3.0" +version = "4.4.0" description = "Backported and Experimental Type Hints for Python 3.7+" category = "main" optional = false @@ -365,15 +368,15 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] [[package]] name = "zipp" -version = "3.8.1" +version = "3.10.0" description = "Backport of pathlib-compatible object wrapper for zip files" category = "main" optional = false python-versions = ">=3.7" [package.extras] -docs = ["jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx"] -testing = ["func-timeout", "jaraco.itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"] +testing = ["flake8 (<5)", "func-timeout", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] [metadata] lock-version = "1.1" @@ -390,12 +393,12 @@ attrs = [ {file = "attrs-22.1.0.tar.gz", hash = "sha256:29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6"}, ] boto3 = [ - {file = "boto3-1.24.88-py3-none-any.whl", hash = "sha256:6b4cf1cd0be65202c4cf0e4c69099bac3620bcd4049ca25a5e223c668401dd69"}, - {file = "boto3-1.24.88.tar.gz", hash = "sha256:93934343cac76084600a520e5be70c52152364d0c410681c2e25c2290f0e151c"}, + {file = "boto3-1.26.9-py3-none-any.whl", hash = "sha256:27efa5eb229364bc4643d9e182de0891f73c21b65ef80b5bd02a977caeaf595c"}, + {file = "boto3-1.26.9.tar.gz", hash = "sha256:15b059251990706c5d5a556c42a6e6e781a51edadf48a42afdd06bd313adfaf2"}, ] botocore = [ - {file = "botocore-1.27.88-py3-none-any.whl", hash = "sha256:de4e087b24cd3bc369eb2e27f8fe94a6499f7dea08c919fba13cefb2496bd2bb"}, - {file = "botocore-1.27.88.tar.gz", hash = "sha256:ded0a4035baf91eb358ef501c92a8512543f5ab7658f459df3077a70a555b5cd"}, + {file = "botocore-1.29.9-py3-none-any.whl", hash = "sha256:c876a7c6a07d7f86f46a8cc765f0d38999b84ac1d7b0666d6ce08c0503e13145"}, + {file = "botocore-1.29.9.tar.gz", hash = "sha256:01f168e2418419a6d8b335ecc4330faa6a7332d5a097029fc9b4a3ae3c41cea2"}, ] c7n = [] click = [ @@ -403,20 +406,24 @@ click = [ {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"}, ] colorama = [ - {file = "colorama-0.4.5-py2.py3-none-any.whl", hash = "sha256:854bf444933e37f5824ae7bfc1e98d5bce2ebe4160d46b5edf346a89358e99da"}, - {file = "colorama-0.4.5.tar.gz", hash = "sha256:e6c6b4334fc50988a639d9b98aa429a0b57da6e17b9a44f0451f930b6967b7a4"}, + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] docutils = [ {file = "docutils-0.17.1-py2.py3-none-any.whl", hash = "sha256:cf316c8370a737a022b72b56874f6602acf974a37a9fba42ec2876387549fc61"}, {file = "docutils-0.17.1.tar.gz", hash = "sha256:686577d2e4c32380bb50cbb22f575ed742d58168cee37e99117a854bcd88f125"}, ] +exceptiongroup = [ + {file = "exceptiongroup-1.0.3-py3-none-any.whl", hash = "sha256:6002703c7d31fb9950ddc8780840f67880c440895dc1151dd551553aa1246e4a"}, + {file = "exceptiongroup-1.0.3.tar.gz", hash = "sha256:76cac74b5207c5997678a1c7105cb6f14213c9c63c096a38cfcb529d83ce5c02"}, +] importlib-metadata = [ {file = "importlib_metadata-4.13.0-py3-none-any.whl", hash = "sha256:8a8a81bcf996e74fee46f0d16bd3eaa382a7eb20fd82445c3ad11f4090334116"}, {file = "importlib_metadata-4.13.0.tar.gz", hash = "sha256:dd0173e8f150d6815e098fd354f6414b0f079af4644ddfe90c71e2fc6174346d"}, ] importlib-resources = [ - {file = "importlib_resources-5.9.0-py3-none-any.whl", hash = "sha256:f78a8df21a79bcc30cfd400bdc38f314333de7c0fb619763f6b9dabab8268bb7"}, - {file = "importlib_resources-5.9.0.tar.gz", hash = "sha256:5481e97fb45af8dcf2f798952625591c58fe599d0735d86b10f54de086a61681"}, + {file = "importlib_resources-5.10.0-py3-none-any.whl", hash = "sha256:ee17ec648f85480d523596ce49eae8ead87d5631ae1551f913c0100b5edd3437"}, + {file = "importlib_resources-5.10.0.tar.gz", hash = "sha256:c01b1b94210d9849f286b86bb51bcea7cd56dde0600d8db721d7b81330711668"}, ] iniconfig = [ {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"}, @@ -427,8 +434,8 @@ jmespath = [ {file = "jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe"}, ] jsonschema = [ - {file = "jsonschema-4.16.0-py3-none-any.whl", hash = "sha256:9e74b8f9738d6a946d70705dc692b74b5429cd0960d58e79ffecfc43b2221eb9"}, - {file = "jsonschema-4.16.0.tar.gz", hash = "sha256:165059f076eff6971bae5b742fc029a7b4ef3f9bcf04c14e4776a7605de14b23"}, + {file = "jsonschema-4.17.0-py3-none-any.whl", hash = "sha256:f660066c3966db7d6daeaea8a75e0b68237a48e51cf49882087757bb59916248"}, + {file = "jsonschema-4.17.0.tar.gz", hash = "sha256:5bfcf2bca16a087ade17e02b282d34af7ccd749ef76241e7f9bd7c0cb8a9424d"}, ] lark-parser = [ {file = "lark-parser-0.10.1.tar.gz", hash = "sha256:42f367612a1bbc4cf9d8c8eb1b209d8a9b397d55af75620c9e6f53e502235996"}, @@ -445,40 +452,37 @@ pluggy = [ {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"}, {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"}, ] -py = [ - {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"}, - {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"}, -] pyparsing = [ {file = "pyparsing-3.0.9-py3-none-any.whl", hash = "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"}, {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"}, ] pyrsistent = [ - {file = "pyrsistent-0.18.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:df46c854f490f81210870e509818b729db4488e1f30f2a1ce1698b2295a878d1"}, - {file = "pyrsistent-0.18.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d45866ececf4a5fff8742c25722da6d4c9e180daa7b405dc0a2a2790d668c26"}, - {file = "pyrsistent-0.18.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4ed6784ceac462a7d6fcb7e9b663e93b9a6fb373b7f43594f9ff68875788e01e"}, - {file = "pyrsistent-0.18.1-cp310-cp310-win32.whl", hash = "sha256:e4f3149fd5eb9b285d6bfb54d2e5173f6a116fe19172686797c056672689daf6"}, - {file = "pyrsistent-0.18.1-cp310-cp310-win_amd64.whl", hash = "sha256:636ce2dc235046ccd3d8c56a7ad54e99d5c1cd0ef07d9ae847306c91d11b5fec"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e92a52c166426efbe0d1ec1332ee9119b6d32fc1f0bbfd55d5c1088070e7fc1b"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d7a096646eab884bf8bed965bad63ea327e0d0c38989fc83c5ea7b8a87037bfc"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cdfd2c361b8a8e5d9499b9082b501c452ade8bbf42aef97ea04854f4a3f43b22"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-win32.whl", hash = "sha256:7ec335fc998faa4febe75cc5268a9eac0478b3f681602c1f27befaf2a1abe1d8"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-win_amd64.whl", hash = "sha256:6455fc599df93d1f60e1c5c4fe471499f08d190d57eca040c0ea182301321286"}, - {file = "pyrsistent-0.18.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:fd8da6d0124efa2f67d86fa70c851022f87c98e205f0594e1fae044e7119a5a6"}, - {file = "pyrsistent-0.18.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7bfe2388663fd18bd8ce7db2c91c7400bf3e1a9e8bd7d63bf7e77d39051b85ec"}, - {file = "pyrsistent-0.18.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e3e1fcc45199df76053026a51cc59ab2ea3fc7c094c6627e93b7b44cdae2c8c"}, - {file = "pyrsistent-0.18.1-cp38-cp38-win32.whl", hash = "sha256:b568f35ad53a7b07ed9b1b2bae09eb15cdd671a5ba5d2c66caee40dbf91c68ca"}, - {file = "pyrsistent-0.18.1-cp38-cp38-win_amd64.whl", hash = "sha256:d1b96547410f76078eaf66d282ddca2e4baae8964364abb4f4dcdde855cd123a"}, - {file = "pyrsistent-0.18.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f87cc2863ef33c709e237d4b5f4502a62a00fab450c9e020892e8e2ede5847f5"}, - {file = "pyrsistent-0.18.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bc66318fb7ee012071b2792024564973ecc80e9522842eb4e17743604b5e045"}, - {file = "pyrsistent-0.18.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:914474c9f1d93080338ace89cb2acee74f4f666fb0424896fcfb8d86058bf17c"}, - {file = "pyrsistent-0.18.1-cp39-cp39-win32.whl", hash = "sha256:1b34eedd6812bf4d33814fca1b66005805d3640ce53140ab8bbb1e2651b0d9bc"}, - {file = "pyrsistent-0.18.1-cp39-cp39-win_amd64.whl", hash = "sha256:e24a828f57e0c337c8d8bb9f6b12f09dfdf0273da25fda9e314f0b684b415a07"}, - {file = "pyrsistent-0.18.1.tar.gz", hash = "sha256:d4d61f8b993a7255ba714df3aca52700f8125289f84f704cf80916517c46eb96"}, + {file = "pyrsistent-0.19.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d6982b5a0237e1b7d876b60265564648a69b14017f3b5f908c5be2de3f9abb7a"}, + {file = "pyrsistent-0.19.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:187d5730b0507d9285a96fca9716310d572e5464cadd19f22b63a6976254d77a"}, + {file = "pyrsistent-0.19.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:055ab45d5911d7cae397dc418808d8802fb95262751872c841c170b0dbf51eed"}, + {file = "pyrsistent-0.19.2-cp310-cp310-win32.whl", hash = "sha256:456cb30ca8bff00596519f2c53e42c245c09e1a4543945703acd4312949bfd41"}, + {file = "pyrsistent-0.19.2-cp310-cp310-win_amd64.whl", hash = "sha256:b39725209e06759217d1ac5fcdb510e98670af9e37223985f330b611f62e7425"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2aede922a488861de0ad00c7630a6e2d57e8023e4be72d9d7147a9fcd2d30712"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:879b4c2f4d41585c42df4d7654ddffff1239dc4065bc88b745f0341828b83e78"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c43bec251bbd10e3cb58ced80609c5c1eb238da9ca78b964aea410fb820d00d6"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-win32.whl", hash = "sha256:d690b18ac4b3e3cab73b0b7aa7dbe65978a172ff94970ff98d82f2031f8971c2"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-win_amd64.whl", hash = "sha256:3ba4134a3ff0fc7ad225b6b457d1309f4698108fb6b35532d015dca8f5abed73"}, + {file = "pyrsistent-0.19.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a178209e2df710e3f142cbd05313ba0c5ebed0a55d78d9945ac7a4e09d923308"}, + {file = "pyrsistent-0.19.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e371b844cec09d8dc424d940e54bba8f67a03ebea20ff7b7b0d56f526c71d584"}, + {file = "pyrsistent-0.19.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:111156137b2e71f3a9936baf27cb322e8024dac3dc54ec7fb9f0bcf3249e68bb"}, + {file = "pyrsistent-0.19.2-cp38-cp38-win32.whl", hash = "sha256:e5d8f84d81e3729c3b506657dddfe46e8ba9c330bf1858ee33108f8bb2adb38a"}, + {file = "pyrsistent-0.19.2-cp38-cp38-win_amd64.whl", hash = "sha256:9cd3e9978d12b5d99cbdc727a3022da0430ad007dacf33d0bf554b96427f33ab"}, + {file = "pyrsistent-0.19.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f1258f4e6c42ad0b20f9cfcc3ada5bd6b83374516cd01c0960e3cb75fdca6770"}, + {file = "pyrsistent-0.19.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21455e2b16000440e896ab99e8304617151981ed40c29e9507ef1c2e4314ee95"}, + {file = "pyrsistent-0.19.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bfd880614c6237243ff53a0539f1cb26987a6dc8ac6e66e0c5a40617296a045e"}, + {file = "pyrsistent-0.19.2-cp39-cp39-win32.whl", hash = "sha256:71d332b0320642b3261e9fee47ab9e65872c2bd90260e5d225dabeed93cbd42b"}, + {file = "pyrsistent-0.19.2-cp39-cp39-win_amd64.whl", hash = "sha256:dec3eac7549869365fe263831f576c8457f6c833937c68542d08fde73457d291"}, + {file = "pyrsistent-0.19.2-py3-none-any.whl", hash = "sha256:ea6b79a02a28550c98b6ca9c35b9f492beaa54d7c5c9e9949555893c8a9234d0"}, + {file = "pyrsistent-0.19.2.tar.gz", hash = "sha256:bfa0351be89c9fcbcb8c9879b826f4353be10f58f8a677efab0c017bf7137ec2"}, ] pytest = [ - {file = "pytest-7.1.3-py3-none-any.whl", hash = "sha256:1377bda3466d70b55e3f5cecfa55bb7cfcf219c7964629b967c37cf0bda818b7"}, - {file = "pytest-7.1.3.tar.gz", hash = "sha256:4f365fec2dff9c1162f834d9f18af1ba13062db0c708bf7b946f8a5c76180c39"}, + {file = "pytest-7.2.0-py3-none-any.whl", hash = "sha256:892f933d339f068883b6fd5a459f03d85bfcb355e4981e146d2c7616c21fef71"}, + {file = "pytest-7.2.0.tar.gz", hash = "sha256:c4014eb40e10f11f355ad4e3c2fb2c6c6d1919c73f3b5a433de4708202cade59"}, ] python-dateutil = [ {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, @@ -546,14 +550,14 @@ tomli = [ {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, ] typing-extensions = [ - {file = "typing_extensions-4.3.0-py3-none-any.whl", hash = "sha256:25642c956049920a5aa49edcdd6ab1e06d7e5d467fc00e0506c44ac86fbfca02"}, - {file = "typing_extensions-4.3.0.tar.gz", hash = "sha256:e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6"}, + {file = "typing_extensions-4.4.0-py3-none-any.whl", hash = "sha256:16fa4864408f655d35ec496218b85f79b3437c829e93320c7c9215ccfd92489e"}, + {file = "typing_extensions-4.4.0.tar.gz", hash = "sha256:1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa"}, ] urllib3 = [ {file = "urllib3-1.26.12-py2.py3-none-any.whl", hash = "sha256:b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997"}, {file = "urllib3-1.26.12.tar.gz", hash = "sha256:3fa96cf423e6987997fc326ae8df396db2a8b7c667747d47ddd8ecba91f4a74e"}, ] zipp = [ - {file = "zipp-3.8.1-py3-none-any.whl", hash = "sha256:47c40d7fe183a6f21403a199b3e4192cca5774656965b0a4988ad2f8feb5f009"}, - {file = "zipp-3.8.1.tar.gz", hash = "sha256:05b45f1ee8f807d0cc928485ca40a07cb491cf092ff587c0df9cb1fd154848d2"}, + {file = "zipp-3.10.0-py3-none-any.whl", hash = "sha256:4fcb6f278987a6605757302a6e40e896257570d11c51628968ccb2a47e80c6c1"}, + {file = "zipp-3.10.0.tar.gz", hash = "sha256:7a7262fd930bd3e36c50b9a64897aec3fafff3dfdeec9623ae22b40e93f99bb8"}, ] diff --git a/tools/c7n_terraform/pyproject.toml b/tools/c7n_terraform/pyproject.toml index 128c6f3d6f2..abc1862fcad 100644 --- a/tools/c7n_terraform/pyproject.toml +++ b/tools/c7n_terraform/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "c7n_terraform" -version = "0.1.10" +version = "0.1.11" readme = "readme.md" description = "Cloud Custodian Provider for evaluating Terraform" repository = "https://github.com/cloud-custodian/cloud-custodian" diff --git a/tools/c7n_terraform/requirements.txt b/tools/c7n_terraform/requirements.txt index 4f81cd8883d..249971a0eda 100644 --- a/tools/c7n_terraform/requirements.txt +++ b/tools/c7n_terraform/requirements.txt @@ -1,7 +1,7 @@ click==8.1.3 ; python_version >= "3.7" and python_version < "4.0" -colorama==0.4.5 ; python_version >= "3.7" and python_version < "4.0" and platform_system == "Windows" +colorama==0.4.6 ; python_version >= "3.7" and python_version < "4.0" and platform_system == "Windows" importlib-metadata==4.13.0 ; python_version >= "3.7" and python_version < "3.8" lark-parser==0.10.1 ; python_version >= "3.7" and python_version < "4.0" python-hcl2==2.0.3 ; python_version >= "3.7" and python_version < "4.0" -typing-extensions==4.3.0 ; python_version >= "3.7" and python_version < "3.8" -zipp==3.8.1 ; python_version >= "3.7" and python_version < "3.8" +typing-extensions==4.4.0 ; python_version >= "3.7" and python_version < "3.8" +zipp==3.10.0 ; python_version >= "3.7" and python_version < "3.8" diff --git a/tools/c7n_terraform/setup.py b/tools/c7n_terraform/setup.py index 3b603c7f5d7..9f8d7b51a9f 100644 --- a/tools/c7n_terraform/setup.py +++ b/tools/c7n_terraform/setup.py @@ -12,30 +12,30 @@ install_requires = \ ['argcomplete (>=2.0.0,<3.0.0)', 'attrs (>=22.1.0,<23.0.0)', - 'boto3 (>=1.24.88,<2.0.0)', - 'botocore (>=1.27.88,<2.0.0)', - 'c7n (>=0.9.20,<0.10.0)', + 'boto3 (>=1.26.9,<2.0.0)', + 'botocore (>=1.29.9,<2.0.0)', + 'c7n (>=0.9.21,<0.10.0)', 'click>=8.0,<9.0', 'docutils (>=0.17.1,<0.18.0)', 'importlib-metadata (>=4.13.0,<5.0.0)', - 'importlib-resources (>=5.9.0,<6.0.0)', + 'importlib-resources (>=5.10.0,<6.0.0)', 'jmespath (>=1.0.1,<2.0.0)', - 'jsonschema (>=4.16.0,<5.0.0)', + 'jsonschema (>=4.17.0,<5.0.0)', 'pkgutil_resolve_name (>=1.3.10,<2.0.0)', - 'pyrsistent (>=0.18.1,<0.19.0)', + 'pyrsistent (>=0.19.2,<0.20.0)', 'python-dateutil (>=2.8.2,<3.0.0)', 'python-hcl2>=2.0,<3.0', 'pyyaml (>=6.0,<7.0)', 's3transfer (>=0.6.0,<0.7.0)', 'six (>=1.16.0,<2.0.0)', 'tabulate (>=0.8.10,<0.9.0)', - 'typing-extensions (>=4.3.0,<5.0.0)', + 'typing-extensions (>=4.4.0,<5.0.0)', 'urllib3 (>=1.26.12,<2.0.0)', - 'zipp (>=3.8.1,<4.0.0)'] + 'zipp (>=3.10.0,<4.0.0)'] setup_kwargs = { 'name': 'c7n-terraform', - 'version': '0.1.10', + 'version': '0.1.11', 'description': 'Cloud Custodian Provider for evaluating Terraform', 'license': 'Apache-2.0', 'classifiers': [ diff --git a/tools/c7n_trailcreator/poetry.lock b/tools/c7n_trailcreator/poetry.lock index d2cb571dbda..e068ea99594 100644 --- a/tools/c7n_trailcreator/poetry.lock +++ b/tools/c7n_trailcreator/poetry.lock @@ -28,14 +28,14 @@ tests_no_zope = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy [[package]] name = "boto3" -version = "1.24.88" +version = "1.26.9" description = "The AWS SDK for Python" category = "dev" optional = false python-versions = ">= 3.7" [package.dependencies] -botocore = ">=1.27.88,<1.28.0" +botocore = ">=1.29.9,<1.30.0" jmespath = ">=0.7.1,<2.0.0" s3transfer = ">=0.6.0,<0.7.0" @@ -44,7 +44,7 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] [[package]] name = "botocore" -version = "1.27.88" +version = "1.29.9" description = "Low-level, data-driven core of boto 3." category = "dev" optional = false @@ -60,7 +60,7 @@ crt = ["awscrt (==0.14.0)"] [[package]] name = "c7n" -version = "0.9.20" +version = "0.9.21" description = "Cloud Custodian - Policy Rules Engine" category = "dev" optional = false @@ -83,7 +83,7 @@ url = "../.." [[package]] name = "c7n-org" -version = "0.6.19" +version = "0.6.20" description = "Cloud Custodian - Parallel Execution" category = "dev" optional = false @@ -111,11 +111,11 @@ importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} [[package]] name = "colorama" -version = "0.4.5" +version = "0.4.6" description = "Cross-platform colored terminal text." category = "main" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" [[package]] name = "docutils" @@ -144,7 +144,7 @@ testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packag [[package]] name = "importlib-resources" -version = "5.9.0" +version = "5.10.0" description = "Read resources from Python packages" category = "dev" optional = false @@ -154,8 +154,8 @@ python-versions = ">=3.7" zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} [package.extras] -docs = ["jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx"] -testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"] +testing = ["flake8 (<5)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] [[package]] name = "jmespath" @@ -167,7 +167,7 @@ python-versions = ">=3.7" [[package]] name = "jsonschema" -version = "4.16.0" +version = "4.17.0" description = "An implementation of JSON Schema validation for Python" category = "dev" optional = false @@ -195,7 +195,7 @@ python-versions = ">=3.6" [[package]] name = "pyrsistent" -version = "0.18.1" +version = "0.19.2" description = "Persistent/Functional/Immutable data structures" category = "dev" optional = false @@ -255,7 +255,7 @@ widechars = ["wcwidth"] [[package]] name = "typing-extensions" -version = "4.3.0" +version = "4.4.0" description = "Backported and Experimental Type Hints for Python 3.7+" category = "main" optional = false @@ -276,15 +276,15 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] [[package]] name = "zipp" -version = "3.8.1" +version = "3.10.0" description = "Backport of pathlib-compatible object wrapper for zip files" category = "main" optional = false python-versions = ">=3.7" [package.extras] -docs = ["jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx"] -testing = ["func-timeout", "jaraco.itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"] +testing = ["flake8 (<5)", "func-timeout", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] [metadata] lock-version = "1.1" @@ -301,12 +301,12 @@ attrs = [ {file = "attrs-22.1.0.tar.gz", hash = "sha256:29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6"}, ] boto3 = [ - {file = "boto3-1.24.88-py3-none-any.whl", hash = "sha256:6b4cf1cd0be65202c4cf0e4c69099bac3620bcd4049ca25a5e223c668401dd69"}, - {file = "boto3-1.24.88.tar.gz", hash = "sha256:93934343cac76084600a520e5be70c52152364d0c410681c2e25c2290f0e151c"}, + {file = "boto3-1.26.9-py3-none-any.whl", hash = "sha256:27efa5eb229364bc4643d9e182de0891f73c21b65ef80b5bd02a977caeaf595c"}, + {file = "boto3-1.26.9.tar.gz", hash = "sha256:15b059251990706c5d5a556c42a6e6e781a51edadf48a42afdd06bd313adfaf2"}, ] botocore = [ - {file = "botocore-1.27.88-py3-none-any.whl", hash = "sha256:de4e087b24cd3bc369eb2e27f8fe94a6499f7dea08c919fba13cefb2496bd2bb"}, - {file = "botocore-1.27.88.tar.gz", hash = "sha256:ded0a4035baf91eb358ef501c92a8512543f5ab7658f459df3077a70a555b5cd"}, + {file = "botocore-1.29.9-py3-none-any.whl", hash = "sha256:c876a7c6a07d7f86f46a8cc765f0d38999b84ac1d7b0666d6ce08c0503e13145"}, + {file = "botocore-1.29.9.tar.gz", hash = "sha256:01f168e2418419a6d8b335ecc4330faa6a7332d5a097029fc9b4a3ae3c41cea2"}, ] c7n = [] c7n-org = [] @@ -315,8 +315,8 @@ click = [ {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"}, ] colorama = [ - {file = "colorama-0.4.5-py2.py3-none-any.whl", hash = "sha256:854bf444933e37f5824ae7bfc1e98d5bce2ebe4160d46b5edf346a89358e99da"}, - {file = "colorama-0.4.5.tar.gz", hash = "sha256:e6c6b4334fc50988a639d9b98aa429a0b57da6e17b9a44f0451f930b6967b7a4"}, + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] docutils = [ {file = "docutils-0.17.1-py2.py3-none-any.whl", hash = "sha256:cf316c8370a737a022b72b56874f6602acf974a37a9fba42ec2876387549fc61"}, @@ -327,43 +327,44 @@ importlib-metadata = [ {file = "importlib_metadata-4.13.0.tar.gz", hash = "sha256:dd0173e8f150d6815e098fd354f6414b0f079af4644ddfe90c71e2fc6174346d"}, ] importlib-resources = [ - {file = "importlib_resources-5.9.0-py3-none-any.whl", hash = "sha256:f78a8df21a79bcc30cfd400bdc38f314333de7c0fb619763f6b9dabab8268bb7"}, - {file = "importlib_resources-5.9.0.tar.gz", hash = "sha256:5481e97fb45af8dcf2f798952625591c58fe599d0735d86b10f54de086a61681"}, + {file = "importlib_resources-5.10.0-py3-none-any.whl", hash = "sha256:ee17ec648f85480d523596ce49eae8ead87d5631ae1551f913c0100b5edd3437"}, + {file = "importlib_resources-5.10.0.tar.gz", hash = "sha256:c01b1b94210d9849f286b86bb51bcea7cd56dde0600d8db721d7b81330711668"}, ] jmespath = [ {file = "jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980"}, {file = "jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe"}, ] jsonschema = [ - {file = "jsonschema-4.16.0-py3-none-any.whl", hash = "sha256:9e74b8f9738d6a946d70705dc692b74b5429cd0960d58e79ffecfc43b2221eb9"}, - {file = "jsonschema-4.16.0.tar.gz", hash = "sha256:165059f076eff6971bae5b742fc029a7b4ef3f9bcf04c14e4776a7605de14b23"}, + {file = "jsonschema-4.17.0-py3-none-any.whl", hash = "sha256:f660066c3966db7d6daeaea8a75e0b68237a48e51cf49882087757bb59916248"}, + {file = "jsonschema-4.17.0.tar.gz", hash = "sha256:5bfcf2bca16a087ade17e02b282d34af7ccd749ef76241e7f9bd7c0cb8a9424d"}, ] pkgutil_resolve_name = [ {file = "pkgutil_resolve_name-1.3.10-py3-none-any.whl", hash = "sha256:ca27cc078d25c5ad71a9de0a7a330146c4e014c2462d9af19c6b828280649c5e"}, {file = "pkgutil_resolve_name-1.3.10.tar.gz", hash = "sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174"}, ] pyrsistent = [ - {file = "pyrsistent-0.18.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:df46c854f490f81210870e509818b729db4488e1f30f2a1ce1698b2295a878d1"}, - {file = "pyrsistent-0.18.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d45866ececf4a5fff8742c25722da6d4c9e180daa7b405dc0a2a2790d668c26"}, - {file = "pyrsistent-0.18.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4ed6784ceac462a7d6fcb7e9b663e93b9a6fb373b7f43594f9ff68875788e01e"}, - {file = "pyrsistent-0.18.1-cp310-cp310-win32.whl", hash = "sha256:e4f3149fd5eb9b285d6bfb54d2e5173f6a116fe19172686797c056672689daf6"}, - {file = "pyrsistent-0.18.1-cp310-cp310-win_amd64.whl", hash = "sha256:636ce2dc235046ccd3d8c56a7ad54e99d5c1cd0ef07d9ae847306c91d11b5fec"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e92a52c166426efbe0d1ec1332ee9119b6d32fc1f0bbfd55d5c1088070e7fc1b"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d7a096646eab884bf8bed965bad63ea327e0d0c38989fc83c5ea7b8a87037bfc"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cdfd2c361b8a8e5d9499b9082b501c452ade8bbf42aef97ea04854f4a3f43b22"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-win32.whl", hash = "sha256:7ec335fc998faa4febe75cc5268a9eac0478b3f681602c1f27befaf2a1abe1d8"}, - {file = "pyrsistent-0.18.1-cp37-cp37m-win_amd64.whl", hash = "sha256:6455fc599df93d1f60e1c5c4fe471499f08d190d57eca040c0ea182301321286"}, - {file = "pyrsistent-0.18.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:fd8da6d0124efa2f67d86fa70c851022f87c98e205f0594e1fae044e7119a5a6"}, - {file = "pyrsistent-0.18.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7bfe2388663fd18bd8ce7db2c91c7400bf3e1a9e8bd7d63bf7e77d39051b85ec"}, - {file = "pyrsistent-0.18.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e3e1fcc45199df76053026a51cc59ab2ea3fc7c094c6627e93b7b44cdae2c8c"}, - {file = "pyrsistent-0.18.1-cp38-cp38-win32.whl", hash = "sha256:b568f35ad53a7b07ed9b1b2bae09eb15cdd671a5ba5d2c66caee40dbf91c68ca"}, - {file = "pyrsistent-0.18.1-cp38-cp38-win_amd64.whl", hash = "sha256:d1b96547410f76078eaf66d282ddca2e4baae8964364abb4f4dcdde855cd123a"}, - {file = "pyrsistent-0.18.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f87cc2863ef33c709e237d4b5f4502a62a00fab450c9e020892e8e2ede5847f5"}, - {file = "pyrsistent-0.18.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bc66318fb7ee012071b2792024564973ecc80e9522842eb4e17743604b5e045"}, - {file = "pyrsistent-0.18.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:914474c9f1d93080338ace89cb2acee74f4f666fb0424896fcfb8d86058bf17c"}, - {file = "pyrsistent-0.18.1-cp39-cp39-win32.whl", hash = "sha256:1b34eedd6812bf4d33814fca1b66005805d3640ce53140ab8bbb1e2651b0d9bc"}, - {file = "pyrsistent-0.18.1-cp39-cp39-win_amd64.whl", hash = "sha256:e24a828f57e0c337c8d8bb9f6b12f09dfdf0273da25fda9e314f0b684b415a07"}, - {file = "pyrsistent-0.18.1.tar.gz", hash = "sha256:d4d61f8b993a7255ba714df3aca52700f8125289f84f704cf80916517c46eb96"}, + {file = "pyrsistent-0.19.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d6982b5a0237e1b7d876b60265564648a69b14017f3b5f908c5be2de3f9abb7a"}, + {file = "pyrsistent-0.19.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:187d5730b0507d9285a96fca9716310d572e5464cadd19f22b63a6976254d77a"}, + {file = "pyrsistent-0.19.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:055ab45d5911d7cae397dc418808d8802fb95262751872c841c170b0dbf51eed"}, + {file = "pyrsistent-0.19.2-cp310-cp310-win32.whl", hash = "sha256:456cb30ca8bff00596519f2c53e42c245c09e1a4543945703acd4312949bfd41"}, + {file = "pyrsistent-0.19.2-cp310-cp310-win_amd64.whl", hash = "sha256:b39725209e06759217d1ac5fcdb510e98670af9e37223985f330b611f62e7425"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2aede922a488861de0ad00c7630a6e2d57e8023e4be72d9d7147a9fcd2d30712"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:879b4c2f4d41585c42df4d7654ddffff1239dc4065bc88b745f0341828b83e78"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c43bec251bbd10e3cb58ced80609c5c1eb238da9ca78b964aea410fb820d00d6"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-win32.whl", hash = "sha256:d690b18ac4b3e3cab73b0b7aa7dbe65978a172ff94970ff98d82f2031f8971c2"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-win_amd64.whl", hash = "sha256:3ba4134a3ff0fc7ad225b6b457d1309f4698108fb6b35532d015dca8f5abed73"}, + {file = "pyrsistent-0.19.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a178209e2df710e3f142cbd05313ba0c5ebed0a55d78d9945ac7a4e09d923308"}, + {file = "pyrsistent-0.19.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e371b844cec09d8dc424d940e54bba8f67a03ebea20ff7b7b0d56f526c71d584"}, + {file = "pyrsistent-0.19.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:111156137b2e71f3a9936baf27cb322e8024dac3dc54ec7fb9f0bcf3249e68bb"}, + {file = "pyrsistent-0.19.2-cp38-cp38-win32.whl", hash = "sha256:e5d8f84d81e3729c3b506657dddfe46e8ba9c330bf1858ee33108f8bb2adb38a"}, + {file = "pyrsistent-0.19.2-cp38-cp38-win_amd64.whl", hash = "sha256:9cd3e9978d12b5d99cbdc727a3022da0430ad007dacf33d0bf554b96427f33ab"}, + {file = "pyrsistent-0.19.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f1258f4e6c42ad0b20f9cfcc3ada5bd6b83374516cd01c0960e3cb75fdca6770"}, + {file = "pyrsistent-0.19.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21455e2b16000440e896ab99e8304617151981ed40c29e9507ef1c2e4314ee95"}, + {file = "pyrsistent-0.19.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bfd880614c6237243ff53a0539f1cb26987a6dc8ac6e66e0c5a40617296a045e"}, + {file = "pyrsistent-0.19.2-cp39-cp39-win32.whl", hash = "sha256:71d332b0320642b3261e9fee47ab9e65872c2bd90260e5d225dabeed93cbd42b"}, + {file = "pyrsistent-0.19.2-cp39-cp39-win_amd64.whl", hash = "sha256:dec3eac7549869365fe263831f576c8457f6c833937c68542d08fde73457d291"}, + {file = "pyrsistent-0.19.2-py3-none-any.whl", hash = "sha256:ea6b79a02a28550c98b6ca9c35b9f492beaa54d7c5c9e9949555893c8a9234d0"}, + {file = "pyrsistent-0.19.2.tar.gz", hash = "sha256:bfa0351be89c9fcbcb8c9879b826f4353be10f58f8a677efab0c017bf7137ec2"}, ] python-dateutil = [ {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, @@ -424,14 +425,14 @@ tabulate = [ {file = "tabulate-0.8.10.tar.gz", hash = "sha256:6c57f3f3dd7ac2782770155f3adb2db0b1a269637e42f27599925e64b114f519"}, ] typing-extensions = [ - {file = "typing_extensions-4.3.0-py3-none-any.whl", hash = "sha256:25642c956049920a5aa49edcdd6ab1e06d7e5d467fc00e0506c44ac86fbfca02"}, - {file = "typing_extensions-4.3.0.tar.gz", hash = "sha256:e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6"}, + {file = "typing_extensions-4.4.0-py3-none-any.whl", hash = "sha256:16fa4864408f655d35ec496218b85f79b3437c829e93320c7c9215ccfd92489e"}, + {file = "typing_extensions-4.4.0.tar.gz", hash = "sha256:1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa"}, ] urllib3 = [ {file = "urllib3-1.26.12-py2.py3-none-any.whl", hash = "sha256:b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997"}, {file = "urllib3-1.26.12.tar.gz", hash = "sha256:3fa96cf423e6987997fc326ae8df396db2a8b7c667747d47ddd8ecba91f4a74e"}, ] zipp = [ - {file = "zipp-3.8.1-py3-none-any.whl", hash = "sha256:47c40d7fe183a6f21403a199b3e4192cca5774656965b0a4988ad2f8feb5f009"}, - {file = "zipp-3.8.1.tar.gz", hash = "sha256:05b45f1ee8f807d0cc928485ca40a07cb491cf092ff587c0df9cb1fd154848d2"}, + {file = "zipp-3.10.0-py3-none-any.whl", hash = "sha256:4fcb6f278987a6605757302a6e40e896257570d11c51628968ccb2a47e80c6c1"}, + {file = "zipp-3.10.0.tar.gz", hash = "sha256:7a7262fd930bd3e36c50b9a64897aec3fafff3dfdeec9623ae22b40e93f99bb8"}, ] diff --git a/tools/c7n_trailcreator/pyproject.toml b/tools/c7n_trailcreator/pyproject.toml index a2392b93633..62778b3717b 100644 --- a/tools/c7n_trailcreator/pyproject.toml +++ b/tools/c7n_trailcreator/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "c7n_trailcreator" -version = "0.2.19" +version = "0.2.20" readme = "readme.md" homepage = "https://cloudcustodian.io" repository = "https://github.com/cloud-custodian/cloud-custodian" diff --git a/tools/c7n_trailcreator/requirements.txt b/tools/c7n_trailcreator/requirements.txt index 4b53288a517..0d0039e3e53 100644 --- a/tools/c7n_trailcreator/requirements.txt +++ b/tools/c7n_trailcreator/requirements.txt @@ -1,5 +1,5 @@ click==8.1.3 ; python_version >= "3.7" and python_version < "4.0" -colorama==0.4.5 ; python_version >= "3.7" and python_version < "4.0" and platform_system == "Windows" +colorama==0.4.6 ; python_version >= "3.7" and python_version < "4.0" and platform_system == "Windows" importlib-metadata==4.13.0 ; python_version >= "3.7" and python_version < "3.8" -typing-extensions==4.3.0 ; python_version >= "3.7" and python_version < "3.8" -zipp==3.8.1 ; python_version >= "3.7" and python_version < "3.8" +typing-extensions==4.4.0 ; python_version >= "3.7" and python_version < "3.8" +zipp==3.10.0 ; python_version >= "3.7" and python_version < "3.8" diff --git a/tools/c7n_trailcreator/setup.py b/tools/c7n_trailcreator/setup.py index 2ba1438044e..9e4d953c253 100644 --- a/tools/c7n_trailcreator/setup.py +++ b/tools/c7n_trailcreator/setup.py @@ -12,35 +12,35 @@ install_requires = \ ['argcomplete (>=2.0.0,<3.0.0)', 'attrs (>=22.1.0,<23.0.0)', - 'boto3 (>=1.24.88,<2.0.0)', - 'botocore (>=1.27.88,<2.0.0)', - 'c7n (>=0.9.20,<0.10.0)', - 'c7n-org (>=0.6.19,<0.7.0)', + 'boto3 (>=1.26.9,<2.0.0)', + 'botocore (>=1.29.9,<2.0.0)', + 'c7n (>=0.9.21,<0.10.0)', + 'c7n-org (>=0.6.20,<0.7.0)', 'click (>=8.1.3,<9.0.0)', 'click>=8.0,<9.0', - 'colorama (>=0.4.5,<0.5.0)', + 'colorama (>=0.4.6,<0.5.0)', 'docutils (>=0.17.1,<0.18.0)', 'importlib-metadata (>=4.13.0,<5.0.0)', - 'importlib-resources (>=5.9.0,<6.0.0)', + 'importlib-resources (>=5.10.0,<6.0.0)', 'jmespath (>=1.0.1,<2.0.0)', - 'jsonschema (>=4.16.0,<5.0.0)', + 'jsonschema (>=4.17.0,<5.0.0)', 'pkgutil_resolve_name (>=1.3.10,<2.0.0)', - 'pyrsistent (>=0.18.1,<0.19.0)', + 'pyrsistent (>=0.19.2,<0.20.0)', 'python-dateutil (>=2.8.2,<3.0.0)', 'pyyaml (>=6.0,<7.0)', 's3transfer (>=0.6.0,<0.7.0)', 'six (>=1.16.0,<2.0.0)', 'tabulate (>=0.8.10,<0.9.0)', - 'typing-extensions (>=4.3.0,<5.0.0)', + 'typing-extensions (>=4.4.0,<5.0.0)', 'urllib3 (>=1.26.12,<2.0.0)', - 'zipp (>=3.8.1,<4.0.0)'] + 'zipp (>=3.10.0,<4.0.0)'] entry_points = \ {'console_scripts': ['c7n-trailcreator = c7n_trailcreator.trailcreator:cli']} setup_kwargs = { 'name': 'c7n-trailcreator', - 'version': '0.2.19', + 'version': '0.2.20', 'description': 'Cloud Custodian - Retroactive Tag Resource Creators from CloudTrail', 'license': 'Apache-2.0', 'classifiers': [ diff --git a/tools/dev/poetrypkg.py b/tools/dev/poetrypkg.py index a5658fa70aa..47750dde891 100644 --- a/tools/dev/poetrypkg.py +++ b/tools/dev/poetrypkg.py @@ -113,7 +113,8 @@ def cli(): @click.option('-p', '--package-dir', type=click.Path()) @click.option('-f', '--version-file', type=click.Path()) def gen_version_file(package_dir, version_file): - data = toml.load(Path(str(package_dir)) / 'pyproject.toml') + with open(Path(str(package_dir)) / 'pyproject.toml', 'rb') as f: + data = toml.load(f) version = data['tool']['poetry']['version'] with open(version_file, 'w') as fh: fh.write('# Generated via tools/dev/poetrypkg.py\n') From f71996811dd11c76ccda3e7dadf10f9ac164f766 Mon Sep 17 00:00:00 2001 From: Kapil Thangavelu Date: Tue, 22 Nov 2022 12:37:29 -0500 Subject: [PATCH 08/16] c7n_left - github action output annotation fixes (#8011) --- docs/source/index.rst | 4 +- tools/c7n_left/c7n_left/cli.py | 2 +- tools/c7n_left/c7n_left/core.py | 13 +++-- tools/c7n_left/c7n_left/output.py | 50 +++++++++++++++---- .../c7n_left/providers/terraform/provider.py | 2 +- tools/c7n_left/pyproject.toml | 2 +- tools/c7n_left/tests/test_left.py | 9 ++-- 7 files changed, 58 insertions(+), 24 deletions(-) diff --git a/docs/source/index.rst b/docs/source/index.rst index dc71bdee463..77bfce7ac69 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -101,8 +101,8 @@ Navigate below to your cloud provider and get started with Cloud Custodian! :caption: Tools tools/c7n-org - tools/cask - tools/c7n-mailer + tools/c7n-mailer + tools/c7n-left tools/c7n-logexporter tools/c7n-trailcreator tools/c7n-policystream diff --git a/tools/c7n_left/c7n_left/cli.py b/tools/c7n_left/c7n_left/cli.py index 7977b92d9e8..40a4f6babdb 100644 --- a/tools/c7n_left/c7n_left/cli.py +++ b/tools/c7n_left/c7n_left/cli.py @@ -20,7 +20,7 @@ @click.group() def cli(): """Shift Left Policy""" - logging.basicConfig(level=logging.DEBUG) + logging.basicConfig(level=logging.INFO) initialize_iac() diff --git a/tools/c7n_left/c7n_left/core.py b/tools/c7n_left/c7n_left/core.py index 3842c3a84b4..111d7e2494c 100644 --- a/tools/c7n_left/c7n_left/core.py +++ b/tools/c7n_left/c7n_left/core.py @@ -37,14 +37,14 @@ def __init__(self, policies, options, reporter): self.options = options self.reporter = reporter - def run(self): + def run(self) -> bool: + # return value is used to signal process exit code. event = self.get_event() provider = self.get_provider() if not provider.match_dir(self.options.source_dir): - raise NotImplementedError( - "no %s source files found" % provider.provider_name - ) + log.warning("no %s source files found" % provider.type) + return True graph = provider.parse(self.options.source_dir) @@ -52,7 +52,7 @@ def run(self): p.expand_variables(p.get_variables()) p.validate() - self.reporter.on_execution_started(self.policies) + self.reporter.on_execution_started(self.policies, graph) # consider inverting this order to allow for results grouped by policy # at the moment, we're doing results grouped by resource. found = False @@ -177,6 +177,9 @@ def __init__(self, resource_data, src_dir): self.resource_data = resource_data self.src_dir = src_dir + def __len__(self): + raise NotImplementedError() + def get_resource_by_type(self): raise NotImplementedError() diff --git a/tools/c7n_left/c7n_left/output.py b/tools/c7n_left/c7n_left/output.py index 8381c37e65b..c537282e73f 100644 --- a/tools/c7n_left/c7n_left/output.py +++ b/tools/c7n_left/c7n_left/output.py @@ -67,7 +67,7 @@ def __init__(self, ctx, config): self.ctx = ctx self.config = config - def on_execution_started(self, policies): + def on_execution_started(self, policies, graph): pass def on_execution_ended(self): @@ -83,19 +83,27 @@ def __init__(self, ctx, config): super().__init__(ctx, config) self.console = Console(file=config.output_file) self.started = None + self.matches = 0 - def on_execution_started(self, policies): - self.console.print("Running %d policies" % (len(policies),)) + def on_execution_started(self, policies, graph): + self.console.print( + "Running %d policies on %d resources" % (len(policies), len(graph)) + ) self.started = time.time() def on_execution_ended(self): + message = "[green]Success[green]" + if self.matches: + message = "[red]%d Failures[/red]" % len(self.matches) self.console.print( - "Execution complete %0.2f seconds" % (time.time() - self.started) + "Evaluation complete %0.2f seconds -> %s" + % (time.time() - self.started, message) ) def on_results(self, results): for r in results: self.console.print(RichResult(r)) + self.matches += len(results) class RichResult: @@ -122,12 +130,26 @@ def __rich_console__(self, console, options): yield "" -@report_outputs.register("github") -class Github(Output): +class MultiOutput: + def __init__(self, outputs): + self.outputs = outputs - # https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#setting-an-error-message + def on_execution_started(self, policies, graph): + for o in self.outputs: + o.on_execution_started(policies, graph) + + def on_execution_ended(self): + for o in self.outputs: + o.on_execution_ended() + + def on_results(self, results): + for o in self.outputs: + o.on_results(results) - "::error file={name},line={line},endLine={endLine},title={title}::{message}" + +class GithubFormat(Output): + + # https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#setting-an-error-message def on_results(self, results): for r in results: @@ -139,9 +161,17 @@ def format_result(self, result): md = PolicyMetadata(result.policy) filename = resource.src_dir / resource.filename title = md.title - message = md.description or "" + message = md.description or md.title + + return f"::error file={filename},line={resource.line_start},lineEnd={resource.line_end},title={title}::{message}" # noqa - return f"::error file={filename} line={resource.line_start} lineEnd={resource.line_end} title={title}::{message}" # noqa + +@report_outputs.register("github") +class GithubOutput(MultiOutput): + "For github action execution we want both line annotation and cli outputs" + + def __init__(self, ctx, config): + super().__init__([GithubFormat(ctx, config), RichCli(ctx, config)]) class JSONEncoder(json.JSONEncoder): diff --git a/tools/c7n_left/c7n_left/providers/terraform/provider.py b/tools/c7n_left/c7n_left/providers/terraform/provider.py index 2110725b857..05f9bb5c336 100644 --- a/tools/c7n_left/c7n_left/providers/terraform/provider.py +++ b/tools/c7n_left/c7n_left/providers/terraform/provider.py @@ -47,7 +47,7 @@ def initialize_policies(self, policies, options): def parse(self, source_dir): graph = TerraformGraph(load_from_path(source_dir), source_dir) graph.build() - log.debug("Loaded %d resources", len(graph)) + log.debug("Loaded %d %s resources", len(graph), self.type) return graph def match_dir(self, source_dir): diff --git a/tools/c7n_left/pyproject.toml b/tools/c7n_left/pyproject.toml index 16f04a13631..0ce5206de5b 100644 --- a/tools/c7n_left/pyproject.toml +++ b/tools/c7n_left/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "c7n_left" -version = "0.1.1" +version = "0.1.2" description = "Custodian policies for IAAC definitions" authors = ["Cloud Custodian Project"] license = "Apache-2" diff --git a/tools/c7n_left/tests/test_left.py b/tools/c7n_left/tests/test_left.py index f9c5c3d466b..c0da06a15ca 100644 --- a/tools/c7n_left/tests/test_left.py +++ b/tools/c7n_left/tests/test_left.py @@ -37,7 +37,7 @@ class ResultsReporter: def __init__(self): self.results = [] - def on_execution_started(self, policies): + def on_execution_started(self, policies, graph): pass def on_execution_ended(self): @@ -327,10 +327,11 @@ def test_cli_output_github(tmp_path): ], ) assert result.exit_code == 1 - assert result.output == ( - "::error file=tests/terraform/aws_s3_encryption_audit/main.tf line=25 lineEnd=28" - " title=terraform.aws_s3_bucket - policy:check-bucket::a description\n" + expected = ( + "::error file=tests/terraform/aws_s3_encryption_audit/main.tf,line=25,lineEnd=28," + "title=terraform.aws_s3_bucket - policy:check-bucket::a description" ) + assert expected in result.output def test_cli_output_json_query(tmp_path): From 12f7df4dcfabdf9202f4393d48eb4564dd85461d Mon Sep 17 00:00:00 2001 From: Kent Ou <84220825+kentnsw@users.noreply.github.com> Date: Wed, 23 Nov 2022 04:40:21 +1100 Subject: [PATCH 09/16] aws - notify - prepare iam-saml-provider for notify (#8022) --- c7n/actions/notify.py | 8 ++++++++ tests/test_notify.py | 13 +++++++++++++ 2 files changed, 21 insertions(+) diff --git a/c7n/actions/notify.py b/c7n/actions/notify.py index 309fb00ceb1..31959171a35 100644 --- a/c7n/actions/notify.py +++ b/c7n/actions/notify.py @@ -220,6 +220,14 @@ def prepare_ec2(self, resources): r.pop('c7n:user-data') return resources + def prepare_iam_saml_provider(self, resources): + for r in resources: + if 'SAMLMetadataDocument' in r: + r.pop('SAMLMetadataDocument') + if 'IDPSSODescriptor' in r: + r.pop('IDPSSODescriptor') + return resources + def send_data_message(self, message): if self.data['transport']['type'] == 'sqs': return self.send_sqs(message) diff --git a/tests/test_notify.py b/tests/test_notify.py index 7e53c9ee558..2b4d8bd42f6 100644 --- a/tests/test_notify.py +++ b/tests/test_notify.py @@ -84,6 +84,7 @@ def cleanup(): }, ) + # TODO refactor - extract method def test_resource_prep(self): session_factory = self.record_flight_data("test_notify_resource_prep") policy = self.load_policy( @@ -122,6 +123,18 @@ def test_resource_prep(self): [{'c7n:user-data': 'xyz', 'Id': 'a-123'}]), [{'Id': 'a-123'}]) + policy = self.load_policy( + {"name": "notify-sns", + "resource": "iam-saml-provider", + "actions": [ + {"type": "notify", "to": ["noone@example.com"], + "transport": {"type": "sns", "topic": "zebra"}}]}, + session_factory=session_factory) + self.assertEqual( + policy.resource_manager.actions[0].prepare_resources( + [{'SAMLMetadataDocument': 'xyz', 'IDPSSODescriptor': 'abc', 'Id': 'a-123'}]), + [{'Id': 'a-123'}]) + def test_sns_notify(self): session_factory = self.replay_flight_data("test_sns_notify_action") client = session_factory().client("sns") From b02f8e7b3075f15b45f1314686d4270fe50600a1 Mon Sep 17 00:00:00 2001 From: Steven Date: Tue, 22 Nov 2022 12:00:31 -0800 Subject: [PATCH 10/16] aws - efs - add has-statement filter (#7884) --- c7n/resources/efs.py | 33 +++++++ ...filesystem.DescribeFileSystemPolicy_1.json | 11 +++ ...filesystem.DescribeFileSystemPolicy_2.json | 8 ++ ...asticfilesystem.DescribeFileSystems_1.json | 86 +++++++++++++++++++ tests/test_efs.py | 46 ++++++++++ 5 files changed, 184 insertions(+) create mode 100644 tests/data/placebo/test_efs_has_statement/elasticfilesystem.DescribeFileSystemPolicy_1.json create mode 100644 tests/data/placebo/test_efs_has_statement/elasticfilesystem.DescribeFileSystemPolicy_2.json create mode 100644 tests/data/placebo/test_efs_has_statement/elasticfilesystem.DescribeFileSystems_1.json diff --git a/c7n/resources/efs.py b/c7n/resources/efs.py index 3bb7e5612d2..7554c467253 100644 --- a/c7n/resources/efs.py +++ b/c7n/resources/efs.py @@ -8,6 +8,7 @@ from c7n.filters import Filter from c7n.manager import resources from c7n.filters.vpc import SecurityGroupFilter, SubnetFilter +from c7n.filters.policystatement import HasStatementFilter from c7n.query import ( QueryResourceManager, ChildResourceManager, TypeInfo, DescribeSource, ConfigSource ) @@ -304,3 +305,35 @@ def process(self, resources, event=None): "%d of %d EFS policies don't enforce secure transport", len(results), len(resources)) return results + + +@ElasticFileSystem.filter_registry.register('has-statement') +class EFSHasStatementFilter(HasStatementFilter): + + def __init__(self, data, manager=None): + super().__init__(data, manager) + self.policy_attribute = 'c7n:Policy' + + def process(self, resources, event=None): + resources = [self.policy_annotate(r) for r in resources] + return super().process(resources, event) + + def policy_annotate(self, resource): + client = local_session(self.manager.session_factory).client('efs') + if self.policy_attribute in resource: + return resource + try: + result = client.describe_file_system_policy( + FileSystemId=resource['FileSystemId']) + resource[self.policy_attribute] = result['Policy'] + except client.exceptions.PolicyNotFound: + resource[self.policy_attribute] = None + return resource + return resource + + def get_std_format_args(self, fs): + return { + 'fs_arn': fs['FileSystemArn'], + 'account_id': self.manager.config.account_id, + 'region': self.manager.config.region + } diff --git a/tests/data/placebo/test_efs_has_statement/elasticfilesystem.DescribeFileSystemPolicy_1.json b/tests/data/placebo/test_efs_has_statement/elasticfilesystem.DescribeFileSystemPolicy_1.json new file mode 100644 index 00000000000..0605be1607a --- /dev/null +++ b/tests/data/placebo/test_efs_has_statement/elasticfilesystem.DescribeFileSystemPolicy_1.json @@ -0,0 +1,11 @@ +{ + "status_code": 404, + "data": { + "Error": { + "Message": null, + "Code": "PolicyNotFound" + }, + "ResponseMetadata": {}, + "ErrorCode": "PolicyNotFound" + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_efs_has_statement/elasticfilesystem.DescribeFileSystemPolicy_2.json b/tests/data/placebo/test_efs_has_statement/elasticfilesystem.DescribeFileSystemPolicy_2.json new file mode 100644 index 00000000000..659e4306a32 --- /dev/null +++ b/tests/data/placebo/test_efs_has_statement/elasticfilesystem.DescribeFileSystemPolicy_2.json @@ -0,0 +1,8 @@ +{ + "status_code": 200, + "data": { + "ResponseMetadata": {}, + "FileSystemId": "fs-02a57c41b055346b8", + "Policy": "{\n \"Version\" : \"2012-10-17\",\n \"Id\" : \"efs-policy-wizard-7afb3346-2a1c-4bcf-82d4-ba7cb70f557c\",\n \"Statement\" : [ {\n \"Sid\" : \"efs-statement-777aba2f-cbd5-41a0-b059-37e1af5cba3c\",\n \"Effect\" : \"Allow\",\n \"Principal\" : {\n \"AWS\" : \"*\"\n },\n \"Action\" : [ \"elasticfilesystem:ClientRootAccess\", \"elasticfilesystem:ClientWrite\" ],\n \"Resource\" : \"arn:aws:elasticfilesystem:us-east-1:644160558196:file-system/fs-02a57c41b055346b8\",\n \"Condition\" : {\n \"Bool\" : {\n \"elasticfilesystem:AccessedViaMountTarget\" : \"true\"\n }\n }\n } ]\n}" + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_efs_has_statement/elasticfilesystem.DescribeFileSystems_1.json b/tests/data/placebo/test_efs_has_statement/elasticfilesystem.DescribeFileSystems_1.json new file mode 100644 index 00000000000..0b5c6c070e3 --- /dev/null +++ b/tests/data/placebo/test_efs_has_statement/elasticfilesystem.DescribeFileSystems_1.json @@ -0,0 +1,86 @@ +{ + "status_code": 200, + "data": { + "ResponseMetadata": {}, + "FileSystems": [ + { + "OwnerId": "644160558196", + "CreationToken": "quickCreated-b472bbd0-c892-453c-9654-f407c14e0110", + "FileSystemId": "fs-0fca41f75528ef461", + "FileSystemArn": "arn:aws:elasticfilesystem:us-east-1:644160558196:file-system/fs-0fca41f75528ef461", + "CreationTime": { + "__class__": "datetime", + "year": 2022, + "month": 10, + "day": 14, + "hour": 13, + "minute": 15, + "second": 35, + "microsecond": 0 + }, + "LifeCycleState": "available", + "Name": "efs-not-has-statement", + "NumberOfMountTargets": 0, + "SizeInBytes": { + "Value": 6144, + "ValueInIA": 0, + "ValueInStandard": 6144 + }, + "PerformanceMode": "generalPurpose", + "Encrypted": true, + "KmsKeyId": "arn:aws:kms:us-east-1:644160558196:key/72698e26-84fe-4564-9be5-284e1e93e23c", + "ThroughputMode": "bursting", + "Tags": [ + { + "Key": "Name", + "Value": "efs-not-has-statement" + }, + { + "Key": "aws:elasticfilesystem:default-backup", + "Value": "enabled" + } + ] + }, + { + "OwnerId": "644160558196", + "CreationToken": "quickCreated-81dff836-daf7-40ca-abfd-7f45110666c8", + "FileSystemId": "fs-02a57c41b055346b8", + "FileSystemArn": "arn:aws:elasticfilesystem:us-east-1:644160558196:file-system/fs-02a57c41b055346b8", + "CreationTime": { + "__class__": "datetime", + "year": 2022, + "month": 10, + "day": 14, + "hour": 13, + "minute": 14, + "second": 59, + "microsecond": 0 + }, + "LifeCycleState": "available", + "Name": "efs-has-statement", + "NumberOfMountTargets": 0, + "SizeInBytes": { + "Value": 6144, + "ValueInIA": 0, + "ValueInStandard": 6144 + }, + "PerformanceMode": "generalPurpose", + "Encrypted": true, + "KmsKeyId": "arn:aws:kms:us-east-1:644160558196:key/72698e26-84fe-4564-9be5-284e1e93e23c", + "ThroughputMode": "bursting", + "AvailabilityZoneName": "us-east-1a", + "AvailabilityZoneId": "use1-az1", + "Tags": [ + { + "Key": "Name", + "Value": "efs-has-statement" + }, + { + "Key": "aws:elasticfilesystem:default-backup", + "Value": "enabled" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/tests/test_efs.py b/tests/test_efs.py index 9a6c360f254..a28c681652f 100644 --- a/tests/test_efs.py +++ b/tests/test_efs.py @@ -236,3 +236,49 @@ def test_filter_securetransport_check(self): resources = p.run() self.assertEqual(len(resources), 1) self.assertEqual(resources[0]["Name"], "efs-without-secure-transport") + + def test_efs_has_statement(self): + factory = self.replay_flight_data("test_efs_has_statement") + p = self.load_policy( + { + "name": "efs-has-statement", + "resource": "efs", + "filters": [ + { + "type": "has-statement", + "statements": [ + { + "Effect": "Allow", + "Condition": + {"Bool": {"elasticfilesystem:AccessedViaMountTarget": "true"}}, + "Resource": "{fs_arn}" + } + ] + } + ], + }, + session_factory=factory, + ) + resources = p.run() + self.assertEqual(len(resources), 1) + self.assertEqual(resources[0]["Name"], "efs-has-statement") + + p = self.load_policy( + { + "name": "efs-has-statement", + "resource": "efs", + "filters": [ + { + "type": "has-statement", + "statements": [ + { + "Effect": "Deny" + } + ] + } + ], + }, + session_factory=factory, + ) + resources = p.run() + self.assertEqual(len(resources), 0) From 86ab033ec1a858ec54ea97b5554b11d93617b780 Mon Sep 17 00:00:00 2001 From: Shivaji Gungi <114214045+sgungi-intuit@users.noreply.github.com> Date: Wed, 23 Nov 2022 03:39:21 +0530 Subject: [PATCH 11/16] aws - hosted-zone - query-logging-enabled: add subscription filter details (#7988) --- c7n/resources/route53.py | 9 ++++- .../logs.DescribeSubscriptionFilters_1.json | 24 ++++++++++++ .../route53.ListHostedZones_1.json | 37 ++++++------------- .../route53.ListQueryLoggingConfigs_1.json | 18 ++------- .../route53.ListTagsForResources_1.json | 27 +++++++------- tests/test_route53.py | 4 +- 6 files changed, 63 insertions(+), 56 deletions(-) create mode 100644 tests/data/placebo/test_route53_filter_query_logging/logs.DescribeSubscriptionFilters_1.json diff --git a/c7n/resources/route53.py b/c7n/resources/route53.py index 33ae1338b17..abe9506a209 100644 --- a/c7n/resources/route53.py +++ b/c7n/resources/route53.py @@ -13,7 +13,6 @@ from c7n.utils import chunks, get_retry, generate_arn, local_session, type_schema from c7n.actions import BaseAction from c7n.filters import Filter - from c7n.resources.shield import IsShieldProtected, SetShieldProtection from c7n.tags import RemoveTag, Tag @@ -460,11 +459,13 @@ def get_logging_config_paginator(client): @HostedZone.filter_registry.register('query-logging-enabled') class IsQueryLoggingEnabled(Filter): - permissions = ('route53:GetQueryLoggingConfig', 'route53:GetHostedZone') + permissions = ('route53:GetQueryLoggingConfig', 'route53:GetHostedZone', + 'logs:DescribeSubscriptionFilters') schema = type_schema('query-logging-enabled', state={'type': 'boolean'}) def process(self, resources, event=None): client = local_session(self.manager.session_factory).client('route53') + cw_client = local_session(self.manager.session_factory).client('logs') state = self.data.get('state', False) results = [] @@ -481,7 +482,11 @@ def process(self, resources, event=None): logging = zid in enabled_zones if logging and state: r['c7n:log-config'] = enabled_zones[zid] + log_group_name = r['c7n:log-config']['CloudWatchLogsLogGroupArn'].split(":")[-1] + response = cw_client.describe_subscription_filters(logGroupName=log_group_name) + r['c7n:log-config']['loggroup_subscription'] = response['subscriptionFilters'] results.append(r) elif not logging and not state: results.append(r) + return results diff --git a/tests/data/placebo/test_route53_filter_query_logging/logs.DescribeSubscriptionFilters_1.json b/tests/data/placebo/test_route53_filter_query_logging/logs.DescribeSubscriptionFilters_1.json new file mode 100644 index 00000000000..0007a7dc06e --- /dev/null +++ b/tests/data/placebo/test_route53_filter_query_logging/logs.DescribeSubscriptionFilters_1.json @@ -0,0 +1,24 @@ +{ + "status_code": 200, + "data": { + "subscriptionFilters": [ + { + "filterName": "r53query-log-644160558196", + "logGroupName": "/aws/route53/custodian.io", + "filterPattern": "", + "destinationArn": "arn:aws:logs:us-east-1:644160558196:destination:r53query-log-destination-644160558196", + "distribution": "Random", + "creationTime": 1668764961184 + }, + { + "filterName": "testsubscription", + "logGroupName": "/aws/route53/custodian.io", + "filterPattern": "", + "destinationArn": "arn:aws:lambda:us-east-1:644160558196:function:ResolverEnableQueryLogging", + "distribution": "ByLogStream", + "creationTime": 1668751940196 + } + ], + "ResponseMetadata": {} + } +} \ No newline at end of file diff --git a/tests/data/placebo/test_route53_filter_query_logging/route53.ListHostedZones_1.json b/tests/data/placebo/test_route53_filter_query_logging/route53.ListHostedZones_1.json index 0cfb636893a..96afab4988c 100644 --- a/tests/data/placebo/test_route53_filter_query_logging/route53.ListHostedZones_1.json +++ b/tests/data/placebo/test_route53_filter_query_logging/route53.ListHostedZones_1.json @@ -1,38 +1,25 @@ { "status_code": 200, "data": { - "ResponseMetadata": { - "RequestId": "90b315b0-f022-11e8-8b62-c7b4382bf2e5", - "HTTPStatusCode": 200, - "HTTPHeaders": { - "x-amzn-requestid": "90b315b0-f022-11e8-8b62-c7b4382bf2e5", - "content-type": "text/xml", - "content-length": "976", - "date": "Sat, 24 Nov 2018 19:53:07 GMT" - }, - "RetryAttempts": 0 - }, + "ResponseMetadata": {}, "HostedZones": [ { - "Id": "/hostedzone/Z2UGBO0SA2RMJ1", - "Name": "local.", - "CallerReference": "6c6azf4uswtoblvusgbbncdrvs7pkl5u-jopzl8e7", + "Id": "/hostedzone/Z0423603VKO3K9HA5YQD", + "Name": "custodian.io.", + "CallerReference": "6aaa3172-47b9-4c2e-84aa-acd9081fa3fa", "Config": { - "Comment": "Created by Route 53 Auto Naming", - "PrivateZone": true + "Comment": "custodian.io", + "PrivateZone": false }, - "ResourceRecordSetCount": 2, - "LinkedService": { - "ServicePrincipal": "servicediscovery.amazonaws.com", - "Description": "arn:aws:servicediscovery:us-east-1:644160558196:namespace/ns-yolek4rawejl6tpc" - } + "ResourceRecordSetCount": 2 }, { - "Id": "/hostedzone/Z20H1474487I0O", - "Name": "cloudcustodian.io.", - "CallerReference": "82155185-1D01-4ED0-8F5E-490E8715D384", + "Id": "/hostedzone/Z10481101M6AKWLAEHU70", + "Name": "vpc.internal.", + "CallerReference": "2022-11-15 09:29:34.722", "Config": { - "PrivateZone": false + "Comment": "Private Route53 hosted zone - vpc-0d9dd54496f180583", + "PrivateZone": true }, "ResourceRecordSetCount": 2 } diff --git a/tests/data/placebo/test_route53_filter_query_logging/route53.ListQueryLoggingConfigs_1.json b/tests/data/placebo/test_route53_filter_query_logging/route53.ListQueryLoggingConfigs_1.json index 68b79eb8f95..3e6ffdf637c 100644 --- a/tests/data/placebo/test_route53_filter_query_logging/route53.ListQueryLoggingConfigs_1.json +++ b/tests/data/placebo/test_route53_filter_query_logging/route53.ListQueryLoggingConfigs_1.json @@ -1,22 +1,12 @@ { "status_code": 200, "data": { - "ResponseMetadata": { - "RequestId": "90c95cbc-f022-11e8-a4e7-8345280902af", - "HTTPStatusCode": 200, - "HTTPHeaders": { - "x-amzn-requestid": "90c95cbc-f022-11e8-a4e7-8345280902af", - "content-type": "text/xml", - "content-length": "446", - "date": "Sat, 24 Nov 2018 19:53:07 GMT" - }, - "RetryAttempts": 0 - }, + "ResponseMetadata": {}, "QueryLoggingConfigs": [ { - "Id": "e5d4a92e-b8ee-437f-81c4-df7c8495ebfb", - "HostedZoneId": "Z20H1474487I0O", - "CloudWatchLogsLogGroupArn": "arn:aws:logs:us-east-1:644160558196:log-group:/aws/route53/cloudcustodian.io" + "Id": "72c989f8-8be5-434e-b213-7a30ea34d482", + "HostedZoneId": "Z0423603VKO3K9HA5YQD", + "CloudWatchLogsLogGroupArn": "arn:aws:logs:us-east-1:644160558196:log-group:/aws/route53/custodian.io" } ] } diff --git a/tests/data/placebo/test_route53_filter_query_logging/route53.ListTagsForResources_1.json b/tests/data/placebo/test_route53_filter_query_logging/route53.ListTagsForResources_1.json index baa741e2971..a0993649d7e 100644 --- a/tests/data/placebo/test_route53_filter_query_logging/route53.ListTagsForResources_1.json +++ b/tests/data/placebo/test_route53_filter_query_logging/route53.ListTagsForResources_1.json @@ -1,26 +1,25 @@ { "status_code": 200, "data": { - "ResponseMetadata": { - "RequestId": "90bd7606-f022-11e8-8c75-f3350c9b75d9", - "HTTPStatusCode": 200, - "HTTPHeaders": { - "x-amzn-requestid": "90bd7606-f022-11e8-8c75-f3350c9b75d9", - "content-type": "text/xml", - "content-length": "408", - "date": "Sat, 24 Nov 2018 19:53:07 GMT" - }, - "RetryAttempts": 0 - }, + "ResponseMetadata": {}, "ResourceTagSets": [ { "ResourceType": "hostedzone", - "ResourceId": "Z20H1474487I0O", - "Tags": [] + "ResourceId": "Z10481101M6AKWLAEHU70", + "Tags": [ + { + "Key": "DomainName", + "Value": "vpc.internal" + }, + { + "Key": "intuit:cfn:version", + "Value": "1.0.0" + } + ] }, { "ResourceType": "hostedzone", - "ResourceId": "Z2UGBO0SA2RMJ1", + "ResourceId": "Z0423603VKO3K9HA5YQD", "Tags": [] } ] diff --git a/tests/test_route53.py b/tests/test_route53.py index 8b8df8dc0bd..dc8e443629c 100644 --- a/tests/test_route53.py +++ b/tests/test_route53.py @@ -318,4 +318,6 @@ def test_hostedzone_filter_query_log(self): session_factory=session_factory) resources = p.run() self.assertEqual(len(resources), 1) - self.assertEqual(resources[0]['Id'], "/hostedzone/Z20H1474487I0O") + self.assertEqual(resources[0]['Id'], "/hostedzone/Z0423603VKO3K9HA5YQD") + self.assertEqual(resources[0]['c7n:log-config']['loggroup_subscription'][0]['logGroupName'], + '/aws/route53/custodian.io') From c8a8ad187faa12b563420d02aec3bd31d7f31ce2 Mon Sep 17 00:00:00 2001 From: Kapil Thangavelu Date: Wed, 23 Nov 2022 08:27:45 -0500 Subject: [PATCH 12/16] aws - dlm - use native arn attribute (#8027) --- c7n/resources/dlm.py | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/c7n/resources/dlm.py b/c7n/resources/dlm.py index 59dacc3b14d..c991823c44f 100644 --- a/c7n/resources/dlm.py +++ b/c7n/resources/dlm.py @@ -3,7 +3,6 @@ from c7n.manager import resources from c7n.query import QueryResourceManager, TypeInfo from c7n.tags import Tag, RemoveTag -from c7n.utils import get_partition @resources.register('dlm-policy') @@ -17,7 +16,8 @@ class resource_type(TypeInfo): detail_spec = ('get_lifecycle_policy', 'PolicyId', 'PolicyId', 'Policy') filter_name = 'PolicyIds' filter_type = 'list' - arn = True + arn = 'PolicyArn' + arn_type = 'policy' cfn_type = 'AWS::DLM::LifecyclePolicy' # arn:aws:dlm:us-east-1:532725030595:policy/policy-0e23a047d0fdb7761 @@ -27,13 +27,6 @@ def augment(self, resources): r['Tags'] = [{'Key': k, 'Value': v} for k, v in r.get('Tags', {}).items()] return resources - def get_arns(self, resources): - partition = get_partition(self.region) - return [ - f"arn:{partition}:dlm:{self.region}:{self.account_id}:policy/{r['PolicyId']}" - for r in resources - ] - @DLMPolicy.action_registry.register('tag') class TagDLMPolicy(Tag): From 3743994e518bcfe61168fff1b26ee0e5f1b88c07 Mon Sep 17 00:00:00 2001 From: Kapil Thangavelu Date: Wed, 23 Nov 2022 14:52:51 -0500 Subject: [PATCH 13/16] releng - update poetry to 1.2.2 (#8013) --- .github/composites/docker-build-push/action.yaml | 2 +- .github/workflows/ci-main.yml | 2 +- docker/c7n | 2 +- docker/c7n-distroless | 2 +- docker/c7n-kube | 2 +- docker/c7n-kube-distroless | 2 +- docker/c7n-org | 2 +- docker/c7n-org-distroless | 2 +- docker/mailer | 2 +- docker/mailer-distroless | 2 +- docker/policystream | 2 +- docker/policystream-distroless | 2 +- tools/dev/dockerpkg.py | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/composites/docker-build-push/action.yaml b/.github/composites/docker-build-push/action.yaml index 4404605920f..b37450d9bff 100644 --- a/.github/composites/docker-build-push/action.yaml +++ b/.github/composites/docker-build-push/action.yaml @@ -14,7 +14,7 @@ inputs: default: false poetry_version: description: "Poetry Version to use" - default: "1.2.1" + default: "1.2.2" trivy_version: description: "Trivy version to use" default: "0.5.4" diff --git a/.github/workflows/ci-main.yml b/.github/workflows/ci-main.yml index b54ce3c9da0..5489d5cb417 100644 --- a/.github/workflows/ci-main.yml +++ b/.github/workflows/ci-main.yml @@ -1,6 +1,6 @@ name: "CI" env: - POETRY_VERSION: "1.2.1" + POETRY_VERSION: "1.2.2" on: push: branches: diff --git a/docker/c7n b/docker/c7n index 84a881051fe..87ffac9793d 100644 --- a/docker/c7n +++ b/docker/c7n @@ -2,7 +2,7 @@ FROM ubuntu:22.04 as build-env -ARG POETRY_VERSION="1.2.1" +ARG POETRY_VERSION="1.2.2" SHELL ["/bin/bash", "-c"] # pre-requisite distro deps, and build env setup diff --git a/docker/c7n-distroless b/docker/c7n-distroless index ff7fa13ee17..851d1440c37 100644 --- a/docker/c7n-distroless +++ b/docker/c7n-distroless @@ -2,7 +2,7 @@ FROM debian:10-slim as build-env -ARG POETRY_VERSION="1.2.1" +ARG POETRY_VERSION="1.2.2" SHELL ["/bin/bash", "-c"] # pre-requisite distro deps, and build env setup diff --git a/docker/c7n-kube b/docker/c7n-kube index 2288ffe72b9..a6886d643e4 100644 --- a/docker/c7n-kube +++ b/docker/c7n-kube @@ -2,7 +2,7 @@ FROM ubuntu:22.04 as build-env -ARG POETRY_VERSION="1.2.1" +ARG POETRY_VERSION="1.2.2" SHELL ["/bin/bash", "-c"] # pre-requisite distro deps, and build env setup diff --git a/docker/c7n-kube-distroless b/docker/c7n-kube-distroless index 6b35b9b45b9..dde2ac3b428 100644 --- a/docker/c7n-kube-distroless +++ b/docker/c7n-kube-distroless @@ -2,7 +2,7 @@ FROM debian:10-slim as build-env -ARG POETRY_VERSION="1.2.1" +ARG POETRY_VERSION="1.2.2" SHELL ["/bin/bash", "-c"] # pre-requisite distro deps, and build env setup diff --git a/docker/c7n-org b/docker/c7n-org index 5fdea3ff322..f1bb9770955 100644 --- a/docker/c7n-org +++ b/docker/c7n-org @@ -2,7 +2,7 @@ FROM ubuntu:22.04 as build-env -ARG POETRY_VERSION="1.2.1" +ARG POETRY_VERSION="1.2.2" SHELL ["/bin/bash", "-c"] # pre-requisite distro deps, and build env setup diff --git a/docker/c7n-org-distroless b/docker/c7n-org-distroless index 0c83e5b1cb6..d4661324f78 100644 --- a/docker/c7n-org-distroless +++ b/docker/c7n-org-distroless @@ -2,7 +2,7 @@ FROM debian:10-slim as build-env -ARG POETRY_VERSION="1.2.1" +ARG POETRY_VERSION="1.2.2" SHELL ["/bin/bash", "-c"] # pre-requisite distro deps, and build env setup diff --git a/docker/mailer b/docker/mailer index acca75de0f9..52809334a99 100644 --- a/docker/mailer +++ b/docker/mailer @@ -2,7 +2,7 @@ FROM ubuntu:22.04 as build-env -ARG POETRY_VERSION="1.2.1" +ARG POETRY_VERSION="1.2.2" SHELL ["/bin/bash", "-c"] # pre-requisite distro deps, and build env setup diff --git a/docker/mailer-distroless b/docker/mailer-distroless index c2d8d2f41bc..4ade3129d0a 100644 --- a/docker/mailer-distroless +++ b/docker/mailer-distroless @@ -2,7 +2,7 @@ FROM debian:10-slim as build-env -ARG POETRY_VERSION="1.2.1" +ARG POETRY_VERSION="1.2.2" SHELL ["/bin/bash", "-c"] # pre-requisite distro deps, and build env setup diff --git a/docker/policystream b/docker/policystream index 9179f737f14..444af76d5f8 100644 --- a/docker/policystream +++ b/docker/policystream @@ -2,7 +2,7 @@ FROM ubuntu:22.04 as build-env -ARG POETRY_VERSION="1.2.1" +ARG POETRY_VERSION="1.2.2" SHELL ["/bin/bash", "-c"] # pre-requisite distro deps, and build env setup diff --git a/docker/policystream-distroless b/docker/policystream-distroless index d91fd4492f0..b450dfe6384 100644 --- a/docker/policystream-distroless +++ b/docker/policystream-distroless @@ -2,7 +2,7 @@ FROM debian:10-slim as build-env -ARG POETRY_VERSION="1.2.1" +ARG POETRY_VERSION="1.2.2" SHELL ["/bin/bash", "-c"] # pre-requisite distro deps, and build env setup diff --git a/tools/dev/dockerpkg.py b/tools/dev/dockerpkg.py index 67a8a1fe7c0..715deff87ae 100644 --- a/tools/dev/dockerpkg.py +++ b/tools/dev/dockerpkg.py @@ -65,7 +65,7 @@ FROM {base_build_image} as build-env -ARG POETRY_VERSION="1.2.1" +ARG POETRY_VERSION="1.2.2" SHELL ["/bin/bash", "-c"] # pre-requisite distro deps, and build env setup From c5eb49163aea767492dc9a98ad106983f6e4d839 Mon Sep 17 00:00:00 2001 From: Sonny Date: Mon, 28 Nov 2022 16:30:19 -0500 Subject: [PATCH 14/16] fix - flake8/pyflakes bump removed type comments linting (#8039) --- tools/c7n_azure/c7n_azure/actions/logic_app.py | 3 --- .../tests_azure/tests_resources/test_app_service_plan.py | 3 +-- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/tools/c7n_azure/c7n_azure/actions/logic_app.py b/tools/c7n_azure/c7n_azure/actions/logic_app.py index 3ef3a7ce8f3..a4f930bfc8e 100644 --- a/tools/c7n_azure/c7n_azure/actions/logic_app.py +++ b/tools/c7n_azure/c7n_azure/actions/logic_app.py @@ -1,8 +1,6 @@ # Copyright The Cloud Custodian Authors. # SPDX-License-Identifier: Apache-2.0 -from azure.mgmt.logic import LogicManagementClient - from c7n.actions.webhook import Webhook from c7n.utils import type_schema @@ -59,7 +57,6 @@ def process(self, resources, event=None): def get_callback_url(self, resource_group, workflow_name): """ Gets the logic app invoke trigger with secrets using RBAC """ - # type: LogicManagementClient client = self.manager.get_client( 'azure.mgmt.logic.LogicManagementClient') diff --git a/tools/c7n_azure/tests_azure/tests_resources/test_app_service_plan.py b/tools/c7n_azure/tests_azure/tests_resources/test_app_service_plan.py index efcaa156246..bbb9ba1fe25 100644 --- a/tools/c7n_azure/tests_azure/tests_resources/test_app_service_plan.py +++ b/tools/c7n_azure/tests_azure/tests_resources/test_app_service_plan.py @@ -1,6 +1,5 @@ # Copyright The Cloud Custodian Authors. # SPDX-License-Identifier: Apache-2.0 -from azure.mgmt.web import WebSiteManagementClient from ..azure_common import BaseTest, arm_template, cassette_name from c7n_azure.session import Session from mock import patch @@ -15,7 +14,7 @@ def setUp(self): super(AppServicePlanTest, self).setUp() self.session = local_session(Session) self.client = local_session(Session).client( - 'azure.mgmt.web.WebSiteManagementClient') # type: WebSiteManagementClient + 'azure.mgmt.web.WebSiteManagementClient') self.update_mock_path =\ 'azure.mgmt.web.v{}.operations._app_service_plans_operations.' \ 'AppServicePlansOperations.update'\ From 09efdd72b675010c0d5f3c30d60f7e4e40aa51a4 Mon Sep 17 00:00:00 2001 From: Harish Achappa Date: Tue, 29 Nov 2022 11:50:48 -0500 Subject: [PATCH 15/16] aws - cloudfront - fix wafv2-enabled filter to find waf-classic associations (#7986) --- c7n/resources/cloudfront.py | 22 +++++++++++++++------- tests/test_cloudfront.py | 5 ++--- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/c7n/resources/cloudfront.py b/c7n/resources/cloudfront.py index 5e7276261b1..0a53cedb497 100644 --- a/c7n/resources/cloudfront.py +++ b/c7n/resources/cloudfront.py @@ -176,6 +176,16 @@ class IsWafV2Enabled(Filter): policies: - name: filter-distribution-wafv2 + description: | + match resources that are NOT associated with any wafV2 web-acls + resource: distribution + filters: + - type: wafv2-enabled + state: false + + - name: filter-distribution-wafv2-specific-acl + description: | + match resources that are NOT associated with wafV2's testv2 web-acl resource: distribution filters: - type: wafv2-enabled @@ -183,6 +193,9 @@ class IsWafV2Enabled(Filter): web-acl: testv2 - name: filter-distribution-wafv2-regex + description: | + match resources that are NOT associated with specified + wafV2 web-acl regex resource: distribution filters: - type: wafv2-enabled @@ -206,19 +219,14 @@ def process(self, resources, event=None): state = self.data.get('state', False) target_acl_ids = [v for k, v in waf_name_id_map.items() if re.match(target_acl, k)] - results = [] for r in resources: r_web_acl_id = r.get('WebACLId') if state: - if not target_acl and r_web_acl_id: - results.append(r) - elif target_acl and r_web_acl_id in target_acl_ids: + if r_web_acl_id and r_web_acl_id in target_acl_ids: results.append(r) else: - if not target_acl and not r_web_acl_id: - results.append(r) - elif target_acl and r_web_acl_id not in target_acl_ids: + if not r_web_acl_id or r_web_acl_id not in target_acl_ids: results.append(r) return results diff --git a/tests/test_cloudfront.py b/tests/test_cloudfront.py index 25a9b1d119a..2f7990e708d 100644 --- a/tests/test_cloudfront.py +++ b/tests/test_cloudfront.py @@ -182,9 +182,8 @@ def test_set_wafv2_action_regex_multiple_webacl_match(self): }, session_factory=factory, ) - with self.assertRaises(ValueError) as ctx: - policy.push(event_data("event-cloud-trail-update-distribution.json")) - self.assertTrue('matching to none or multiple webacls' in str(ctx)) + resources = policy.push(event_data("event-cloud-trail-tag-distribution.json")) + self.assertEqual(len(resources), 0) def test_set_wafv2_active_response_tag_resource(self): factory = self.replay_flight_data("test_distribution_wafv2") From c52daf8b66cd3f2d330f189b2719bff5256d5f9c Mon Sep 17 00:00:00 2001 From: Sonny Date: Wed, 30 Nov 2022 17:04:52 -0500 Subject: [PATCH 16/16] tencentcloud - client - support for assume role (#8043) --- .../c7n_tencentcloud/client.py | 26 +++++++++++- .../c7n_tencentcloud/tests/test_tc_client.py | 40 ++++++++++++++++++- 2 files changed, 63 insertions(+), 3 deletions(-) diff --git a/tools/c7n_tencentcloud/c7n_tencentcloud/client.py b/tools/c7n_tencentcloud/c7n_tencentcloud/client.py index c701bd8c0ba..d3d1c36678f 100644 --- a/tools/c7n_tencentcloud/c7n_tencentcloud/client.py +++ b/tools/c7n_tencentcloud/c7n_tencentcloud/client.py @@ -1,6 +1,8 @@ # Copyright The Cloud Custodian Authors. # SPDX-License-Identifier: Apache-2.0 +import os + import jmespath import socket from retrying import retry @@ -8,6 +10,7 @@ from c7n.exceptions import PolicyExecutionError from requests.exceptions import ConnectionError from tencentcloud.common import credential +from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException from tencentcloud.common.profile.client_profile import ClientProfile from tencentcloud.common.profile.http_profile import HttpProfile from tencentcloud.common.common_client import CommonClient @@ -124,7 +127,28 @@ def __init__(self) -> None: # just using default get_credentials() method # steps: Environment Variable -> profile file -> CVM role # for reference: https://github.com/TencentCloud/tencentcloud-sdk-python - self._cred = credential.DefaultCredentialProvider().get_credentials() + + cred_provider = credential.DefaultCredentialProvider() + + # the DefaultCredentialProvider does not handle sts assumed role sessions + # so we need to check for the token first + if 'TENCENTCLOUD_TOKEN' in os.environ: + if ( + 'TENCENTCLOUD_SECRET_ID' not in os.environ or + 'TENCENTCLOUD_SECRET_KEY' not in os.environ + ): + raise TencentCloudSDKException( + 'TENCENTCLOUD_TOKEN provided, but one of TENCENTCLOUD_SECRET_ID' + 'or TENCENTCLOUD_SECRET_KEY missing' + ) + cred = credential.Credential( + secret_id=os.environ['TENCENTCLOUD_SECRET_ID'], + secret_key=os.environ['TENCENTCLOUD_SECRET_KEY'], + token=os.environ['TENCENTCLOUD_TOKEN'] + ) + cred_provider.cred = cred + + self._cred = cred_provider.get_credentials() def client(self, endpoint: str, diff --git a/tools/c7n_tencentcloud/tests/test_tc_client.py b/tools/c7n_tencentcloud/tests/test_tc_client.py index 0073fece4f9..627ebc3e228 100644 --- a/tools/c7n_tencentcloud/tests/test_tc_client.py +++ b/tools/c7n_tencentcloud/tests/test_tc_client.py @@ -1,12 +1,19 @@ # Copyright The Cloud Custodian Authors. # SPDX-License-Identifier: Apache-2.0 +import os +import socket + from datetime import datetime +from unittest.mock import patch + import jmespath import pytest -import socket -from retrying import RetryError + from c7n_tencentcloud.utils import PageMethod +from c7n_tencentcloud.client import Session + +from retrying import RetryError from tencentcloud.common.abstract_client import AbstractClient from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException @@ -133,3 +140,32 @@ def test_paging_token(self, client_tag): } res = client_tag.execute_paged_query("GetTagValues", params, jsonpath, paging_def) assert len(res) == 233 + + @patch.dict( + os.environ, + { + "TENCENTCLOUD_TOKEN": "foo", + "TENCENTCLOUD_SECRET_KEY": "bar", + "TENCENTCLOUD_SECRET_ID": "baz", + }, clear=True + ) + def test_tc_client_token(self): + session = Session() + assert session._cred.token == 'foo' + assert session._cred.secret_key == 'bar' + assert session._cred.secret_id == 'baz' + + @patch.dict( + os.environ, + { + "TENCENTCLOUD_TOKEN": "foo", + "TENCENTCLOUD_SECRET_ID": "baz", + }, clear=True + ) + def test_tc_client_token_missing_key(self): + found = False + try: + Session() + except TencentCloudSDKException: + found = True + assert found