Capacity Management Onboarding Audit¶
This audit is the US-95 baseline for onboarding
github.com/oracle/oci-go-sdk/v65/capacitymanagement before services.yaml
publishes the service.
Repo Input Status¶
go.modremains pinned togithub.com/oracle/oci-go-sdk/v65 v65.110.0.v65.110.0already contains thecapacitymanagementpackage in the module cache; the repo lackedvendor/github.com/oracle/oci-go-sdk/v65/capacitymanagementonly because nothing imported that package yet.pkg/sdkimports/rollout_services.gonow blank-importsgithub.com/oracle/oci-go-sdk/v65/capacitymanagementsogo mod vendorkeeps the package in the branch-local inputs.
SDK Audit¶
OccCapacityRequest¶
- Full CRUD family is present:
CreateOccCapacityRequest,GetOccCapacityRequest,ListOccCapacityRequests,UpdateOccCapacityRequest, andDeleteOccCapacityRequest. GetOccCapacityRequestResponse,CreateOccCapacityRequestResponse, andUpdateOccCapacityRequestResponsereturnOccCapacityRequest.ListOccCapacityRequestsResponsereturnsOccCapacityRequestCollectionwith[]OccCapacityRequestSummary.ListOccCapacityRequestsRequestexposes requiredcompartmentId, plusoccAvailabilityCatalogId,namespace,requestType,displayName,id, page, and sort controls.GetOccCapacityRequestRequestis path-addressed byoccCapacityRequestIdand does not carry compartment identity.- Lifecycle states are
CREATING,UPDATING,ACTIVE,DELETING,DELETED, andFAILED. - Create, update, and delete responses do not expose work-request IDs, but
create, update, and delete all expose
RetryAfterheaders and create/update return the resource body.
Auxiliary Families¶
- The package contains many other families, including
OccAvailabilityCatalog,OccCustomerGroup,OccmDemandSignal,OccmDemandSignalItem, and multipleInternal*management surfaces. - The required risk callout is explicit here: in addition to the public
ListOccCapacityRequestscall, the package also exposesListOccCapacityRequestsInternal, which requires bothcompartmentIdandoccCustomerGroupId. - The same internal split also appears in
UpdateInternalOccCapacityRequest, so later runtime code must keep public and internal identity boundaries explicit.
Generator Implications For US-101¶
OccCapacityRequestis the requested initial kind and already matches the later story's selected package path and formal slug.- Recommended
formalSpecisocccapacityrequest. - Recommended async classification is
lifecycle. OccCapacityRequestlooks viable as a direct controller-backed generated rollout because GET/create/update project the resource body and the kind carries a standard lifecycle enum, but the runtime must honorRetryAfterhints when requeueing long-running mutations.- The required risk callout remains the main blocker:
US-101must explicitly design resource identity and pre-create lookup around the publicListOccCapacityRequestssurface versus the stricterListOccCapacityRequestsInternalpath instead of assuming the usual compartment-plus-display-name reuse contract.
Provider-Facts Coverage¶
formal/sources.lockpins provider facts togithub.com/oracle/terraform-provider-oci@eb653febb1bab4cc6650a96d404a8baf36fdf671.- Matching provider surfaces are
oci_capacity_management_occ_capacity_requestas both the resource and singular data source, plusoci_capacity_management_occ_capacity_requestsas the list data source. - Provider docs and discovery pages confirm the same public
OccCapacityRequestobject name, so the later story can align the published kind to an existing provider surface while still treating the SDK's internal-list split as a repo-authored runtime decision.