diff --git a/internal/target/target.go b/internal/target/target.go index 8ab023248..0d5251666 100644 --- a/internal/target/target.go +++ b/internal/target/target.go @@ -93,6 +93,8 @@ func (target *Target) UnmarshalJSON(data []byte) error { options = new(ContainerTargetOptions) case TargetNameWorkerServer: options = new(WorkerServerTargetOptions) + case TargetNamePulpOSTree: + options = new(PulpOSTreeTargetOptions) default: return fmt.Errorf("unexpected target name: %s", rawTarget.Name) } @@ -278,6 +280,10 @@ func (target Target) MarshalJSON() ([]byte, error) { // the incompatible change. rawOptions, err = json.Marshal(target.Options) + case *PulpOSTreeTargetOptions: + // added after incompatibility change + rawOptions, err = json.Marshal(target.Options) + default: return nil, fmt.Errorf("unexpected target options type: %t", t) } diff --git a/internal/target/targetresult.go b/internal/target/targetresult.go index 59bccbfb7..52759ce87 100644 --- a/internal/target/targetresult.go +++ b/internal/target/targetresult.go @@ -76,6 +76,8 @@ func UnmarshalTargetResultOptions(trName TargetName, rawOptions json.RawMessage) options = new(OCIObjectStorageTargetResultOptions) case TargetNameContainer: options = new(ContainerTargetResultOptions) + case TargetNamePulpOSTree: + options = new(PulpOSTreeTargetResultOptions) default: return nil, fmt.Errorf("unexpected target result name: %s", trName) }