OPA Onboarding Audit¶
This audit is the US-105 baseline for onboarding
github.com/oracle/oci-go-sdk/v65/opa 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 theopapackage in the module cache; the repo lackedvendor/github.com/oracle/oci-go-sdk/v65/opaonly because nothing imported that package yet.pkg/sdkimports/rollout_services.gonow blank-importsgithub.com/oracle/oci-go-sdk/v65/opasogo mod vendorkeeps the package in the branch-local inputs.
SDK Audit¶
OpaInstance¶
- Full CRUD family is present:
CreateOpaInstance,GetOpaInstance,ListOpaInstances,UpdateOpaInstance, andDeleteOpaInstance. - Additional mutator is present:
ChangeOpaInstanceCompartment. GetOpaInstanceResponsereturnsOpaInstance.ListOpaInstancesResponsereturnsOpaInstanceCollection.ListOpaInstancesRequestexposescompartmentId,lifecycleState,displayName, andid, plus page and sort controls.- Lifecycle states are
CREATING,UPDATING,ACTIVE,INACTIVE,DELETING,DELETED, andFAILED. CreateOpaInstanceResponse,UpdateOpaInstanceResponse, andDeleteOpaInstanceResponseall exposeOpcWorkRequestId.- The mutating responses do not return an
OpaInstancebody, so the runtime must recover or confirm the live resource through work-request follow-up and GET. - The package also exposes service-local
GetWorkRequest,ListWorkRequests,ListWorkRequestErrors, andListWorkRequestLogshelpers.
Auxiliary Families¶
- No additional top-level CRUD families are apparent beyond the service-local work-request auxiliaries.
Generator Implications For US-108¶
OpaInstanceis the requested initial kind and the only full CRUD family in the package.- Recommended
formalSpecisopainstance. - Recommended async classification is
workrequestwithworkRequest.source=service-sdkand phasescreate,update, anddelete. OpaInstancelooks viable as a direct controller-backed generated rollout because GET/list expose lifecycle state and the service includes the work-request helpers needed for mutation follow-up.US-108should keep one explicit lifecycle policy for the SDK'sINACTIVEstate instead of silently treating it as either success or failure, because the surface exposes that state but no separate start/stop API family.
Provider-Facts Coverage¶
formal/sources.lockpins provider facts togithub.com/oracle/terraform-provider-oci@eb653febb1bab4cc6650a96d404a8baf36fdf671.- Matching provider surfaces are
oci_opa_opa_instanceas the resource,oci_opa_opa_instanceas the singular data source, andoci_opa_opa_instancesas the list data source. - Provider docs publish the same single-instance family as both a resource and singular/list data sources, which matches the SDK's one-family rollout contract.