diff --git a/cmd/svcat/output/binding.go b/cmd/svcat/output/binding.go index f80507b00cd..816bec186f4 100644 --- a/cmd/svcat/output/binding.go +++ b/cmd/svcat/output/binding.go @@ -96,6 +96,7 @@ func WriteBindingDetails(w io.Writer, binding *v1beta1.ServiceBinding) { t.Render() writeParameters(w, binding.Spec.Parameters) + writeParametersFrom(w, binding.Spec.ParametersFrom) } // WriteAssociatedBindings prints a list of bindings associated with an instance. diff --git a/cmd/svcat/output/instance.go b/cmd/svcat/output/instance.go index e4de646ffc1..e29883c67ff 100644 --- a/cmd/svcat/output/instance.go +++ b/cmd/svcat/output/instance.go @@ -139,4 +139,5 @@ func WriteInstanceDetails(w io.Writer, instance *v1beta1.ServiceInstance) { t.Render() writeParameters(w, instance.Spec.Parameters) + writeParametersFrom(w, instance.Spec.ParametersFrom) } diff --git a/cmd/svcat/output/yaml.go b/cmd/svcat/output/yaml.go index 3efaa09f9d9..8c45bf214c3 100644 --- a/cmd/svcat/output/yaml.go +++ b/cmd/svcat/output/yaml.go @@ -23,6 +23,7 @@ import ( "strings" "github.com/ghodss/yaml" + "github.com/kubernetes-incubator/service-catalog/pkg/apis/servicecatalog/v1beta1" "k8s.io/apimachinery/pkg/runtime" ) @@ -59,3 +60,20 @@ func writeParameters(w io.Writer, parameters *runtime.RawExtension) { writeYAML(w, params, 2) } } + +func writeParametersFrom(w io.Writer, parametersFrom []v1beta1.ParametersFromSource) { + if len(parametersFrom) == 0 { + return + } + + headerPrinted := false + for _, p := range parametersFrom { + if p.SecretKeyRef != nil { + if !headerPrinted { + fmt.Fprintln(w, "\nParameters From:") + headerPrinted = true + } + fmt.Fprintf(w, " Secret: %s.%s\n", p.SecretKeyRef.Name, p.SecretKeyRef.Key) + } + } +} diff --git a/cmd/svcat/testdata/output/describe-binding-show-secrets.txt b/cmd/svcat/testdata/output/describe-binding-show-secrets.txt index 2c505ff7dfb..6eeb8fa8799 100644 --- a/cmd/svcat/testdata/output/describe-binding-show-secrets.txt +++ b/cmd/svcat/testdata/output/describe-binding-show-secrets.txt @@ -10,6 +10,9 @@ Parameters: ps1: 1 ps2: two +Parameters From: + Secret: binding-parameters.params + Secret Data: special-key-1 special-value-1 special-key-2 special-value-2 diff --git a/cmd/svcat/testdata/output/describe-binding.txt b/cmd/svcat/testdata/output/describe-binding.txt index f4520cd7a85..4bfae34f7c6 100644 --- a/cmd/svcat/testdata/output/describe-binding.txt +++ b/cmd/svcat/testdata/output/describe-binding.txt @@ -10,6 +10,9 @@ Parameters: ps1: 1 ps2: two +Parameters From: + Secret: binding-parameters.params + Secret Data: special-key-1 15 bytes special-key-2 15 bytes diff --git a/cmd/svcat/testdata/output/describe-instance.txt b/cmd/svcat/testdata/output/describe-instance.txt index bce525cde2c..7cb6abff938 100644 --- a/cmd/svcat/testdata/output/describe-instance.txt +++ b/cmd/svcat/testdata/output/describe-instance.txt @@ -10,6 +10,9 @@ Parameters: ps1: 1 ps2: two +Parameters From: + Secret: instance-parameters.params + Bindings: NAME STATUS +-------------+--------+ diff --git a/cmd/svcat/testdata/output/get-binding.json b/cmd/svcat/testdata/output/get-binding.json index 042ad5f5d09..f3b43485a6d 100644 --- a/cmd/svcat/testdata/output/get-binding.json +++ b/cmd/svcat/testdata/output/get-binding.json @@ -22,6 +22,14 @@ "ps2": "two" } }, + "parametersFrom": [ + { + "secretKeyRef": { + "name": "binding-parameters", + "key": "params" + } + } + ], "secretName": "ups-binding", "externalID": "061e1d78-d27e-4958-97b8-e9f5aa2f99d7" }, @@ -43,9 +51,11 @@ "paramset": { "ps1": 1, "ps2": "two" - } + }, + "secretparam1": "\u003credacted\u003e", + "secretparam2": "\u003credacted\u003e" }, - "parameterChecksum": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a" + "parameterChecksum": "23ca85e0f9fc05340ea0a13ef945602cd5cdc3f52d763e750cb0ab0cb172a94f" }, "orphanMitigationInProgress": false, "unbindStatus": "Required" diff --git a/cmd/svcat/testdata/output/get-binding.yaml b/cmd/svcat/testdata/output/get-binding.yaml index be33c55e870..085c65ae1ea 100644 --- a/cmd/svcat/testdata/output/get-binding.yaml +++ b/cmd/svcat/testdata/output/get-binding.yaml @@ -17,6 +17,10 @@ spec: paramset: ps1: 1 ps2: two + parametersFrom: + - secretKeyRef: + key: params + name: binding-parameters secretName: ups-binding status: asyncOpInProgress: false @@ -27,12 +31,14 @@ status: status: "True" type: Ready externalProperties: - parameterChecksum: 44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a + parameterChecksum: 23ca85e0f9fc05340ea0a13ef945602cd5cdc3f52d763e750cb0ab0cb172a94f parameters: param1: value1 paramset: ps1: 1 ps2: two + secretparam1: + secretparam2: orphanMitigationInProgress: false reconciledGeneration: 1 unbindStatus: Required diff --git a/cmd/svcat/testdata/output/get-instance.json b/cmd/svcat/testdata/output/get-instance.json index 319aa8c075f..a611eb6bd87 100644 --- a/cmd/svcat/testdata/output/get-instance.json +++ b/cmd/svcat/testdata/output/get-instance.json @@ -27,6 +27,14 @@ "ps2": "two" } }, + "parametersFrom": [ + { + "secretKeyRef": { + "name": "instance-parameters", + "key": "params" + } + } + ], "externalID": "7e2c42f3-6d94-4409-bb15-7610d60af544", "updateRequests": 0 }, @@ -52,9 +60,11 @@ "paramset": { "ps1": 1, "ps2": "two" - } + }, + "secretparam1": "\u003credacted\u003e", + "secretparam2": "\u003credacted\u003e" }, - "parameterChecksum": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a" + "parameterChecksum": "23ca85e0f9fc05340ea0a13ef945602cd5cdc3f52d763e750cb0ab0cb172a94f" }, "provisionStatus": "", "deprovisionStatus": "Required" diff --git a/cmd/svcat/testdata/output/get-instance.yaml b/cmd/svcat/testdata/output/get-instance.yaml index c96adf5356f..f4a855decdc 100644 --- a/cmd/svcat/testdata/output/get-instance.yaml +++ b/cmd/svcat/testdata/output/get-instance.yaml @@ -21,6 +21,10 @@ spec: paramset: ps1: 1 ps2: two + parametersFrom: + - secretKeyRef: + key: params + name: instance-parameters updateRequests: 0 status: asyncOpInProgress: false @@ -34,12 +38,14 @@ status: externalProperties: clusterServicePlanExternalID: 86064792-7ea2-467b-af93-ac9694d96d52 clusterServicePlanExternalName: default - parameterChecksum: 44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a + parameterChecksum: 23ca85e0f9fc05340ea0a13ef945602cd5cdc3f52d763e750cb0ab0cb172a94f parameters: param1: value1 paramset: ps1: 1 ps2: two + secretparam1: + secretparam2: observedGeneration: 0 orphanMitigationInProgress: false provisionStatus: "" diff --git a/cmd/svcat/testdata/responses/catalog/namespaces/test-ns/servicebindings/ups-binding.json b/cmd/svcat/testdata/responses/catalog/namespaces/test-ns/servicebindings/ups-binding.json index af7d1b9350f..fc4e6fb73dc 100644 --- a/cmd/svcat/testdata/responses/catalog/namespaces/test-ns/servicebindings/ups-binding.json +++ b/cmd/svcat/testdata/responses/catalog/namespaces/test-ns/servicebindings/ups-binding.json @@ -18,6 +18,9 @@ "name": "ups-instance" }, "parameters": {"param1": "value1", "paramset": {"ps1":1, "ps2": "two"}}, + "parametersFrom": [ + {"secretKeyRef": {"name": "binding-parameters", "key": "params"}} + ], "secretName": "ups-binding", "externalID": "061e1d78-d27e-4958-97b8-e9f5aa2f99d7" }, @@ -34,8 +37,13 @@ "asyncOpInProgress": false, "reconciledGeneration": 1, "externalProperties": { - "parameters": {"param1": "value1", "paramset": {"ps1":1, "ps2": "two"}}, - "parameterChecksum": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a" + "parameters": { + "param1": "value1", + "paramset": {"ps1":1, "ps2": "two"}, + "secretparam1": "\u003credacted\u003e", + "secretparam2": "\u003credacted\u003e" + }, + "parameterChecksum": "23ca85e0f9fc05340ea0a13ef945602cd5cdc3f52d763e750cb0ab0cb172a94f" }, "orphanMitigationInProgress": false, "unbindStatus": "Required" diff --git a/cmd/svcat/testdata/responses/catalog/namespaces/test-ns/serviceinstances/ups-instance.json b/cmd/svcat/testdata/responses/catalog/namespaces/test-ns/serviceinstances/ups-instance.json index 2cea2efab96..8bb574e47d0 100644 --- a/cmd/svcat/testdata/responses/catalog/namespaces/test-ns/serviceinstances/ups-instance.json +++ b/cmd/svcat/testdata/responses/catalog/namespaces/test-ns/serviceinstances/ups-instance.json @@ -23,6 +23,9 @@ "name": "86064792-7ea2-467b-af93-ac9694d96d52" }, "parameters": {"param1": "value1", "paramset": {"ps1":1, "ps2": "two"}}, + "parametersFrom": [ + {"secretKeyRef": {"name": "instance-parameters", "key": "params"}} + ], "externalID": "7e2c42f3-6d94-4409-bb15-7610d60af544", "updateRequests": 0 }, @@ -42,8 +45,13 @@ "externalProperties": { "clusterServicePlanExternalName": "default", "clusterServicePlanExternalID": "86064792-7ea2-467b-af93-ac9694d96d52", - "parameters": {"param1": "value1", "paramset": {"ps1":1, "ps2": "two"}}, - "parameterChecksum": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a" + "parameters": { + "param1": "value1", + "paramset": {"ps1":1, "ps2": "two"}, + "secretparam1": "\u003credacted\u003e", + "secretparam2": "\u003credacted\u003e" + }, + "parameterChecksum": "23ca85e0f9fc05340ea0a13ef945602cd5cdc3f52d763e750cb0ab0cb172a94f" }, "deprovisionStatus": "Required" }