ops0ops0

Scanning Resources

Run a discovery scan to find existing cloud resources across AWS, GCP, Azure, and Oracle Cloud.

Discovery Wizard

Select Provider

Choose AWS, GCP, Azure, or Oracle Cloud.

Discovery wizard — select cloud provider

Choose Integration

Select the cloud integration with credentials for this provider.

Configure Scope

Set the scan mode, regions, and resource types.

Select Resource Types

Choose which resource types to scan (or use "Select Common" for typical resources).

Discovery wizard — select resource types to scan

Review and Start

Review the configuration and start the scan.

Discovery scan in progress showing resource types and scan status

Provider-Specific Scope

Each provider has different scope options for controlling what gets scanned.

AWS

Scan ModeDescription
Single AccountScan resources in the configured AWS account
OrganizationScan all accounts in the AWS Organization
Selected AccountsScan specific accounts (with optional exclusions)

Region Selection: Choose one or more AWS regions (us-east-1, eu-west-1, etc.). Supports multi-region and all-region scanning.

Required Permissions:

  • Describe* and List* for target resource types
  • organizations:ListAccounts and sts:AssumeRole for organization scanning

GCP

ScopeDescription
ProjectScan a single GCP project
FolderScan all projects under a folder
OrganizationScan the entire GCP organization

Supports included/excluded project lists for folder and organization scopes.

Required Permissions:

  • cloudasset.assets.searchAllResources for discovery
  • resourcemanager.folders.list and resourcemanager.projects.list for folder/org scope

Azure

ScopeDescription
SubscriptionScan a single Azure subscription
Management GroupScan all subscriptions under a management group
Selected SubscriptionsScan specific subscriptions

Required Permissions:

  • Microsoft.ResourceGraph/resources/read for discovery
  • Microsoft.Management/managementGroups/read for management group scope

Oracle Cloud

ScopeDescription
CompartmentScan a single OCI compartment
TenancyScan the entire tenancy

Supports included/excluded compartment lists for tenancy scope.

Required Permissions:

  • API key authentication
  • Compartment-level read access for target resource types

Resource Types

Common Resource Sets

VMs, VPCs/VNets/VCNs, subnets, security groups or NSGs, storage, and databases.

Advanced Resource Sets

Kubernetes clusters, serverless functions, IAM, load balancers, CDN, and higher-order platform services.


Scan Controls

Pause and Resume

Long-running scans can be paused and resumed:

  • Click Pause to halt an in-progress scan
  • The session status changes to Paused and retains all resources discovered so far
  • Click Resume to continue scanning from where it left off

Scan Progress

IconStatus
Resource type completed
Currently scanning
Pending
Failed

Estimated Duration

ScopeTime
1 region, basic resources1 to 2 min
1 region, all resource types3 to 5 min
Multiple regions5 to 15 min
Organization-wide, all types15 to 30 min

Multi-Account Scanning

AWS Organizations

Configure Integration

Set up AWS integration in the organization management account.

Enable Organization Scanning

Select Organization scan mode in the discovery wizard.

Select Scope

Choose specific organizational units (OUs) or member accounts, or scan all.

Scan

ops0 assumes roles in each member account and scans resources.

GCP Folders & Organizations

Configure Integration

Set up GCP integration with an organization-level service account.

Select Folder or Organization Scope

Choose the folder hierarchy or organization root.

Include/Exclude Projects

Optionally specify which projects to include or exclude.

Scan

ops0 enumerates all projects under the scope and scans each.

Azure Management Groups

Configure Integration

Set up Azure integration with management group access.

Select Management Group Scope

Choose the management group root or specific subscriptions.

Scan

ops0 discovers all subscriptions and scans resources.

Oracle Cloud Tenancy

Configure Integration

Set up Oracle Cloud integration with tenancy-level API key access.

Select Tenancy Scope

Choose tenancy-wide scanning or specific compartments.

Include/Exclude Compartments

Optionally specify which compartments to include or exclude.

Scan

ops0 enumerates compartments and scans resources in each.


Discovery Projects

Organize discovered resources into logical groupings before generating code.

Creating a Discovery Project

Open Session

Navigate to the completed discovery session.

Click "Create Project"

Select resources to include in the project.

Configure

Set project name, description, and tags (environment, owner, application).

Select Resources

Use manual selection, filter by tag, filter by type, filter by region, or select by relationship (resource + all dependencies).

State Backend Configuration

When creating a discovery project, configure the Terraform state backend:

BackendDescription
S3AWS S3 bucket with optional DynamoDB locking
Azure BlobAzure Storage Account for state files
GCSGoogle Cloud Storage bucket
LocalLocal filesystem (single user only)

Job History

View past discovery jobs at Discovery → Job History:

  • Scan configuration and scope
  • Start/end times and duration
  • Resource count by type
  • Success/failure status
  • Link to session results

Troubleshooting

Access Denied

Required IAM or cloud permissions are missing. Verify the integration has the read scopes needed for the selected provider and scope.

Rate Limited

The provider is throttling API calls. Retry after a short wait or reduce the scan scope and resource types.

Connection Failed

This usually means a network or credential problem. Test the integration in Settings and verify the credentials are still valid.

Timeout

The scan is taking too long for the selected scope. Reduce regions or resource types, or use pause and resume for large inventories.

Scanning Tips
  • Start with your primary region if you're unsure where to begin.
  • Use Select Common for a first pass on typical infrastructure.
  • Pause long scans and resume later when you need to spread the work out.
  • Use separate sessions per account when you want cleaner history and easier comparisons.