package orbit import ( "context" "errors" ) // RetireResourceRequest 永久退役已结清的资源;保留原键/版本用于未知回执重报。 type RetireResourceRequest struct { ExpectedRevision uint64 `json:"expected_revision,string"` // ExpectedRevision 当前配置版本。 Reason string `json:"reason"` // Reason 管理原因,写入服务端审计。 } // RetireQueue 拒绝新工作并保留历史;未结清资源返回 RESOURCE_BUSY。 func (c *Client) RetireQueue(ctx context.Context, id, key string, in RetireResourceRequest) (CreateQueueResult, error) { var out CreateQueueResult if !validID(id) { return out, errors.New("invalid queue id") } err := c.call(ctx, "POST", "/v1/queues/"+id+":retire", key, in, &out) return out, err } // RetireSubscription 只在结果全部确认后退役,释放活动名额;不可重新启用。 func (c *Client) RetireSubscription(ctx context.Context, id, key string, in RetireResourceRequest) (SubscriptionResult, error) { var out SubscriptionResult if !validID(id) { return out, errors.New("invalid subscription id") } err := c.call(ctx, "POST", "/v1/subscriptions/"+id+":retire", key, in, &out) return out, err }