cartography 0.114.0__tar.gz → 0.115.0__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.114.0 → cartography-0.115.0}/AGENTS.md +29 -0
- {cartography-0.114.0 → cartography-0.115.0}/PKG-INFO +3 -2
- {cartography-0.114.0 → cartography-0.115.0}/README.md +1 -1
- {cartography-0.114.0 → cartography-0.115.0}/cartography/_version.py +3 -3
- {cartography-0.114.0 → cartography-0.115.0}/cartography/cli.py +2 -2
- {cartography-0.114.0 → cartography-0.115.0}/cartography/client/core/tx.py +11 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/config.py +7 -3
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/ecr.py +9 -9
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/identitycenter.py +240 -13
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/lambda_function.py +69 -2
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/organizations.py +3 -1
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/permission_relationships.py +3 -1
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/redshift.py +9 -4
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/route53.py +53 -3
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/securityhub.py +3 -1
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/azure/__init__.py +8 -0
- cartography-0.115.0/cartography/intel/azure/logic_apps.py +101 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/create_indexes.py +2 -1
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/dns.py +5 -2
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/gcp/dns.py +2 -1
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/github/repos.py +3 -6
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/gsuite/api.py +17 -4
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/okta/applications.py +9 -4
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/okta/awssaml.py +5 -2
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/okta/factors.py +3 -1
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/okta/groups.py +5 -2
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/okta/organization.py +3 -1
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/okta/origins.py +3 -1
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/okta/roles.py +5 -2
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/okta/users.py +3 -1
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/identitycenter/awspermissionset.py +24 -1
- cartography-0.115.0/cartography/models/aws/identitycenter/awssogroup.py +70 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/identitycenter/awsssouser.py +37 -1
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/lambda_function/lambda_function.py +2 -0
- cartography-0.115.0/cartography/models/azure/logic_apps.py +56 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/entra/user.py +18 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography.egg-info/PKG-INFO +3 -2
- {cartography-0.114.0 → cartography-0.115.0}/cartography.egg-info/SOURCES.txt +6 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography.egg-info/requires.txt +1 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/aws/schema.md +54 -6
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/azure/schema.md +24 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/entra/schema.md +1 -1
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/gcp/schema.md +1 -1
- {cartography-0.114.0 → cartography-0.115.0}/pyproject.toml +3 -1
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/ecr.py +6 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/identitycenter.py +15 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/lambda_function.py +43 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/route53.py +40 -0
- cartography-0.115.0/tests/data/azure/logic_apps.py +14 -0
- cartography-0.115.0/tests/data/github/collaborators_test_data.py +63 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_ecr.py +22 -0
- cartography-0.115.0/tests/integration/cartography/intel/aws/test_identitycenter.py +354 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_lambda.py +59 -13
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_route53_sync.py +45 -0
- cartography-0.115.0/tests/integration/cartography/intel/azure/test_logic_apps.py +70 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/entra/test_users.py +19 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/gcp/test_dns.py +51 -24
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/github/test_repos.py +118 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/gsuite/test_api.py +8 -4
- {cartography-0.114.0 → cartography-0.115.0}/uv.lock +49 -21
- cartography-0.114.0/tests/integration/cartography/intel/aws/test_identitycenter.py +0 -75
- {cartography-0.114.0 → cartography-0.115.0}/.cache/.gitignore +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/.devcontainer/devcontainer.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/.devcontainer/docker-compose.yml +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/.dockerignore +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/.env +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/.github/ISSUE_TEMPLATE/feature-request.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/.github/ISSUE_TEMPLATE/issue-report.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/.github/dependabot.yml +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/.github/pull_request_template.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/.github/stale.yml +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/.github/workflows/ossf-scorecard.yml +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/.github/workflows/publish-to-ghcr-and-pypi.yml +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/.github/workflows/sphinx.yml +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/.github/workflows/test_suite.yml +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/.gitignore +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/.pre-commit-config.yaml +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/CODE_OF_CONDUCT.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/Dockerfile +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/GOVERNANCE.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/LICENSE +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/MAINTAINERS.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/Makefile +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/SECURITY.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/__main__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/client/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/client/aws/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/client/aws/ecr.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/client/aws/iam.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/client/core/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/config.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/indexes.cypher +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/analysis/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/analysis/aws_ec2_asset_exposure.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/analysis/aws_ec2_keypair_analysis.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/analysis/aws_eks_asset_exposure.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/analysis/aws_foreign_accounts.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/analysis/aws_lambda_ecr.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/analysis/gcp_compute_asset_inet_exposure.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/analysis/gcp_gke_asset_exposure.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/analysis/gcp_gke_basic_auth.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/analysis/gsuite_human_link.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/analysis/keycloak_inheritance.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/aws_account_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/aws_import_config_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/aws_import_ec2_launch_configurations_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/aws_import_ecr_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/aws_import_ecs_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/aws_import_elastic_ip_addresses_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/aws_import_elasticache_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/aws_import_es_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/aws_import_groups_membership_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/aws_import_groups_policy_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/aws_import_internet_gateways_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/aws_import_kms_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/aws_import_redshift_clusters_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/aws_import_reserved_instances_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/aws_import_roles_policy_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/aws_import_s3_acl_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/aws_import_s3_buckets_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/aws_import_securityhub_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/aws_import_sqs_queues_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/aws_import_tags_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/aws_import_tgw_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/aws_ingest_ec2_auto_scaling_groups_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/aws_ingest_load_balancers_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/aws_ingest_load_balancers_v2_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/aws_ingest_subnets_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/aws_post_ingestion_principals_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/aws_s3_details.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/azure_cosmosdb_cassandra_keyspace_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/azure_cosmosdb_cors_details.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/azure_cosmosdb_mongodb_database_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/azure_cosmosdb_sql_database_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/azure_cosmosdb_table_resources_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/azure_database_account_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/azure_import_disks_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/azure_import_snapshots_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/azure_import_virtual_machines_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/azure_sql_server_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/azure_storage_account_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/azure_subscriptions_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/azure_tenant_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/crowdstrike_import_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/digitalocean_droplet_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/digitalocean_project_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/gcp_compute_firewall_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/gcp_compute_forwarding_rules_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/gcp_compute_instance_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/gcp_compute_vpc_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/github_repos_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/gsuite_ingest_groups_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/gsuite_ingest_users_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/jamf_import_computers_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/oci_import_compartments_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/oci_import_groups_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/oci_import_groups_membership_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/oci_import_policies_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/oci_import_users_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/oci_tenancy_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/okta_groups_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/okta_import_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/cleanup/pagerduty_import_cleanup.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/scoped_analysis/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/scoped_analysis/aws_ec2_iaminstanceprofile.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/scoped_analysis/aws_s3acl_analysis.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/jobs/scoped_analysis/semgrep_sca_risk_analysis.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/data/permission_relationships.yaml +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/driftdetect/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/driftdetect/__main__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/driftdetect/add_shortcut.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/driftdetect/cli.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/driftdetect/config.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/driftdetect/detect_deviations.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/driftdetect/get_states.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/driftdetect/model.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/driftdetect/reporter.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/driftdetect/serializers.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/driftdetect/shortcut.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/driftdetect/storage.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/driftdetect/util.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/graph/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/graph/cleanupbuilder.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/graph/context.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/graph/job.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/graph/querybuilder.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/graph/statement.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/airbyte/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/airbyte/connections.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/airbyte/destinations.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/airbyte/organizations.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/airbyte/sources.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/airbyte/tags.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/airbyte/users.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/airbyte/util.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/airbyte/workspaces.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/analysis.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/anthropic/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/anthropic/apikeys.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/anthropic/users.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/anthropic/util.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/anthropic/workspaces.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/acm.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/apigateway.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/apigatewayv2.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/cloudtrail.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/cloudtrail_management_events.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/cloudwatch.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/codebuild.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/cognito.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/dynamodb.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/ec2/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/ec2/auto_scaling_groups.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/ec2/elastic_ip_addresses.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/ec2/images.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/ec2/instances.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/ec2/internet_gateways.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/ec2/key_pairs.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/ec2/launch_templates.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/ec2/load_balancer_v2s.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/ec2/load_balancers.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/ec2/network_acls.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/ec2/network_interfaces.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/ec2/reserved_instances.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/ec2/route_tables.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/ec2/security_groups.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/ec2/snapshots.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/ec2/subnets.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/ec2/tgw.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/ec2/util.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/ec2/volumes.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/ec2/vpc.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/ec2/vpc_peerings.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/ecs.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/efs.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/eks.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/elasticache.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/elasticsearch.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/emr.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/eventbridge.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/glue.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/guardduty.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/iam.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/iam_instance_profiles.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/inspector.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/kms.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/rds.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/resourcegroupstaggingapi.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/resources.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/s3.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/s3accountpublicaccessblock.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/secretsmanager.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/sns.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/sqs.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/ssm.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/util/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/util/arns.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/aws/util/common.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/azure/app_service.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/azure/compute.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/azure/cosmosdb.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/azure/functions.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/azure/sql.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/azure/storage.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/azure/subscription.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/azure/tenant.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/azure/util/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/azure/util/credentials.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/bigfix/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/bigfix/computers.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/cloudflare/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/cloudflare/accounts.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/cloudflare/dnsrecords.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/cloudflare/members.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/cloudflare/roles.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/cloudflare/zones.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/crowdstrike/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/crowdstrike/endpoints.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/crowdstrike/spotlight.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/crowdstrike/util.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/cve/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/cve/feed.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/digitalocean/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/digitalocean/compute.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/digitalocean/management.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/digitalocean/platform.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/duo/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/duo/api_host.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/duo/endpoints.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/duo/groups.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/duo/phones.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/duo/tokens.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/duo/users.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/duo/web_authn_credentials.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/entra/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/entra/app_role_assignments.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/entra/applications.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/entra/federation/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/entra/federation/aws_identity_center.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/entra/groups.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/entra/ou.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/entra/service_principals.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/entra/users.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/gcp/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/gcp/clients.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/gcp/compute.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/gcp/crm/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/gcp/crm/folders.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/gcp/crm/orgs.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/gcp/crm/projects.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/gcp/gke.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/gcp/iam.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/gcp/storage.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/github/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/github/commits.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/github/teams.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/github/users.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/github/util.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/gsuite/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/jamf/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/jamf/computers.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/jamf/util.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/kandji/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/kandji/devices.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/keycloak/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/keycloak/authenticationexecutions.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/keycloak/authenticationflows.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/keycloak/clients.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/keycloak/groups.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/keycloak/identityproviders.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/keycloak/organizations.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/keycloak/realms.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/keycloak/roles.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/keycloak/scopes.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/keycloak/users.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/keycloak/util.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/kubernetes/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/kubernetes/clusters.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/kubernetes/eks.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/kubernetes/namespaces.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/kubernetes/pods.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/kubernetes/rbac.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/kubernetes/secrets.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/kubernetes/services.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/kubernetes/util.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/lastpass/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/lastpass/users.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/oci/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/oci/iam.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/oci/organizations.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/oci/utils.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/okta/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/okta/sync_state.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/okta/utils.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/openai/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/openai/adminapikeys.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/openai/apikeys.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/openai/projects.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/openai/serviceaccounts.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/openai/users.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/openai/util.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/pagerduty/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/pagerduty/escalation_policies.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/pagerduty/schedules.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/pagerduty/services.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/pagerduty/teams.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/pagerduty/users.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/pagerduty/vendors.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/scaleway/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/scaleway/iam/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/scaleway/iam/apikeys.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/scaleway/iam/applications.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/scaleway/iam/groups.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/scaleway/iam/users.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/scaleway/instances/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/scaleway/instances/flexibleips.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/scaleway/instances/instances.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/scaleway/projects.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/scaleway/storage/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/scaleway/storage/snapshots.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/scaleway/storage/volumes.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/scaleway/utils.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/semgrep/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/semgrep/dependencies.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/semgrep/deployment.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/semgrep/findings.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/sentinelone/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/sentinelone/account.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/sentinelone/agent.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/sentinelone/api.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/sentinelone/application.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/sentinelone/utils.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/snipeit/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/snipeit/asset.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/snipeit/user.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/snipeit/util.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/tailscale/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/tailscale/acls.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/tailscale/devices.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/tailscale/postureintegrations.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/tailscale/tailnets.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/tailscale/users.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/tailscale/utils.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/trivy/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/intel/trivy/scanner.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/airbyte/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/airbyte/connection.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/airbyte/destination.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/airbyte/organization.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/airbyte/source.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/airbyte/stream.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/airbyte/tag.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/airbyte/user.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/airbyte/workspace.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/anthropic/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/anthropic/apikey.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/anthropic/organization.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/anthropic/user.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/anthropic/workspace.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/acm/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/acm/certificate.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/apigateway/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/apigateway/apigateway.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/apigateway/apigatewaycertificate.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/apigateway/apigatewaydeployment.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/apigateway/apigatewayintegration.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/apigateway/apigatewaymethod.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/apigateway/apigatewayresource.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/apigateway/apigatewaystage.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/apigatewayv2/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/apigatewayv2/apigatewayv2.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/cloudtrail/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/cloudtrail/management_events.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/cloudtrail/trail.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/cloudwatch/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/cloudwatch/log_metric_filter.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/cloudwatch/loggroup.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/cloudwatch/metric_alarm.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/codebuild/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/codebuild/project.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/cognito/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/cognito/identity_pool.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/cognito/user_pool.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/dynamodb/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/dynamodb/gsi.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/dynamodb/tables.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ec2/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ec2/auto_scaling_groups.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ec2/images.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ec2/instances.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ec2/keypair.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ec2/keypair_instance.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ec2/launch_configurations.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ec2/launch_template_versions.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ec2/launch_templates.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ec2/load_balancer_listeners.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ec2/load_balancers.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ec2/loadbalancerv2.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ec2/network_acl_rules.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ec2/network_acls.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ec2/networkinterface_instance.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ec2/networkinterfaces.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ec2/privateip_networkinterface.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ec2/reservations.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ec2/route_table_associations.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ec2/route_tables.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ec2/routes.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ec2/security_group_rules.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ec2/security_groups.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ec2/securitygroup_instance.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ec2/securitygroup_networkinterface.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ec2/snapshots.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ec2/subnet_instance.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ec2/subnet_networkinterface.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ec2/subnets.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ec2/volumes.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ec2/vpc.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ec2/vpc_cidr.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ec2/vpc_peering.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ecr/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ecr/image.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ecr/repository.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ecr/repository_image.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ecs/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ecs/clusters.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ecs/container_definitions.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ecs/container_instances.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ecs/containers.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ecs/services.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ecs/task_definitions.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ecs/tasks.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/efs/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/efs/access_point.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/efs/file_system.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/efs/mount_target.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/eks/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/eks/clusters.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/elasticache/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/elasticache/cluster.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/elasticache/topic.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/emr.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/eventbridge/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/eventbridge/rule.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/eventbridge/target.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/glue/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/glue/connection.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/glue/job.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/guardduty/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/guardduty/findings.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/iam/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/iam/access_key.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/iam/account_role.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/iam/federated_principal.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/iam/group.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/iam/group_membership.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/iam/inline_policy.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/iam/instanceprofile.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/iam/managed_policy.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/iam/policy_statement.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/iam/role.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/iam/root_principal.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/iam/service_principal.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/iam/sts_assumerole_allow.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/iam/user.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/identitycenter/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/identitycenter/awsidentitycenter.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/inspector/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/inspector/findings.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/inspector/packages.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/kms/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/kms/aliases.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/kms/grants.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/kms/keys.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/lambda_function/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/lambda_function/alias.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/lambda_function/event_source_mapping.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/lambda_function/layer.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/rds/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/rds/cluster.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/rds/event_subscription.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/rds/instance.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/rds/snapshot.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/rds/subnet_group.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/route53/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/route53/dnsrecord.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/route53/nameserver.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/route53/subzone.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/route53/zone.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/s3/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/s3/account_public_access_block.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/s3/notification.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/secretsmanager/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/secretsmanager/secret.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/secretsmanager/secret_version.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/sns/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/sns/topic.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/sns/topic_subscription.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/sqs/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/sqs/queue.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ssm/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ssm/instance_information.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ssm/instance_patch.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/aws/ssm/parameters.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/azure/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/azure/app_service.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/azure/function_app.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/azure/principal.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/azure/tenant.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/bigfix/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/bigfix/bigfix_computer.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/bigfix/bigfix_root.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/cloudflare/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/cloudflare/account.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/cloudflare/dnsrecord.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/cloudflare/member.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/cloudflare/role.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/cloudflare/zone.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/core/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/core/common.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/core/nodes.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/core/relationships.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/crowdstrike/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/crowdstrike/hosts.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/cve/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/cve/cve.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/cve/cve_feed.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/digitalocean/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/digitalocean/account.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/digitalocean/droplet.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/digitalocean/project.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/duo/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/duo/api_host.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/duo/endpoint.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/duo/group.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/duo/phone.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/duo/token.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/duo/user.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/duo/web_authn_credential.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/entra/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/entra/app_role_assignment.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/entra/application.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/entra/entra_user_to_aws_sso.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/entra/group.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/entra/ou.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/entra/service_principal.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/entra/tenant.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/gcp/compute/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/gcp/compute/subnet.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/gcp/compute/vpc.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/gcp/crm/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/gcp/crm/folders.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/gcp/crm/organizations.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/gcp/crm/projects.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/gcp/dns.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/gcp/gke.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/gcp/iam.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/gcp/storage/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/gcp/storage/bucket.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/github/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/github/commits.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/github/dependencies.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/github/manifests.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/github/orgs.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/github/teams.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/github/users.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/kandji/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/kandji/device.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/kandji/tenant.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/keycloak/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/keycloak/authenticationexecution.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/keycloak/authenticationflow.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/keycloak/client.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/keycloak/group.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/keycloak/identityprovider.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/keycloak/organization.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/keycloak/organizationdomain.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/keycloak/realm.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/keycloak/role.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/keycloak/scope.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/keycloak/user.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/kubernetes/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/kubernetes/clusterrolebindings.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/kubernetes/clusterroles.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/kubernetes/clusters.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/kubernetes/containers.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/kubernetes/groups.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/kubernetes/namespaces.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/kubernetes/oidc.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/kubernetes/pods.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/kubernetes/rolebindings.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/kubernetes/roles.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/kubernetes/secrets.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/kubernetes/serviceaccounts.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/kubernetes/services.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/kubernetes/users.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/lastpass/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/lastpass/tenant.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/lastpass/user.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/openai/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/openai/adminapikey.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/openai/apikey.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/openai/organization.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/openai/project.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/openai/serviceaccount.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/openai/user.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/scaleway/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/scaleway/iam/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/scaleway/iam/apikey.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/scaleway/iam/application.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/scaleway/iam/group.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/scaleway/iam/user.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/scaleway/instance/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/scaleway/instance/flexibleip.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/scaleway/instance/instance.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/scaleway/organization.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/scaleway/project.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/scaleway/storage/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/scaleway/storage/snapshot.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/scaleway/storage/volume.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/semgrep/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/semgrep/dependencies.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/semgrep/deployment.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/semgrep/findings.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/semgrep/locations.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/sentinelone/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/sentinelone/account.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/sentinelone/agent.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/sentinelone/application.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/sentinelone/application_version.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/snipeit/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/snipeit/asset.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/snipeit/tenant.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/snipeit/user.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/tailscale/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/tailscale/device.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/tailscale/group.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/tailscale/postureintegration.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/tailscale/tag.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/tailscale/tailnet.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/tailscale/user.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/trivy/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/trivy/findings.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/trivy/fix.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/models/trivy/package.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/py.typed +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/stats.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/sync.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography/util.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography.egg-info/dependency_links.txt +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography.egg-info/entry_points.txt +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/cartography.egg-info/top_level.txt +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/demo/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/demo/__main__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/demo/seeds/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/demo/seeds/airbyte.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/demo/seeds/anthropic.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/demo/seeds/azure.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/demo/seeds/base.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/demo/seeds/bigfix.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/demo/seeds/cloudlare.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/demo/seeds/crowdstrike.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/demo/seeds/cve.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/demo/seeds/digitalocean.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/demo/seeds/duo.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/demo/seeds/entra.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/demo/seeds/github.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/demo/seeds/kandji.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/demo/seeds/keycloak.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/demo/seeds/lastpass.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/demo/seeds/openai.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/demo/seeds/scaleway.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/demo/seeds/semgrep.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/demo/seeds/snipeit.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/demo/seeds/tailscale.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/dev-entrypoint.sh +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/dev.Dockerfile +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docker-compose.yml +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/build.sh +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/conf.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/_static/custom.css +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/_templates/layout.html +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/_templates/partials/webfonts.html +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/contact.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/dev/developer-guide.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/dev/index.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/dev/matchlinks.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/dev/writing-analysis-jobs.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/dev/writing-intel-modules.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/images/accountsandrds.png +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/images/alice-bob-matchlinks.png +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/images/anonbuckets.png +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/images/app-direct.png +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/images/app-with-api.png +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/images/basic-dataflow.png +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/images/bucketsbyuser.png +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/images/cartography-schema-complete-open-source.png +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/images/changecolor.png +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/images/cncf-color.png +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/images/customizeview.png +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/images/docker-compose-run.png +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/images/dockercompose-flow.png +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/images/dockercompose-result.png +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/images/ec2-inet-open.png +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/images/exposed-internet.png +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/images/logo-horizontal.png +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/images/logo-vertical.png +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/images/logo-vertical.svg +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/images/nativeinstall-run.png +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/images/parallel-crons.png +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/images/pipeline-hive-mode.png +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/images/pipeline-neodash.png +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/images/poweruser.png +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/images/selectnode.png +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/images/unencryptedcounts.png +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/images/unencryptedinstances.png +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/images/yourowntestmachine.png +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/index.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/info.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/install.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/module-list.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/_cartography-metadata/schema.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/airbyte/config.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/airbyte/index.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/airbyte/schema.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/anthropic/config.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/anthropic/index.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/anthropic/schema.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/aws/config.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/aws/index.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/aws/permissions-mapping.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/azure/config.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/azure/index.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/bigfix/config.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/bigfix/index.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/bigfix/schema.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/cloudflare/config.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/cloudflare/index.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/cloudflare/schema.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/crowdstrike/config.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/crowdstrike/index.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/crowdstrike/schema.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/cve/config.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/cve/index.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/cve/schema.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/digitalocean/config.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/digitalocean/index.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/digitalocean/schema.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/duo/config.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/duo/index.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/duo/schema.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/entra/config.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/entra/index.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/gcp/config.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/gcp/index.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/github/config.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/github/index.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/github/schema.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/gsuite/config.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/gsuite/index.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/gsuite/schema.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/jamf/index.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/jamf/schema.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/kandji/config.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/kandji/index.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/kandji/schema.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/keycloak/analysis.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/keycloak/config.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/keycloak/index.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/keycloak/schema.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/kubernetes/config.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/kubernetes/index.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/kubernetes/schema.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/lastpass/config.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/lastpass/index.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/lastpass/schema.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/oci/config.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/oci/index.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/oci/schema.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/okta/config.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/okta/index.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/okta/schema.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/openai/config.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/openai/index.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/openai/schema.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/pagerduty/config.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/pagerduty/index.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/pagerduty/schema.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/scaleway/config.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/scaleway/index.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/scaleway/schema.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/semgrep/config.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/semgrep/index.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/semgrep/schema.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/sentinelone/config.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/sentinelone/index.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/sentinelone/schema.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/snipeit/config.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/snipeit/index.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/snipeit/schema.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/tailscale/config.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/tailscale/index.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/tailscale/schema.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/trivy/config.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/trivy/index.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/modules/trivy/schema.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/ops.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/usage/applications.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/usage/aws-privilege-escalation-queries.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/usage/drift-detect.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/usage/index.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/usage/samplequeries.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/usage/schema.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/docs/root/usage/tutorial.md +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/setup.cfg +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/setup.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/airbyte/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/airbyte/connections.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/airbyte/destinations.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/airbyte/organizations.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/airbyte/sources.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/airbyte/tags.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/airbyte/users.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/airbyte/workspaces.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/anthropic/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/anthropic/apikeys.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/anthropic/users.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/anthropic/workspaces.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/acm.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/apigateway.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/apigatewayv2.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/cloudtrail.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/cloudtrail_management_events.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/cloudwatch.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/codebuild.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/cognito.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/config.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/dynamodb.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/ec2/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/ec2/auto_scaling_groups.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/ec2/elastic_ip_addresses.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/ec2/images.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/ec2/instances.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/ec2/instances_missing_private_ip.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/ec2/internet_gateway.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/ec2/internet_gateways.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/ec2/key_pairs.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/ec2/launch_templates.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/ec2/load_balancers.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/ec2/network_acls/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/ec2/network_acls/instances.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/ec2/network_acls/network_acls.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/ec2/network_acls/subnets.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/ec2/network_acls/vpcs.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/ec2/network_interfaces.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/ec2/reserved_instances.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/ec2/route_tables.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/ec2/security_groups.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/ec2/snapshots.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/ec2/subnets.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/ec2/tgw.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/ec2/volumes.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/ec2/vpc_peerings.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/ec2/vpcs.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/ecs.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/efs.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/eks.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/elasticache.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/emr.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/eventbridge.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/glue.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/guardduty.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/iam/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/iam/access_keys.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/iam/group_policies.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/iam/instance_profiles.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/iam/role_inline_policies.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/iam/role_policies.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/iam/roles.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/iam/user_inline_policies.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/iam/user_policies.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/inspector.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/kms.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/rds.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/redshift.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/resourcegroupstaggingapi.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/s3.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/s3accountpublicaccessblock.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/secretsmanager.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/securityhub.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/sns.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/sqs.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/aws/ssm.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/azure/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/azure/app_service.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/azure/compute.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/azure/cosmosdb.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/azure/functions.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/azure/sql.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/azure/storage.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/bigfix/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/bigfix/computers.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/cloudflare/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/cloudflare/accounts.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/cloudflare/dnsrecords.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/cloudflare/members.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/cloudflare/roles.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/cloudflare/zones.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/crowdstrike/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/crowdstrike/endpoints.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/crowdstrike/spotlight.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/cve/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/cve/feed.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/detectors/test_expectations.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/detectors/test_multiple_expectations.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/detectors/test_multiple_properties.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/digitalocean/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/digitalocean/compute.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/digitalocean/management.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/digitalocean/platform.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/duo/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/duo/endpoints.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/duo/groups.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/duo/phones.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/duo/tokens.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/duo/users.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/duo/web_authn_credentials.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/entra/applications.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/entra/groups.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/entra/ou.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/entra/users.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/gcp/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/gcp/compute.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/gcp/crm.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/gcp/dns.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/gcp/gke.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/gcp/iam.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/gcp/storage.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/github/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/github/commits.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/github/rate_limit.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/github/repos.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/github/teams.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/github/users.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/graph/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/graph/matchlink/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/graph/matchlink/iam_permissions.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/graph/querybuilder/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/graph/querybuilder/sample_data/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/graph/querybuilder/sample_data/case_insensitive_prop_ref.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/graph/querybuilder/sample_data/helloworld_relationships.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/graph/querybuilder/sample_data/multiple_attr_match.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/graph/querybuilder/sample_data/simple_node_missing_fields.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/graph/querybuilder/sample_models/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/graph/querybuilder/sample_models/allow_unscoped.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/graph/querybuilder/sample_models/asset_with_non_kwargs_tgm.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/graph/querybuilder/sample_models/fake_emps_githubusers.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/graph/querybuilder/sample_models/fake_emps_githubusers_fuzzy.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/graph/querybuilder/sample_models/interesting_asset.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/graph/querybuilder/sample_models/invalid_unscoped.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/graph/querybuilder/sample_models/multiple_attr_match.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/graph/querybuilder/sample_models/simple_node.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/jamf/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/jamf/computers.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/jobs/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/jobs/sample.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/kandji/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/kandji/devices.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/kandji/tenant.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/keycloak/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/keycloak/authenticationexecutions.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/keycloak/authenticationflows.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/keycloak/clients.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/keycloak/groups.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/keycloak/identityproviders.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/keycloak/organizations.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/keycloak/realms.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/keycloak/roles.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/keycloak/scopes.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/keycloak/users.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/kubernetes/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/kubernetes/clusters.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/kubernetes/eks.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/kubernetes/namespaces.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/kubernetes/pods.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/kubernetes/rbac.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/kubernetes/secrets.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/kubernetes/services.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/lastpass/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/lastpass/users.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/oci/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/oci/iam.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/okta/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/okta/adminroles.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/okta/application.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/okta/groups.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/okta/trustedorigin.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/okta/userfactors.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/okta/users.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/okta/utils.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/openai/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/openai/adminapikeys.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/openai/apikeys.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/openai/projects.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/openai/serviceaccounts.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/openai/users.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/pagerduty/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/pagerduty/escalation_policies.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/pagerduty/schedules.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/pagerduty/services.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/pagerduty/teams.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/pagerduty/users.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/pagerduty/vendors.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/scaleway/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/scaleway/iam.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/scaleway/instances.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/scaleway/projects.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/scaleway/storages.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/semgrep/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/semgrep/dependencies.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/semgrep/deployment.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/semgrep/sca.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/sentinelone/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/sentinelone/account.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/sentinelone/agent.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/sentinelone/api.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/sentinelone/application.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/sentinelone/utils.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/snipeit/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/snipeit/assets.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/snipeit/tenants.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/snipeit/users.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/tailscale/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/tailscale/acls.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/tailscale/devices.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/tailscale/postureintegrations.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/tailscale/tailnets.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/tailscale/users.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/test_cli_detectors/bad_shortcut/1.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/test_cli_detectors/bad_shortcut/2.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/test_cli_detectors/bad_shortcut/shortcut.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/test_cli_detectors/bad_shortcut/template.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/test_cli_detectors/detector/1.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/test_cli_detectors/detector/2.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/test_cli_detectors/detector/shortcut.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/test_cli_detectors/detector/template.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/test_update_detectors/invalid_query/shortcut.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/test_update_detectors/invalid_query/template.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/test_update_detectors/invalid_template/shortcut.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/test_update_detectors/invalid_template/template.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/test_update_detectors/test_detector/2019-01-01_00_00_01.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/test_update_detectors/test_detector/2019-01-01_00_00_02.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/test_update_detectors/test_detector/shortcut.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/test_update_detectors/test_detector/template.json +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/trivy/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/data/trivy/trivy_sample.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/client/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/client/aws/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/client/aws/test_iam.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/client/test_core.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/data/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/data/jobs/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/data/jobs/test_cleanup_jobs.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/data/jobs/test_syntax.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/graph/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/graph/test_cleanupbuilder.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/graph/test_cleanupbuilder_unscoped.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/graph/test_matchlink.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/graph/test_querybuilder_case_insensitive.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/graph/test_querybuilder_fuzzy_case_insensitive.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/graph/test_querybuilder_labels_and_var_num_rels.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/graph/test_querybuilder_match_on_multiple_attrs.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/graph/test_querybuilder_missing_fields_in_data.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/graph/test_querybuilder_rel_subsets.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/airbyte/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/airbyte/test_connections.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/airbyte/test_destinations.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/airbyte/test_organizations.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/airbyte/test_sources.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/airbyte/test_tags.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/airbyte/test_users.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/airbyte/test_workspaces.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/anthropic/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/anthropic/test_apikeys.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/anthropic/test_users.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/anthropic/test_workspaces.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/common.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/ec2/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/ec2/test_ec2_auto_scaling_groups.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/ec2/test_ec2_images.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/ec2/test_ec2_instances.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/ec2/test_ec2_key_pairs.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/ec2/test_ec2_load_balancers.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/ec2/test_ec2_network_acls.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/ec2/test_ec2_network_interfaces.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/ec2/test_ec2_reserved_instances.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/ec2/test_ec2_route_tables.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/ec2/test_ec2_security_groups.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/ec2/test_ec2_snapshots.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/ec2/test_ec2_subnets.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/ec2/test_ec2_volumes.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/ec2/test_ec2_vpc_peerings.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/ec2/test_elastic_ip_addresses.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/ec2/test_internet_gateway.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/ec2/test_internet_gateways.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/ec2/test_launch_templates.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/ec2/test_tgw.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/ec2/test_vpc.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/iam/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/iam/test_iam.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/iam/test_iam_sync.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/iam/test_role_policies.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/iam/test_user_policies.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/inspector/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/inspector/test_inspector_sync.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_acm.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_apigateway.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_apigatewayv2.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_cloudtrail.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_cloudtrail_management_events.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_cloudwatch.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_codebuild.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_cognito.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_config.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_dynamodb.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_ecs.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_efs.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_eks.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_elasticache.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_emr.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_eventbridge.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_glue.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_guardduty.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_iam_instance_profiles.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_init.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_kms.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_permission_relationships.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_rds.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_rds_event_subscriptions.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_redshift.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_resourcegroupstaggingapi.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_route53.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_s3.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_s3_acls.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_s3accountpublicaccessblock.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_secretsmanager.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_securityhub.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_sns.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_sqs.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/aws/test_ssm.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/azure/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/azure/test_app_service.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/azure/test_compute.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/azure/test_cosmosdb.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/azure/test_credentials.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/azure/test_functions.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/azure/test_sql.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/azure/test_storage.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/bigfix/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/bigfix/test_bf_computers.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/cloudflare/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/cloudflare/test_accounts.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/cloudflare/test_dnsrecords.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/cloudflare/test_members.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/cloudflare/test_roles.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/cloudflare/test_zones.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/crowdstrike/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/crowdstrike/test_endpoints.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/crowdstrike/test_spotlight.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/cve/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/cve/test_feed.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/digitalocean/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/digitalocean/test_compute.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/digitalocean/test_management.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/digitalocean/test_platform.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/duo/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/duo/test_api_host.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/duo/test_endpoints.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/duo/test_groups.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/duo/test_phones.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/duo/test_tokens.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/duo/test_users.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/duo/test_web_authn_credentials.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/entra/test_applications.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/entra/test_groups.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/entra/test_ous.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/gcp/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/gcp/test_compute.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/gcp/test_crm_deferred_cleanup.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/gcp/test_crm_folders.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/gcp/test_crm_orgs.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/gcp/test_crm_projects.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/gcp/test_gke.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/gcp/test_iam.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/gcp/test_storage.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/github/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/github/test_commits.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/github/test_teams.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/github/test_users.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/jamf/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/jamf/test_jamf.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/kandji/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/kandji/test_kandji.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/keycloak/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/keycloak/test_authenticationexecutions.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/keycloak/test_authenticationflows.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/keycloak/test_clients.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/keycloak/test_groups.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/keycloak/test_identityproviders.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/keycloak/test_organizations.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/keycloak/test_realms.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/keycloak/test_roles.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/keycloak/test_scopes.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/keycloak/test_users.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/kubernetes/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/kubernetes/test_clusters.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/kubernetes/test_eks.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/kubernetes/test_namespaces.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/kubernetes/test_pods.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/kubernetes/test_rbac.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/kubernetes/test_secrets.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/kubernetes/test_services.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/lastpass/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/lastpass/test_users.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/oci/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/oci/test_iam.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/okta/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/okta/test_awssaml.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/okta/test_group.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/openai/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/openai/test_adminapikeys.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/openai/test_apikeys.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/openai/test_projects.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/openai/test_serviceaccounts.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/openai/test_users.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/pagerduty/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/pagerduty/test_escalation_policies.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/pagerduty/test_schedules.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/pagerduty/test_services.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/pagerduty/test_teams.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/pagerduty/test_users.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/pagerduty/test_vendors.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/scaleway/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/scaleway/test_iam.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/scaleway/test_instances.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/scaleway/test_projects.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/scaleway/test_storage.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/semgrep/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/semgrep/common.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/semgrep/test_dependencies.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/semgrep/test_findings.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/sentinelone/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/sentinelone/test_account.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/sentinelone/test_agent.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/sentinelone/test_application.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/snipeit/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/snipeit/test_snipeit_assets.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/snipeit/test_snipeit_users.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/tailscale/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/tailscale/test_devices.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/tailscale/test_groups.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/tailscale/test_postureintegrations.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/tailscale/test_tags.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/tailscale/test_tailnets.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/tailscale/test_users.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/trivy/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/trivy/test_helpers.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/trivy/test_trivy_aws_ecr.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/intel/trivy/test_trivy_aws_ecr_disk.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/test_cli.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/cartography/test_util.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/conftest.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/driftdetect/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/driftdetect/test_get_state.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/settings.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/test_basic.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/test_util.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/integration/util.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/client/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/client/core/test_tx.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/client/test_core.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/data/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/data/jobs/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/data/jobs/test_statement.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/data/jobs/test_syntax.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/data/test_graphjob.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/graph/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/graph/helpers.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/graph/test_cleanupbuilder.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/graph/test_cleanupbuilder_unscoped.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/graph/test_matchlink.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/graph/test_model.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/graph/test_querybuilder_build_attach_links_excs.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/graph/test_querybuilder_complex.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/graph/test_querybuilder_filter_selected_rels.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/graph/test_querybuilder_indexcreation.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/graph/test_querybuilder_metadata.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/graph/test_querybuilder_onetomany.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/graph/test_querybuilder_simple.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/aws/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/aws/ec2/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/aws/ec2/test_instances_transform.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/aws/ec2/test_launch_templates.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/aws/iam/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/aws/iam/test_iam.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/aws/test_acm.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/aws/test_apigateway.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/aws/test_apigatewayv2.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/aws/test_cloudtrail_management_events.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/aws/test_codebuild.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/aws/test_guardduty.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/aws/test_identitycenter.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/aws/test_inspector.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/aws/test_kms.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/aws/test_permission_relationships.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/aws/test_resourcegroupstaggingapi.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/aws/test_secretsmanager.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/aws/test_util.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/cve/test_feed.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/gcp/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/gcp/test_compute.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/gcp/test_storage.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/github/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/github/test_github.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/github/test_repos.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/github/test_teams.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/gsuite/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/kandji/test_devices.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/oci/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/oci/test_iam.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/oci/test_organizations.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/oci/test_utils.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/okta/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/okta/test_admin_roles.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/okta/test_application.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/okta/test_awssaml.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/okta/test_factor.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/okta/test_group.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/okta/test_trusted_origin.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/okta/test_user.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/okta/test_utils.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/sentinelone/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/sentinelone/test_account.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/sentinelone/test_agent.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/sentinelone/test_api.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/sentinelone/test_application.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/sentinelone/test_utils.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/trivy/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/intel/trivy/test_scanner.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/test_sync.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/cartography/test_util.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/driftdetect/__init__.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/driftdetect/test_cli.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/driftdetect/test_detect_drift.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/driftdetect/test_detector.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/driftdetect/test_shortcuts.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/unit/test_hello_world.py +0 -0
- {cartography-0.114.0 → cartography-0.115.0}/tests/utils.py +0 -0
|
@@ -826,6 +826,35 @@ def start_your_service_ingestion(neo4j_session: neo4j.Session, config: Config) -
|
|
|
826
826
|
|
|
827
827
|
Follow these principles for robust error handling:
|
|
828
828
|
|
|
829
|
+
### Fail Loudly When Assumptions Break
|
|
830
|
+
|
|
831
|
+
Cartography (both the backend ingestion jobs and any frontend surfaces that consume their results)
|
|
832
|
+
likes to fail loudly so that broken assumptions bubble exceptions up to operators instead of being
|
|
833
|
+
papered over.
|
|
834
|
+
|
|
835
|
+
- When key assumptions your code relies upon stop being true, **stop execution immediately** and let
|
|
836
|
+
the error propagate. Add context if needed, then re-raise, rather than swallowing or downgrading
|
|
837
|
+
the exception.
|
|
838
|
+
- Lean toward propagating errors up to callers instead of logging a warning inside a `try`/`except`
|
|
839
|
+
block and continuing. Every time we continue execution after an unexpected error we risk silently
|
|
840
|
+
corrupting downstream data.
|
|
841
|
+
- If you're confident data should always exist, access it directly. Allow natural `KeyError`,
|
|
842
|
+
`AttributeError`, or `IndexError` exceptions to signal corruption instead of building extra guard
|
|
843
|
+
rails or default placeholders.
|
|
844
|
+
- Avoid using `hasattr()`/`getattr()` (or language equivalents) to probe for attributes that our
|
|
845
|
+
schemas guarantee. These checks often hide real contract violations and make debugging harder.
|
|
846
|
+
- Never manufacture "safe" default return values for dictionary keys, tuple indices, or other
|
|
847
|
+
required data. Emit the real exception so the upstream issue can be fixed.
|
|
848
|
+
|
|
849
|
+
To mitigate common pitfalls:
|
|
850
|
+
|
|
851
|
+
- **Harmful try/except blocks** → Only catch exceptions when you can remediate them meaningfully.
|
|
852
|
+
Otherwise, let them bubble up and fail fast.
|
|
853
|
+
- **Redundant attribute guards** → Remove `hasattr()`/`getattr()` shims for required fields and rely
|
|
854
|
+
on our strongly-defined schemas and tests to detect breakage.
|
|
855
|
+
- **Defaulting required data** → Do not set fallback values for required dictionary keys or sequence
|
|
856
|
+
indices. Allow the error to surface so the caller can address it.
|
|
857
|
+
|
|
829
858
|
### DON'T: Catch Base Exception
|
|
830
859
|
```python
|
|
831
860
|
# ❌ Don't do this - makes debugging impossible
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cartography
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.115.0
|
|
4
4
|
Summary: Explore assets and their relationships across your technical infrastructure.
|
|
5
5
|
Maintainer: Cartography Contributors
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -43,6 +43,7 @@ Requires-Dist: azure-mgmt-compute>=5.0.0
|
|
|
43
43
|
Requires-Dist: azure-mgmt-resource>=10.2.0
|
|
44
44
|
Requires-Dist: azure-mgmt-cosmosdb>=6.0.0
|
|
45
45
|
Requires-Dist: azure-mgmt-web>=7.0.0
|
|
46
|
+
Requires-Dist: azure-mgmt-logic>=10.0.0
|
|
46
47
|
Requires-Dist: msrestazure>=0.6.4
|
|
47
48
|
Requires-Dist: azure-mgmt-storage>=16.0.0
|
|
48
49
|
Requires-Dist: azure-mgmt-sql<=1.0.0
|
|
@@ -97,7 +98,7 @@ You can learn more about the story behind Cartography in our [presentation at BS
|
|
|
97
98
|
- [Keycloak](https://cartography-cncf.github.io/cartography/modules/keycloak/index.html) - Realms, Users, Groups, Roles, Scopes, Clients, IdentityProviders, Authentication Flows, Authentication Executions, Organizations, Organization Domains
|
|
98
99
|
- [Kubernetes](https://cartography-cncf.github.io/cartography/modules/kubernetes/index.html) - Cluster, Namespace, Service, Pod, Container, ServiceAccount, Role, RoleBinding, ClusterRole, ClusterRoleBinding, OIDCProvider
|
|
99
100
|
- [Lastpass](https://cartography-cncf.github.io/cartography/modules/lastpass/index.html) - users
|
|
100
|
-
- [Microsoft Azure](https://cartography-cncf.github.io/cartography/modules/azure/index.html) - App Service, CosmosDB, Functions, SQL, Storage, Virtual Machine
|
|
101
|
+
- [Microsoft Azure](https://cartography-cncf.github.io/cartography/modules/azure/index.html) - App Service, CosmosDB, Functions, Logic Apps, SQL, Storage, Virtual Machine
|
|
101
102
|
- [Microsoft Entra ID](https://cartography-cncf.github.io/cartography/modules/entra/index.html) - Users, Groups, Applications, OUs, App Roles, federation to AWS Identity Center
|
|
102
103
|
- [NIST CVE](https://cartography-cncf.github.io/cartography/modules/cve/index.html) - Common Vulnerabilities and Exposures (CVE) data from NIST database
|
|
103
104
|
- [Okta](https://cartography-cncf.github.io/cartography/modules/okta/index.html) - users, groups, organizations, roles, applications, factors, trusted origins, reply URIs, federation to AWS roles, federation to AWS Identity Center
|
|
@@ -36,7 +36,7 @@ You can learn more about the story behind Cartography in our [presentation at BS
|
|
|
36
36
|
- [Keycloak](https://cartography-cncf.github.io/cartography/modules/keycloak/index.html) - Realms, Users, Groups, Roles, Scopes, Clients, IdentityProviders, Authentication Flows, Authentication Executions, Organizations, Organization Domains
|
|
37
37
|
- [Kubernetes](https://cartography-cncf.github.io/cartography/modules/kubernetes/index.html) - Cluster, Namespace, Service, Pod, Container, ServiceAccount, Role, RoleBinding, ClusterRole, ClusterRoleBinding, OIDCProvider
|
|
38
38
|
- [Lastpass](https://cartography-cncf.github.io/cartography/modules/lastpass/index.html) - users
|
|
39
|
-
- [Microsoft Azure](https://cartography-cncf.github.io/cartography/modules/azure/index.html) - App Service, CosmosDB, Functions, SQL, Storage, Virtual Machine
|
|
39
|
+
- [Microsoft Azure](https://cartography-cncf.github.io/cartography/modules/azure/index.html) - App Service, CosmosDB, Functions, Logic Apps, SQL, Storage, Virtual Machine
|
|
40
40
|
- [Microsoft Entra ID](https://cartography-cncf.github.io/cartography/modules/entra/index.html) - Users, Groups, Applications, OUs, App Roles, federation to AWS Identity Center
|
|
41
41
|
- [NIST CVE](https://cartography-cncf.github.io/cartography/modules/cve/index.html) - Common Vulnerabilities and Exposures (CVE) data from NIST database
|
|
42
42
|
- [Okta](https://cartography-cncf.github.io/cartography/modules/okta/index.html) - users, groups, organizations, roles, applications, factors, trusted origins, reply URIs, federation to AWS roles, federation to AWS Identity Center
|
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '0.
|
|
32
|
-
__version_tuple__ = version_tuple = (0,
|
|
31
|
+
__version__ = version = '0.115.0'
|
|
32
|
+
__version_tuple__ = version_tuple = (0, 115, 0)
|
|
33
33
|
|
|
34
|
-
__commit_id__ = commit_id = '
|
|
34
|
+
__commit_id__ = commit_id = 'ga4b7e452f'
|
|
@@ -967,8 +967,8 @@ class CLI:
|
|
|
967
967
|
logger.warning("A Kandji base URI was provided but a token was not.")
|
|
968
968
|
config.kandji_token = None
|
|
969
969
|
else:
|
|
970
|
-
logger.warning("A Kandji base URI was not provided.")
|
|
971
970
|
config.kandji_base_uri = None
|
|
971
|
+
config.kandji_token = None
|
|
972
972
|
|
|
973
973
|
if config.statsd_enabled:
|
|
974
974
|
logger.debug(
|
|
@@ -1096,8 +1096,8 @@ class CLI:
|
|
|
1096
1096
|
logger.warning("A SnipeIT base URI was provided but a token was not.")
|
|
1097
1097
|
config.snipeit_token = None
|
|
1098
1098
|
else:
|
|
1099
|
-
logger.warning("A SnipeIT base URI was not provided.")
|
|
1100
1099
|
config.snipeit_base_uri = None
|
|
1100
|
+
config.snipeit_token = None
|
|
1101
1101
|
|
|
1102
1102
|
# Tailscale config
|
|
1103
1103
|
if config.tailscale_token_env_var:
|
|
@@ -19,6 +19,17 @@ from cartography.util import batch
|
|
|
19
19
|
logger = logging.getLogger(__name__)
|
|
20
20
|
|
|
21
21
|
|
|
22
|
+
def run_write_query(
|
|
23
|
+
neo4j_session: neo4j.Session, query: str, **parameters: Any
|
|
24
|
+
) -> None:
|
|
25
|
+
"""Execute a write query inside a managed transaction."""
|
|
26
|
+
|
|
27
|
+
def _run_query_tx(tx: neo4j.Transaction) -> None:
|
|
28
|
+
tx.run(query, **parameters).consume()
|
|
29
|
+
|
|
30
|
+
neo4j_session.execute_write(_run_query_tx)
|
|
31
|
+
|
|
32
|
+
|
|
22
33
|
def read_list_of_values_tx(
|
|
23
34
|
tx: neo4j.Transaction,
|
|
24
35
|
query: str,
|
|
@@ -5,6 +5,7 @@ from typing import List
|
|
|
5
5
|
import boto3
|
|
6
6
|
import neo4j
|
|
7
7
|
|
|
8
|
+
from cartography.client.core.tx import run_write_query
|
|
8
9
|
from cartography.util import aws_handle_regions
|
|
9
10
|
from cartography.util import run_cleanup_job
|
|
10
11
|
from cartography.util import timeit
|
|
@@ -80,7 +81,8 @@ def load_configuration_recorders(
|
|
|
80
81
|
for recorder in data:
|
|
81
82
|
recorder["_id"] = f'{recorder["name"]}:{current_aws_account_id}:{region}'
|
|
82
83
|
|
|
83
|
-
|
|
84
|
+
run_write_query(
|
|
85
|
+
neo4j_session,
|
|
84
86
|
ingest_configuration_recorders,
|
|
85
87
|
Recorders=data,
|
|
86
88
|
Region=region,
|
|
@@ -120,7 +122,8 @@ def load_delivery_channels(
|
|
|
120
122
|
for channel in data:
|
|
121
123
|
channel["_id"] = f'{channel["name"]}:{current_aws_account_id}:{region}'
|
|
122
124
|
|
|
123
|
-
|
|
125
|
+
run_write_query(
|
|
126
|
+
neo4j_session,
|
|
124
127
|
ingest_delivery_channels,
|
|
125
128
|
Channels=data,
|
|
126
129
|
Region=region,
|
|
@@ -167,7 +170,8 @@ def load_config_rules(
|
|
|
167
170
|
for detail in rule["Source"]["SourceDetails"]:
|
|
168
171
|
details.append(f"{detail}")
|
|
169
172
|
rule["_source_details"] = details
|
|
170
|
-
|
|
173
|
+
run_write_query(
|
|
174
|
+
neo4j_session,
|
|
171
175
|
ingest_config_rules,
|
|
172
176
|
Rules=data,
|
|
173
177
|
Region=region,
|
|
@@ -57,15 +57,15 @@ def get_ecr_repository_images(
|
|
|
57
57
|
)
|
|
58
58
|
for response in describe_response:
|
|
59
59
|
image_details = response["imageDetails"]
|
|
60
|
-
|
|
61
|
-
(
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
60
|
+
for detail in image_details:
|
|
61
|
+
tags = detail.get("imageTags") or []
|
|
62
|
+
if tags:
|
|
63
|
+
for tag in tags:
|
|
64
|
+
image_detail = {**detail, "imageTag": tag}
|
|
65
|
+
image_detail.pop("imageTags", None)
|
|
66
|
+
ecr_repository_images.append(image_detail)
|
|
67
|
+
else:
|
|
68
|
+
ecr_repository_images.append({**detail})
|
|
69
69
|
return ecr_repository_images
|
|
70
70
|
|
|
71
71
|
|
|
@@ -2,6 +2,8 @@ import logging
|
|
|
2
2
|
from typing import Any
|
|
3
3
|
from typing import Dict
|
|
4
4
|
from typing import List
|
|
5
|
+
from typing import Optional
|
|
6
|
+
from typing import Union
|
|
5
7
|
|
|
6
8
|
import boto3
|
|
7
9
|
import neo4j
|
|
@@ -15,9 +17,13 @@ from cartography.models.aws.identitycenter.awsidentitycenter import (
|
|
|
15
17
|
from cartography.models.aws.identitycenter.awspermissionset import (
|
|
16
18
|
AWSPermissionSetSchema,
|
|
17
19
|
)
|
|
20
|
+
from cartography.models.aws.identitycenter.awspermissionset import (
|
|
21
|
+
RoleAssignmentAllowedByGroupMatchLink,
|
|
22
|
+
)
|
|
18
23
|
from cartography.models.aws.identitycenter.awspermissionset import (
|
|
19
24
|
RoleAssignmentAllowedByMatchLink,
|
|
20
25
|
)
|
|
26
|
+
from cartography.models.aws.identitycenter.awssogroup import AWSSSOGroupSchema
|
|
21
27
|
from cartography.models.aws.identitycenter.awsssouser import AWSSSOUserSchema
|
|
22
28
|
from cartography.util import aws_handle_regions
|
|
23
29
|
from cartography.util import timeit
|
|
@@ -150,18 +156,72 @@ def get_sso_users(
|
|
|
150
156
|
return users
|
|
151
157
|
|
|
152
158
|
|
|
153
|
-
|
|
159
|
+
@timeit
|
|
160
|
+
@aws_handle_regions
|
|
161
|
+
def get_sso_groups(
|
|
162
|
+
boto3_session: boto3.session.Session,
|
|
163
|
+
identity_store_id: str,
|
|
164
|
+
region: str,
|
|
165
|
+
) -> List[Dict]:
|
|
166
|
+
"""
|
|
167
|
+
Get all SSO groups for a given Identity Store
|
|
168
|
+
"""
|
|
169
|
+
client = boto3_session.client("identitystore", region_name=region)
|
|
170
|
+
groups: List[Dict[str, Any]] = []
|
|
171
|
+
|
|
172
|
+
paginator = client.get_paginator("list_groups")
|
|
173
|
+
for page in paginator.paginate(IdentityStoreId=identity_store_id):
|
|
174
|
+
group_page = page.get("Groups", [])
|
|
175
|
+
for group in group_page:
|
|
176
|
+
groups.append(group)
|
|
177
|
+
|
|
178
|
+
return groups
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
def transform_sso_users(
|
|
182
|
+
users: List[Dict[str, Any]],
|
|
183
|
+
user_group_memberships: Optional[Dict[str, List[str]]] = None,
|
|
184
|
+
user_permission_sets: Optional[Dict[str, List[str]]] = None,
|
|
185
|
+
) -> List[Dict[str, Any]]:
|
|
154
186
|
"""
|
|
155
|
-
Transform SSO users to match the expected schema
|
|
187
|
+
Transform SSO users to match the expected schema, optionally including group memberships
|
|
156
188
|
"""
|
|
157
189
|
transformed_users = []
|
|
158
190
|
for user in users:
|
|
159
|
-
if user.get("ExternalIds")
|
|
191
|
+
if user.get("ExternalIds"):
|
|
160
192
|
user["ExternalId"] = user["ExternalIds"][0].get("Id")
|
|
193
|
+
# Add group memberships if provided
|
|
194
|
+
if user_group_memberships:
|
|
195
|
+
user["MemberOfGroups"] = user_group_memberships.get(user["UserId"], [])
|
|
196
|
+
# Add direct permission set assignments if provided
|
|
197
|
+
if user_permission_sets:
|
|
198
|
+
user["AssignedPermissionSets"] = user_permission_sets.get(
|
|
199
|
+
user["UserId"], []
|
|
200
|
+
)
|
|
161
201
|
transformed_users.append(user)
|
|
162
202
|
return transformed_users
|
|
163
203
|
|
|
164
204
|
|
|
205
|
+
def transform_sso_groups(
|
|
206
|
+
groups: List[Dict[str, Any]],
|
|
207
|
+
group_permission_sets: Optional[Dict[str, List[str]]] = None,
|
|
208
|
+
) -> List[Dict[str, Any]]:
|
|
209
|
+
"""
|
|
210
|
+
Transform SSO groups to match the expected schema, optionally including permission set assignments
|
|
211
|
+
"""
|
|
212
|
+
transformed_groups: List[Dict[str, Any]] = []
|
|
213
|
+
for group in groups:
|
|
214
|
+
if group.get("ExternalIds"):
|
|
215
|
+
group["ExternalId"] = group["ExternalIds"][0].get("Id")
|
|
216
|
+
# Add permission set assignments if provided
|
|
217
|
+
if group_permission_sets:
|
|
218
|
+
group["AssignedPermissionSets"] = group_permission_sets.get(
|
|
219
|
+
group["GroupId"], []
|
|
220
|
+
)
|
|
221
|
+
transformed_groups.append(group)
|
|
222
|
+
return transformed_groups
|
|
223
|
+
|
|
224
|
+
|
|
165
225
|
@timeit
|
|
166
226
|
def load_sso_users(
|
|
167
227
|
neo4j_session: neo4j.Session,
|
|
@@ -189,6 +249,33 @@ def load_sso_users(
|
|
|
189
249
|
)
|
|
190
250
|
|
|
191
251
|
|
|
252
|
+
@timeit
|
|
253
|
+
def load_sso_groups(
|
|
254
|
+
neo4j_session: neo4j.Session,
|
|
255
|
+
groups: List[Dict],
|
|
256
|
+
identity_store_id: str,
|
|
257
|
+
region: str,
|
|
258
|
+
aws_account_id: str,
|
|
259
|
+
aws_update_tag: int,
|
|
260
|
+
) -> None:
|
|
261
|
+
"""
|
|
262
|
+
Load SSO groups into the graph
|
|
263
|
+
"""
|
|
264
|
+
logger.info(
|
|
265
|
+
f"Loading {len(groups)} SSO groups for identity store {identity_store_id} in region {region}",
|
|
266
|
+
)
|
|
267
|
+
|
|
268
|
+
load(
|
|
269
|
+
neo4j_session,
|
|
270
|
+
AWSSSOGroupSchema(),
|
|
271
|
+
groups,
|
|
272
|
+
lastupdated=aws_update_tag,
|
|
273
|
+
IdentityStoreId=identity_store_id,
|
|
274
|
+
AWS_ID=aws_account_id,
|
|
275
|
+
Region=region,
|
|
276
|
+
)
|
|
277
|
+
|
|
278
|
+
|
|
192
279
|
@timeit
|
|
193
280
|
@aws_handle_regions
|
|
194
281
|
def get_role_assignments(
|
|
@@ -225,6 +312,71 @@ def get_role_assignments(
|
|
|
225
312
|
return role_assignments
|
|
226
313
|
|
|
227
314
|
|
|
315
|
+
@timeit
|
|
316
|
+
@aws_handle_regions
|
|
317
|
+
def get_group_role_assignments(
|
|
318
|
+
boto3_session: boto3.session.Session,
|
|
319
|
+
groups: List[Dict],
|
|
320
|
+
instance_arn: str,
|
|
321
|
+
region: str,
|
|
322
|
+
) -> List[Dict]:
|
|
323
|
+
"""
|
|
324
|
+
Get role assignments for SSO groups
|
|
325
|
+
"""
|
|
326
|
+
|
|
327
|
+
logger.info(f"Getting role assignments for {len(groups)} groups")
|
|
328
|
+
client = boto3_session.client("sso-admin", region_name=region)
|
|
329
|
+
role_assignments: List[Dict[str, Any]] = []
|
|
330
|
+
|
|
331
|
+
for group in groups:
|
|
332
|
+
group_id = group["GroupId"]
|
|
333
|
+
paginator = client.get_paginator("list_account_assignments_for_principal")
|
|
334
|
+
for page in paginator.paginate(
|
|
335
|
+
InstanceArn=instance_arn,
|
|
336
|
+
PrincipalId=group_id,
|
|
337
|
+
PrincipalType="GROUP",
|
|
338
|
+
):
|
|
339
|
+
for assignment in page.get("AccountAssignments", []):
|
|
340
|
+
role_assignments.append(
|
|
341
|
+
{
|
|
342
|
+
"GroupId": group_id,
|
|
343
|
+
"PermissionSetArn": assignment.get("PermissionSetArn"),
|
|
344
|
+
"AccountId": assignment.get("AccountId"),
|
|
345
|
+
}
|
|
346
|
+
)
|
|
347
|
+
|
|
348
|
+
return role_assignments
|
|
349
|
+
|
|
350
|
+
|
|
351
|
+
@timeit
|
|
352
|
+
@aws_handle_regions
|
|
353
|
+
def get_user_group_memberships(
|
|
354
|
+
boto3_session: boto3.session.Session,
|
|
355
|
+
identity_store_id: str,
|
|
356
|
+
groups: List[Dict],
|
|
357
|
+
region: str,
|
|
358
|
+
) -> Dict[str, List[str]]:
|
|
359
|
+
"""
|
|
360
|
+
Return a mapping of UserId -> [GroupIds] for all group memberships in the identity store.
|
|
361
|
+
"""
|
|
362
|
+
client = boto3_session.client("identitystore", region_name=region)
|
|
363
|
+
user_groups: Dict[str, List[str]] = {}
|
|
364
|
+
|
|
365
|
+
for group in groups:
|
|
366
|
+
group_id = group["GroupId"]
|
|
367
|
+
paginator = client.get_paginator("list_group_memberships")
|
|
368
|
+
for page in paginator.paginate(
|
|
369
|
+
IdentityStoreId=identity_store_id, GroupId=group_id
|
|
370
|
+
):
|
|
371
|
+
for membership in page.get("GroupMemberships", []):
|
|
372
|
+
member = membership.get("MemberId", {})
|
|
373
|
+
user_id = member.get("UserId")
|
|
374
|
+
if user_id:
|
|
375
|
+
user_groups.setdefault(user_id, []).append(group_id)
|
|
376
|
+
|
|
377
|
+
return user_groups
|
|
378
|
+
|
|
379
|
+
|
|
228
380
|
@timeit
|
|
229
381
|
def get_permset_roles(
|
|
230
382
|
neo4j_session: neo4j.Session,
|
|
@@ -270,14 +422,18 @@ def load_role_assignments(
|
|
|
270
422
|
role_assignments: List[Dict],
|
|
271
423
|
aws_account_id: str,
|
|
272
424
|
aws_update_tag: int,
|
|
425
|
+
matchlink_schema: Union[
|
|
426
|
+
RoleAssignmentAllowedByMatchLink,
|
|
427
|
+
RoleAssignmentAllowedByGroupMatchLink,
|
|
428
|
+
],
|
|
273
429
|
) -> None:
|
|
274
430
|
"""
|
|
275
|
-
Load role assignments into the graph using MatchLink schema
|
|
431
|
+
Load role assignments into the graph using the provided MatchLink schema
|
|
276
432
|
"""
|
|
277
433
|
logger.info(f"Loading {len(role_assignments)} role assignments")
|
|
278
434
|
load_matchlinks(
|
|
279
435
|
neo4j_session,
|
|
280
|
-
|
|
436
|
+
matchlink_schema,
|
|
281
437
|
role_assignments,
|
|
282
438
|
lastupdated=aws_update_tag,
|
|
283
439
|
_sub_resource_label="AWSAccount",
|
|
@@ -300,6 +456,9 @@ def cleanup(
|
|
|
300
456
|
GraphJob.from_node_schema(AWSSSOUserSchema(), common_job_parameters).run(
|
|
301
457
|
neo4j_session,
|
|
302
458
|
)
|
|
459
|
+
GraphJob.from_node_schema(AWSSSOGroupSchema(), common_job_parameters).run(
|
|
460
|
+
neo4j_session,
|
|
461
|
+
)
|
|
303
462
|
|
|
304
463
|
# Clean up role assignment MatchLinks
|
|
305
464
|
GraphJob.from_matchlink(
|
|
@@ -308,6 +467,12 @@ def cleanup(
|
|
|
308
467
|
common_job_parameters["AWS_ID"],
|
|
309
468
|
common_job_parameters["UPDATE_TAG"],
|
|
310
469
|
).run(neo4j_session)
|
|
470
|
+
GraphJob.from_matchlink(
|
|
471
|
+
RoleAssignmentAllowedByGroupMatchLink(),
|
|
472
|
+
"AWSAccount",
|
|
473
|
+
common_job_parameters["AWS_ID"],
|
|
474
|
+
common_job_parameters["UPDATE_TAG"],
|
|
475
|
+
).run(neo4j_session)
|
|
311
476
|
|
|
312
477
|
|
|
313
478
|
@timeit
|
|
@@ -350,35 +515,97 @@ def sync_identity_center_instances(
|
|
|
350
515
|
update_tag,
|
|
351
516
|
)
|
|
352
517
|
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
518
|
+
# Fetch groups first to avoid interleaving between groups and users
|
|
519
|
+
groups = get_sso_groups(boto3_session, identity_store_id, region)
|
|
520
|
+
|
|
521
|
+
# Get permission set assignments for groups
|
|
522
|
+
group_permission_sets: Dict[str, List[str]] = {}
|
|
523
|
+
group_role_assignments_raw = get_group_role_assignments(
|
|
524
|
+
boto3_session,
|
|
525
|
+
groups,
|
|
526
|
+
instance_arn,
|
|
527
|
+
region,
|
|
528
|
+
)
|
|
529
|
+
for assignment in group_role_assignments_raw:
|
|
530
|
+
group_id = assignment["GroupId"]
|
|
531
|
+
perm_set = assignment["PermissionSetArn"]
|
|
532
|
+
group_permission_sets.setdefault(group_id, []).append(perm_set)
|
|
533
|
+
|
|
534
|
+
# Transform and load groups with their permission set assignments FIRST
|
|
535
|
+
# so that user->group membership edges can attach in the same run.
|
|
536
|
+
transformed_groups = transform_sso_groups(groups, group_permission_sets)
|
|
537
|
+
load_sso_groups(
|
|
356
538
|
neo4j_session,
|
|
357
|
-
|
|
539
|
+
transformed_groups,
|
|
358
540
|
identity_store_id,
|
|
359
541
|
region,
|
|
360
542
|
current_aws_account_id,
|
|
361
543
|
update_tag,
|
|
362
544
|
)
|
|
363
545
|
|
|
364
|
-
#
|
|
365
|
-
|
|
546
|
+
# Handle users AFTER groups exist
|
|
547
|
+
users = get_sso_users(boto3_session, identity_store_id, region)
|
|
548
|
+
user_group_memberships = get_user_group_memberships(
|
|
549
|
+
boto3_session,
|
|
550
|
+
identity_store_id,
|
|
551
|
+
groups,
|
|
552
|
+
region,
|
|
553
|
+
)
|
|
554
|
+
|
|
555
|
+
# Get direct permission set assignments for users
|
|
556
|
+
user_permission_sets: Dict[str, List[str]] = {}
|
|
557
|
+
user_role_assignments_raw = get_role_assignments(
|
|
366
558
|
boto3_session,
|
|
367
559
|
users,
|
|
368
560
|
instance_arn,
|
|
369
561
|
region,
|
|
370
562
|
)
|
|
563
|
+
for assignment in user_role_assignments_raw:
|
|
564
|
+
uid = assignment["UserId"]
|
|
565
|
+
perm_set = assignment["PermissionSetArn"]
|
|
566
|
+
user_permission_sets.setdefault(uid, []).append(perm_set)
|
|
371
567
|
|
|
372
|
-
#
|
|
568
|
+
# Transform and load users with their group memberships AFTER groups exist
|
|
569
|
+
transformed_users = transform_sso_users(
|
|
570
|
+
users,
|
|
571
|
+
user_group_memberships,
|
|
572
|
+
user_permission_sets,
|
|
573
|
+
)
|
|
574
|
+
load_sso_users(
|
|
575
|
+
neo4j_session,
|
|
576
|
+
transformed_users,
|
|
577
|
+
identity_store_id,
|
|
578
|
+
region,
|
|
579
|
+
current_aws_account_id,
|
|
580
|
+
update_tag,
|
|
581
|
+
)
|
|
582
|
+
|
|
583
|
+
# Enrich role assignments with exact role ARNs using permission set relationships.
|
|
584
|
+
# Note: we do this after groups and users are loaded so that
|
|
585
|
+
# load_role_assignments calls can MATCH existing AWSSSOUser/AWSSSOGroup
|
|
586
|
+
# nodes when drawing the ALLOWED_BY edges.
|
|
373
587
|
enriched_role_assignments = get_permset_roles(
|
|
374
588
|
neo4j_session,
|
|
375
|
-
|
|
589
|
+
user_role_assignments_raw,
|
|
376
590
|
)
|
|
377
591
|
load_role_assignments(
|
|
378
592
|
neo4j_session,
|
|
379
593
|
enriched_role_assignments,
|
|
380
594
|
current_aws_account_id,
|
|
381
595
|
update_tag,
|
|
596
|
+
RoleAssignmentAllowedByMatchLink(),
|
|
597
|
+
)
|
|
598
|
+
|
|
599
|
+
enriched_group_role_assignments = get_permset_roles(
|
|
600
|
+
neo4j_session,
|
|
601
|
+
group_role_assignments_raw,
|
|
602
|
+
)
|
|
603
|
+
load_role_assignments(
|
|
604
|
+
neo4j_session,
|
|
605
|
+
enriched_group_role_assignments,
|
|
606
|
+
current_aws_account_id,
|
|
607
|
+
update_tag,
|
|
608
|
+
RoleAssignmentAllowedByGroupMatchLink(),
|
|
382
609
|
)
|
|
383
610
|
|
|
384
611
|
cleanup(neo4j_session, common_job_parameters)
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import json
|
|
1
2
|
import logging
|
|
2
3
|
from typing import Any
|
|
3
4
|
from typing import Dict
|
|
@@ -6,6 +7,7 @@ from typing import List
|
|
|
6
7
|
import boto3
|
|
7
8
|
import botocore
|
|
8
9
|
import neo4j
|
|
10
|
+
from policyuniverse.policy import Policy
|
|
9
11
|
|
|
10
12
|
from cartography.client.core.tx import load
|
|
11
13
|
from cartography.graph.job import GraphJob
|
|
@@ -36,7 +38,11 @@ def get_lambda_data(boto3_session: boto3.session.Session, region: str) -> List[D
|
|
|
36
38
|
return lambda_functions
|
|
37
39
|
|
|
38
40
|
|
|
39
|
-
def transform_lambda_functions(
|
|
41
|
+
def transform_lambda_functions(
|
|
42
|
+
lambda_functions: List[Dict],
|
|
43
|
+
permissions_by_arn: Dict[str, Dict[str, Any]],
|
|
44
|
+
region: str,
|
|
45
|
+
) -> List[Dict]:
|
|
40
46
|
transformed_functions = []
|
|
41
47
|
|
|
42
48
|
for function_data in lambda_functions:
|
|
@@ -48,6 +54,11 @@ def transform_lambda_functions(lambda_functions: List[Dict], region: str) -> Lis
|
|
|
48
54
|
|
|
49
55
|
transformed_function["Region"] = region
|
|
50
56
|
|
|
57
|
+
function_arn = function_data["FunctionArn"]
|
|
58
|
+
permission_data = permissions_by_arn[function_arn]
|
|
59
|
+
transformed_function["AnonymousAccess"] = permission_data["AnonymousAccess"]
|
|
60
|
+
transformed_function["AnonymousActions"] = permission_data["AnonymousActions"]
|
|
61
|
+
|
|
51
62
|
transformed_functions.append(transformed_function)
|
|
52
63
|
|
|
53
64
|
return transformed_functions
|
|
@@ -126,6 +137,61 @@ def get_event_source_mappings(
|
|
|
126
137
|
return event_source_mappings
|
|
127
138
|
|
|
128
139
|
|
|
140
|
+
@timeit
|
|
141
|
+
@aws_handle_regions
|
|
142
|
+
def get_lambda_permissions(
|
|
143
|
+
lambda_functions: List[Dict],
|
|
144
|
+
boto3_session: boto3.Session,
|
|
145
|
+
region: str,
|
|
146
|
+
) -> Dict[str, Dict[str, Any]]:
|
|
147
|
+
"""
|
|
148
|
+
Get Lambda permissions for the given functions in the specified region.
|
|
149
|
+
"""
|
|
150
|
+
client = boto3_session.client("lambda", region_name=region)
|
|
151
|
+
all_permissions = {}
|
|
152
|
+
for function in lambda_functions:
|
|
153
|
+
function_name = function["FunctionName"]
|
|
154
|
+
function_arn = function["FunctionArn"]
|
|
155
|
+
|
|
156
|
+
all_permissions[function_arn] = {
|
|
157
|
+
"AnonymousAccess": None,
|
|
158
|
+
"AnonymousActions": None,
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
try:
|
|
162
|
+
response = client.get_policy(FunctionName=function_name)
|
|
163
|
+
policy = response.get("Policy")
|
|
164
|
+
|
|
165
|
+
if policy:
|
|
166
|
+
parsed_policy = parse_policy(function_arn, policy)
|
|
167
|
+
all_permissions[function_arn] = {
|
|
168
|
+
"AnonymousAccess": parsed_policy.get("AnonymousAccess"),
|
|
169
|
+
"AnonymousActions": parsed_policy.get("AnonymousActions"),
|
|
170
|
+
}
|
|
171
|
+
except client.exceptions.ResourceNotFoundException:
|
|
172
|
+
logger.debug(f"No policy found for Lambda function {function_name}")
|
|
173
|
+
pass
|
|
174
|
+
except Exception as e:
|
|
175
|
+
logger.warning(
|
|
176
|
+
f"Error getting policy for Lambda function {function_name}: {e}"
|
|
177
|
+
)
|
|
178
|
+
|
|
179
|
+
return all_permissions
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
def parse_policy(function_arn: str, policy: str) -> Dict[str, Any]:
|
|
183
|
+
"""
|
|
184
|
+
Parse the Lambda permission policy to extract anonymous access and actions.
|
|
185
|
+
"""
|
|
186
|
+
policy_obj = Policy(json.loads(policy))
|
|
187
|
+
inet_actions = policy_obj.internet_accessible_actions()
|
|
188
|
+
|
|
189
|
+
return {
|
|
190
|
+
"AnonymousAccess": policy_obj.is_internet_accessible(),
|
|
191
|
+
"AnonymousActions": list(inet_actions) if inet_actions else [],
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
|
|
129
195
|
@timeit
|
|
130
196
|
def load_lambda_function_aliases(
|
|
131
197
|
neo4j_session: neo4j.Session,
|
|
@@ -306,7 +372,8 @@ def sync(
|
|
|
306
372
|
|
|
307
373
|
# Get and load core lambda functions
|
|
308
374
|
data = get_lambda_data(boto3_session, region)
|
|
309
|
-
|
|
375
|
+
permissions_by_arn = get_lambda_permissions(data, boto3_session, region)
|
|
376
|
+
transformed_data = transform_lambda_functions(data, permissions_by_arn, region)
|
|
310
377
|
load_lambda_functions(
|
|
311
378
|
neo4j_session,
|
|
312
379
|
transformed_data,
|
|
@@ -5,6 +5,7 @@ import boto3
|
|
|
5
5
|
import botocore.exceptions
|
|
6
6
|
import neo4j
|
|
7
7
|
|
|
8
|
+
from cartography.client.core.tx import run_write_query
|
|
8
9
|
from cartography.intel.aws.iam import sync_root_principal
|
|
9
10
|
from cartography.util import timeit
|
|
10
11
|
|
|
@@ -114,7 +115,8 @@ def load_aws_accounts(
|
|
|
114
115
|
"""
|
|
115
116
|
for account_name, account_id in aws_accounts.items():
|
|
116
117
|
root_arn = f"arn:aws:iam::{account_id}:root"
|
|
117
|
-
|
|
118
|
+
run_write_query(
|
|
119
|
+
neo4j_session,
|
|
118
120
|
query,
|
|
119
121
|
ACCOUNT_ID=account_id,
|
|
120
122
|
ACCOUNT_NAME=account_name,
|