gcloud-ctx

Crate API License

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

```rust # use gcloud_ctx::ConfigurationStore;

let mut store = ConfigurationStore::withdefaultlocation()?;

// create a new configuration, optionally with a force overwrite use gcloud_ctx::PropertiesBuilder; let properties = PropertiesBuilder::default() .project("my-project") .account("a.user@example.org") .zone("europe-west1-d") .region("europe-west1") .build();

store.create("foo", &properties, true)?;

// 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", true)?;

// rename an existing configuration, with force overwrite store.rename("bar", "baz", true)?;

// 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