cartography 0.93.0rc1__tar.gz → 0.94.0rc1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of cartography might be problematic. Click here for more details.
- {cartography-0.93.0rc1/cartography.egg-info → cartography-0.94.0rc1}/PKG-INFO +1 -1
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/ec2/launch_templates.py +26 -11
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/github/teams.py +41 -10
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/util.py +1 -1
- {cartography-0.93.0rc1 → cartography-0.94.0rc1/cartography.egg-info}/PKG-INFO +1 -1
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/setup.py +1 -1
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/LICENSE +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/NOTICE +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/README.md +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/__main__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/cli.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/client/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/client/aws/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/client/aws/iam.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/client/core/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/client/core/tx.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/config.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/indexes.cypher +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/analysis/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/analysis/aws_ec2_asset_exposure.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/analysis/aws_ec2_iaminstance.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/analysis/aws_ec2_iaminstanceprofile.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/analysis/aws_ec2_keypair_analysis.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/analysis/aws_eks_asset_exposure.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/analysis/aws_foreign_accounts.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/analysis/aws_lambda_ecr.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/analysis/aws_s3acl_analysis.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/analysis/gcp_compute_asset_inet_exposure.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/analysis/gcp_gke_asset_exposure.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/analysis/gcp_gke_basic_auth.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/analysis/gsuite_human_link.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_account_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_apigateway_details.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_dns_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_import_account_access_key_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_import_apigateway_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_import_config_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_import_ec2_launch_configurations_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_import_ec2_security_groupinfo_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_import_ecr_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_import_ecs_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_import_elastic_ip_addresses_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_import_elasticache_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_import_es_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_import_groups_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_import_groups_membership_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_import_groups_policy_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_import_internet_gateways_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_import_kms_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_import_lambda_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_import_principals_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_import_rds_clusters_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_import_rds_instances_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_import_rds_snapshots_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_import_redshift_clusters_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_import_reserved_instances_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_import_roles_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_import_roles_policy_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_import_s3_acl_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_import_s3_buckets_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_import_secrets_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_import_securityhub_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_import_snapshots_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_import_sqs_queues_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_import_tags_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_import_tgw_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_import_users_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_import_vpc_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_import_vpc_peering_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_ingest_ec2_auto_scaling_groups_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_ingest_load_balancers_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_ingest_load_balancers_v2_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_ingest_subnets_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_kms_details.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_post_ingestion_principals_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_s3_details.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/azure_cosmosdb_cassandra_keyspace_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/azure_cosmosdb_cors_details.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/azure_cosmosdb_mongodb_database_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/azure_cosmosdb_sql_database_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/azure_cosmosdb_table_resources_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/azure_database_account_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/azure_import_disks_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/azure_import_snapshots_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/azure_import_virtual_machines_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/azure_sql_server_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/azure_storage_account_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/azure_subscriptions_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/azure_tenant_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/crowdstrike_import_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/crxcavator_import_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/digitalocean_droplet_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/digitalocean_project_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/gcp_compute_firewall_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/gcp_compute_forwarding_rules_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/gcp_compute_instance_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/gcp_compute_vpc_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/gcp_compute_vpc_subnet_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/gcp_crm_folder_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/gcp_crm_organization_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/gcp_crm_project_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/gcp_dns_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/gcp_gke_cluster_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/gcp_storage_bucket_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/github_repos_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/github_users_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/gsuite_ingest_groups_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/gsuite_ingest_users_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/jamf_import_computers_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/kubernetes_import_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/oci_import_compartments_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/oci_import_groups_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/oci_import_groups_membership_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/oci_import_policies_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/oci_import_users_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/oci_tenancy_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/okta_groups_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/okta_import_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/pagerduty_import_cleanup.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/scoped_analysis/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/scoped_analysis/semgrep_sca_risk_analysis.json +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/permission_relationships.yaml +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/driftdetect/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/driftdetect/__main__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/driftdetect/add_shortcut.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/driftdetect/cli.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/driftdetect/config.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/driftdetect/detect_deviations.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/driftdetect/get_states.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/driftdetect/model.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/driftdetect/reporter.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/driftdetect/serializers.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/driftdetect/shortcut.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/driftdetect/storage.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/driftdetect/util.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/graph/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/graph/cleanupbuilder.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/graph/context.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/graph/job.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/graph/querybuilder.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/graph/statement.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/analysis.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/apigateway.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/config.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/dynamodb.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/ec2/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/ec2/auto_scaling_groups.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/ec2/elastic_ip_addresses.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/ec2/images.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/ec2/instances.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/ec2/internet_gateways.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/ec2/key_pairs.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/ec2/load_balancer_v2s.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/ec2/load_balancers.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/ec2/network_interfaces.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/ec2/reserved_instances.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/ec2/security_groups.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/ec2/snapshots.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/ec2/subnets.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/ec2/tgw.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/ec2/util.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/ec2/volumes.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/ec2/vpc.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/ec2/vpc_peerings.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/ecr.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/ecs.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/eks.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/elasticache.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/elasticsearch.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/emr.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/iam.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/inspector.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/kms.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/lambda_function.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/organizations.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/permission_relationships.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/rds.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/redshift.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/resourcegroupstaggingapi.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/resources.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/route53.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/s3.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/secretsmanager.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/securityhub.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/sqs.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/ssm.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/util/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/util/arns.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/util/common.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/azure/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/azure/compute.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/azure/cosmosdb.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/azure/sql.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/azure/storage.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/azure/subscription.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/azure/tenant.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/azure/util/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/azure/util/credentials.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/bigfix/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/bigfix/computers.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/create_indexes.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/crowdstrike/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/crowdstrike/endpoints.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/crowdstrike/spotlight.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/crowdstrike/util.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/crxcavator/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/crxcavator/crxcavator.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/cve/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/cve/feed.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/digitalocean/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/digitalocean/compute.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/digitalocean/management.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/digitalocean/platform.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/dns.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/duo/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/duo/api_host.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/duo/endpoints.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/duo/groups.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/duo/phones.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/duo/tokens.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/duo/users.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/duo/web_authn_credentials.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/gcp/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/gcp/compute.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/gcp/crm.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/gcp/dns.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/gcp/gke.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/gcp/storage.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/github/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/github/repos.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/github/users.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/github/util.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/gsuite/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/gsuite/api.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/jamf/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/jamf/computers.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/jamf/util.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/kandji/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/kandji/devices.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/kubernetes/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/kubernetes/namespaces.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/kubernetes/pods.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/kubernetes/secrets.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/kubernetes/services.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/kubernetes/util.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/lastpass/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/lastpass/users.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/oci/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/oci/iam.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/oci/organizations.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/oci/utils.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/okta/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/okta/applications.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/okta/awssaml.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/okta/factors.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/okta/groups.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/okta/organization.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/okta/origins.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/okta/roles.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/okta/sync_state.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/okta/users.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/okta/utils.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/pagerduty/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/pagerduty/escalation_policies.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/pagerduty/schedules.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/pagerduty/services.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/pagerduty/teams.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/pagerduty/users.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/pagerduty/vendors.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/semgrep/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/semgrep/findings.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/aws/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/aws/dynamodb/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/aws/dynamodb/gsi.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/aws/dynamodb/tables.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/aws/ec2/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/aws/ec2/images.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/aws/ec2/instances.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/aws/ec2/keypairs.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/aws/ec2/launch_template_versions.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/aws/ec2/launch_templates.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/aws/ec2/loadbalancerv2.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/aws/ec2/networkinterface_instance.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/aws/ec2/networkinterfaces.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/aws/ec2/privateip_networkinterface.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/aws/ec2/reservations.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/aws/ec2/securitygroup_instance.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/aws/ec2/securitygroup_networkinterface.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/aws/ec2/subnet_instance.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/aws/ec2/subnet_networkinterface.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/aws/ec2/volumes.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/aws/eks/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/aws/eks/clusters.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/aws/emr.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/aws/inspector/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/aws/inspector/findings.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/aws/inspector/packages.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/aws/ssm/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/aws/ssm/instance_information.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/aws/ssm/instance_patch.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/bigfix/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/bigfix/bigfix_computer.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/bigfix/bigfix_root.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/core/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/core/common.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/core/nodes.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/core/relationships.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/cve/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/cve/cve.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/cve/cve_feed.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/duo/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/duo/api_host.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/duo/endpoint.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/duo/group.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/duo/phone.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/duo/token.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/duo/user.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/duo/web_authn_credential.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/github/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/github/teams.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/kandji/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/kandji/device.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/kandji/tenant.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/lastpass/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/lastpass/tenant.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/lastpass/user.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/semgrep/__init__.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/semgrep/deployment.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/semgrep/findings.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/models/semgrep/locations.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/py.typed +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/stats.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/sync.py +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography.egg-info/SOURCES.txt +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography.egg-info/dependency_links.txt +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography.egg-info/entry_points.txt +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography.egg-info/requires.txt +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography.egg-info/top_level.txt +0 -0
- {cartography-0.93.0rc1 → cartography-0.94.0rc1}/setup.cfg +0 -0
{cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/ec2/launch_templates.py
RENAMED
|
@@ -3,6 +3,7 @@ from typing import Any
|
|
|
3
3
|
|
|
4
4
|
import boto3
|
|
5
5
|
import neo4j
|
|
6
|
+
from botocore.exceptions import ClientError
|
|
6
7
|
|
|
7
8
|
from .util import get_botocore_config
|
|
8
9
|
from cartography.client.core.tx import load
|
|
@@ -17,13 +18,30 @@ logger = logging.getLogger(__name__)
|
|
|
17
18
|
|
|
18
19
|
@timeit
|
|
19
20
|
@aws_handle_regions
|
|
20
|
-
def get_launch_templates(
|
|
21
|
+
def get_launch_templates(
|
|
22
|
+
boto3_session: boto3.session.Session,
|
|
23
|
+
region: str,
|
|
24
|
+
) -> tuple[list[dict[str, Any]], list[dict[str, Any]]]:
|
|
21
25
|
client = boto3_session.client('ec2', region_name=region, config=get_botocore_config())
|
|
22
26
|
paginator = client.get_paginator('describe_launch_templates')
|
|
23
27
|
templates: list[dict[str, Any]] = []
|
|
28
|
+
template_versions: list[dict[str, Any]] = []
|
|
24
29
|
for page in paginator.paginate():
|
|
25
|
-
|
|
26
|
-
|
|
30
|
+
paginated_templates = page['LaunchTemplates']
|
|
31
|
+
for template in paginated_templates:
|
|
32
|
+
template_id = template['LaunchTemplateId']
|
|
33
|
+
try:
|
|
34
|
+
versions = get_launch_template_versions_by_template(boto3_session, template_id, region)
|
|
35
|
+
except ClientError as e:
|
|
36
|
+
logger.warning(
|
|
37
|
+
f"Failed to get launch template versions for {template_id}: {e}",
|
|
38
|
+
exc_info=True,
|
|
39
|
+
)
|
|
40
|
+
versions = []
|
|
41
|
+
# Using a key not defined in latest boto3 documentation
|
|
42
|
+
template_versions.extend(versions)
|
|
43
|
+
templates.extend(paginated_templates)
|
|
44
|
+
return templates, template_versions
|
|
27
45
|
|
|
28
46
|
|
|
29
47
|
def transform_launch_templates(templates: list[dict[str, Any]]) -> list[dict[str, Any]]:
|
|
@@ -55,17 +73,16 @@ def load_launch_templates(
|
|
|
55
73
|
|
|
56
74
|
@timeit
|
|
57
75
|
@aws_handle_regions
|
|
58
|
-
def
|
|
76
|
+
def get_launch_template_versions_by_template(
|
|
59
77
|
boto3_session: boto3.session.Session,
|
|
60
|
-
|
|
78
|
+
template: str,
|
|
61
79
|
region: str,
|
|
62
80
|
) -> list[dict[str, Any]]:
|
|
63
81
|
client = boto3_session.client('ec2', region_name=region, config=get_botocore_config())
|
|
64
82
|
v_paginator = client.get_paginator('describe_launch_template_versions')
|
|
65
83
|
template_versions = []
|
|
66
|
-
for
|
|
67
|
-
|
|
68
|
-
template_versions.extend(versions['LaunchTemplateVersions'])
|
|
84
|
+
for versions in v_paginator.paginate(LaunchTemplateId=template):
|
|
85
|
+
template_versions.extend(versions['LaunchTemplateVersions'])
|
|
69
86
|
return template_versions
|
|
70
87
|
|
|
71
88
|
|
|
@@ -136,11 +153,9 @@ def sync_ec2_launch_templates(
|
|
|
136
153
|
) -> None:
|
|
137
154
|
for region in regions:
|
|
138
155
|
logger.info(f"Syncing launch templates for region '{region}' in account '{current_aws_account_id}'.")
|
|
139
|
-
templates = get_launch_templates(boto3_session, region)
|
|
156
|
+
templates, versions = get_launch_templates(boto3_session, region)
|
|
140
157
|
templates = transform_launch_templates(templates)
|
|
141
158
|
load_launch_templates(neo4j_session, templates, region, current_aws_account_id, update_tag)
|
|
142
|
-
|
|
143
|
-
versions = get_launch_template_versions(boto3_session, templates, region)
|
|
144
159
|
versions = transform_launch_template_versions(versions)
|
|
145
160
|
load_launch_template_versions(neo4j_session, versions, region, current_aws_account_id, update_tag)
|
|
146
161
|
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import logging
|
|
2
|
+
from collections import namedtuple
|
|
3
|
+
from time import sleep
|
|
2
4
|
from typing import Any
|
|
3
5
|
from typing import Dict
|
|
4
6
|
from typing import List
|
|
@@ -15,6 +17,8 @@ from cartography.util import timeit
|
|
|
15
17
|
|
|
16
18
|
logger = logging.getLogger(__name__)
|
|
17
19
|
|
|
20
|
+
RepoPermission = namedtuple('RepoPermission', ['repo_url', 'permission'])
|
|
21
|
+
|
|
18
22
|
|
|
19
23
|
@timeit
|
|
20
24
|
def get_teams(org: str, api_url: str, token: str) -> Tuple[PaginatedGraphqlData, Dict[str, Any]]:
|
|
@@ -45,26 +49,53 @@ def get_teams(org: str, api_url: str, token: str) -> Tuple[PaginatedGraphqlData,
|
|
|
45
49
|
|
|
46
50
|
@timeit
|
|
47
51
|
def _get_team_repos_for_multiple_teams(
|
|
48
|
-
team_raw_data:
|
|
52
|
+
team_raw_data: list[dict[str, Any]],
|
|
49
53
|
org: str,
|
|
50
54
|
api_url: str,
|
|
51
55
|
token: str,
|
|
52
|
-
) ->
|
|
53
|
-
result = {}
|
|
56
|
+
) -> dict[str, list[RepoPermission]]:
|
|
57
|
+
result: dict[str, list[RepoPermission]] = {}
|
|
54
58
|
for team in team_raw_data:
|
|
55
59
|
team_name = team['slug']
|
|
56
60
|
repo_count = team['repositories']['totalCount']
|
|
57
61
|
|
|
58
|
-
|
|
62
|
+
if repo_count == 0:
|
|
63
|
+
# This team has access to no repos so let's move on
|
|
64
|
+
result[team_name] = []
|
|
65
|
+
continue
|
|
59
66
|
|
|
60
67
|
repo_urls = []
|
|
61
68
|
repo_permissions = []
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
69
|
+
|
|
70
|
+
max_tries = 5
|
|
71
|
+
|
|
72
|
+
for current_try in range(1, max_tries + 1):
|
|
73
|
+
team_repos = _get_team_repos(org, api_url, token, team_name)
|
|
74
|
+
|
|
75
|
+
try:
|
|
76
|
+
# The `or []` is because `.nodes` can be None. See:
|
|
77
|
+
# https://docs.github.com/en/graphql/reference/objects#teamrepositoryconnection
|
|
78
|
+
for repo in team_repos.nodes or []:
|
|
79
|
+
repo_urls.append(repo['url'])
|
|
80
|
+
|
|
81
|
+
# The `or []` is because `.edges` can be None.
|
|
82
|
+
for edge in team_repos.edges or []:
|
|
83
|
+
repo_permissions.append(edge['permission'])
|
|
84
|
+
# We're done! Break out of the retry loop.
|
|
85
|
+
break
|
|
86
|
+
|
|
87
|
+
except TypeError:
|
|
88
|
+
# Handles issue #1334
|
|
89
|
+
logger.warning(
|
|
90
|
+
f"GitHub returned None when trying to find repo or permission data for team {team_name}.",
|
|
91
|
+
exc_info=True,
|
|
92
|
+
)
|
|
93
|
+
if current_try == max_tries:
|
|
94
|
+
raise RuntimeError(f"GitHub returned a None repo url for team {team_name}, retries exhausted.")
|
|
95
|
+
sleep(current_try ** 2)
|
|
65
96
|
|
|
66
97
|
# Shape = [(repo_url, 'WRITE'), ...]]
|
|
67
|
-
result[team_name] =
|
|
98
|
+
result[team_name] = [RepoPermission(url, perm) for url, perm in zip(repo_urls, repo_permissions)]
|
|
68
99
|
return result
|
|
69
100
|
|
|
70
101
|
|
|
@@ -114,8 +145,8 @@ def _get_team_repos(org: str, api_url: str, token: str, team: str) -> PaginatedG
|
|
|
114
145
|
def transform_teams(
|
|
115
146
|
team_paginated_data: PaginatedGraphqlData,
|
|
116
147
|
org_data: Dict[str, Any],
|
|
117
|
-
team_repo_data:
|
|
118
|
-
) ->
|
|
148
|
+
team_repo_data: dict[str, list[RepoPermission]],
|
|
149
|
+
) -> list[dict[str, Any]]:
|
|
119
150
|
result = []
|
|
120
151
|
for team in team_paginated_data.nodes:
|
|
121
152
|
team_name = team['slug']
|
|
@@ -225,7 +225,7 @@ If not, then the AWS datatype somehow does not have this key.''',
|
|
|
225
225
|
return items
|
|
226
226
|
|
|
227
227
|
|
|
228
|
-
AWSGetFunc = TypeVar('AWSGetFunc', bound=Callable[...,
|
|
228
|
+
AWSGetFunc = TypeVar('AWSGetFunc', bound=Callable[..., Iterable])
|
|
229
229
|
|
|
230
230
|
# fix for AWS TooManyRequestsException
|
|
231
231
|
# https://github.com/lyft/cartography/issues/297
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/analysis/aws_lambda_ecr.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_dns_cleanup.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_kms_details.json
RENAMED
|
File without changes
|
|
File without changes
|
{cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/aws_s3_details.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/cleanup/gcp_dns_cleanup.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/jobs/scoped_analysis/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/data/permission_relationships.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/driftdetect/detect_deviations.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/ec2/auto_scaling_groups.py
RENAMED
|
File without changes
|
{cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/ec2/elastic_ip_addresses.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cartography-0.93.0rc1 → cartography-0.94.0rc1}/cartography/intel/aws/ec2/internet_gateways.py
RENAMED
|
File without changes
|
|
File without changes
|