123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- //go:build windows
- package hcs
- import (
- "context"
- "encoding/json"
- hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2"
- "github.com/Microsoft/hcsshim/internal/vmcompute"
- )
- // GetServiceProperties returns properties of the host compute service.
- func GetServiceProperties(ctx context.Context, q hcsschema.PropertyQuery) (*hcsschema.ServiceProperties, error) {
- operation := "hcs::GetServiceProperties"
- queryb, err := json.Marshal(q)
- if err != nil {
- return nil, err
- }
- propertiesJSON, resultJSON, err := vmcompute.HcsGetServiceProperties(ctx, string(queryb))
- events := processHcsResult(ctx, resultJSON)
- if err != nil {
- return nil, &HcsError{Op: operation, Err: err, Events: events}
- }
- if propertiesJSON == "" {
- return nil, ErrUnexpectedValue
- }
- properties := &hcsschema.ServiceProperties{}
- if err := json.Unmarshal([]byte(propertiesJSON), properties); err != nil {
- return nil, err
- }
- return properties, nil
- }
- // ModifyServiceSettings modifies settings of the host compute service.
- func ModifyServiceSettings(ctx context.Context, settings hcsschema.ModificationRequest) error {
- operation := "hcs::ModifyServiceSettings"
- settingsJSON, err := json.Marshal(settings)
- if err != nil {
- return err
- }
- resultJSON, err := vmcompute.HcsModifyServiceSettings(ctx, string(settingsJSON))
- events := processHcsResult(ctx, resultJSON)
- if err != nil {
- return &HcsError{Op: operation, Err: err, Events: events}
- }
- return nil
- }
|