This audit is the US-84 baseline for onboarding
github.com/oracle/oci-go-sdk/v65/budget before services.yaml publishes the
service.
go.mod remains pinned to github.com/oracle/oci-go-sdk/v65 v65.110.0.v65.110.0 already contains the budget package in the module cache; the
repo lacked vendor/github.com/oracle/oci-go-sdk/v65/budget only because
nothing imported that package yet.pkg/sdkimports/rollout_services.go now blank-imports
github.com/oracle/oci-go-sdk/v65/budget so go mod vendor keeps the
package in the branch-local inputs.BudgetCreateBudget, GetBudget, ListBudgets,
UpdateBudget, and DeleteBudget.GetBudgetResponse returns Budget.ListBudgetsResponse returns []BudgetSummary.ListBudgetsRequest exposes required compartmentId, plus
displayName, lifecycleState, and targetType, plus page and sort
controls.ACTIVE and INACTIVE.CreateBudgetResponse and UpdateBudgetResponse both return Budget.
DeleteBudgetResponse is header-only, and none of the CRUD responses expose
OpcWorkRequestId.AlertRule,
CostAlertSubscription, CostAnomalyEvent, and CostAnomalyMonitor.AlertRule, CostAlertSubscription, and CostAnomalyMonitor each carry
their own CRUD surface.CostAnomalyEvent is a narrower get/list/update auxiliary and should stay
unpublished initially.US-85Budget is the only clean first published kind and already matches the
approved story sequence.formalSpec is budget.none; the resource exposes no
service-local work-request APIs and no in-flight create/update/delete
lifecycle states.Budget looks viable as a direct controller-backed generated rollout
without handwritten runtime work. No observedState.sdkAliases
requirement is apparent from the SDK shape alone.AlertRule, CostAlertSubscription, CostAnomalyEvent, and
CostAnomalyMonitor should stay unpublished initially while the first
Budget rollout lands.formal/sources.lock pins provider facts to
github.com/oracle/terraform-provider-oci@eb653febb1bab4cc6650a96d404a8baf36fdf671.oci_budget_budget as both the resource and
singular data source, plus oci_budget_budgets as the list data source.async.strategy=none baseline.