1
0
mirror of https://github.com/ceph/ceph-csi.git synced 2025-06-14 18:53:35 +00:00
Files
.github
actions
api
assets
charts
cmd
deploy
docs
e2e
examples
internal
scripts
tools
troubleshooting
vendor
github.com
go.opentelemetry.io
go.uber.org
golang.org
gomodules.xyz
google.golang.org
gopkg.in
k8s.io
api
apiextensions-apiserver
apimachinery
apiserver
client-go
applyconfigurations
discovery
dynamic
informers
kubernetes
listers
metadata
openapi
pkg
plugin
rest
restmapper
scale
tools
auth
cache
clientcmd
api
auth_loaders.go
client_config.go
config.go
doc.go
flag.go
helpers.go
loader.go
merged_client_builder.go
overrides.go
validation.go
events
leaderelection
metrics
pager
portforward
record
reference
remotecommand
watch
transport
util
LICENSE
cloud-provider
component-base
component-helpers
klog
kube-openapi
kubectl
kubelet
kubernetes
mount-utils
pod-security-admission
utils
sigs.k8s.io
modules.txt
.commitlintrc.yml
.gitignore
.mergify.yml
.pre-commit-config.yaml
LICENSE
Makefile
README.md
build.env
deploy.sh
go.mod
go.sum
ceph-csi/vendor/k8s.io/client-go/tools/clientcmd/flag.go

50 lines
1.3 KiB
Go
Raw Normal View History

2018-12-19 15:29:25 +01:00
/*
Copyright 2017 The Kubernetes Authors.
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.
See the License for the specific language governing permissions and
limitations under the License.
*/
package clientcmd
// transformingStringValue implements pflag.Value to store string values,
// allowing transforming them while being set
type transformingStringValue struct {
target *string
transformer func(string) (string, error)
}
func newTransformingStringValue(val string, target *string, transformer func(string) (string, error)) *transformingStringValue {
*target = val
return &transformingStringValue{
target: target,
transformer: transformer,
}
}
func (t *transformingStringValue) Set(val string) error {
val, err := t.transformer(val)
if err != nil {
return err
}
*t.target = val
return nil
}
func (t *transformingStringValue) Type() string {
return "string"
}
func (t *transformingStringValue) String() string {
return string(*t.target)
}