mirror of
https://github.com/hanzoai/telemetry.git
synced 2026-10-30 20:01:49 +00:00
See https://github.com/go-yaml/yaml?tab=readme-ov-file#this-project-is-unmaintained Signed-off-by: Bogdan Drutu <[email protected]>
106 lines
2.0 KiB
Go
106 lines
2.0 KiB
Go
// Copyright The OpenTelemetry Authors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package configopaque_test
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
|
|
"go.yaml.in/yaml/v3"
|
|
|
|
"go.opentelemetry.io/collector/config/configopaque"
|
|
)
|
|
|
|
func Example_opaqueString() {
|
|
rawBytes := []byte(`{
|
|
"Censored": "sensitive",
|
|
"Uncensored": "not sensitive"
|
|
}`)
|
|
|
|
// JSON unmarshaling
|
|
var cfg ExampleConfigString
|
|
err := json.Unmarshal(rawBytes, &cfg)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
// YAML marshaling
|
|
bytes, err := yaml.Marshal(cfg)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
fmt.Printf("encoded cfg (YAML) is:\n%s\n\n", string(bytes))
|
|
// Output: encoded cfg (YAML) is:
|
|
// censored: '[REDACTED]'
|
|
// uncensored: not sensitive
|
|
}
|
|
|
|
type ExampleConfigString struct {
|
|
Censored configopaque.String
|
|
Uncensored string
|
|
}
|
|
|
|
func Example_opaqueSlice() {
|
|
cfg := &ExampleConfigSlice{
|
|
Censored: []configopaque.String{"data", "is", "sensitive"},
|
|
Uncensored: []string{"data", "is", "not", "sensitive"},
|
|
}
|
|
|
|
// JSON marshaling
|
|
bytes, err := json.MarshalIndent(cfg, "", " ")
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
fmt.Printf("encoded cfg (JSON) is\n%s\n\n", string(bytes))
|
|
// Output: encoded cfg (JSON) is
|
|
// {
|
|
// "Censored": [
|
|
// "[REDACTED]",
|
|
// "[REDACTED]",
|
|
// "[REDACTED]"
|
|
// ],
|
|
// "Uncensored": [
|
|
// "data",
|
|
// "is",
|
|
// "not",
|
|
// "sensitive"
|
|
// ]
|
|
// }
|
|
}
|
|
|
|
type ExampleConfigSlice struct {
|
|
Censored []configopaque.String
|
|
Uncensored []string
|
|
}
|
|
|
|
func Example_opaqueMap() {
|
|
cfg := &ExampleConfigMap{
|
|
Censored: map[string]configopaque.String{
|
|
"token": "sensitivetoken",
|
|
},
|
|
Uncensored: map[string]string{
|
|
"key": "cloud.zone",
|
|
"value": "zone-1",
|
|
},
|
|
}
|
|
|
|
// yaml marshaling
|
|
bytes, err := yaml.Marshal(cfg)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
fmt.Printf("encoded cfg (YAML) is:\n%s\n\n", string(bytes))
|
|
// Output: encoded cfg (YAML) is:
|
|
// censored:
|
|
// token: '[REDACTED]'
|
|
// uncensored:
|
|
// key: cloud.zone
|
|
// value: zone-1
|
|
}
|
|
|
|
type ExampleConfigMap struct {
|
|
Censored map[string]configopaque.String
|
|
Uncensored map[string]string
|
|
}
|