12 个稳定版本 (4 个主要版本)
5.0.5+20240620 | 2024年6月27日 |
---|---|
5.0.4+20240222 | 2024年3月5日 |
5.0.3+20230104 | 2023年8月23日 |
5.0.2+20230104 | 2023年3月16日 |
1.0.14+20200625 | 2020年7月10日 |
#1309 in 网络编程
每月71次 下载
用于 google-apigee1-cli
5MB
58K SLoC
“google-apigee1”库允许访问 Google Apigee 服务的所有功能。
此文档是从 Apigee crate 版本 5.0.5+20240620 生成的,其中 20240620 是由 mako 代码生成器 v5.0.5 构建的 apigee:v1 架构的确切修订版。
关于 Apigee v1 API 的其他所有内容都可以在 官方文档网站 上找到。
功能
从中央 枢纽 简单地处理以下 资源 ...
- 混合
- 颁发者列表
- 组织
- analytics datastores create, analytics datastores delete, analytics datastores get, analytics datastores list, analytics datastores test, analytics datastores update, apiproducts attributes, apiproducts attributes delete, apiproducts attributes get, apiproducts attributes list, apiproducts attributes update api product attribute, apiproducts create, apiproducts delete, apiproducts get, apiproducts list, apiproducts rateplans create, apiproducts rateplans delete, apiproducts rateplans get, apiproducts rateplans list, apiproducts rateplans update, apiproducts update, apis create, apis delete, apis deployments list, apis get, apis keyvaluemaps create, apis keyvaluemaps delete, apis keyvaluemaps entries create, apis keyvaluemaps entries delete, apis keyvaluemaps entries get, apis keyvaluemaps entries list, apis keyvaluemaps entries update, apis list, apis patch, apis revisions delete, apis revisions deployments list, apis revisions get, apis revisions update api proxy revision, appgroups apps create, appgroups apps delete, appgroups apps get, appgroups apps keys apiproducts delete, appgroups apps keys apiproducts update app group app key api product, appgroups apps keys create, appgroups apps keys delete, appgroups apps keys get, appgroups apps keys update app group app key, appgroups apps list, appgroups apps update, appgroups create, appgroups delete, appgroups get, appgroups list, appgroups update, apps get, apps list, create, datacollectors create, datacollectors delete, datacollectors get, datacollectors list, datacollectors patch, delete, deployments list, developers apps attributes, developers apps attributes delete, developers apps attributes get, developers apps attributes list, developers apps attributes update developer app attribute, developers apps create, developers apps delete, developers apps generate key pair or update developer app status, developers apps get, developers apps keys apiproducts delete, developers apps keys apiproducts update developer app key api product, developers apps keys create, developers apps keys create create, developers apps keys delete, developers apps keys get, developers apps keys replace developer app key, developers apps keys update developer app key, developers apps list, developers apps update, developers attributes, developers attributes delete, developers attributes get, developers attributes list, developers attributes update developer attribute, developers balance adjust, developers balance credit, developers create, developers delete, developers get, developers get balance, developers get monetization config, developers list, developers set developer status, developers subscriptions create, developers subscriptions expire, developers subscriptions get, developers subscriptions list, developers update, developers update monetization config, endpoint attachments create, endpoint attachments delete, endpoint attachments get, endpoint attachments list, envgroups attachments create, envgroups attachments delete, envgroups attachments get, envgroups attachments list, envgroups create, envgroups delete, envgroups get, envgroups get deployed ingress config, envgroups list, envgroups patch, environments addons config set addon enablement, environments analytics admin get schemav2, environments analytics exports create, environments analytics exports get, environments analytics exports list, environments apis deployments list, environments apis revisions debugsessions create, environments apis revisions debugsessions data get, environments apis revisions debugsessions delete data, environments apis revisions debugsessions get, environments apis revisions debugsessions list, environments apis revisions deploy, environments apis revisions deployments generate deploy change report, environments apis revisions deployments generate undeploy change report, environments apis revisions get deployments, environments apis revisions undeploy, environments archive deployments create, environments archive deployments delete, environments archive deployments generate download url, environments archive deployments generate upload url, environments archive deployments get, environments archive deployments list, environments archive deployments patch, environments caches delete, environments create, environments delete, environments deployments list, environments flowhooks attach shared flow to flow hook, environments flowhooks detach shared flow from flow hook, environments flowhooks get, environments get, environments get addons config, environments get api security runtime config, environments get debugmask, environments get deployed config, environments get iam policy, environments get security actions config, environments get trace config, environments keystores aliases create, environments keystores aliases csr, environments keystores aliases delete, environments keystores aliases get, environments keystores aliases get certificate, environments keystores aliases update, environments keystores create, environments keystores delete, environments keystores get, environments keyvaluemaps create, environments keyvaluemaps delete, environments keyvaluemaps entries create, environments keyvaluemaps entries delete, environments keyvaluemaps entries get, environments keyvaluemaps entries list, environments keyvaluemaps entries update, environments modify environment, environments optimized stats get, environments queries create, environments queries get, environments queries get result, environments queries get resulturl, environments queries list, environments references create, environments references delete, environments references get, environments references update, environments resourcefiles create, environments resourcefiles delete, environments resourcefiles get, environments resourcefiles list, environments resourcefiles list environment resources, environments resourcefiles update, environments security actions create, environments security actions disable, environments security actions enable, environments security actions get, environments security actions list, environments security incidents batch update, environments security incidents get, environments security incidents list, environments security incidents patch, environments security reports create, environments security reports get, environments security reports get result, environments security reports get result view, environments security reports list, environments security stats query tabular stats, environments security stats query time series stats, environments set iam policy, environments sharedflows deployments list, environments sharedflows revisions deploy, environments sharedflows revisions get deployments, environments sharedflows revisions undeploy, environments stats get, environments subscribe, environments targetservers create, environments targetservers delete, environments targetservers get, environments targetservers update, environments test iam permissions, environments trace config overrides create, environments trace config overrides delete, environments trace config overrides get, environments trace config overrides list, environments trace config overrides patch, environments unsubscribe, environments update, environments update debugmask, environments update environment, environments update security actions config, environments update trace config, get, get deployed ingress config, get project mapping, get runtime config, get security settings, get sync authorization, host queries create, host queries get, host queries get result, host queries get result view, host queries list, host security reports create, host security reports get, host security reports get result, host security reports get result view, host security reports list, host stats get, instances attachments create, instances attachments delete, instances attachments get, instances attachments list, instances canaryevaluations create, instances canaryevaluations get, instances create, instances delete, instances get, instances list, instances nat addresses activate, instances nat addresses create, instances nat addresses delete, instances nat addresses get, instances nat addresses list, instances patch, instances report status, keyvaluemaps create, keyvaluemaps delete, keyvaluemaps entries create, keyvaluemaps entries delete, keyvaluemaps entries get, keyvaluemaps entries list, keyvaluemaps entries update, list, operations get, operations list, optimized host stats get, reports create, reports delete, reports get, reports list, reports update, security assessment results batch compute, security profiles create, security profiles delete, security profiles environments compute environment scores, security profiles environments create, security profiles environments delete, security profiles get, security profiles list, security profiles list revisions, security profiles patch, set addons, set sync authorization, sharedflows create, sharedflows delete, sharedflows deployments list, sharedflows get, sharedflows list, sharedflows revisions delete, sharedflows revisions deployments list, sharedflows revisions get, sharedflows revisions update shared flow revision, sites apicategories create, sites apicategories delete, sites apicategories get, sites apicategories list, sites apicategories patch, sites apidocs create, sites apidocs delete, sites apidocs get, sites apidocs get documentation, sites apidocs list, sites apidocs update, sites apidocs update documentation, update and update security settings
- 项目
- 配置组织
本库结构
API 被组织成以下主要项目
所有 结构 都带有适用的特质,以进一步分类它们并简化浏览。
一般来说,你可以像这样调用 活动
let r = hub.resource().activity(...).doit().await
或具体地 ...
let r = hub.organizations().endpoint_attachments_create(...).doit().await
let r = hub.organizations().endpoint_attachments_delete(...).doit().await
let r = hub.organizations().envgroups_attachments_create(...).doit().await
let r = hub.organizations().envgroups_attachments_delete(...).doit().await
let r = hub.organizations().envgroups_create(...).doit().await
let r = hub.organizations().envgroups_delete(...).doit().await
let r = hub.organizations().envgroups_patch(...).doit().await
let r = hub.organizations().environments_addons_config_set_addon_enablement(...).doit().await
let r = hub.organizations().environments_archive_deployments_create(...).doit().await
let r = hub.organizations().environments_create(...).doit().await
let r = hub.organizations().environments_delete(...).doit().await
let r = hub.organizations().environments_modify_environment(...).doit().await
let r = hub.organizations().instances_attachments_create(...).doit().await
let r = hub.organizations().instances_attachments_delete(...).doit().await
let r = hub.organizations().instances_canaryevaluations_create(...).doit().await
let r = hub.organizations().instances_nat_addresses_activate(...).doit().await
let r = hub.organizations().instances_nat_addresses_create(...).doit().await
let r = hub.organizations().instances_nat_addresses_delete(...).doit().await
let r = hub.organizations().instances_create(...).doit().await
let r = hub.organizations().instances_delete(...).doit().await
let r = hub.organizations().instances_patch(...).doit().await
let r = hub.organizations().operations_get(...).doit().await
let r = hub.organizations().create(...).doit().await
let r = hub.organizations().delete(...).doit().await
let r = hub.organizations().set_addons(...).doit().await
let r = hub.projects().provision_organization(...).doit().await
resource
和 activity
调用创建了 建造者模式。第二个处理 Activities
的调用支持各种配置即将进行的操作的方法(此处未显示)。它设计成必须立即指定所有必需参数(即 (...)
),而所有可选参数可以按需 构建。doit
方法执行与服务器实际通信并返回相应的结果。
使用方法
设置您的项目
要使用此库,您需要将以下行放入您的 Cargo.toml
文件中
[dependencies]
google-apigee1 = "*"
serde = "^1.0"
serde_json = "^1.0"
一个完整的示例
extern crate hyper;
extern crate hyper_rustls;
extern crate google_apigee1 as apigee1;
use apigee1::api::GoogleCloudApigeeV1EndpointAttachment;
use apigee1::{Result, Error};
use std::default::Default;
use apigee1::{Apigee, oauth2, hyper, hyper_rustls, chrono, FieldMask};
// Get an ApplicationSecret instance by some means. It contains the `client_id` and
// `client_secret`, among other things.
let secret: oauth2::ApplicationSecret = Default::default();
// Instantiate the authenticator. It will choose a suitable authentication flow for you,
// unless you replace `None` with the desired Flow.
// Provide your own `AuthenticatorDelegate` to adjust the way it operates and get feedback about
// what's going on. You probably want to bring in your own `TokenStorage` to persist tokens and
// retrieve them from storage.
let auth = oauth2::InstalledFlowAuthenticator::builder(
secret,
oauth2::InstalledFlowReturnMethod::HTTPRedirect,
).build().await.unwrap();
let mut hub = Apigee::new(hyper::Client::builder().build(hyper_rustls::HttpsConnectorBuilder::new().with_native_roots().unwrap().https_or_http().enable_http1().build()), auth);
// As the method needs a request, you would usually fill it with the desired information
// into the respective structure. Some of the parts shown here might not be applicable !
// Values shown here are possibly random and not representative !
let mut req = GoogleCloudApigeeV1EndpointAttachment::default();
// You can configure optional parameters by calling the respective setters at will, and
// execute the final call using `doit()`.
// Values shown here are possibly random and not representative !
let result = hub.organizations().endpoint_attachments_create(req, "parent")
.endpoint_attachment_id("magna")
.doit().await;
match result {
Err(e) => match e {
// The Error enum provides details about what exactly happened.
// You can also just use its `Debug`, `Display` or `Error` traits
Error::HttpError(_)
|Error::Io(_)
|Error::MissingAPIKey
|Error::MissingToken(_)
|Error::Cancelled
|Error::UploadSizeLimitExceeded(_, _)
|Error::Failure(_)
|Error::BadRequest(_)
|Error::FieldClash(_)
|Error::JsonDecodeError(_, _) => println!("{}", e),
},
Ok(res) => println!("Success: {:?}", res),
}
处理错误
系统产生的所有错误都作为 Result 枚举提供,作为 doit() 方法的返回值,或者作为可能的中级结果传递给 Hub Delegate,或者 Authenticator Delegate。
当代理处理错误或中间值时,它们可能会有机会指示系统重试。这使得系统可能对所有类型的错误都具有弹性。
上传和下载
如果方法支持下载,则应该读取响应体以获取媒体,该响应体是 Result 的一部分。如果此类方法还支持 Response Result,则默认返回该结果。您可以将它视为实际媒体的元数据。要触发媒体下载,您必须通过此调用设置构建器:.param("alt", "media")
。
支持上传的方法可以使用最多 2 种不同的协议:简单 和 可重试。每种协议的独特性由定制的 doit(...)
方法表示,分别命名为 upload(...)
和 upload_resumable(...)
。
自定义和回调
您可以通过向 Method Builder 提供一个 代理 来更改 doit
方法的调用方式,然后在执行最终的 doit
调用之前。将调用相应的方法以提供进度信息,并确定系统在失败时是否应该重试。
delegate trait 默认实现,允许您以最小的努力进行自定义。
服务器请求中的可选部分
本库提供的所有结构都设计为可以通过 编码 和 解码 通过 json。使用可选值来表示部分请求或响应是有效的。大多数可选值都是 Parts,可以通过名称识别,这些将会发送到服务器以指示请求或响应中设置的或所需的部分。
构建器参数
通过使用 方法构建器,您可以通过重复调用其方法来准备一个动作调用。这些方法始终接受一个参数,以下陈述对它有效。
参数将始终被复制或克隆到构建器中,以确保它们与原始生命周期独立。
Cargo 功能
utoipa
- 添加对 utoipa 的支持,并从所有类型中派生出utoipa::ToSchema
。您必须在#[openapi(schemas(...))]
中导入和注册所需的类型,否则生成的openapi
规范将是无效的。
许可证
apigee1 库是由 Sebastian Thiel 生成的,并置于 MIT 许可之下。您可以在仓库的 许可证文件 中阅读全文。
依赖项
~12–23MB
~344K SLoC