Files
opentf/vendor/github.com/vmware/govmomi/scripts/govc-env.bash
Paul Hinze 6fe2703665 Vendor all dependencies w/ Godep
* Remove `make updatedeps` from Travis build. We'll follow up with more
   specific plans around dependency updating in subsequent PRs.
 * Update all `make` targets to set `GO15VENDOREXPERIMENT=1` and to
   filter out `/vendor/` from `./...` where appropriate.
 * Temporarily remove `vet` from the `make test` target until we can
   figure out how to get it to not vet `vendor/`. (Initial
   experimentation failed to yield the proper incantation.)

Everything is pinned to current master, with the exception of:

 * Azure/azure-sdk-for-go which is pinned before the breaking change today
 * aws/aws-sdk-go which is pinned to the most recent tag

The documentation still needs to be updated, which we can do in a follow
up PR. The goal here is to unblock release.
2016-01-29 15:08:48 -06:00

63 lines
1.9 KiB
Bash

# Copyright (c) 2015 VMware, Inc. All Rights Reserved.
#
# 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.
# Provide a simple shell extension to save and load govc
# environments to disk. No more running `export GOVC_ABC=xyz`
# in different shells over and over again. Loading the right
# govc environment variables is now only one short and
# autocompleted command away!
#
# Usage:
# * Source this file from your `~/.bashrc` or running shell.
# * Execute `govc-env` to print GOVC_* variables.
# * Execute `govc-env --save <name>` to save GOVC_* variables.
# * Execute `govc-env <name>` to load GOVC_* variables.
#
_govc_env_dir=$HOME/.govmomi/env
mkdir -p "${_govc_env_dir}"
_govc-env-complete() {
local w="${COMP_WORDS[COMP_CWORD]}"
local c="$(find ${_govc_env_dir} -mindepth 1 -maxdepth 1 -type f | sort | xargs -r -L1 basename | xargs echo)"
# Only allow completion if preceding argument if the function itself
if [ "$3" == "govc-env" ]; then
COMPREPLY=( $(compgen -W "${c}" -- "${w}") )
fi
}
govc-env() {
# Print current environment
if [ -z "$1" ]; then
for VAR in $(env | grep ^GOVC_ | cut -d= -f1); do
echo "export ${VAR}='${!VAR}'"
done
return
fi
# Save current environment
if [ "$1" == "--save" ]; then
govc-env > ${_govc_env_dir}/$2
return
fi
# Load specified environment
source ${_govc_env_dir}/$1
}
complete -F _govc-env-complete govc-env