4 releases (breaking)
| 0.4.0 | Feb 20, 2022 |
|---|---|
| 0.3.0 | Jul 17, 2020 |
| 0.2.0 | Jul 16, 2020 |
| 0.1.0 | Jul 14, 2020 |
#876 in Configuration
37 downloads per month
Used in gctx
24KB
366 lines
gcloud-ctx
A Rust implementation of gcloud config configurations
for managing different gcloud configurations for Google Cloud Platform. This is the library containing the core logic
which is used to build the associated gctx command line utility.
Note: gcloud-ctx is independent and not affiliated with Google in any way.
Usage
use gcloud_ctx::{ConfigurationStore, ConflictAction};
let mut store = ConfigurationStore::with_default_location()?;
// create a new configuration, optionally with a force overwrite
use gcloud_ctx::PropertiesBuilder;
let properties = PropertiesBuilder::default()
.project("my-project")
.account("[email protected]")
.zone("europe-west1-d")
.region("europe-west1")
.build();
store.create("foo", &properties, ConflictAction::Overwrite)?;
// list configurations
for config in store.configurations() {
println!("{}", config.name());
}
// activate a configuration by name
store.activate("foo")?;
// get the active configuration
println!("{}", store.active());
// copy an existing configuration, with force overwrite
store.copy("foo", "bar", ConflictAction::Overwrite)?;
// rename an existing configuration, with force overwrite
store.rename("bar", "baz", ConflictAction::Overwrite)?;
// delete a configuration
store.delete("baz")?;
// get properties of a configuration
let properties = store.describe("foo")?;
properties.to_writer(std::io::stdout())?;
License
gcloud-ctx is distributed under the terms of the MIT license
Dependencies
~2.4–4.5MB
~77K SLoC