feat: 扩展 AWS 实例运行期管理 SDK
test / go (push) Successful in 1m40s

This commit is contained in:
shiran
2026-08-27 16:47:02 +08:00
parent 3d4c2dbb20
commit 8392db9ae3
4 changed files with 55 additions and 8 deletions
+10 -2
View File
@@ -51,6 +51,12 @@ func (s *EIPService) Get(ctx context.Context, region, instanceID string) (*EIPIn
func (s *EIPService) Ensure(ctx context.Context, region, instanceID string, input EnsureEIPRequest, options ...RequestOption) (*Operation, error) {
return (&InstancesService{client: s.client}).operation(ctx, http.MethodPost, instancesPath(region, instanceID)+"/eip", input, options...)
}
func (s *EIPService) Disassociate(ctx context.Context, region, instanceID string, options ...RequestOption) (*Operation, error) {
return (&InstancesService{client: s.client}).operation(ctx, http.MethodPost, instancesPath(region, instanceID)+"/eip/disassociate", map[string]any{}, options...)
}
func (s *EIPService) Release(ctx context.Context, region, instanceID string, options ...RequestOption) (*Operation, error) {
return (&InstancesService{client: s.client}).operation(ctx, http.MethodDelete, instancesPath(region, instanceID)+"/eip", map[string]any{}, options...)
}
func (s *EIPService) SetReverseDNS(ctx context.Context, region, instanceID string, input ReverseDNSRequest, options ...RequestOption) (*Operation, error) {
return (&InstancesService{client: s.client}).operation(ctx, http.MethodPatch, instancesPath(region, instanceID)+"/eip/reverse-dns", input, options...)
}
@@ -79,9 +85,11 @@ type ModifyVolumeRequest struct {
}
func (s *VolumeService) List(ctx context.Context, region, instanceID string) ([]Volume, error) {
var result []Volume
var result struct {
Items []Volume `json:"items"`
}
err := s.client.do(ctx, http.MethodGet, instancesPath(region, instanceID)+"/volumes", nil, &result, "")
return result, err
return result.Items, err
}
func (s *VolumeService) Create(ctx context.Context, region, instanceID string, input CreateVolumeRequest, options ...RequestOption) (*Operation, error) {
return (&InstancesService{client: s.client}).operation(ctx, http.MethodPost, instancesPath(region, instanceID)+"/volumes", input, options...)