func (pa *PolicyAction) MarshalJSON() ([]byte, error) {
	out := []string{}

	for i, v := range policyActionStrings {
		if (1<<uint(i))&byte(*pa) > 0 {
			out = append(out, v)
		}
	}

	if len(out) == 1 {
		return json.Marshal(out[0])
	}

	return json.Marshal(out)
}
// MarshalJSON implements the json.Marshaler interface. A PolicyAction is
// encoded in JSON either the string representations of its actions in a list,
// or a single string when there is only one action.
MarshalJSON implements the json.Marshaler interface. A PolicyAction is
encoded in JSON either the string representations of its actions in a list,
or a single string when there is only one action.
// MarshalJSON implements the json . Marshaler interface . A PolicyAction is // encoded in JSON either the string representations of its actions in a list // or a single string when there is only one action .
func (pa *PolicyAction) MarshalJSON() ([]byte, error) {
	out := []string{}
	for i, v := range policyActionStrings {
		if (1<<uint(i))&byte(*pa) > 0 {
			out = append(out, v)
		}
	}
	if len(out) == 1 {
		return json.Marshal(out[0])
	}
	return json.Marshal(out)
}
func ( pa * PolicyAction ) MarshalJSON ( ) ( [ ] byte , error ) { out := [ ] string { } for i , v := range policyActionStrings { if ( 1 << uint ( i ) ) & byte ( * pa ) > 0 { out = append ( out , v ) } } if len ( out ) == 1 { return json . Marshal ( out [ 0 ] ) } return json . Marshal ( out ) }
MarshalJSON implements the json.Marshaler interface.
MarshalJSON implements the json . Marshaler interface .