https://github.com/embarkstudios/cloud-dns
A wrapper for the Google Cloud DNS API (https://cloud.google.com/dns)
https://github.com/embarkstudios/cloud-dns
cloud-dns gcp rust
Last synced: 11 months ago
JSON representation
A wrapper for the Google Cloud DNS API (https://cloud.google.com/dns)
- Host: GitHub
- URL: https://github.com/embarkstudios/cloud-dns
- Owner: EmbarkStudios
- License: apache-2.0
- Created: 2021-10-12T13:07:09.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2022-07-19T07:06:00.000Z (almost 4 years ago)
- Last Synced: 2025-05-30T19:14:36.115Z (about 1 year ago)
- Topics: cloud-dns, gcp, rust
- Language: Rust
- Homepage:
- Size: 71.3 KB
- Stars: 7
- Watchers: 5
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE-APACHE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# `📒 cloud-dns`
**`cloud-dns` is a crate providing a client to interact with [Google Cloud DNS v1](https://cloud.google.com/dns)**
[](https://embark.dev)
[](https://discord.gg/dAuKfZS)
[](https://crates.io/crates/cloud-dns)
[](https://docs.rs/cloud-dns)
[](https://deps.rs/repo/github/EmbarkStudios/cloud-dns)
[](https://github.com/EmbarkStudios/cloud-dns/actions)
## Example
```rust
#[tokio::main]
async fn main() -> cloud_dns::Result<()> {
let project_id = std::env::var("PROJECT_ID").expect("PROJECT_ID env variable is required");
let managed_zone =
std::env::var("MANAGED_ZONE").expect("MANAGED_ZONE env variable is required");
let service = tower::ServiceBuilder::new()
.service(hyper::Client::builder().build(hyper_rustls::HttpsConnector::with_native_roots()));
let response = cloud_dns::DnsClient::new(service, project_id.as_str())
.changes()
.list(managed_zone.as_str())
.await?;
println!("{:#?}", response);
Ok(())
}
```
## Contribution
[](../main/CODE_OF_CONDUCT.md)
We welcome community contributions to this project.
Please read our [Contributor Guide](CONTRIBUTING.md) for more information on how to get started.
Please also read our [Contributor Terms](CONTRIBUTING.md#contributor-terms) before you make any contributions.
Any contribution intentionally submitted for inclusion in an Embark Studios project, shall comply with the Rust standard licensing model (MIT OR Apache 2.0) and therefore be dual licensed as described below, without any additional terms or conditions:
### License
This contribution is dual licensed under EITHER OF
* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or )
* MIT license ([LICENSE-MIT](LICENSE-MIT) or )
at your option.
For clarity, "your" refers to Embark or any other licensee/user of the contribution.