Skip to content

Inventory

If you use Terraform or CDKTF, the provider manages inventory for you. Call CloudInventory.* directly only when you build a custom provisioning workflow, resource dashboard, or explicit drift check.

Status: Preview — register, update, deregister, get, list, verify, and report drift operations are callable.

At a glance

FactValue
Hostnamehttps://inventory.eu-central-1.cloud.skippr.io
SigV4 service codeinventory
Target prefixCloudInventory.
AuthenticationCloud JWT or SigV4 credentials
Stored status valuesPROVISIONING, READY, FAILED, MISSING, CHANGED
Repair ownerTerraform or your direct API workflow

Inventory is a registry and verification service. It does not own Terraform state, produce a plan, or repair a resource.

Provider-managed default

The Terraform and CDKTF provider lifecycle keeps inventory aligned:

  1. Create or import calls RegisterResource.
  2. A successful mutation calls UpdateResourceRecord.
  3. Read describes the service resource and calls VerifyResource.
  4. Delete calls DeregisterResource.

Terraform still owns desired configuration, plan, refresh, import, and apply decisions. An inventory status of MISSING or CHANGED informs you about observed state; it does not trigger a repair.

Sites Deployments are not registered as provider resources by default. The provider tracks stable cloud_site and cloud_site_domain_binding resources; the Sites API owns immutable Deployment history.

When to call inventory directly

Custom provisioning

Register a resource after your client creates or imports it, update the record after a successful mutation, and deregister it after deletion. This gives custom workflows the same managed-resource record used by providers.

Resource dashboards

Use GetResource or ListResources to show managed resources, provenance, revision, and last verification state. List pagination uses maxResults and an opaque nextToken.

Explicit drift checks

Use VerifyResource to compare one inventory record with the resource returned by its service describe operation. Use ReportDrift when you also want to persist the newly observed status with optimistic concurrency.

Operations by task

TaskOperationResult
Register after create or importRegisterResourceCreates or returns the record for the resource identity.
Record a successful mutationUpdateResourceRecordUpdates the last-applied model and revision.
Remove after deleteDeregisterResourceRemoves the managed-resource record.
Inspect one resourceGetResourceReturns the current inventory record.
Browse resourcesListResourcesReturns a filterable, paginated list.
Check actual stateVerifyResourceDescribes the service resource and returns the comparison.
Check and persist driftReportDriftRe-describes and conditionally stores the verified result.

Understand status

StatusMeaning
PROVISIONINGA create or update is in progress.
READYThe resource exists and matches the last-applied model within its verification rules.
FAILEDThe last mutation or verification failed.
MISSINGThe inventory record exists, but the service resource was not found.
CHANGEDThe resource exists, but its observed model differs from the last-applied model.

Verification reads resource state only. It never creates, updates, deletes, or repairs the resource.

Identity and record contract

The resource identity is the tenant, resourceType, and physicalId. Skippr Cloud derives the tenant and creator from verified credentials; clients cannot set either identity in a request body.

A record can include timestamps, revision, desired-model digest, lastApplied, last verification details, and optional provider, stack, and workspace provenance.

ReportDrift accepts resourceType, physicalId, and the current revision. It re-runs the service describe operation instead of trusting a caller-supplied status, digest, or detail. A successful write increments revision; a stale revision returns ConflictException.

Limits, errors, and contracts

  • ListResources is paginated with maxResults and opaque nextToken; use the operation schema for accepted bounds.
  • Registration is idempotent for the same tenant, resource type, and physical id.
  • Concurrent record writes require the current revision where the operation schema defines it.
  • Common errors are ResourceNotFoundException, ConflictException, ValidationException, and InternalException, using the shared Cloud error body.
  • The exact request and response schemas are in the inventory operation index.