From f35bd60807b7a47e9e5b71fe283c7e8068ac15b8 Mon Sep 17 00:00:00 2001 From: Thomas Boerger Date: Wed, 24 Apr 2019 01:08:44 +0200 Subject: [PATCH] Add yaml marshalling for variable and parameter --- yaml/env.go | 13 +++++++++++++ yaml/param.go | 21 +++++++++++++++++---- 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/yaml/env.go b/yaml/env.go index 5dbae74..9b8e002 100644 --- a/yaml/env.go +++ b/yaml/env.go @@ -42,3 +42,16 @@ func (v *Variable) UnmarshalYAML(unmarshal func(interface{}) error) error { v.Secret = d.Secret return err } + +// MarshalYAML implements yaml marshalling. +func (v *Variable) MarshalYAML() (interface{}, error) { + if v.Secret != "" { + m := map[string]interface{}{} + m["from_secret"] = v.Secret + return m, nil + } + if v.Value != "" { + return v.Value, nil + } + return nil, nil +} diff --git a/yaml/param.go b/yaml/param.go index 61fac2c..33cfbdb 100644 --- a/yaml/param.go +++ b/yaml/param.go @@ -1,11 +1,11 @@ // Copyright 2019 Drone IO, Inc. -// +// // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at -// +// // http://www.apache.org/licenses/LICENSE-2.0 -// +// // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -34,7 +34,7 @@ type ( func (p *Parameter) UnmarshalYAML(unmarshal func(interface{}) error) error { d := new(parameter) err := unmarshal(d) - if err == nil && d.Secret != ""{ + if err == nil && d.Secret != "" { p.Secret = d.Secret return nil } @@ -43,3 +43,16 @@ func (p *Parameter) UnmarshalYAML(unmarshal func(interface{}) error) error { p.Value = i return err } + +// MarshalYAML implements yaml marshalling. +func (p *Parameter) MarshalYAML() (interface{}, error) { + if p.Secret != "" { + m := map[string]interface{}{} + m["from_secret"] = p.Secret + return m, nil + } + if p.Value != "" { + return p.Value, nil + } + return nil, nil +}