#![allow(warnings)]
use futures::future;
use futures::Future;
use rusoto_core::credential::ProvideAwsCredentials;
use rusoto_core::region;
use rusoto_core::request::{BufferedHttpResponse, DispatchSignedRequest};
use rusoto_core::{Client, RusotoError, RusotoFuture};
use std::error::Error;
use std::fmt;
use rusoto_core::param::{Params, ServiceParams};
use rusoto_core::proto;
use rusoto_core::signature::SignedRequest;
use serde_json;
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct AccessLog {
#[serde(rename = "file")]
#[serde(skip_serializing_if = "Option::is_none")]
pub file: Option<FileAccessLog>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct AwsCloudMapInstanceAttribute {
#[serde(rename = "key")]
pub key: String,
#[serde(rename = "value")]
pub value: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct AwsCloudMapServiceDiscovery {
#[serde(rename = "attributes")]
#[serde(skip_serializing_if = "Option::is_none")]
pub attributes: Option<Vec<AwsCloudMapInstanceAttribute>>,
#[serde(rename = "namespaceName")]
pub namespace_name: String,
#[serde(rename = "serviceName")]
pub service_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Backend {
#[serde(rename = "virtualService")]
#[serde(skip_serializing_if = "Option::is_none")]
pub virtual_service: Option<VirtualServiceBackend>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct CreateMeshInput {
#[serde(rename = "clientToken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub client_token: Option<String>,
#[serde(rename = "meshName")]
pub mesh_name: String,
#[serde(rename = "spec")]
#[serde(skip_serializing_if = "Option::is_none")]
pub spec: Option<MeshSpec>,
#[serde(rename = "tags")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<TagRef>>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct CreateMeshOutput {
#[serde(rename = "mesh")]
pub mesh: MeshData,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct CreateRouteInput {
#[serde(rename = "clientToken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub client_token: Option<String>,
#[serde(rename = "meshName")]
pub mesh_name: String,
#[serde(rename = "routeName")]
pub route_name: String,
#[serde(rename = "spec")]
pub spec: RouteSpec,
#[serde(rename = "tags")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<TagRef>>,
#[serde(rename = "virtualRouterName")]
pub virtual_router_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct CreateRouteOutput {
#[serde(rename = "route")]
pub route: RouteData,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct CreateVirtualNodeInput {
#[serde(rename = "clientToken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub client_token: Option<String>,
#[serde(rename = "meshName")]
pub mesh_name: String,
#[serde(rename = "spec")]
pub spec: VirtualNodeSpec,
#[serde(rename = "tags")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<TagRef>>,
#[serde(rename = "virtualNodeName")]
pub virtual_node_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct CreateVirtualNodeOutput {
#[serde(rename = "virtualNode")]
pub virtual_node: VirtualNodeData,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct CreateVirtualRouterInput {
#[serde(rename = "clientToken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub client_token: Option<String>,
#[serde(rename = "meshName")]
pub mesh_name: String,
#[serde(rename = "spec")]
pub spec: VirtualRouterSpec,
#[serde(rename = "tags")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<TagRef>>,
#[serde(rename = "virtualRouterName")]
pub virtual_router_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct CreateVirtualRouterOutput {
#[serde(rename = "virtualRouter")]
pub virtual_router: VirtualRouterData,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct CreateVirtualServiceInput {
#[serde(rename = "clientToken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub client_token: Option<String>,
#[serde(rename = "meshName")]
pub mesh_name: String,
#[serde(rename = "spec")]
pub spec: VirtualServiceSpec,
#[serde(rename = "tags")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<TagRef>>,
#[serde(rename = "virtualServiceName")]
pub virtual_service_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct CreateVirtualServiceOutput {
#[serde(rename = "virtualService")]
pub virtual_service: VirtualServiceData,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct DeleteMeshInput {
#[serde(rename = "meshName")]
pub mesh_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct DeleteMeshOutput {
#[serde(rename = "mesh")]
pub mesh: MeshData,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct DeleteRouteInput {
#[serde(rename = "meshName")]
pub mesh_name: String,
#[serde(rename = "routeName")]
pub route_name: String,
#[serde(rename = "virtualRouterName")]
pub virtual_router_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct DeleteRouteOutput {
#[serde(rename = "route")]
pub route: RouteData,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct DeleteVirtualNodeInput {
#[serde(rename = "meshName")]
pub mesh_name: String,
#[serde(rename = "virtualNodeName")]
pub virtual_node_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct DeleteVirtualNodeOutput {
#[serde(rename = "virtualNode")]
pub virtual_node: VirtualNodeData,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct DeleteVirtualRouterInput {
#[serde(rename = "meshName")]
pub mesh_name: String,
#[serde(rename = "virtualRouterName")]
pub virtual_router_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct DeleteVirtualRouterOutput {
#[serde(rename = "virtualRouter")]
pub virtual_router: VirtualRouterData,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct DeleteVirtualServiceInput {
#[serde(rename = "meshName")]
pub mesh_name: String,
#[serde(rename = "virtualServiceName")]
pub virtual_service_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct DeleteVirtualServiceOutput {
#[serde(rename = "virtualService")]
pub virtual_service: VirtualServiceData,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct DescribeMeshInput {
#[serde(rename = "meshName")]
pub mesh_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct DescribeMeshOutput {
#[serde(rename = "mesh")]
pub mesh: MeshData,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct DescribeRouteInput {
#[serde(rename = "meshName")]
pub mesh_name: String,
#[serde(rename = "routeName")]
pub route_name: String,
#[serde(rename = "virtualRouterName")]
pub virtual_router_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct DescribeRouteOutput {
#[serde(rename = "route")]
pub route: RouteData,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct DescribeVirtualNodeInput {
#[serde(rename = "meshName")]
pub mesh_name: String,
#[serde(rename = "virtualNodeName")]
pub virtual_node_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct DescribeVirtualNodeOutput {
#[serde(rename = "virtualNode")]
pub virtual_node: VirtualNodeData,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct DescribeVirtualRouterInput {
#[serde(rename = "meshName")]
pub mesh_name: String,
#[serde(rename = "virtualRouterName")]
pub virtual_router_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct DescribeVirtualRouterOutput {
#[serde(rename = "virtualRouter")]
pub virtual_router: VirtualRouterData,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct DescribeVirtualServiceInput {
#[serde(rename = "meshName")]
pub mesh_name: String,
#[serde(rename = "virtualServiceName")]
pub virtual_service_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct DescribeVirtualServiceOutput {
#[serde(rename = "virtualService")]
pub virtual_service: VirtualServiceData,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct DnsServiceDiscovery {
#[serde(rename = "hostname")]
pub hostname: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Duration {
#[serde(rename = "unit")]
#[serde(skip_serializing_if = "Option::is_none")]
pub unit: Option<String>,
#[serde(rename = "value")]
#[serde(skip_serializing_if = "Option::is_none")]
pub value: Option<i64>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct EgressFilter {
#[serde(rename = "type")]
pub type_: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct FileAccessLog {
#[serde(rename = "path")]
pub path: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct HeaderMatchMethod {
#[serde(rename = "exact")]
#[serde(skip_serializing_if = "Option::is_none")]
pub exact: Option<String>,
#[serde(rename = "prefix")]
#[serde(skip_serializing_if = "Option::is_none")]
pub prefix: Option<String>,
#[serde(rename = "range")]
#[serde(skip_serializing_if = "Option::is_none")]
pub range: Option<MatchRange>,
#[serde(rename = "regex")]
#[serde(skip_serializing_if = "Option::is_none")]
pub regex: Option<String>,
#[serde(rename = "suffix")]
#[serde(skip_serializing_if = "Option::is_none")]
pub suffix: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct HealthCheckPolicy {
#[serde(rename = "healthyThreshold")]
pub healthy_threshold: i64,
#[serde(rename = "intervalMillis")]
pub interval_millis: i64,
#[serde(rename = "path")]
#[serde(skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
#[serde(rename = "port")]
#[serde(skip_serializing_if = "Option::is_none")]
pub port: Option<i64>,
#[serde(rename = "protocol")]
pub protocol: String,
#[serde(rename = "timeoutMillis")]
pub timeout_millis: i64,
#[serde(rename = "unhealthyThreshold")]
pub unhealthy_threshold: i64,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct HttpRetryPolicy {
#[serde(rename = "httpRetryEvents")]
#[serde(skip_serializing_if = "Option::is_none")]
pub http_retry_events: Option<Vec<String>>,
#[serde(rename = "maxRetries")]
pub max_retries: i64,
#[serde(rename = "perRetryTimeout")]
pub per_retry_timeout: Duration,
#[serde(rename = "tcpRetryEvents")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tcp_retry_events: Option<Vec<String>>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct HttpRoute {
#[serde(rename = "action")]
pub action: HttpRouteAction,
#[serde(rename = "match")]
pub match_: HttpRouteMatch,
#[serde(rename = "retryPolicy")]
#[serde(skip_serializing_if = "Option::is_none")]
pub retry_policy: Option<HttpRetryPolicy>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct HttpRouteAction {
#[serde(rename = "weightedTargets")]
pub weighted_targets: Vec<WeightedTarget>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct HttpRouteHeader {
#[serde(rename = "invert")]
#[serde(skip_serializing_if = "Option::is_none")]
pub invert: Option<bool>,
#[serde(rename = "match")]
#[serde(skip_serializing_if = "Option::is_none")]
pub match_: Option<HeaderMatchMethod>,
#[serde(rename = "name")]
pub name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct HttpRouteMatch {
#[serde(rename = "headers")]
#[serde(skip_serializing_if = "Option::is_none")]
pub headers: Option<Vec<HttpRouteHeader>>,
#[serde(rename = "method")]
#[serde(skip_serializing_if = "Option::is_none")]
pub method: Option<String>,
#[serde(rename = "prefix")]
pub prefix: String,
#[serde(rename = "scheme")]
#[serde(skip_serializing_if = "Option::is_none")]
pub scheme: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct ListMeshesInput {
#[serde(rename = "limit")]
#[serde(skip_serializing_if = "Option::is_none")]
pub limit: Option<i64>,
#[serde(rename = "nextToken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct ListMeshesOutput {
#[serde(rename = "meshes")]
pub meshes: Vec<MeshRef>,
#[serde(rename = "nextToken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct ListRoutesInput {
#[serde(rename = "limit")]
#[serde(skip_serializing_if = "Option::is_none")]
pub limit: Option<i64>,
#[serde(rename = "meshName")]
pub mesh_name: String,
#[serde(rename = "nextToken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
#[serde(rename = "virtualRouterName")]
pub virtual_router_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct ListRoutesOutput {
#[serde(rename = "nextToken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
#[serde(rename = "routes")]
pub routes: Vec<RouteRef>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct ListTagsForResourceInput {
#[serde(rename = "limit")]
#[serde(skip_serializing_if = "Option::is_none")]
pub limit: Option<i64>,
#[serde(rename = "nextToken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
#[serde(rename = "resourceArn")]
pub resource_arn: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct ListTagsForResourceOutput {
#[serde(rename = "nextToken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
#[serde(rename = "tags")]
pub tags: Vec<TagRef>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct ListVirtualNodesInput {
#[serde(rename = "limit")]
#[serde(skip_serializing_if = "Option::is_none")]
pub limit: Option<i64>,
#[serde(rename = "meshName")]
pub mesh_name: String,
#[serde(rename = "nextToken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct ListVirtualNodesOutput {
#[serde(rename = "nextToken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
#[serde(rename = "virtualNodes")]
pub virtual_nodes: Vec<VirtualNodeRef>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct ListVirtualRoutersInput {
#[serde(rename = "limit")]
#[serde(skip_serializing_if = "Option::is_none")]
pub limit: Option<i64>,
#[serde(rename = "meshName")]
pub mesh_name: String,
#[serde(rename = "nextToken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct ListVirtualRoutersOutput {
#[serde(rename = "nextToken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
#[serde(rename = "virtualRouters")]
pub virtual_routers: Vec<VirtualRouterRef>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct ListVirtualServicesInput {
#[serde(rename = "limit")]
#[serde(skip_serializing_if = "Option::is_none")]
pub limit: Option<i64>,
#[serde(rename = "meshName")]
pub mesh_name: String,
#[serde(rename = "nextToken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct ListVirtualServicesOutput {
#[serde(rename = "nextToken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
#[serde(rename = "virtualServices")]
pub virtual_services: Vec<VirtualServiceRef>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Listener {
#[serde(rename = "healthCheck")]
#[serde(skip_serializing_if = "Option::is_none")]
pub health_check: Option<HealthCheckPolicy>,
#[serde(rename = "portMapping")]
pub port_mapping: PortMapping,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Logging {
#[serde(rename = "accessLog")]
#[serde(skip_serializing_if = "Option::is_none")]
pub access_log: Option<AccessLog>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct MatchRange {
#[serde(rename = "end")]
pub end: i64,
#[serde(rename = "start")]
pub start: i64,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct MeshData {
#[serde(rename = "meshName")]
pub mesh_name: String,
#[serde(rename = "metadata")]
pub metadata: ResourceMetadata,
#[serde(rename = "spec")]
pub spec: MeshSpec,
#[serde(rename = "status")]
pub status: MeshStatus,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct MeshRef {
#[serde(rename = "arn")]
pub arn: String,
#[serde(rename = "meshName")]
pub mesh_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct MeshSpec {
#[serde(rename = "egressFilter")]
#[serde(skip_serializing_if = "Option::is_none")]
pub egress_filter: Option<EgressFilter>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct MeshStatus {
#[serde(rename = "status")]
#[serde(skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct PortMapping {
#[serde(rename = "port")]
pub port: i64,
#[serde(rename = "protocol")]
pub protocol: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct ResourceMetadata {
#[serde(rename = "arn")]
pub arn: String,
#[serde(rename = "createdAt")]
pub created_at: f64,
#[serde(rename = "lastUpdatedAt")]
pub last_updated_at: f64,
#[serde(rename = "uid")]
pub uid: String,
#[serde(rename = "version")]
pub version: i64,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct RouteData {
#[serde(rename = "meshName")]
pub mesh_name: String,
#[serde(rename = "metadata")]
pub metadata: ResourceMetadata,
#[serde(rename = "routeName")]
pub route_name: String,
#[serde(rename = "spec")]
pub spec: RouteSpec,
#[serde(rename = "status")]
pub status: RouteStatus,
#[serde(rename = "virtualRouterName")]
pub virtual_router_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct RouteRef {
#[serde(rename = "arn")]
pub arn: String,
#[serde(rename = "meshName")]
pub mesh_name: String,
#[serde(rename = "routeName")]
pub route_name: String,
#[serde(rename = "virtualRouterName")]
pub virtual_router_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct RouteSpec {
#[serde(rename = "httpRoute")]
#[serde(skip_serializing_if = "Option::is_none")]
pub http_route: Option<HttpRoute>,
#[serde(rename = "priority")]
#[serde(skip_serializing_if = "Option::is_none")]
pub priority: Option<i64>,
#[serde(rename = "tcpRoute")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tcp_route: Option<TcpRoute>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct RouteStatus {
#[serde(rename = "status")]
pub status: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct ServiceDiscovery {
#[serde(rename = "awsCloudMap")]
#[serde(skip_serializing_if = "Option::is_none")]
pub aws_cloud_map: Option<AwsCloudMapServiceDiscovery>,
#[serde(rename = "dns")]
#[serde(skip_serializing_if = "Option::is_none")]
pub dns: Option<DnsServiceDiscovery>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct TagRef {
#[serde(rename = "key")]
pub key: String,
#[serde(rename = "value")]
#[serde(skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct TagResourceInput {
#[serde(rename = "resourceArn")]
pub resource_arn: String,
#[serde(rename = "tags")]
pub tags: Vec<TagRef>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct TagResourceOutput {}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct TcpRoute {
#[serde(rename = "action")]
pub action: TcpRouteAction,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct TcpRouteAction {
#[serde(rename = "weightedTargets")]
pub weighted_targets: Vec<WeightedTarget>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct UntagResourceInput {
#[serde(rename = "resourceArn")]
pub resource_arn: String,
#[serde(rename = "tagKeys")]
pub tag_keys: Vec<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct UntagResourceOutput {}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct UpdateMeshInput {
#[serde(rename = "clientToken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub client_token: Option<String>,
#[serde(rename = "meshName")]
pub mesh_name: String,
#[serde(rename = "spec")]
#[serde(skip_serializing_if = "Option::is_none")]
pub spec: Option<MeshSpec>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct UpdateMeshOutput {
#[serde(rename = "mesh")]
pub mesh: MeshData,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct UpdateRouteInput {
#[serde(rename = "clientToken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub client_token: Option<String>,
#[serde(rename = "meshName")]
pub mesh_name: String,
#[serde(rename = "routeName")]
pub route_name: String,
#[serde(rename = "spec")]
pub spec: RouteSpec,
#[serde(rename = "virtualRouterName")]
pub virtual_router_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct UpdateRouteOutput {
#[serde(rename = "route")]
pub route: RouteData,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct UpdateVirtualNodeInput {
#[serde(rename = "clientToken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub client_token: Option<String>,
#[serde(rename = "meshName")]
pub mesh_name: String,
#[serde(rename = "spec")]
pub spec: VirtualNodeSpec,
#[serde(rename = "virtualNodeName")]
pub virtual_node_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct UpdateVirtualNodeOutput {
#[serde(rename = "virtualNode")]
pub virtual_node: VirtualNodeData,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct UpdateVirtualRouterInput {
#[serde(rename = "clientToken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub client_token: Option<String>,
#[serde(rename = "meshName")]
pub mesh_name: String,
#[serde(rename = "spec")]
pub spec: VirtualRouterSpec,
#[serde(rename = "virtualRouterName")]
pub virtual_router_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct UpdateVirtualRouterOutput {
#[serde(rename = "virtualRouter")]
pub virtual_router: VirtualRouterData,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct UpdateVirtualServiceInput {
#[serde(rename = "clientToken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub client_token: Option<String>,
#[serde(rename = "meshName")]
pub mesh_name: String,
#[serde(rename = "spec")]
pub spec: VirtualServiceSpec,
#[serde(rename = "virtualServiceName")]
pub virtual_service_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct UpdateVirtualServiceOutput {
#[serde(rename = "virtualService")]
pub virtual_service: VirtualServiceData,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct VirtualNodeData {
#[serde(rename = "meshName")]
pub mesh_name: String,
#[serde(rename = "metadata")]
pub metadata: ResourceMetadata,
#[serde(rename = "spec")]
pub spec: VirtualNodeSpec,
#[serde(rename = "status")]
pub status: VirtualNodeStatus,
#[serde(rename = "virtualNodeName")]
pub virtual_node_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct VirtualNodeRef {
#[serde(rename = "arn")]
pub arn: String,
#[serde(rename = "meshName")]
pub mesh_name: String,
#[serde(rename = "virtualNodeName")]
pub virtual_node_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct VirtualNodeServiceProvider {
#[serde(rename = "virtualNodeName")]
pub virtual_node_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct VirtualNodeSpec {
#[serde(rename = "backends")]
#[serde(skip_serializing_if = "Option::is_none")]
pub backends: Option<Vec<Backend>>,
#[serde(rename = "listeners")]
#[serde(skip_serializing_if = "Option::is_none")]
pub listeners: Option<Vec<Listener>>,
#[serde(rename = "logging")]
#[serde(skip_serializing_if = "Option::is_none")]
pub logging: Option<Logging>,
#[serde(rename = "serviceDiscovery")]
#[serde(skip_serializing_if = "Option::is_none")]
pub service_discovery: Option<ServiceDiscovery>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct VirtualNodeStatus {
#[serde(rename = "status")]
pub status: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct VirtualRouterData {
#[serde(rename = "meshName")]
pub mesh_name: String,
#[serde(rename = "metadata")]
pub metadata: ResourceMetadata,
#[serde(rename = "spec")]
pub spec: VirtualRouterSpec,
#[serde(rename = "status")]
pub status: VirtualRouterStatus,
#[serde(rename = "virtualRouterName")]
pub virtual_router_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct VirtualRouterListener {
#[serde(rename = "portMapping")]
pub port_mapping: PortMapping,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct VirtualRouterRef {
#[serde(rename = "arn")]
pub arn: String,
#[serde(rename = "meshName")]
pub mesh_name: String,
#[serde(rename = "virtualRouterName")]
pub virtual_router_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct VirtualRouterServiceProvider {
#[serde(rename = "virtualRouterName")]
pub virtual_router_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct VirtualRouterSpec {
#[serde(rename = "listeners")]
#[serde(skip_serializing_if = "Option::is_none")]
pub listeners: Option<Vec<VirtualRouterListener>>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct VirtualRouterStatus {
#[serde(rename = "status")]
pub status: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct VirtualServiceBackend {
#[serde(rename = "virtualServiceName")]
pub virtual_service_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct VirtualServiceData {
#[serde(rename = "meshName")]
pub mesh_name: String,
#[serde(rename = "metadata")]
pub metadata: ResourceMetadata,
#[serde(rename = "spec")]
pub spec: VirtualServiceSpec,
#[serde(rename = "status")]
pub status: VirtualServiceStatus,
#[serde(rename = "virtualServiceName")]
pub virtual_service_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct VirtualServiceProvider {
#[serde(rename = "virtualNode")]
#[serde(skip_serializing_if = "Option::is_none")]
pub virtual_node: Option<VirtualNodeServiceProvider>,
#[serde(rename = "virtualRouter")]
#[serde(skip_serializing_if = "Option::is_none")]
pub virtual_router: Option<VirtualRouterServiceProvider>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct VirtualServiceRef {
#[serde(rename = "arn")]
pub arn: String,
#[serde(rename = "meshName")]
pub mesh_name: String,
#[serde(rename = "virtualServiceName")]
pub virtual_service_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct VirtualServiceSpec {
#[serde(rename = "provider")]
#[serde(skip_serializing_if = "Option::is_none")]
pub provider: Option<VirtualServiceProvider>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct VirtualServiceStatus {
#[serde(rename = "status")]
pub status: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct WeightedTarget {
#[serde(rename = "virtualNode")]
pub virtual_node: String,
#[serde(rename = "weight")]
pub weight: i64,
}
#[derive(Debug, PartialEq)]
pub enum CreateMeshError {
BadRequest(String),
Conflict(String),
Forbidden(String),
InternalServerError(String),
LimitExceeded(String),
NotFound(String),
ServiceUnavailable(String),
TooManyRequests(String),
}
impl CreateMeshError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CreateMeshError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadRequestException" => {
return RusotoError::Service(CreateMeshError::BadRequest(err.msg))
}
"ConflictException" => {
return RusotoError::Service(CreateMeshError::Conflict(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(CreateMeshError::Forbidden(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(CreateMeshError::InternalServerError(err.msg))
}
"LimitExceededException" => {
return RusotoError::Service(CreateMeshError::LimitExceeded(err.msg))
}
"NotFoundException" => {
return RusotoError::Service(CreateMeshError::NotFound(err.msg))
}
"ServiceUnavailableException" => {
return RusotoError::Service(CreateMeshError::ServiceUnavailable(err.msg))
}
"TooManyRequestsException" => {
return RusotoError::Service(CreateMeshError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for CreateMeshError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for CreateMeshError {
fn description(&self) -> &str {
match *self {
CreateMeshError::BadRequest(ref cause) => cause,
CreateMeshError::Conflict(ref cause) => cause,
CreateMeshError::Forbidden(ref cause) => cause,
CreateMeshError::InternalServerError(ref cause) => cause,
CreateMeshError::LimitExceeded(ref cause) => cause,
CreateMeshError::NotFound(ref cause) => cause,
CreateMeshError::ServiceUnavailable(ref cause) => cause,
CreateMeshError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum CreateRouteError {
BadRequest(String),
Conflict(String),
Forbidden(String),
InternalServerError(String),
LimitExceeded(String),
NotFound(String),
ServiceUnavailable(String),
TooManyRequests(String),
}
impl CreateRouteError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CreateRouteError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadRequestException" => {
return RusotoError::Service(CreateRouteError::BadRequest(err.msg))
}
"ConflictException" => {
return RusotoError::Service(CreateRouteError::Conflict(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(CreateRouteError::Forbidden(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(CreateRouteError::InternalServerError(err.msg))
}
"LimitExceededException" => {
return RusotoError::Service(CreateRouteError::LimitExceeded(err.msg))
}
"NotFoundException" => {
return RusotoError::Service(CreateRouteError::NotFound(err.msg))
}
"ServiceUnavailableException" => {
return RusotoError::Service(CreateRouteError::ServiceUnavailable(err.msg))
}
"TooManyRequestsException" => {
return RusotoError::Service(CreateRouteError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for CreateRouteError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for CreateRouteError {
fn description(&self) -> &str {
match *self {
CreateRouteError::BadRequest(ref cause) => cause,
CreateRouteError::Conflict(ref cause) => cause,
CreateRouteError::Forbidden(ref cause) => cause,
CreateRouteError::InternalServerError(ref cause) => cause,
CreateRouteError::LimitExceeded(ref cause) => cause,
CreateRouteError::NotFound(ref cause) => cause,
CreateRouteError::ServiceUnavailable(ref cause) => cause,
CreateRouteError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum CreateVirtualNodeError {
BadRequest(String),
Conflict(String),
Forbidden(String),
InternalServerError(String),
LimitExceeded(String),
NotFound(String),
ServiceUnavailable(String),
TooManyRequests(String),
}
impl CreateVirtualNodeError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CreateVirtualNodeError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadRequestException" => {
return RusotoError::Service(CreateVirtualNodeError::BadRequest(err.msg))
}
"ConflictException" => {
return RusotoError::Service(CreateVirtualNodeError::Conflict(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(CreateVirtualNodeError::Forbidden(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(CreateVirtualNodeError::InternalServerError(
err.msg,
))
}
"LimitExceededException" => {
return RusotoError::Service(CreateVirtualNodeError::LimitExceeded(err.msg))
}
"NotFoundException" => {
return RusotoError::Service(CreateVirtualNodeError::NotFound(err.msg))
}
"ServiceUnavailableException" => {
return RusotoError::Service(CreateVirtualNodeError::ServiceUnavailable(
err.msg,
))
}
"TooManyRequestsException" => {
return RusotoError::Service(CreateVirtualNodeError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for CreateVirtualNodeError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for CreateVirtualNodeError {
fn description(&self) -> &str {
match *self {
CreateVirtualNodeError::BadRequest(ref cause) => cause,
CreateVirtualNodeError::Conflict(ref cause) => cause,
CreateVirtualNodeError::Forbidden(ref cause) => cause,
CreateVirtualNodeError::InternalServerError(ref cause) => cause,
CreateVirtualNodeError::LimitExceeded(ref cause) => cause,
CreateVirtualNodeError::NotFound(ref cause) => cause,
CreateVirtualNodeError::ServiceUnavailable(ref cause) => cause,
CreateVirtualNodeError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum CreateVirtualRouterError {
BadRequest(String),
Conflict(String),
Forbidden(String),
InternalServerError(String),
LimitExceeded(String),
NotFound(String),
ServiceUnavailable(String),
TooManyRequests(String),
}
impl CreateVirtualRouterError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CreateVirtualRouterError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadRequestException" => {
return RusotoError::Service(CreateVirtualRouterError::BadRequest(err.msg))
}
"ConflictException" => {
return RusotoError::Service(CreateVirtualRouterError::Conflict(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(CreateVirtualRouterError::Forbidden(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(CreateVirtualRouterError::InternalServerError(
err.msg,
))
}
"LimitExceededException" => {
return RusotoError::Service(CreateVirtualRouterError::LimitExceeded(err.msg))
}
"NotFoundException" => {
return RusotoError::Service(CreateVirtualRouterError::NotFound(err.msg))
}
"ServiceUnavailableException" => {
return RusotoError::Service(CreateVirtualRouterError::ServiceUnavailable(
err.msg,
))
}
"TooManyRequestsException" => {
return RusotoError::Service(CreateVirtualRouterError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for CreateVirtualRouterError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for CreateVirtualRouterError {
fn description(&self) -> &str {
match *self {
CreateVirtualRouterError::BadRequest(ref cause) => cause,
CreateVirtualRouterError::Conflict(ref cause) => cause,
CreateVirtualRouterError::Forbidden(ref cause) => cause,
CreateVirtualRouterError::InternalServerError(ref cause) => cause,
CreateVirtualRouterError::LimitExceeded(ref cause) => cause,
CreateVirtualRouterError::NotFound(ref cause) => cause,
CreateVirtualRouterError::ServiceUnavailable(ref cause) => cause,
CreateVirtualRouterError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum CreateVirtualServiceError {
BadRequest(String),
Conflict(String),
Forbidden(String),
InternalServerError(String),
LimitExceeded(String),
NotFound(String),
ServiceUnavailable(String),
TooManyRequests(String),
}
impl CreateVirtualServiceError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CreateVirtualServiceError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadRequestException" => {
return RusotoError::Service(CreateVirtualServiceError::BadRequest(err.msg))
}
"ConflictException" => {
return RusotoError::Service(CreateVirtualServiceError::Conflict(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(CreateVirtualServiceError::Forbidden(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(CreateVirtualServiceError::InternalServerError(
err.msg,
))
}
"LimitExceededException" => {
return RusotoError::Service(CreateVirtualServiceError::LimitExceeded(err.msg))
}
"NotFoundException" => {
return RusotoError::Service(CreateVirtualServiceError::NotFound(err.msg))
}
"ServiceUnavailableException" => {
return RusotoError::Service(CreateVirtualServiceError::ServiceUnavailable(
err.msg,
))
}
"TooManyRequestsException" => {
return RusotoError::Service(CreateVirtualServiceError::TooManyRequests(
err.msg,
))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for CreateVirtualServiceError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for CreateVirtualServiceError {
fn description(&self) -> &str {
match *self {
CreateVirtualServiceError::BadRequest(ref cause) => cause,
CreateVirtualServiceError::Conflict(ref cause) => cause,
CreateVirtualServiceError::Forbidden(ref cause) => cause,
CreateVirtualServiceError::InternalServerError(ref cause) => cause,
CreateVirtualServiceError::LimitExceeded(ref cause) => cause,
CreateVirtualServiceError::NotFound(ref cause) => cause,
CreateVirtualServiceError::ServiceUnavailable(ref cause) => cause,
CreateVirtualServiceError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum DeleteMeshError {
BadRequest(String),
Forbidden(String),
InternalServerError(String),
NotFound(String),
ResourceInUse(String),
ServiceUnavailable(String),
TooManyRequests(String),
}
impl DeleteMeshError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeleteMeshError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadRequestException" => {
return RusotoError::Service(DeleteMeshError::BadRequest(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(DeleteMeshError::Forbidden(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(DeleteMeshError::InternalServerError(err.msg))
}
"NotFoundException" => {
return RusotoError::Service(DeleteMeshError::NotFound(err.msg))
}
"ResourceInUseException" => {
return RusotoError::Service(DeleteMeshError::ResourceInUse(err.msg))
}
"ServiceUnavailableException" => {
return RusotoError::Service(DeleteMeshError::ServiceUnavailable(err.msg))
}
"TooManyRequestsException" => {
return RusotoError::Service(DeleteMeshError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for DeleteMeshError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for DeleteMeshError {
fn description(&self) -> &str {
match *self {
DeleteMeshError::BadRequest(ref cause) => cause,
DeleteMeshError::Forbidden(ref cause) => cause,
DeleteMeshError::InternalServerError(ref cause) => cause,
DeleteMeshError::NotFound(ref cause) => cause,
DeleteMeshError::ResourceInUse(ref cause) => cause,
DeleteMeshError::ServiceUnavailable(ref cause) => cause,
DeleteMeshError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum DeleteRouteError {
BadRequest(String),
Forbidden(String),
InternalServerError(String),
NotFound(String),
ResourceInUse(String),
ServiceUnavailable(String),
TooManyRequests(String),
}
impl DeleteRouteError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeleteRouteError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadRequestException" => {
return RusotoError::Service(DeleteRouteError::BadRequest(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(DeleteRouteError::Forbidden(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(DeleteRouteError::InternalServerError(err.msg))
}
"NotFoundException" => {
return RusotoError::Service(DeleteRouteError::NotFound(err.msg))
}
"ResourceInUseException" => {
return RusotoError::Service(DeleteRouteError::ResourceInUse(err.msg))
}
"ServiceUnavailableException" => {
return RusotoError::Service(DeleteRouteError::ServiceUnavailable(err.msg))
}
"TooManyRequestsException" => {
return RusotoError::Service(DeleteRouteError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for DeleteRouteError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for DeleteRouteError {
fn description(&self) -> &str {
match *self {
DeleteRouteError::BadRequest(ref cause) => cause,
DeleteRouteError::Forbidden(ref cause) => cause,
DeleteRouteError::InternalServerError(ref cause) => cause,
DeleteRouteError::NotFound(ref cause) => cause,
DeleteRouteError::ResourceInUse(ref cause) => cause,
DeleteRouteError::ServiceUnavailable(ref cause) => cause,
DeleteRouteError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum DeleteVirtualNodeError {
BadRequest(String),
Forbidden(String),
InternalServerError(String),
NotFound(String),
ResourceInUse(String),
ServiceUnavailable(String),
TooManyRequests(String),
}
impl DeleteVirtualNodeError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeleteVirtualNodeError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadRequestException" => {
return RusotoError::Service(DeleteVirtualNodeError::BadRequest(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(DeleteVirtualNodeError::Forbidden(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(DeleteVirtualNodeError::InternalServerError(
err.msg,
))
}
"NotFoundException" => {
return RusotoError::Service(DeleteVirtualNodeError::NotFound(err.msg))
}
"ResourceInUseException" => {
return RusotoError::Service(DeleteVirtualNodeError::ResourceInUse(err.msg))
}
"ServiceUnavailableException" => {
return RusotoError::Service(DeleteVirtualNodeError::ServiceUnavailable(
err.msg,
))
}
"TooManyRequestsException" => {
return RusotoError::Service(DeleteVirtualNodeError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for DeleteVirtualNodeError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for DeleteVirtualNodeError {
fn description(&self) -> &str {
match *self {
DeleteVirtualNodeError::BadRequest(ref cause) => cause,
DeleteVirtualNodeError::Forbidden(ref cause) => cause,
DeleteVirtualNodeError::InternalServerError(ref cause) => cause,
DeleteVirtualNodeError::NotFound(ref cause) => cause,
DeleteVirtualNodeError::ResourceInUse(ref cause) => cause,
DeleteVirtualNodeError::ServiceUnavailable(ref cause) => cause,
DeleteVirtualNodeError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum DeleteVirtualRouterError {
BadRequest(String),
Forbidden(String),
InternalServerError(String),
NotFound(String),
ResourceInUse(String),
ServiceUnavailable(String),
TooManyRequests(String),
}
impl DeleteVirtualRouterError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeleteVirtualRouterError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadRequestException" => {
return RusotoError::Service(DeleteVirtualRouterError::BadRequest(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(DeleteVirtualRouterError::Forbidden(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(DeleteVirtualRouterError::InternalServerError(
err.msg,
))
}
"NotFoundException" => {
return RusotoError::Service(DeleteVirtualRouterError::NotFound(err.msg))
}
"ResourceInUseException" => {
return RusotoError::Service(DeleteVirtualRouterError::ResourceInUse(err.msg))
}
"ServiceUnavailableException" => {
return RusotoError::Service(DeleteVirtualRouterError::ServiceUnavailable(
err.msg,
))
}
"TooManyRequestsException" => {
return RusotoError::Service(DeleteVirtualRouterError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for DeleteVirtualRouterError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for DeleteVirtualRouterError {
fn description(&self) -> &str {
match *self {
DeleteVirtualRouterError::BadRequest(ref cause) => cause,
DeleteVirtualRouterError::Forbidden(ref cause) => cause,
DeleteVirtualRouterError::InternalServerError(ref cause) => cause,
DeleteVirtualRouterError::NotFound(ref cause) => cause,
DeleteVirtualRouterError::ResourceInUse(ref cause) => cause,
DeleteVirtualRouterError::ServiceUnavailable(ref cause) => cause,
DeleteVirtualRouterError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum DeleteVirtualServiceError {
BadRequest(String),
Forbidden(String),
InternalServerError(String),
NotFound(String),
ServiceUnavailable(String),
TooManyRequests(String),
}
impl DeleteVirtualServiceError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeleteVirtualServiceError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadRequestException" => {
return RusotoError::Service(DeleteVirtualServiceError::BadRequest(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(DeleteVirtualServiceError::Forbidden(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(DeleteVirtualServiceError::InternalServerError(
err.msg,
))
}
"NotFoundException" => {
return RusotoError::Service(DeleteVirtualServiceError::NotFound(err.msg))
}
"ServiceUnavailableException" => {
return RusotoError::Service(DeleteVirtualServiceError::ServiceUnavailable(
err.msg,
))
}
"TooManyRequestsException" => {
return RusotoError::Service(DeleteVirtualServiceError::TooManyRequests(
err.msg,
))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for DeleteVirtualServiceError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for DeleteVirtualServiceError {
fn description(&self) -> &str {
match *self {
DeleteVirtualServiceError::BadRequest(ref cause) => cause,
DeleteVirtualServiceError::Forbidden(ref cause) => cause,
DeleteVirtualServiceError::InternalServerError(ref cause) => cause,
DeleteVirtualServiceError::NotFound(ref cause) => cause,
DeleteVirtualServiceError::ServiceUnavailable(ref cause) => cause,
DeleteVirtualServiceError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum DescribeMeshError {
BadRequest(String),
Forbidden(String),
InternalServerError(String),
NotFound(String),
ServiceUnavailable(String),
TooManyRequests(String),
}
impl DescribeMeshError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeMeshError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadRequestException" => {
return RusotoError::Service(DescribeMeshError::BadRequest(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(DescribeMeshError::Forbidden(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(DescribeMeshError::InternalServerError(err.msg))
}
"NotFoundException" => {
return RusotoError::Service(DescribeMeshError::NotFound(err.msg))
}
"ServiceUnavailableException" => {
return RusotoError::Service(DescribeMeshError::ServiceUnavailable(err.msg))
}
"TooManyRequestsException" => {
return RusotoError::Service(DescribeMeshError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for DescribeMeshError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for DescribeMeshError {
fn description(&self) -> &str {
match *self {
DescribeMeshError::BadRequest(ref cause) => cause,
DescribeMeshError::Forbidden(ref cause) => cause,
DescribeMeshError::InternalServerError(ref cause) => cause,
DescribeMeshError::NotFound(ref cause) => cause,
DescribeMeshError::ServiceUnavailable(ref cause) => cause,
DescribeMeshError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum DescribeRouteError {
BadRequest(String),
Forbidden(String),
InternalServerError(String),
NotFound(String),
ServiceUnavailable(String),
TooManyRequests(String),
}
impl DescribeRouteError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeRouteError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadRequestException" => {
return RusotoError::Service(DescribeRouteError::BadRequest(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(DescribeRouteError::Forbidden(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(DescribeRouteError::InternalServerError(err.msg))
}
"NotFoundException" => {
return RusotoError::Service(DescribeRouteError::NotFound(err.msg))
}
"ServiceUnavailableException" => {
return RusotoError::Service(DescribeRouteError::ServiceUnavailable(err.msg))
}
"TooManyRequestsException" => {
return RusotoError::Service(DescribeRouteError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for DescribeRouteError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for DescribeRouteError {
fn description(&self) -> &str {
match *self {
DescribeRouteError::BadRequest(ref cause) => cause,
DescribeRouteError::Forbidden(ref cause) => cause,
DescribeRouteError::InternalServerError(ref cause) => cause,
DescribeRouteError::NotFound(ref cause) => cause,
DescribeRouteError::ServiceUnavailable(ref cause) => cause,
DescribeRouteError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum DescribeVirtualNodeError {
BadRequest(String),
Forbidden(String),
InternalServerError(String),
NotFound(String),
ServiceUnavailable(String),
TooManyRequests(String),
}
impl DescribeVirtualNodeError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeVirtualNodeError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadRequestException" => {
return RusotoError::Service(DescribeVirtualNodeError::BadRequest(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(DescribeVirtualNodeError::Forbidden(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(DescribeVirtualNodeError::InternalServerError(
err.msg,
))
}
"NotFoundException" => {
return RusotoError::Service(DescribeVirtualNodeError::NotFound(err.msg))
}
"ServiceUnavailableException" => {
return RusotoError::Service(DescribeVirtualNodeError::ServiceUnavailable(
err.msg,
))
}
"TooManyRequestsException" => {
return RusotoError::Service(DescribeVirtualNodeError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for DescribeVirtualNodeError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for DescribeVirtualNodeError {
fn description(&self) -> &str {
match *self {
DescribeVirtualNodeError::BadRequest(ref cause) => cause,
DescribeVirtualNodeError::Forbidden(ref cause) => cause,
DescribeVirtualNodeError::InternalServerError(ref cause) => cause,
DescribeVirtualNodeError::NotFound(ref cause) => cause,
DescribeVirtualNodeError::ServiceUnavailable(ref cause) => cause,
DescribeVirtualNodeError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum DescribeVirtualRouterError {
BadRequest(String),
Forbidden(String),
InternalServerError(String),
NotFound(String),
ServiceUnavailable(String),
TooManyRequests(String),
}
impl DescribeVirtualRouterError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeVirtualRouterError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadRequestException" => {
return RusotoError::Service(DescribeVirtualRouterError::BadRequest(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(DescribeVirtualRouterError::Forbidden(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(DescribeVirtualRouterError::InternalServerError(
err.msg,
))
}
"NotFoundException" => {
return RusotoError::Service(DescribeVirtualRouterError::NotFound(err.msg))
}
"ServiceUnavailableException" => {
return RusotoError::Service(DescribeVirtualRouterError::ServiceUnavailable(
err.msg,
))
}
"TooManyRequestsException" => {
return RusotoError::Service(DescribeVirtualRouterError::TooManyRequests(
err.msg,
))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for DescribeVirtualRouterError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for DescribeVirtualRouterError {
fn description(&self) -> &str {
match *self {
DescribeVirtualRouterError::BadRequest(ref cause) => cause,
DescribeVirtualRouterError::Forbidden(ref cause) => cause,
DescribeVirtualRouterError::InternalServerError(ref cause) => cause,
DescribeVirtualRouterError::NotFound(ref cause) => cause,
DescribeVirtualRouterError::ServiceUnavailable(ref cause) => cause,
DescribeVirtualRouterError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum DescribeVirtualServiceError {
BadRequest(String),
Forbidden(String),
InternalServerError(String),
NotFound(String),
ServiceUnavailable(String),
TooManyRequests(String),
}
impl DescribeVirtualServiceError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeVirtualServiceError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadRequestException" => {
return RusotoError::Service(DescribeVirtualServiceError::BadRequest(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(DescribeVirtualServiceError::Forbidden(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(DescribeVirtualServiceError::InternalServerError(
err.msg,
))
}
"NotFoundException" => {
return RusotoError::Service(DescribeVirtualServiceError::NotFound(err.msg))
}
"ServiceUnavailableException" => {
return RusotoError::Service(DescribeVirtualServiceError::ServiceUnavailable(
err.msg,
))
}
"TooManyRequestsException" => {
return RusotoError::Service(DescribeVirtualServiceError::TooManyRequests(
err.msg,
))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for DescribeVirtualServiceError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for DescribeVirtualServiceError {
fn description(&self) -> &str {
match *self {
DescribeVirtualServiceError::BadRequest(ref cause) => cause,
DescribeVirtualServiceError::Forbidden(ref cause) => cause,
DescribeVirtualServiceError::InternalServerError(ref cause) => cause,
DescribeVirtualServiceError::NotFound(ref cause) => cause,
DescribeVirtualServiceError::ServiceUnavailable(ref cause) => cause,
DescribeVirtualServiceError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum ListMeshesError {
BadRequest(String),
Forbidden(String),
InternalServerError(String),
NotFound(String),
ServiceUnavailable(String),
TooManyRequests(String),
}
impl ListMeshesError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListMeshesError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadRequestException" => {
return RusotoError::Service(ListMeshesError::BadRequest(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(ListMeshesError::Forbidden(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(ListMeshesError::InternalServerError(err.msg))
}
"NotFoundException" => {
return RusotoError::Service(ListMeshesError::NotFound(err.msg))
}
"ServiceUnavailableException" => {
return RusotoError::Service(ListMeshesError::ServiceUnavailable(err.msg))
}
"TooManyRequestsException" => {
return RusotoError::Service(ListMeshesError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for ListMeshesError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for ListMeshesError {
fn description(&self) -> &str {
match *self {
ListMeshesError::BadRequest(ref cause) => cause,
ListMeshesError::Forbidden(ref cause) => cause,
ListMeshesError::InternalServerError(ref cause) => cause,
ListMeshesError::NotFound(ref cause) => cause,
ListMeshesError::ServiceUnavailable(ref cause) => cause,
ListMeshesError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum ListRoutesError {
BadRequest(String),
Forbidden(String),
InternalServerError(String),
NotFound(String),
ServiceUnavailable(String),
TooManyRequests(String),
}
impl ListRoutesError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListRoutesError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadRequestException" => {
return RusotoError::Service(ListRoutesError::BadRequest(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(ListRoutesError::Forbidden(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(ListRoutesError::InternalServerError(err.msg))
}
"NotFoundException" => {
return RusotoError::Service(ListRoutesError::NotFound(err.msg))
}
"ServiceUnavailableException" => {
return RusotoError::Service(ListRoutesError::ServiceUnavailable(err.msg))
}
"TooManyRequestsException" => {
return RusotoError::Service(ListRoutesError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for ListRoutesError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for ListRoutesError {
fn description(&self) -> &str {
match *self {
ListRoutesError::BadRequest(ref cause) => cause,
ListRoutesError::Forbidden(ref cause) => cause,
ListRoutesError::InternalServerError(ref cause) => cause,
ListRoutesError::NotFound(ref cause) => cause,
ListRoutesError::ServiceUnavailable(ref cause) => cause,
ListRoutesError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum ListTagsForResourceError {
BadRequest(String),
Forbidden(String),
InternalServerError(String),
NotFound(String),
ServiceUnavailable(String),
TooManyRequests(String),
}
impl ListTagsForResourceError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListTagsForResourceError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadRequestException" => {
return RusotoError::Service(ListTagsForResourceError::BadRequest(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(ListTagsForResourceError::Forbidden(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(ListTagsForResourceError::InternalServerError(
err.msg,
))
}
"NotFoundException" => {
return RusotoError::Service(ListTagsForResourceError::NotFound(err.msg))
}
"ServiceUnavailableException" => {
return RusotoError::Service(ListTagsForResourceError::ServiceUnavailable(
err.msg,
))
}
"TooManyRequestsException" => {
return RusotoError::Service(ListTagsForResourceError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for ListTagsForResourceError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for ListTagsForResourceError {
fn description(&self) -> &str {
match *self {
ListTagsForResourceError::BadRequest(ref cause) => cause,
ListTagsForResourceError::Forbidden(ref cause) => cause,
ListTagsForResourceError::InternalServerError(ref cause) => cause,
ListTagsForResourceError::NotFound(ref cause) => cause,
ListTagsForResourceError::ServiceUnavailable(ref cause) => cause,
ListTagsForResourceError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum ListVirtualNodesError {
BadRequest(String),
Forbidden(String),
InternalServerError(String),
NotFound(String),
ServiceUnavailable(String),
TooManyRequests(String),
}
impl ListVirtualNodesError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListVirtualNodesError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadRequestException" => {
return RusotoError::Service(ListVirtualNodesError::BadRequest(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(ListVirtualNodesError::Forbidden(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(ListVirtualNodesError::InternalServerError(
err.msg,
))
}
"NotFoundException" => {
return RusotoError::Service(ListVirtualNodesError::NotFound(err.msg))
}
"ServiceUnavailableException" => {
return RusotoError::Service(ListVirtualNodesError::ServiceUnavailable(err.msg))
}
"TooManyRequestsException" => {
return RusotoError::Service(ListVirtualNodesError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for ListVirtualNodesError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for ListVirtualNodesError {
fn description(&self) -> &str {
match *self {
ListVirtualNodesError::BadRequest(ref cause) => cause,
ListVirtualNodesError::Forbidden(ref cause) => cause,
ListVirtualNodesError::InternalServerError(ref cause) => cause,
ListVirtualNodesError::NotFound(ref cause) => cause,
ListVirtualNodesError::ServiceUnavailable(ref cause) => cause,
ListVirtualNodesError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum ListVirtualRoutersError {
BadRequest(String),
Forbidden(String),
InternalServerError(String),
NotFound(String),
ServiceUnavailable(String),
TooManyRequests(String),
}
impl ListVirtualRoutersError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListVirtualRoutersError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadRequestException" => {
return RusotoError::Service(ListVirtualRoutersError::BadRequest(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(ListVirtualRoutersError::Forbidden(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(ListVirtualRoutersError::InternalServerError(
err.msg,
))
}
"NotFoundException" => {
return RusotoError::Service(ListVirtualRoutersError::NotFound(err.msg))
}
"ServiceUnavailableException" => {
return RusotoError::Service(ListVirtualRoutersError::ServiceUnavailable(
err.msg,
))
}
"TooManyRequestsException" => {
return RusotoError::Service(ListVirtualRoutersError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for ListVirtualRoutersError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for ListVirtualRoutersError {
fn description(&self) -> &str {
match *self {
ListVirtualRoutersError::BadRequest(ref cause) => cause,
ListVirtualRoutersError::Forbidden(ref cause) => cause,
ListVirtualRoutersError::InternalServerError(ref cause) => cause,
ListVirtualRoutersError::NotFound(ref cause) => cause,
ListVirtualRoutersError::ServiceUnavailable(ref cause) => cause,
ListVirtualRoutersError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum ListVirtualServicesError {
BadRequest(String),
Forbidden(String),
InternalServerError(String),
NotFound(String),
ServiceUnavailable(String),
TooManyRequests(String),
}
impl ListVirtualServicesError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListVirtualServicesError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadRequestException" => {
return RusotoError::Service(ListVirtualServicesError::BadRequest(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(ListVirtualServicesError::Forbidden(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(ListVirtualServicesError::InternalServerError(
err.msg,
))
}
"NotFoundException" => {
return RusotoError::Service(ListVirtualServicesError::NotFound(err.msg))
}
"ServiceUnavailableException" => {
return RusotoError::Service(ListVirtualServicesError::ServiceUnavailable(
err.msg,
))
}
"TooManyRequestsException" => {
return RusotoError::Service(ListVirtualServicesError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for ListVirtualServicesError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for ListVirtualServicesError {
fn description(&self) -> &str {
match *self {
ListVirtualServicesError::BadRequest(ref cause) => cause,
ListVirtualServicesError::Forbidden(ref cause) => cause,
ListVirtualServicesError::InternalServerError(ref cause) => cause,
ListVirtualServicesError::NotFound(ref cause) => cause,
ListVirtualServicesError::ServiceUnavailable(ref cause) => cause,
ListVirtualServicesError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum TagResourceError {
BadRequest(String),
Forbidden(String),
InternalServerError(String),
NotFound(String),
ServiceUnavailable(String),
TooManyRequests(String),
TooManyTags(String),
}
impl TagResourceError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<TagResourceError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadRequestException" => {
return RusotoError::Service(TagResourceError::BadRequest(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(TagResourceError::Forbidden(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(TagResourceError::InternalServerError(err.msg))
}
"NotFoundException" => {
return RusotoError::Service(TagResourceError::NotFound(err.msg))
}
"ServiceUnavailableException" => {
return RusotoError::Service(TagResourceError::ServiceUnavailable(err.msg))
}
"TooManyRequestsException" => {
return RusotoError::Service(TagResourceError::TooManyRequests(err.msg))
}
"TooManyTagsException" => {
return RusotoError::Service(TagResourceError::TooManyTags(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for TagResourceError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for TagResourceError {
fn description(&self) -> &str {
match *self {
TagResourceError::BadRequest(ref cause) => cause,
TagResourceError::Forbidden(ref cause) => cause,
TagResourceError::InternalServerError(ref cause) => cause,
TagResourceError::NotFound(ref cause) => cause,
TagResourceError::ServiceUnavailable(ref cause) => cause,
TagResourceError::TooManyRequests(ref cause) => cause,
TagResourceError::TooManyTags(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum UntagResourceError {
BadRequest(String),
Forbidden(String),
InternalServerError(String),
NotFound(String),
ServiceUnavailable(String),
TooManyRequests(String),
}
impl UntagResourceError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<UntagResourceError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadRequestException" => {
return RusotoError::Service(UntagResourceError::BadRequest(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(UntagResourceError::Forbidden(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(UntagResourceError::InternalServerError(err.msg))
}
"NotFoundException" => {
return RusotoError::Service(UntagResourceError::NotFound(err.msg))
}
"ServiceUnavailableException" => {
return RusotoError::Service(UntagResourceError::ServiceUnavailable(err.msg))
}
"TooManyRequestsException" => {
return RusotoError::Service(UntagResourceError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for UntagResourceError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for UntagResourceError {
fn description(&self) -> &str {
match *self {
UntagResourceError::BadRequest(ref cause) => cause,
UntagResourceError::Forbidden(ref cause) => cause,
UntagResourceError::InternalServerError(ref cause) => cause,
UntagResourceError::NotFound(ref cause) => cause,
UntagResourceError::ServiceUnavailable(ref cause) => cause,
UntagResourceError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum UpdateMeshError {
BadRequest(String),
Conflict(String),
Forbidden(String),
InternalServerError(String),
NotFound(String),
ServiceUnavailable(String),
TooManyRequests(String),
}
impl UpdateMeshError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<UpdateMeshError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadRequestException" => {
return RusotoError::Service(UpdateMeshError::BadRequest(err.msg))
}
"ConflictException" => {
return RusotoError::Service(UpdateMeshError::Conflict(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(UpdateMeshError::Forbidden(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(UpdateMeshError::InternalServerError(err.msg))
}
"NotFoundException" => {
return RusotoError::Service(UpdateMeshError::NotFound(err.msg))
}
"ServiceUnavailableException" => {
return RusotoError::Service(UpdateMeshError::ServiceUnavailable(err.msg))
}
"TooManyRequestsException" => {
return RusotoError::Service(UpdateMeshError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for UpdateMeshError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for UpdateMeshError {
fn description(&self) -> &str {
match *self {
UpdateMeshError::BadRequest(ref cause) => cause,
UpdateMeshError::Conflict(ref cause) => cause,
UpdateMeshError::Forbidden(ref cause) => cause,
UpdateMeshError::InternalServerError(ref cause) => cause,
UpdateMeshError::NotFound(ref cause) => cause,
UpdateMeshError::ServiceUnavailable(ref cause) => cause,
UpdateMeshError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum UpdateRouteError {
BadRequest(String),
Conflict(String),
Forbidden(String),
InternalServerError(String),
LimitExceeded(String),
NotFound(String),
ServiceUnavailable(String),
TooManyRequests(String),
}
impl UpdateRouteError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<UpdateRouteError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadRequestException" => {
return RusotoError::Service(UpdateRouteError::BadRequest(err.msg))
}
"ConflictException" => {
return RusotoError::Service(UpdateRouteError::Conflict(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(UpdateRouteError::Forbidden(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(UpdateRouteError::InternalServerError(err.msg))
}
"LimitExceededException" => {
return RusotoError::Service(UpdateRouteError::LimitExceeded(err.msg))
}
"NotFoundException" => {
return RusotoError::Service(UpdateRouteError::NotFound(err.msg))
}
"ServiceUnavailableException" => {
return RusotoError::Service(UpdateRouteError::ServiceUnavailable(err.msg))
}
"TooManyRequestsException" => {
return RusotoError::Service(UpdateRouteError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for UpdateRouteError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for UpdateRouteError {
fn description(&self) -> &str {
match *self {
UpdateRouteError::BadRequest(ref cause) => cause,
UpdateRouteError::Conflict(ref cause) => cause,
UpdateRouteError::Forbidden(ref cause) => cause,
UpdateRouteError::InternalServerError(ref cause) => cause,
UpdateRouteError::LimitExceeded(ref cause) => cause,
UpdateRouteError::NotFound(ref cause) => cause,
UpdateRouteError::ServiceUnavailable(ref cause) => cause,
UpdateRouteError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum UpdateVirtualNodeError {
BadRequest(String),
Conflict(String),
Forbidden(String),
InternalServerError(String),
LimitExceeded(String),
NotFound(String),
ServiceUnavailable(String),
TooManyRequests(String),
}
impl UpdateVirtualNodeError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<UpdateVirtualNodeError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadRequestException" => {
return RusotoError::Service(UpdateVirtualNodeError::BadRequest(err.msg))
}
"ConflictException" => {
return RusotoError::Service(UpdateVirtualNodeError::Conflict(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(UpdateVirtualNodeError::Forbidden(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(UpdateVirtualNodeError::InternalServerError(
err.msg,
))
}
"LimitExceededException" => {
return RusotoError::Service(UpdateVirtualNodeError::LimitExceeded(err.msg))
}
"NotFoundException" => {
return RusotoError::Service(UpdateVirtualNodeError::NotFound(err.msg))
}
"ServiceUnavailableException" => {
return RusotoError::Service(UpdateVirtualNodeError::ServiceUnavailable(
err.msg,
))
}
"TooManyRequestsException" => {
return RusotoError::Service(UpdateVirtualNodeError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for UpdateVirtualNodeError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for UpdateVirtualNodeError {
fn description(&self) -> &str {
match *self {
UpdateVirtualNodeError::BadRequest(ref cause) => cause,
UpdateVirtualNodeError::Conflict(ref cause) => cause,
UpdateVirtualNodeError::Forbidden(ref cause) => cause,
UpdateVirtualNodeError::InternalServerError(ref cause) => cause,
UpdateVirtualNodeError::LimitExceeded(ref cause) => cause,
UpdateVirtualNodeError::NotFound(ref cause) => cause,
UpdateVirtualNodeError::ServiceUnavailable(ref cause) => cause,
UpdateVirtualNodeError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum UpdateVirtualRouterError {
BadRequest(String),
Conflict(String),
Forbidden(String),
InternalServerError(String),
LimitExceeded(String),
NotFound(String),
ServiceUnavailable(String),
TooManyRequests(String),
}
impl UpdateVirtualRouterError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<UpdateVirtualRouterError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadRequestException" => {
return RusotoError::Service(UpdateVirtualRouterError::BadRequest(err.msg))
}
"ConflictException" => {
return RusotoError::Service(UpdateVirtualRouterError::Conflict(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(UpdateVirtualRouterError::Forbidden(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(UpdateVirtualRouterError::InternalServerError(
err.msg,
))
}
"LimitExceededException" => {
return RusotoError::Service(UpdateVirtualRouterError::LimitExceeded(err.msg))
}
"NotFoundException" => {
return RusotoError::Service(UpdateVirtualRouterError::NotFound(err.msg))
}
"ServiceUnavailableException" => {
return RusotoError::Service(UpdateVirtualRouterError::ServiceUnavailable(
err.msg,
))
}
"TooManyRequestsException" => {
return RusotoError::Service(UpdateVirtualRouterError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for UpdateVirtualRouterError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for UpdateVirtualRouterError {
fn description(&self) -> &str {
match *self {
UpdateVirtualRouterError::BadRequest(ref cause) => cause,
UpdateVirtualRouterError::Conflict(ref cause) => cause,
UpdateVirtualRouterError::Forbidden(ref cause) => cause,
UpdateVirtualRouterError::InternalServerError(ref cause) => cause,
UpdateVirtualRouterError::LimitExceeded(ref cause) => cause,
UpdateVirtualRouterError::NotFound(ref cause) => cause,
UpdateVirtualRouterError::ServiceUnavailable(ref cause) => cause,
UpdateVirtualRouterError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum UpdateVirtualServiceError {
BadRequest(String),
Conflict(String),
Forbidden(String),
InternalServerError(String),
LimitExceeded(String),
NotFound(String),
ServiceUnavailable(String),
TooManyRequests(String),
}
impl UpdateVirtualServiceError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<UpdateVirtualServiceError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadRequestException" => {
return RusotoError::Service(UpdateVirtualServiceError::BadRequest(err.msg))
}
"ConflictException" => {
return RusotoError::Service(UpdateVirtualServiceError::Conflict(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(UpdateVirtualServiceError::Forbidden(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(UpdateVirtualServiceError::InternalServerError(
err.msg,
))
}
"LimitExceededException" => {
return RusotoError::Service(UpdateVirtualServiceError::LimitExceeded(err.msg))
}
"NotFoundException" => {
return RusotoError::Service(UpdateVirtualServiceError::NotFound(err.msg))
}
"ServiceUnavailableException" => {
return RusotoError::Service(UpdateVirtualServiceError::ServiceUnavailable(
err.msg,
))
}
"TooManyRequestsException" => {
return RusotoError::Service(UpdateVirtualServiceError::TooManyRequests(
err.msg,
))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for UpdateVirtualServiceError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for UpdateVirtualServiceError {
fn description(&self) -> &str {
match *self {
UpdateVirtualServiceError::BadRequest(ref cause) => cause,
UpdateVirtualServiceError::Conflict(ref cause) => cause,
UpdateVirtualServiceError::Forbidden(ref cause) => cause,
UpdateVirtualServiceError::InternalServerError(ref cause) => cause,
UpdateVirtualServiceError::LimitExceeded(ref cause) => cause,
UpdateVirtualServiceError::NotFound(ref cause) => cause,
UpdateVirtualServiceError::ServiceUnavailable(ref cause) => cause,
UpdateVirtualServiceError::TooManyRequests(ref cause) => cause,
}
}
}
pub trait AppMesh {
fn create_mesh(
&self,
input: CreateMeshInput,
) -> RusotoFuture<CreateMeshOutput, CreateMeshError>;
fn create_route(
&self,
input: CreateRouteInput,
) -> RusotoFuture<CreateRouteOutput, CreateRouteError>;
fn create_virtual_node(
&self,
input: CreateVirtualNodeInput,
) -> RusotoFuture<CreateVirtualNodeOutput, CreateVirtualNodeError>;
fn create_virtual_router(
&self,
input: CreateVirtualRouterInput,
) -> RusotoFuture<CreateVirtualRouterOutput, CreateVirtualRouterError>;
fn create_virtual_service(
&self,
input: CreateVirtualServiceInput,
) -> RusotoFuture<CreateVirtualServiceOutput, CreateVirtualServiceError>;
fn delete_mesh(
&self,
input: DeleteMeshInput,
) -> RusotoFuture<DeleteMeshOutput, DeleteMeshError>;
fn delete_route(
&self,
input: DeleteRouteInput,
) -> RusotoFuture<DeleteRouteOutput, DeleteRouteError>;
fn delete_virtual_node(
&self,
input: DeleteVirtualNodeInput,
) -> RusotoFuture<DeleteVirtualNodeOutput, DeleteVirtualNodeError>;
fn delete_virtual_router(
&self,
input: DeleteVirtualRouterInput,
) -> RusotoFuture<DeleteVirtualRouterOutput, DeleteVirtualRouterError>;
fn delete_virtual_service(
&self,
input: DeleteVirtualServiceInput,
) -> RusotoFuture<DeleteVirtualServiceOutput, DeleteVirtualServiceError>;
fn describe_mesh(
&self,
input: DescribeMeshInput,
) -> RusotoFuture<DescribeMeshOutput, DescribeMeshError>;
fn describe_route(
&self,
input: DescribeRouteInput,
) -> RusotoFuture<DescribeRouteOutput, DescribeRouteError>;
fn describe_virtual_node(
&self,
input: DescribeVirtualNodeInput,
) -> RusotoFuture<DescribeVirtualNodeOutput, DescribeVirtualNodeError>;
fn describe_virtual_router(
&self,
input: DescribeVirtualRouterInput,
) -> RusotoFuture<DescribeVirtualRouterOutput, DescribeVirtualRouterError>;
fn describe_virtual_service(
&self,
input: DescribeVirtualServiceInput,
) -> RusotoFuture<DescribeVirtualServiceOutput, DescribeVirtualServiceError>;
fn list_meshes(
&self,
input: ListMeshesInput,
) -> RusotoFuture<ListMeshesOutput, ListMeshesError>;
fn list_routes(
&self,
input: ListRoutesInput,
) -> RusotoFuture<ListRoutesOutput, ListRoutesError>;
fn list_tags_for_resource(
&self,
input: ListTagsForResourceInput,
) -> RusotoFuture<ListTagsForResourceOutput, ListTagsForResourceError>;
fn list_virtual_nodes(
&self,
input: ListVirtualNodesInput,
) -> RusotoFuture<ListVirtualNodesOutput, ListVirtualNodesError>;
fn list_virtual_routers(
&self,
input: ListVirtualRoutersInput,
) -> RusotoFuture<ListVirtualRoutersOutput, ListVirtualRoutersError>;
fn list_virtual_services(
&self,
input: ListVirtualServicesInput,
) -> RusotoFuture<ListVirtualServicesOutput, ListVirtualServicesError>;
fn tag_resource(
&self,
input: TagResourceInput,
) -> RusotoFuture<TagResourceOutput, TagResourceError>;
fn untag_resource(
&self,
input: UntagResourceInput,
) -> RusotoFuture<UntagResourceOutput, UntagResourceError>;
fn update_mesh(
&self,
input: UpdateMeshInput,
) -> RusotoFuture<UpdateMeshOutput, UpdateMeshError>;
fn update_route(
&self,
input: UpdateRouteInput,
) -> RusotoFuture<UpdateRouteOutput, UpdateRouteError>;
fn update_virtual_node(
&self,
input: UpdateVirtualNodeInput,
) -> RusotoFuture<UpdateVirtualNodeOutput, UpdateVirtualNodeError>;
fn update_virtual_router(
&self,
input: UpdateVirtualRouterInput,
) -> RusotoFuture<UpdateVirtualRouterOutput, UpdateVirtualRouterError>;
fn update_virtual_service(
&self,
input: UpdateVirtualServiceInput,
) -> RusotoFuture<UpdateVirtualServiceOutput, UpdateVirtualServiceError>;
}
#[derive(Clone)]
pub struct AppMeshClient {
client: Client,
region: region::Region,
}
impl AppMeshClient {
pub fn new(region: region::Region) -> AppMeshClient {
Self::new_with_client(Client::shared(), region)
}
pub fn new_with<P, D>(
request_dispatcher: D,
credentials_provider: P,
region: region::Region,
) -> AppMeshClient
where
P: ProvideAwsCredentials + Send + Sync + 'static,
P::Future: Send,
D: DispatchSignedRequest + Send + Sync + 'static,
D::Future: Send,
{
Self::new_with_client(
Client::new_with(credentials_provider, request_dispatcher),
region,
)
}
pub fn new_with_client(client: Client, region: region::Region) -> AppMeshClient {
AppMeshClient { client, region }
}
}
impl AppMesh for AppMeshClient {
fn create_mesh(
&self,
input: CreateMeshInput,
) -> RusotoFuture<CreateMeshOutput, CreateMeshError> {
let request_uri = "/v20190125/meshes";
let mut request = SignedRequest::new("PUT", "appmesh", &self.region, &request_uri);
request.set_content_type("application/x-amz-json-1.1".to_owned());
let encoded = Some(serde_json::to_vec(&input).unwrap());
request.set_payload(encoded);
self.client.sign_and_dispatch(request, |response| {
if response.status.as_u16() == 200 {
Box::new(response.buffer().from_err().and_then(|response| {
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<CreateMeshOutput, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(CreateMeshError::from_response(response))),
)
}
})
}
fn create_route(
&self,
input: CreateRouteInput,
) -> RusotoFuture<CreateRouteOutput, CreateRouteError> {
let request_uri = format!(
"/v20190125/meshes/{mesh_name}/virtualRouter/{virtual_router_name}/routes",
mesh_name = input.mesh_name,
virtual_router_name = input.virtual_router_name
);
let mut request = SignedRequest::new("PUT", "appmesh", &self.region, &request_uri);
request.set_content_type("application/x-amz-json-1.1".to_owned());
let encoded = Some(serde_json::to_vec(&input).unwrap());
request.set_payload(encoded);
self.client.sign_and_dispatch(request, |response| {
if response.status.as_u16() == 200 {
Box::new(response.buffer().from_err().and_then(|response| {
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<CreateRouteOutput, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(CreateRouteError::from_response(response))),
)
}
})
}
fn create_virtual_node(
&self,
input: CreateVirtualNodeInput,
) -> RusotoFuture<CreateVirtualNodeOutput, CreateVirtualNodeError> {
let request_uri = format!(
"/v20190125/meshes/{mesh_name}/virtualNodes",
mesh_name = input.mesh_name
);
let mut request = SignedRequest::new("PUT", "appmesh", &self.region, &request_uri);
request.set_content_type("application/x-amz-json-1.1".to_owned());
let encoded = Some(serde_json::to_vec(&input).unwrap());
request.set_payload(encoded);
self.client.sign_and_dispatch(request, |response| {
if response.status.as_u16() == 200 {
Box::new(response.buffer().from_err().and_then(|response| {
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<CreateVirtualNodeOutput, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(CreateVirtualNodeError::from_response(response))),
)
}
})
}
fn create_virtual_router(
&self,
input: CreateVirtualRouterInput,
) -> RusotoFuture<CreateVirtualRouterOutput, CreateVirtualRouterError> {
let request_uri = format!(
"/v20190125/meshes/{mesh_name}/virtualRouters",
mesh_name = input.mesh_name
);
let mut request = SignedRequest::new("PUT", "appmesh", &self.region, &request_uri);
request.set_content_type("application/x-amz-json-1.1".to_owned());
let encoded = Some(serde_json::to_vec(&input).unwrap());
request.set_payload(encoded);
self.client.sign_and_dispatch(request, |response| {
if response.status.as_u16() == 200 {
Box::new(response.buffer().from_err().and_then(|response| {
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<CreateVirtualRouterOutput, _>()?;
Ok(result)
}))
} else {
Box::new(
response.buffer().from_err().and_then(|response| {
Err(CreateVirtualRouterError::from_response(response))
}),
)
}
})
}
fn create_virtual_service(
&self,
input: CreateVirtualServiceInput,
) -> RusotoFuture<CreateVirtualServiceOutput, CreateVirtualServiceError> {
let request_uri = format!(
"/v20190125/meshes/{mesh_name}/virtualServices",
mesh_name = input.mesh_name
);
let mut request = SignedRequest::new("PUT", "appmesh", &self.region, &request_uri);
request.set_content_type("application/x-amz-json-1.1".to_owned());
let encoded = Some(serde_json::to_vec(&input).unwrap());
request.set_payload(encoded);
self.client.sign_and_dispatch(request, |response| {
if response.status.as_u16() == 200 {
Box::new(response.buffer().from_err().and_then(|response| {
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<CreateVirtualServiceOutput, _>()?;
Ok(result)
}))
} else {
Box::new(
response.buffer().from_err().and_then(|response| {
Err(CreateVirtualServiceError::from_response(response))
}),
)
}
})
}
fn delete_mesh(
&self,
input: DeleteMeshInput,
) -> RusotoFuture<DeleteMeshOutput, DeleteMeshError> {
let request_uri = format!("/v20190125/meshes/{mesh_name}", mesh_name = input.mesh_name);
let mut request = SignedRequest::new("DELETE", "appmesh", &self.region, &request_uri);
request.set_content_type("application/x-amz-json-1.1".to_owned());
self.client.sign_and_dispatch(request, |response| {
if response.status.as_u16() == 200 {
Box::new(response.buffer().from_err().and_then(|response| {
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<DeleteMeshOutput, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(DeleteMeshError::from_response(response))),
)
}
})
}
fn delete_route(
&self,
input: DeleteRouteInput,
) -> RusotoFuture<DeleteRouteOutput, DeleteRouteError> {
let request_uri = format!(
"/v20190125/meshes/{mesh_name}/virtualRouter/{virtual_router_name}/routes/{route_name}",
mesh_name = input.mesh_name,
route_name = input.route_name,
virtual_router_name = input.virtual_router_name
);
let mut request = SignedRequest::new("DELETE", "appmesh", &self.region, &request_uri);
request.set_content_type("application/x-amz-json-1.1".to_owned());
self.client.sign_and_dispatch(request, |response| {
if response.status.as_u16() == 200 {
Box::new(response.buffer().from_err().and_then(|response| {
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<DeleteRouteOutput, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(DeleteRouteError::from_response(response))),
)
}
})
}
fn delete_virtual_node(
&self,
input: DeleteVirtualNodeInput,
) -> RusotoFuture<DeleteVirtualNodeOutput, DeleteVirtualNodeError> {
let request_uri = format!(
"/v20190125/meshes/{mesh_name}/virtualNodes/{virtual_node_name}",
mesh_name = input.mesh_name,
virtual_node_name = input.virtual_node_name
);
let mut request = SignedRequest::new("DELETE", "appmesh", &self.region, &request_uri);
request.set_content_type("application/x-amz-json-1.1".to_owned());
self.client.sign_and_dispatch(request, |response| {
if response.status.as_u16() == 200 {
Box::new(response.buffer().from_err().and_then(|response| {
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<DeleteVirtualNodeOutput, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(DeleteVirtualNodeError::from_response(response))),
)
}
})
}
fn delete_virtual_router(
&self,
input: DeleteVirtualRouterInput,
) -> RusotoFuture<DeleteVirtualRouterOutput, DeleteVirtualRouterError> {
let request_uri = format!(
"/v20190125/meshes/{mesh_name}/virtualRouters/{virtual_router_name}",
mesh_name = input.mesh_name,
virtual_router_name = input.virtual_router_name
);
let mut request = SignedRequest::new("DELETE", "appmesh", &self.region, &request_uri);
request.set_content_type("application/x-amz-json-1.1".to_owned());
self.client.sign_and_dispatch(request, |response| {
if response.status.as_u16() == 200 {
Box::new(response.buffer().from_err().and_then(|response| {
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<DeleteVirtualRouterOutput, _>()?;
Ok(result)
}))
} else {
Box::new(
response.buffer().from_err().and_then(|response| {
Err(DeleteVirtualRouterError::from_response(response))
}),
)
}
})
}
fn delete_virtual_service(
&self,
input: DeleteVirtualServiceInput,
) -> RusotoFuture<DeleteVirtualServiceOutput, DeleteVirtualServiceError> {
let request_uri = format!(
"/v20190125/meshes/{mesh_name}/virtualServices/{virtual_service_name}",
mesh_name = input.mesh_name,
virtual_service_name = input.virtual_service_name
);
let mut request = SignedRequest::new("DELETE", "appmesh", &self.region, &request_uri);
request.set_content_type("application/x-amz-json-1.1".to_owned());
self.client.sign_and_dispatch(request, |response| {
if response.status.as_u16() == 200 {
Box::new(response.buffer().from_err().and_then(|response| {
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<DeleteVirtualServiceOutput, _>()?;
Ok(result)
}))
} else {
Box::new(
response.buffer().from_err().and_then(|response| {
Err(DeleteVirtualServiceError::from_response(response))
}),
)
}
})
}
fn describe_mesh(
&self,
input: DescribeMeshInput,
) -> RusotoFuture<DescribeMeshOutput, DescribeMeshError> {
let request_uri = format!("/v20190125/meshes/{mesh_name}", mesh_name = input.mesh_name);
let mut request = SignedRequest::new("GET", "appmesh", &self.region, &request_uri);
request.set_content_type("application/x-amz-json-1.1".to_owned());
self.client.sign_and_dispatch(request, |response| {
if response.status.as_u16() == 200 {
Box::new(response.buffer().from_err().and_then(|response| {
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<DescribeMeshOutput, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(DescribeMeshError::from_response(response))),
)
}
})
}
fn describe_route(
&self,
input: DescribeRouteInput,
) -> RusotoFuture<DescribeRouteOutput, DescribeRouteError> {
let request_uri = format!(
"/v20190125/meshes/{mesh_name}/virtualRouter/{virtual_router_name}/routes/{route_name}",
mesh_name = input.mesh_name,
route_name = input.route_name,
virtual_router_name = input.virtual_router_name
);
let mut request = SignedRequest::new("GET", "appmesh", &self.region, &request_uri);
request.set_content_type("application/x-amz-json-1.1".to_owned());
self.client.sign_and_dispatch(request, |response| {
if response.status.as_u16() == 200 {
Box::new(response.buffer().from_err().and_then(|response| {
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<DescribeRouteOutput, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(DescribeRouteError::from_response(response))),
)
}
})
}
fn describe_virtual_node(
&self,
input: DescribeVirtualNodeInput,
) -> RusotoFuture<DescribeVirtualNodeOutput, DescribeVirtualNodeError> {
let request_uri = format!(
"/v20190125/meshes/{mesh_name}/virtualNodes/{virtual_node_name}",
mesh_name = input.mesh_name,
virtual_node_name = input.virtual_node_name
);
let mut request = SignedRequest::new("GET", "appmesh", &self.region, &request_uri);
request.set_content_type("application/x-amz-json-1.1".to_owned());
self.client.sign_and_dispatch(request, |response| {
if response.status.as_u16() == 200 {
Box::new(response.buffer().from_err().and_then(|response| {
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<DescribeVirtualNodeOutput, _>()?;
Ok(result)
}))
} else {
Box::new(
response.buffer().from_err().and_then(|response| {
Err(DescribeVirtualNodeError::from_response(response))
}),
)
}
})
}
fn describe_virtual_router(
&self,
input: DescribeVirtualRouterInput,
) -> RusotoFuture<DescribeVirtualRouterOutput, DescribeVirtualRouterError> {
let request_uri = format!(
"/v20190125/meshes/{mesh_name}/virtualRouters/{virtual_router_name}",
mesh_name = input.mesh_name,
virtual_router_name = input.virtual_router_name
);
let mut request = SignedRequest::new("GET", "appmesh", &self.region, &request_uri);
request.set_content_type("application/x-amz-json-1.1".to_owned());
self.client.sign_and_dispatch(request, |response| {
if response.status.as_u16() == 200 {
Box::new(response.buffer().from_err().and_then(|response| {
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<DescribeVirtualRouterOutput, _>()?;
Ok(result)
}))
} else {
Box::new(
response.buffer().from_err().and_then(|response| {
Err(DescribeVirtualRouterError::from_response(response))
}),
)
}
})
}
fn describe_virtual_service(
&self,
input: DescribeVirtualServiceInput,
) -> RusotoFuture<DescribeVirtualServiceOutput, DescribeVirtualServiceError> {
let request_uri = format!(
"/v20190125/meshes/{mesh_name}/virtualServices/{virtual_service_name}",
mesh_name = input.mesh_name,
virtual_service_name = input.virtual_service_name
);
let mut request = SignedRequest::new("GET", "appmesh", &self.region, &request_uri);
request.set_content_type("application/x-amz-json-1.1".to_owned());
self.client.sign_and_dispatch(request, |response| {
if response.status.as_u16() == 200 {
Box::new(response.buffer().from_err().and_then(|response| {
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<DescribeVirtualServiceOutput, _>()?;
Ok(result)
}))
} else {
Box::new(
response.buffer().from_err().and_then(|response| {
Err(DescribeVirtualServiceError::from_response(response))
}),
)
}
})
}
fn list_meshes(
&self,
input: ListMeshesInput,
) -> RusotoFuture<ListMeshesOutput, ListMeshesError> {
let request_uri = "/v20190125/meshes";
let mut request = SignedRequest::new("GET", "appmesh", &self.region, &request_uri);
request.set_content_type("application/x-amz-json-1.1".to_owned());
let mut params = Params::new();
if let Some(ref x) = input.limit {
params.put("limit", x);
}
if let Some(ref x) = input.next_token {
params.put("nextToken", x);
}
request.set_params(params);
self.client.sign_and_dispatch(request, |response| {
if response.status.as_u16() == 200 {
Box::new(response.buffer().from_err().and_then(|response| {
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<ListMeshesOutput, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(ListMeshesError::from_response(response))),
)
}
})
}
fn list_routes(
&self,
input: ListRoutesInput,
) -> RusotoFuture<ListRoutesOutput, ListRoutesError> {
let request_uri = format!(
"/v20190125/meshes/{mesh_name}/virtualRouter/{virtual_router_name}/routes",
mesh_name = input.mesh_name,
virtual_router_name = input.virtual_router_name
);
let mut request = SignedRequest::new("GET", "appmesh", &self.region, &request_uri);
request.set_content_type("application/x-amz-json-1.1".to_owned());
let mut params = Params::new();
if let Some(ref x) = input.limit {
params.put("limit", x);
}
if let Some(ref x) = input.next_token {
params.put("nextToken", x);
}
request.set_params(params);
self.client.sign_and_dispatch(request, |response| {
if response.status.as_u16() == 200 {
Box::new(response.buffer().from_err().and_then(|response| {
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<ListRoutesOutput, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(ListRoutesError::from_response(response))),
)
}
})
}
fn list_tags_for_resource(
&self,
input: ListTagsForResourceInput,
) -> RusotoFuture<ListTagsForResourceOutput, ListTagsForResourceError> {
let request_uri = "/v20190125/tags";
let mut request = SignedRequest::new("GET", "appmesh", &self.region, &request_uri);
request.set_content_type("application/x-amz-json-1.1".to_owned());
let mut params = Params::new();
if let Some(ref x) = input.limit {
params.put("limit", x);
}
if let Some(ref x) = input.next_token {
params.put("nextToken", x);
}
params.put("resourceArn", &input.resource_arn);
request.set_params(params);
self.client.sign_and_dispatch(request, |response| {
if response.status.as_u16() == 200 {
Box::new(response.buffer().from_err().and_then(|response| {
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<ListTagsForResourceOutput, _>()?;
Ok(result)
}))
} else {
Box::new(
response.buffer().from_err().and_then(|response| {
Err(ListTagsForResourceError::from_response(response))
}),
)
}
})
}
fn list_virtual_nodes(
&self,
input: ListVirtualNodesInput,
) -> RusotoFuture<ListVirtualNodesOutput, ListVirtualNodesError> {
let request_uri = format!(
"/v20190125/meshes/{mesh_name}/virtualNodes",
mesh_name = input.mesh_name
);
let mut request = SignedRequest::new("GET", "appmesh", &self.region, &request_uri);
request.set_content_type("application/x-amz-json-1.1".to_owned());
let mut params = Params::new();
if let Some(ref x) = input.limit {
params.put("limit", x);
}
if let Some(ref x) = input.next_token {
params.put("nextToken", x);
}
request.set_params(params);
self.client.sign_and_dispatch(request, |response| {
if response.status.as_u16() == 200 {
Box::new(response.buffer().from_err().and_then(|response| {
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<ListVirtualNodesOutput, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(ListVirtualNodesError::from_response(response))),
)
}
})
}
fn list_virtual_routers(
&self,
input: ListVirtualRoutersInput,
) -> RusotoFuture<ListVirtualRoutersOutput, ListVirtualRoutersError> {
let request_uri = format!(
"/v20190125/meshes/{mesh_name}/virtualRouters",
mesh_name = input.mesh_name
);
let mut request = SignedRequest::new("GET", "appmesh", &self.region, &request_uri);
request.set_content_type("application/x-amz-json-1.1".to_owned());
let mut params = Params::new();
if let Some(ref x) = input.limit {
params.put("limit", x);
}
if let Some(ref x) = input.next_token {
params.put("nextToken", x);
}
request.set_params(params);
self.client.sign_and_dispatch(request, |response| {
if response.status.as_u16() == 200 {
Box::new(response.buffer().from_err().and_then(|response| {
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<ListVirtualRoutersOutput, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(ListVirtualRoutersError::from_response(response))),
)
}
})
}
fn list_virtual_services(
&self,
input: ListVirtualServicesInput,
) -> RusotoFuture<ListVirtualServicesOutput, ListVirtualServicesError> {
let request_uri = format!(
"/v20190125/meshes/{mesh_name}/virtualServices",
mesh_name = input.mesh_name
);
let mut request = SignedRequest::new("GET", "appmesh", &self.region, &request_uri);
request.set_content_type("application/x-amz-json-1.1".to_owned());
let mut params = Params::new();
if let Some(ref x) = input.limit {
params.put("limit", x);
}
if let Some(ref x) = input.next_token {
params.put("nextToken", x);
}
request.set_params(params);
self.client.sign_and_dispatch(request, |response| {
if response.status.as_u16() == 200 {
Box::new(response.buffer().from_err().and_then(|response| {
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<ListVirtualServicesOutput, _>()?;
Ok(result)
}))
} else {
Box::new(
response.buffer().from_err().and_then(|response| {
Err(ListVirtualServicesError::from_response(response))
}),
)
}
})
}
fn tag_resource(
&self,
input: TagResourceInput,
) -> RusotoFuture<TagResourceOutput, TagResourceError> {
let request_uri = "/v20190125/tag";
let mut request = SignedRequest::new("PUT", "appmesh", &self.region, &request_uri);
request.set_content_type("application/x-amz-json-1.1".to_owned());
let encoded = Some(serde_json::to_vec(&input).unwrap());
request.set_payload(encoded);
let mut params = Params::new();
params.put("resourceArn", &input.resource_arn);
request.set_params(params);
self.client.sign_and_dispatch(request, |response| {
if response.status.as_u16() == 200 {
Box::new(response.buffer().from_err().and_then(|response| {
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<TagResourceOutput, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(TagResourceError::from_response(response))),
)
}
})
}
fn untag_resource(
&self,
input: UntagResourceInput,
) -> RusotoFuture<UntagResourceOutput, UntagResourceError> {
let request_uri = "/v20190125/untag";
let mut request = SignedRequest::new("PUT", "appmesh", &self.region, &request_uri);
request.set_content_type("application/x-amz-json-1.1".to_owned());
let encoded = Some(serde_json::to_vec(&input).unwrap());
request.set_payload(encoded);
let mut params = Params::new();
params.put("resourceArn", &input.resource_arn);
request.set_params(params);
self.client.sign_and_dispatch(request, |response| {
if response.status.as_u16() == 200 {
Box::new(response.buffer().from_err().and_then(|response| {
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<UntagResourceOutput, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(UntagResourceError::from_response(response))),
)
}
})
}
fn update_mesh(
&self,
input: UpdateMeshInput,
) -> RusotoFuture<UpdateMeshOutput, UpdateMeshError> {
let request_uri = format!("/v20190125/meshes/{mesh_name}", mesh_name = input.mesh_name);
let mut request = SignedRequest::new("PUT", "appmesh", &self.region, &request_uri);
request.set_content_type("application/x-amz-json-1.1".to_owned());
let encoded = Some(serde_json::to_vec(&input).unwrap());
request.set_payload(encoded);
self.client.sign_and_dispatch(request, |response| {
if response.status.as_u16() == 200 {
Box::new(response.buffer().from_err().and_then(|response| {
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<UpdateMeshOutput, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(UpdateMeshError::from_response(response))),
)
}
})
}
fn update_route(
&self,
input: UpdateRouteInput,
) -> RusotoFuture<UpdateRouteOutput, UpdateRouteError> {
let request_uri = format!(
"/v20190125/meshes/{mesh_name}/virtualRouter/{virtual_router_name}/routes/{route_name}",
mesh_name = input.mesh_name,
route_name = input.route_name,
virtual_router_name = input.virtual_router_name
);
let mut request = SignedRequest::new("PUT", "appmesh", &self.region, &request_uri);
request.set_content_type("application/x-amz-json-1.1".to_owned());
let encoded = Some(serde_json::to_vec(&input).unwrap());
request.set_payload(encoded);
self.client.sign_and_dispatch(request, |response| {
if response.status.as_u16() == 200 {
Box::new(response.buffer().from_err().and_then(|response| {
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<UpdateRouteOutput, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(UpdateRouteError::from_response(response))),
)
}
})
}
fn update_virtual_node(
&self,
input: UpdateVirtualNodeInput,
) -> RusotoFuture<UpdateVirtualNodeOutput, UpdateVirtualNodeError> {
let request_uri = format!(
"/v20190125/meshes/{mesh_name}/virtualNodes/{virtual_node_name}",
mesh_name = input.mesh_name,
virtual_node_name = input.virtual_node_name
);
let mut request = SignedRequest::new("PUT", "appmesh", &self.region, &request_uri);
request.set_content_type("application/x-amz-json-1.1".to_owned());
let encoded = Some(serde_json::to_vec(&input).unwrap());
request.set_payload(encoded);
self.client.sign_and_dispatch(request, |response| {
if response.status.as_u16() == 200 {
Box::new(response.buffer().from_err().and_then(|response| {
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<UpdateVirtualNodeOutput, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(UpdateVirtualNodeError::from_response(response))),
)
}
})
}
fn update_virtual_router(
&self,
input: UpdateVirtualRouterInput,
) -> RusotoFuture<UpdateVirtualRouterOutput, UpdateVirtualRouterError> {
let request_uri = format!(
"/v20190125/meshes/{mesh_name}/virtualRouters/{virtual_router_name}",
mesh_name = input.mesh_name,
virtual_router_name = input.virtual_router_name
);
let mut request = SignedRequest::new("PUT", "appmesh", &self.region, &request_uri);
request.set_content_type("application/x-amz-json-1.1".to_owned());
let encoded = Some(serde_json::to_vec(&input).unwrap());
request.set_payload(encoded);
self.client.sign_and_dispatch(request, |response| {
if response.status.as_u16() == 200 {
Box::new(response.buffer().from_err().and_then(|response| {
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<UpdateVirtualRouterOutput, _>()?;
Ok(result)
}))
} else {
Box::new(
response.buffer().from_err().and_then(|response| {
Err(UpdateVirtualRouterError::from_response(response))
}),
)
}
})
}
fn update_virtual_service(
&self,
input: UpdateVirtualServiceInput,
) -> RusotoFuture<UpdateVirtualServiceOutput, UpdateVirtualServiceError> {
let request_uri = format!(
"/v20190125/meshes/{mesh_name}/virtualServices/{virtual_service_name}",
mesh_name = input.mesh_name,
virtual_service_name = input.virtual_service_name
);
let mut request = SignedRequest::new("PUT", "appmesh", &self.region, &request_uri);
request.set_content_type("application/x-amz-json-1.1".to_owned());
let encoded = Some(serde_json::to_vec(&input).unwrap());
request.set_payload(encoded);
self.client.sign_and_dispatch(request, |response| {
if response.status.as_u16() == 200 {
Box::new(response.buffer().from_err().and_then(|response| {
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<UpdateVirtualServiceOutput, _>()?;
Ok(result)
}))
} else {
Box::new(
response.buffer().from_err().and_then(|response| {
Err(UpdateVirtualServiceError::from_response(response))
}),
)
}
})
}
}