use std::error::Error;
use std::fmt;
use async_trait::async_trait;
use rusoto_core::credential::ProvideAwsCredentials;
use rusoto_core::region;
use rusoto_core::request::{BufferedHttpResponse, DispatchSignedRequest};
use rusoto_core::{Client, RusotoError};
use rusoto_core::param::{Params, ServiceParams};
use rusoto_core::proto;
use rusoto_core::signature::SignedRequest;
#[allow(unused_imports)]
use serde::{Deserialize, Serialize};
use serde_json;
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Action {
#[serde(rename = "clearTimer")]
#[serde(skip_serializing_if = "Option::is_none")]
pub clear_timer: Option<ClearTimerAction>,
#[serde(rename = "firehose")]
#[serde(skip_serializing_if = "Option::is_none")]
pub firehose: Option<FirehoseAction>,
#[serde(rename = "iotEvents")]
#[serde(skip_serializing_if = "Option::is_none")]
pub iot_events: Option<IotEventsAction>,
#[serde(rename = "iotTopicPublish")]
#[serde(skip_serializing_if = "Option::is_none")]
pub iot_topic_publish: Option<IotTopicPublishAction>,
#[serde(rename = "lambda")]
#[serde(skip_serializing_if = "Option::is_none")]
pub lambda: Option<LambdaAction>,
#[serde(rename = "resetTimer")]
#[serde(skip_serializing_if = "Option::is_none")]
pub reset_timer: Option<ResetTimerAction>,
#[serde(rename = "setTimer")]
#[serde(skip_serializing_if = "Option::is_none")]
pub set_timer: Option<SetTimerAction>,
#[serde(rename = "setVariable")]
#[serde(skip_serializing_if = "Option::is_none")]
pub set_variable: Option<SetVariableAction>,
#[serde(rename = "sns")]
#[serde(skip_serializing_if = "Option::is_none")]
pub sns: Option<SNSTopicPublishAction>,
#[serde(rename = "sqs")]
#[serde(skip_serializing_if = "Option::is_none")]
pub sqs: Option<SqsAction>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Attribute {
#[serde(rename = "jsonPath")]
pub json_path: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct ClearTimerAction {
#[serde(rename = "timerName")]
pub timer_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
pub struct CreateDetectorModelRequest {
#[serde(rename = "detectorModelDefinition")]
pub detector_model_definition: DetectorModelDefinition,
#[serde(rename = "detectorModelDescription")]
#[serde(skip_serializing_if = "Option::is_none")]
pub detector_model_description: Option<String>,
#[serde(rename = "detectorModelName")]
pub detector_model_name: String,
#[serde(rename = "evaluationMethod")]
#[serde(skip_serializing_if = "Option::is_none")]
pub evaluation_method: Option<String>,
#[serde(rename = "key")]
#[serde(skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(rename = "roleArn")]
pub role_arn: String,
#[serde(rename = "tags")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<Tag>>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
pub struct CreateDetectorModelResponse {
#[serde(rename = "detectorModelConfiguration")]
#[serde(skip_serializing_if = "Option::is_none")]
pub detector_model_configuration: Option<DetectorModelConfiguration>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
pub struct CreateInputRequest {
#[serde(rename = "inputDefinition")]
pub input_definition: InputDefinition,
#[serde(rename = "inputDescription")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_description: Option<String>,
#[serde(rename = "inputName")]
pub input_name: String,
#[serde(rename = "tags")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<Tag>>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
pub struct CreateInputResponse {
#[serde(rename = "inputConfiguration")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_configuration: Option<InputConfiguration>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
pub struct DeleteDetectorModelRequest {
#[serde(rename = "detectorModelName")]
pub detector_model_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
pub struct DeleteDetectorModelResponse {}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
pub struct DeleteInputRequest {
#[serde(rename = "inputName")]
pub input_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
pub struct DeleteInputResponse {}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
pub struct DescribeDetectorModelRequest {
#[serde(rename = "detectorModelName")]
pub detector_model_name: String,
#[serde(rename = "detectorModelVersion")]
#[serde(skip_serializing_if = "Option::is_none")]
pub detector_model_version: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
pub struct DescribeDetectorModelResponse {
#[serde(rename = "detectorModel")]
#[serde(skip_serializing_if = "Option::is_none")]
pub detector_model: Option<DetectorModel>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
pub struct DescribeInputRequest {
#[serde(rename = "inputName")]
pub input_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
pub struct DescribeInputResponse {
#[serde(rename = "input")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input: Option<Input>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
pub struct DescribeLoggingOptionsRequest {}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
pub struct DescribeLoggingOptionsResponse {
#[serde(rename = "loggingOptions")]
#[serde(skip_serializing_if = "Option::is_none")]
pub logging_options: Option<LoggingOptions>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct DetectorDebugOption {
#[serde(rename = "detectorModelName")]
pub detector_model_name: String,
#[serde(rename = "keyValue")]
#[serde(skip_serializing_if = "Option::is_none")]
pub key_value: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
pub struct DetectorModel {
#[serde(rename = "detectorModelConfiguration")]
#[serde(skip_serializing_if = "Option::is_none")]
pub detector_model_configuration: Option<DetectorModelConfiguration>,
#[serde(rename = "detectorModelDefinition")]
#[serde(skip_serializing_if = "Option::is_none")]
pub detector_model_definition: Option<DetectorModelDefinition>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
pub struct DetectorModelConfiguration {
#[serde(rename = "creationTime")]
#[serde(skip_serializing_if = "Option::is_none")]
pub creation_time: Option<f64>,
#[serde(rename = "detectorModelArn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub detector_model_arn: Option<String>,
#[serde(rename = "detectorModelDescription")]
#[serde(skip_serializing_if = "Option::is_none")]
pub detector_model_description: Option<String>,
#[serde(rename = "detectorModelName")]
#[serde(skip_serializing_if = "Option::is_none")]
pub detector_model_name: Option<String>,
#[serde(rename = "detectorModelVersion")]
#[serde(skip_serializing_if = "Option::is_none")]
pub detector_model_version: Option<String>,
#[serde(rename = "evaluationMethod")]
#[serde(skip_serializing_if = "Option::is_none")]
pub evaluation_method: Option<String>,
#[serde(rename = "key")]
#[serde(skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(rename = "lastUpdateTime")]
#[serde(skip_serializing_if = "Option::is_none")]
pub last_update_time: Option<f64>,
#[serde(rename = "roleArn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub role_arn: Option<String>,
#[serde(rename = "status")]
#[serde(skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct DetectorModelDefinition {
#[serde(rename = "initialStateName")]
pub initial_state_name: String,
#[serde(rename = "states")]
pub states: Vec<State>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
pub struct DetectorModelSummary {
#[serde(rename = "creationTime")]
#[serde(skip_serializing_if = "Option::is_none")]
pub creation_time: Option<f64>,
#[serde(rename = "detectorModelDescription")]
#[serde(skip_serializing_if = "Option::is_none")]
pub detector_model_description: Option<String>,
#[serde(rename = "detectorModelName")]
#[serde(skip_serializing_if = "Option::is_none")]
pub detector_model_name: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
pub struct DetectorModelVersionSummary {
#[serde(rename = "creationTime")]
#[serde(skip_serializing_if = "Option::is_none")]
pub creation_time: Option<f64>,
#[serde(rename = "detectorModelArn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub detector_model_arn: Option<String>,
#[serde(rename = "detectorModelName")]
#[serde(skip_serializing_if = "Option::is_none")]
pub detector_model_name: Option<String>,
#[serde(rename = "detectorModelVersion")]
#[serde(skip_serializing_if = "Option::is_none")]
pub detector_model_version: Option<String>,
#[serde(rename = "evaluationMethod")]
#[serde(skip_serializing_if = "Option::is_none")]
pub evaluation_method: Option<String>,
#[serde(rename = "lastUpdateTime")]
#[serde(skip_serializing_if = "Option::is_none")]
pub last_update_time: Option<f64>,
#[serde(rename = "roleArn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub role_arn: Option<String>,
#[serde(rename = "status")]
#[serde(skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Event {
#[serde(rename = "actions")]
#[serde(skip_serializing_if = "Option::is_none")]
pub actions: Option<Vec<Action>>,
#[serde(rename = "condition")]
#[serde(skip_serializing_if = "Option::is_none")]
pub condition: Option<String>,
#[serde(rename = "eventName")]
pub event_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct FirehoseAction {
#[serde(rename = "deliveryStreamName")]
pub delivery_stream_name: String,
#[serde(rename = "separator")]
#[serde(skip_serializing_if = "Option::is_none")]
pub separator: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
pub struct Input {
#[serde(rename = "inputConfiguration")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_configuration: Option<InputConfiguration>,
#[serde(rename = "inputDefinition")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_definition: Option<InputDefinition>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
pub struct InputConfiguration {
#[serde(rename = "creationTime")]
pub creation_time: f64,
#[serde(rename = "inputArn")]
pub input_arn: String,
#[serde(rename = "inputDescription")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_description: Option<String>,
#[serde(rename = "inputName")]
pub input_name: String,
#[serde(rename = "lastUpdateTime")]
pub last_update_time: f64,
#[serde(rename = "status")]
pub status: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct InputDefinition {
#[serde(rename = "attributes")]
pub attributes: Vec<Attribute>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
pub struct InputSummary {
#[serde(rename = "creationTime")]
#[serde(skip_serializing_if = "Option::is_none")]
pub creation_time: Option<f64>,
#[serde(rename = "inputArn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_arn: Option<String>,
#[serde(rename = "inputDescription")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_description: Option<String>,
#[serde(rename = "inputName")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_name: Option<String>,
#[serde(rename = "lastUpdateTime")]
#[serde(skip_serializing_if = "Option::is_none")]
pub last_update_time: Option<f64>,
#[serde(rename = "status")]
#[serde(skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct IotEventsAction {
#[serde(rename = "inputName")]
pub input_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct IotTopicPublishAction {
#[serde(rename = "mqttTopic")]
pub mqtt_topic: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct LambdaAction {
#[serde(rename = "functionArn")]
pub function_arn: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
pub struct ListDetectorModelVersionsRequest {
#[serde(rename = "detectorModelName")]
pub detector_model_name: String,
#[serde(rename = "maxResults")]
#[serde(skip_serializing_if = "Option::is_none")]
pub max_results: 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(any(test, feature = "serialize_structs"), derive(Serialize))]
pub struct ListDetectorModelVersionsResponse {
#[serde(rename = "detectorModelVersionSummaries")]
#[serde(skip_serializing_if = "Option::is_none")]
pub detector_model_version_summaries: Option<Vec<DetectorModelVersionSummary>>,
#[serde(rename = "nextToken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
pub struct ListDetectorModelsRequest {
#[serde(rename = "maxResults")]
#[serde(skip_serializing_if = "Option::is_none")]
pub max_results: 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(any(test, feature = "serialize_structs"), derive(Serialize))]
pub struct ListDetectorModelsResponse {
#[serde(rename = "detectorModelSummaries")]
#[serde(skip_serializing_if = "Option::is_none")]
pub detector_model_summaries: Option<Vec<DetectorModelSummary>>,
#[serde(rename = "nextToken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
pub struct ListInputsRequest {
#[serde(rename = "maxResults")]
#[serde(skip_serializing_if = "Option::is_none")]
pub max_results: 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(any(test, feature = "serialize_structs"), derive(Serialize))]
pub struct ListInputsResponse {
#[serde(rename = "inputSummaries")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_summaries: Option<Vec<InputSummary>>,
#[serde(rename = "nextToken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
pub struct ListTagsForResourceRequest {
#[serde(rename = "resourceArn")]
pub resource_arn: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
pub struct ListTagsForResourceResponse {
#[serde(rename = "tags")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<Tag>>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct LoggingOptions {
#[serde(rename = "detectorDebugOptions")]
#[serde(skip_serializing_if = "Option::is_none")]
pub detector_debug_options: Option<Vec<DetectorDebugOption>>,
#[serde(rename = "enabled")]
pub enabled: bool,
#[serde(rename = "level")]
pub level: String,
#[serde(rename = "roleArn")]
pub role_arn: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct OnEnterLifecycle {
#[serde(rename = "events")]
#[serde(skip_serializing_if = "Option::is_none")]
pub events: Option<Vec<Event>>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct OnExitLifecycle {
#[serde(rename = "events")]
#[serde(skip_serializing_if = "Option::is_none")]
pub events: Option<Vec<Event>>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct OnInputLifecycle {
#[serde(rename = "events")]
#[serde(skip_serializing_if = "Option::is_none")]
pub events: Option<Vec<Event>>,
#[serde(rename = "transitionEvents")]
#[serde(skip_serializing_if = "Option::is_none")]
pub transition_events: Option<Vec<TransitionEvent>>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
pub struct PutLoggingOptionsRequest {
#[serde(rename = "loggingOptions")]
pub logging_options: LoggingOptions,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct ResetTimerAction {
#[serde(rename = "timerName")]
pub timer_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct SNSTopicPublishAction {
#[serde(rename = "targetArn")]
pub target_arn: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct SetTimerAction {
#[serde(rename = "seconds")]
pub seconds: i64,
#[serde(rename = "timerName")]
pub timer_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct SetVariableAction {
#[serde(rename = "value")]
pub value: String,
#[serde(rename = "variableName")]
pub variable_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct SqsAction {
#[serde(rename = "queueUrl")]
pub queue_url: String,
#[serde(rename = "useBase64")]
#[serde(skip_serializing_if = "Option::is_none")]
pub use_base_64: Option<bool>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct State {
#[serde(rename = "onEnter")]
#[serde(skip_serializing_if = "Option::is_none")]
pub on_enter: Option<OnEnterLifecycle>,
#[serde(rename = "onExit")]
#[serde(skip_serializing_if = "Option::is_none")]
pub on_exit: Option<OnExitLifecycle>,
#[serde(rename = "onInput")]
#[serde(skip_serializing_if = "Option::is_none")]
pub on_input: Option<OnInputLifecycle>,
#[serde(rename = "stateName")]
pub state_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Tag {
#[serde(rename = "key")]
pub key: String,
#[serde(rename = "value")]
pub value: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
pub struct TagResourceRequest {
#[serde(rename = "resourceArn")]
pub resource_arn: String,
#[serde(rename = "tags")]
pub tags: Vec<Tag>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
pub struct TagResourceResponse {}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct TransitionEvent {
#[serde(rename = "actions")]
#[serde(skip_serializing_if = "Option::is_none")]
pub actions: Option<Vec<Action>>,
#[serde(rename = "condition")]
pub condition: String,
#[serde(rename = "eventName")]
pub event_name: String,
#[serde(rename = "nextState")]
pub next_state: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
pub struct UntagResourceRequest {
#[serde(rename = "resourceArn")]
pub resource_arn: String,
#[serde(rename = "tagKeys")]
pub tag_keys: Vec<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
pub struct UntagResourceResponse {}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
pub struct UpdateDetectorModelRequest {
#[serde(rename = "detectorModelDefinition")]
pub detector_model_definition: DetectorModelDefinition,
#[serde(rename = "detectorModelDescription")]
#[serde(skip_serializing_if = "Option::is_none")]
pub detector_model_description: Option<String>,
#[serde(rename = "detectorModelName")]
pub detector_model_name: String,
#[serde(rename = "evaluationMethod")]
#[serde(skip_serializing_if = "Option::is_none")]
pub evaluation_method: Option<String>,
#[serde(rename = "roleArn")]
pub role_arn: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
pub struct UpdateDetectorModelResponse {
#[serde(rename = "detectorModelConfiguration")]
#[serde(skip_serializing_if = "Option::is_none")]
pub detector_model_configuration: Option<DetectorModelConfiguration>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
pub struct UpdateInputRequest {
#[serde(rename = "inputDefinition")]
pub input_definition: InputDefinition,
#[serde(rename = "inputDescription")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_description: Option<String>,
#[serde(rename = "inputName")]
pub input_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
pub struct UpdateInputResponse {
#[serde(rename = "inputConfiguration")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_configuration: Option<InputConfiguration>,
}
#[derive(Debug, PartialEq)]
pub enum CreateDetectorModelError {
InternalFailure(String),
InvalidRequest(String),
LimitExceeded(String),
ResourceAlreadyExists(String),
ResourceInUse(String),
ServiceUnavailable(String),
Throttling(String),
}
impl CreateDetectorModelError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CreateDetectorModelError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"InternalFailureException" => {
return RusotoError::Service(CreateDetectorModelError::InternalFailure(err.msg))
}
"InvalidRequestException" => {
return RusotoError::Service(CreateDetectorModelError::InvalidRequest(err.msg))
}
"LimitExceededException" => {
return RusotoError::Service(CreateDetectorModelError::LimitExceeded(err.msg))
}
"ResourceAlreadyExistsException" => {
return RusotoError::Service(CreateDetectorModelError::ResourceAlreadyExists(
err.msg,
))
}
"ResourceInUseException" => {
return RusotoError::Service(CreateDetectorModelError::ResourceInUse(err.msg))
}
"ServiceUnavailableException" => {
return RusotoError::Service(CreateDetectorModelError::ServiceUnavailable(
err.msg,
))
}
"ThrottlingException" => {
return RusotoError::Service(CreateDetectorModelError::Throttling(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
RusotoError::Unknown(res)
}
}
impl fmt::Display for CreateDetectorModelError {
#[allow(unused_variables)]
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match *self {
CreateDetectorModelError::InternalFailure(ref cause) => write!(f, "{}", cause),
CreateDetectorModelError::InvalidRequest(ref cause) => write!(f, "{}", cause),
CreateDetectorModelError::LimitExceeded(ref cause) => write!(f, "{}", cause),
CreateDetectorModelError::ResourceAlreadyExists(ref cause) => write!(f, "{}", cause),
CreateDetectorModelError::ResourceInUse(ref cause) => write!(f, "{}", cause),
CreateDetectorModelError::ServiceUnavailable(ref cause) => write!(f, "{}", cause),
CreateDetectorModelError::Throttling(ref cause) => write!(f, "{}", cause),
}
}
}
impl Error for CreateDetectorModelError {}
#[derive(Debug, PartialEq)]
pub enum CreateInputError {
InternalFailure(String),
InvalidRequest(String),
ResourceAlreadyExists(String),
ServiceUnavailable(String),
Throttling(String),
}
impl CreateInputError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CreateInputError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"InternalFailureException" => {
return RusotoError::Service(CreateInputError::InternalFailure(err.msg))
}
"InvalidRequestException" => {
return RusotoError::Service(CreateInputError::InvalidRequest(err.msg))
}
"ResourceAlreadyExistsException" => {
return RusotoError::Service(CreateInputError::ResourceAlreadyExists(err.msg))
}
"ServiceUnavailableException" => {
return RusotoError::Service(CreateInputError::ServiceUnavailable(err.msg))
}
"ThrottlingException" => {
return RusotoError::Service(CreateInputError::Throttling(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
RusotoError::Unknown(res)
}
}
impl fmt::Display for CreateInputError {
#[allow(unused_variables)]
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match *self {
CreateInputError::InternalFailure(ref cause) => write!(f, "{}", cause),
CreateInputError::InvalidRequest(ref cause) => write!(f, "{}", cause),
CreateInputError::ResourceAlreadyExists(ref cause) => write!(f, "{}", cause),
CreateInputError::ServiceUnavailable(ref cause) => write!(f, "{}", cause),
CreateInputError::Throttling(ref cause) => write!(f, "{}", cause),
}
}
}
impl Error for CreateInputError {}
#[derive(Debug, PartialEq)]
pub enum DeleteDetectorModelError {
InternalFailure(String),
InvalidRequest(String),
ResourceInUse(String),
ResourceNotFound(String),
ServiceUnavailable(String),
Throttling(String),
}
impl DeleteDetectorModelError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeleteDetectorModelError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"InternalFailureException" => {
return RusotoError::Service(DeleteDetectorModelError::InternalFailure(err.msg))
}
"InvalidRequestException" => {
return RusotoError::Service(DeleteDetectorModelError::InvalidRequest(err.msg))
}
"ResourceInUseException" => {
return RusotoError::Service(DeleteDetectorModelError::ResourceInUse(err.msg))
}
"ResourceNotFoundException" => {
return RusotoError::Service(DeleteDetectorModelError::ResourceNotFound(
err.msg,
))
}
"ServiceUnavailableException" => {
return RusotoError::Service(DeleteDetectorModelError::ServiceUnavailable(
err.msg,
))
}
"ThrottlingException" => {
return RusotoError::Service(DeleteDetectorModelError::Throttling(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
RusotoError::Unknown(res)
}
}
impl fmt::Display for DeleteDetectorModelError {
#[allow(unused_variables)]
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match *self {
DeleteDetectorModelError::InternalFailure(ref cause) => write!(f, "{}", cause),
DeleteDetectorModelError::InvalidRequest(ref cause) => write!(f, "{}", cause),
DeleteDetectorModelError::ResourceInUse(ref cause) => write!(f, "{}", cause),
DeleteDetectorModelError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
DeleteDetectorModelError::ServiceUnavailable(ref cause) => write!(f, "{}", cause),
DeleteDetectorModelError::Throttling(ref cause) => write!(f, "{}", cause),
}
}
}
impl Error for DeleteDetectorModelError {}
#[derive(Debug, PartialEq)]
pub enum DeleteInputError {
InternalFailure(String),
InvalidRequest(String),
ResourceInUse(String),
ResourceNotFound(String),
ServiceUnavailable(String),
Throttling(String),
}
impl DeleteInputError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeleteInputError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"InternalFailureException" => {
return RusotoError::Service(DeleteInputError::InternalFailure(err.msg))
}
"InvalidRequestException" => {
return RusotoError::Service(DeleteInputError::InvalidRequest(err.msg))
}
"ResourceInUseException" => {
return RusotoError::Service(DeleteInputError::ResourceInUse(err.msg))
}
"ResourceNotFoundException" => {
return RusotoError::Service(DeleteInputError::ResourceNotFound(err.msg))
}
"ServiceUnavailableException" => {
return RusotoError::Service(DeleteInputError::ServiceUnavailable(err.msg))
}
"ThrottlingException" => {
return RusotoError::Service(DeleteInputError::Throttling(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
RusotoError::Unknown(res)
}
}
impl fmt::Display for DeleteInputError {
#[allow(unused_variables)]
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match *self {
DeleteInputError::InternalFailure(ref cause) => write!(f, "{}", cause),
DeleteInputError::InvalidRequest(ref cause) => write!(f, "{}", cause),
DeleteInputError::ResourceInUse(ref cause) => write!(f, "{}", cause),
DeleteInputError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
DeleteInputError::ServiceUnavailable(ref cause) => write!(f, "{}", cause),
DeleteInputError::Throttling(ref cause) => write!(f, "{}", cause),
}
}
}
impl Error for DeleteInputError {}
#[derive(Debug, PartialEq)]
pub enum DescribeDetectorModelError {
InternalFailure(String),
InvalidRequest(String),
ResourceNotFound(String),
ServiceUnavailable(String),
Throttling(String),
}
impl DescribeDetectorModelError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeDetectorModelError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"InternalFailureException" => {
return RusotoError::Service(DescribeDetectorModelError::InternalFailure(
err.msg,
))
}
"InvalidRequestException" => {
return RusotoError::Service(DescribeDetectorModelError::InvalidRequest(
err.msg,
))
}
"ResourceNotFoundException" => {
return RusotoError::Service(DescribeDetectorModelError::ResourceNotFound(
err.msg,
))
}
"ServiceUnavailableException" => {
return RusotoError::Service(DescribeDetectorModelError::ServiceUnavailable(
err.msg,
))
}
"ThrottlingException" => {
return RusotoError::Service(DescribeDetectorModelError::Throttling(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
RusotoError::Unknown(res)
}
}
impl fmt::Display for DescribeDetectorModelError {
#[allow(unused_variables)]
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match *self {
DescribeDetectorModelError::InternalFailure(ref cause) => write!(f, "{}", cause),
DescribeDetectorModelError::InvalidRequest(ref cause) => write!(f, "{}", cause),
DescribeDetectorModelError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
DescribeDetectorModelError::ServiceUnavailable(ref cause) => write!(f, "{}", cause),
DescribeDetectorModelError::Throttling(ref cause) => write!(f, "{}", cause),
}
}
}
impl Error for DescribeDetectorModelError {}
#[derive(Debug, PartialEq)]
pub enum DescribeInputError {
InternalFailure(String),
InvalidRequest(String),
ResourceNotFound(String),
ServiceUnavailable(String),
Throttling(String),
}
impl DescribeInputError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeInputError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"InternalFailureException" => {
return RusotoError::Service(DescribeInputError::InternalFailure(err.msg))
}
"InvalidRequestException" => {
return RusotoError::Service(DescribeInputError::InvalidRequest(err.msg))
}
"ResourceNotFoundException" => {
return RusotoError::Service(DescribeInputError::ResourceNotFound(err.msg))
}
"ServiceUnavailableException" => {
return RusotoError::Service(DescribeInputError::ServiceUnavailable(err.msg))
}
"ThrottlingException" => {
return RusotoError::Service(DescribeInputError::Throttling(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
RusotoError::Unknown(res)
}
}
impl fmt::Display for DescribeInputError {
#[allow(unused_variables)]
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match *self {
DescribeInputError::InternalFailure(ref cause) => write!(f, "{}", cause),
DescribeInputError::InvalidRequest(ref cause) => write!(f, "{}", cause),
DescribeInputError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
DescribeInputError::ServiceUnavailable(ref cause) => write!(f, "{}", cause),
DescribeInputError::Throttling(ref cause) => write!(f, "{}", cause),
}
}
}
impl Error for DescribeInputError {}
#[derive(Debug, PartialEq)]
pub enum DescribeLoggingOptionsError {
InternalFailure(String),
InvalidRequest(String),
ResourceNotFound(String),
ServiceUnavailable(String),
Throttling(String),
UnsupportedOperation(String),
}
impl DescribeLoggingOptionsError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeLoggingOptionsError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"InternalFailureException" => {
return RusotoError::Service(DescribeLoggingOptionsError::InternalFailure(
err.msg,
))
}
"InvalidRequestException" => {
return RusotoError::Service(DescribeLoggingOptionsError::InvalidRequest(
err.msg,
))
}
"ResourceNotFoundException" => {
return RusotoError::Service(DescribeLoggingOptionsError::ResourceNotFound(
err.msg,
))
}
"ServiceUnavailableException" => {
return RusotoError::Service(DescribeLoggingOptionsError::ServiceUnavailable(
err.msg,
))
}
"ThrottlingException" => {
return RusotoError::Service(DescribeLoggingOptionsError::Throttling(err.msg))
}
"UnsupportedOperationException" => {
return RusotoError::Service(DescribeLoggingOptionsError::UnsupportedOperation(
err.msg,
))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
RusotoError::Unknown(res)
}
}
impl fmt::Display for DescribeLoggingOptionsError {
#[allow(unused_variables)]
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match *self {
DescribeLoggingOptionsError::InternalFailure(ref cause) => write!(f, "{}", cause),
DescribeLoggingOptionsError::InvalidRequest(ref cause) => write!(f, "{}", cause),
DescribeLoggingOptionsError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
DescribeLoggingOptionsError::ServiceUnavailable(ref cause) => write!(f, "{}", cause),
DescribeLoggingOptionsError::Throttling(ref cause) => write!(f, "{}", cause),
DescribeLoggingOptionsError::UnsupportedOperation(ref cause) => write!(f, "{}", cause),
}
}
}
impl Error for DescribeLoggingOptionsError {}
#[derive(Debug, PartialEq)]
pub enum ListDetectorModelVersionsError {
InternalFailure(String),
InvalidRequest(String),
ResourceNotFound(String),
ServiceUnavailable(String),
Throttling(String),
}
impl ListDetectorModelVersionsError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListDetectorModelVersionsError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"InternalFailureException" => {
return RusotoError::Service(ListDetectorModelVersionsError::InternalFailure(
err.msg,
))
}
"InvalidRequestException" => {
return RusotoError::Service(ListDetectorModelVersionsError::InvalidRequest(
err.msg,
))
}
"ResourceNotFoundException" => {
return RusotoError::Service(ListDetectorModelVersionsError::ResourceNotFound(
err.msg,
))
}
"ServiceUnavailableException" => {
return RusotoError::Service(
ListDetectorModelVersionsError::ServiceUnavailable(err.msg),
)
}
"ThrottlingException" => {
return RusotoError::Service(ListDetectorModelVersionsError::Throttling(
err.msg,
))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
RusotoError::Unknown(res)
}
}
impl fmt::Display for ListDetectorModelVersionsError {
#[allow(unused_variables)]
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match *self {
ListDetectorModelVersionsError::InternalFailure(ref cause) => write!(f, "{}", cause),
ListDetectorModelVersionsError::InvalidRequest(ref cause) => write!(f, "{}", cause),
ListDetectorModelVersionsError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
ListDetectorModelVersionsError::ServiceUnavailable(ref cause) => write!(f, "{}", cause),
ListDetectorModelVersionsError::Throttling(ref cause) => write!(f, "{}", cause),
}
}
}
impl Error for ListDetectorModelVersionsError {}
#[derive(Debug, PartialEq)]
pub enum ListDetectorModelsError {
InternalFailure(String),
InvalidRequest(String),
ServiceUnavailable(String),
Throttling(String),
}
impl ListDetectorModelsError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListDetectorModelsError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"InternalFailureException" => {
return RusotoError::Service(ListDetectorModelsError::InternalFailure(err.msg))
}
"InvalidRequestException" => {
return RusotoError::Service(ListDetectorModelsError::InvalidRequest(err.msg))
}
"ServiceUnavailableException" => {
return RusotoError::Service(ListDetectorModelsError::ServiceUnavailable(
err.msg,
))
}
"ThrottlingException" => {
return RusotoError::Service(ListDetectorModelsError::Throttling(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
RusotoError::Unknown(res)
}
}
impl fmt::Display for ListDetectorModelsError {
#[allow(unused_variables)]
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match *self {
ListDetectorModelsError::InternalFailure(ref cause) => write!(f, "{}", cause),
ListDetectorModelsError::InvalidRequest(ref cause) => write!(f, "{}", cause),
ListDetectorModelsError::ServiceUnavailable(ref cause) => write!(f, "{}", cause),
ListDetectorModelsError::Throttling(ref cause) => write!(f, "{}", cause),
}
}
}
impl Error for ListDetectorModelsError {}
#[derive(Debug, PartialEq)]
pub enum ListInputsError {
InternalFailure(String),
InvalidRequest(String),
ServiceUnavailable(String),
Throttling(String),
}
impl ListInputsError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListInputsError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"InternalFailureException" => {
return RusotoError::Service(ListInputsError::InternalFailure(err.msg))
}
"InvalidRequestException" => {
return RusotoError::Service(ListInputsError::InvalidRequest(err.msg))
}
"ServiceUnavailableException" => {
return RusotoError::Service(ListInputsError::ServiceUnavailable(err.msg))
}
"ThrottlingException" => {
return RusotoError::Service(ListInputsError::Throttling(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
RusotoError::Unknown(res)
}
}
impl fmt::Display for ListInputsError {
#[allow(unused_variables)]
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match *self {
ListInputsError::InternalFailure(ref cause) => write!(f, "{}", cause),
ListInputsError::InvalidRequest(ref cause) => write!(f, "{}", cause),
ListInputsError::ServiceUnavailable(ref cause) => write!(f, "{}", cause),
ListInputsError::Throttling(ref cause) => write!(f, "{}", cause),
}
}
}
impl Error for ListInputsError {}
#[derive(Debug, PartialEq)]
pub enum ListTagsForResourceError {
InternalFailure(String),
InvalidRequest(String),
ResourceInUse(String),
ResourceNotFound(String),
Throttling(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() {
"InternalFailureException" => {
return RusotoError::Service(ListTagsForResourceError::InternalFailure(err.msg))
}
"InvalidRequestException" => {
return RusotoError::Service(ListTagsForResourceError::InvalidRequest(err.msg))
}
"ResourceInUseException" => {
return RusotoError::Service(ListTagsForResourceError::ResourceInUse(err.msg))
}
"ResourceNotFoundException" => {
return RusotoError::Service(ListTagsForResourceError::ResourceNotFound(
err.msg,
))
}
"ThrottlingException" => {
return RusotoError::Service(ListTagsForResourceError::Throttling(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
RusotoError::Unknown(res)
}
}
impl fmt::Display for ListTagsForResourceError {
#[allow(unused_variables)]
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match *self {
ListTagsForResourceError::InternalFailure(ref cause) => write!(f, "{}", cause),
ListTagsForResourceError::InvalidRequest(ref cause) => write!(f, "{}", cause),
ListTagsForResourceError::ResourceInUse(ref cause) => write!(f, "{}", cause),
ListTagsForResourceError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
ListTagsForResourceError::Throttling(ref cause) => write!(f, "{}", cause),
}
}
}
impl Error for ListTagsForResourceError {}
#[derive(Debug, PartialEq)]
pub enum PutLoggingOptionsError {
InternalFailure(String),
InvalidRequest(String),
ResourceInUse(String),
ServiceUnavailable(String),
Throttling(String),
UnsupportedOperation(String),
}
impl PutLoggingOptionsError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<PutLoggingOptionsError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"InternalFailureException" => {
return RusotoError::Service(PutLoggingOptionsError::InternalFailure(err.msg))
}
"InvalidRequestException" => {
return RusotoError::Service(PutLoggingOptionsError::InvalidRequest(err.msg))
}
"ResourceInUseException" => {
return RusotoError::Service(PutLoggingOptionsError::ResourceInUse(err.msg))
}
"ServiceUnavailableException" => {
return RusotoError::Service(PutLoggingOptionsError::ServiceUnavailable(
err.msg,
))
}
"ThrottlingException" => {
return RusotoError::Service(PutLoggingOptionsError::Throttling(err.msg))
}
"UnsupportedOperationException" => {
return RusotoError::Service(PutLoggingOptionsError::UnsupportedOperation(
err.msg,
))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
RusotoError::Unknown(res)
}
}
impl fmt::Display for PutLoggingOptionsError {
#[allow(unused_variables)]
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match *self {
PutLoggingOptionsError::InternalFailure(ref cause) => write!(f, "{}", cause),
PutLoggingOptionsError::InvalidRequest(ref cause) => write!(f, "{}", cause),
PutLoggingOptionsError::ResourceInUse(ref cause) => write!(f, "{}", cause),
PutLoggingOptionsError::ServiceUnavailable(ref cause) => write!(f, "{}", cause),
PutLoggingOptionsError::Throttling(ref cause) => write!(f, "{}", cause),
PutLoggingOptionsError::UnsupportedOperation(ref cause) => write!(f, "{}", cause),
}
}
}
impl Error for PutLoggingOptionsError {}
#[derive(Debug, PartialEq)]
pub enum TagResourceError {
InternalFailure(String),
InvalidRequest(String),
LimitExceeded(String),
ResourceInUse(String),
ResourceNotFound(String),
Throttling(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() {
"InternalFailureException" => {
return RusotoError::Service(TagResourceError::InternalFailure(err.msg))
}
"InvalidRequestException" => {
return RusotoError::Service(TagResourceError::InvalidRequest(err.msg))
}
"LimitExceededException" => {
return RusotoError::Service(TagResourceError::LimitExceeded(err.msg))
}
"ResourceInUseException" => {
return RusotoError::Service(TagResourceError::ResourceInUse(err.msg))
}
"ResourceNotFoundException" => {
return RusotoError::Service(TagResourceError::ResourceNotFound(err.msg))
}
"ThrottlingException" => {
return RusotoError::Service(TagResourceError::Throttling(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
RusotoError::Unknown(res)
}
}
impl fmt::Display for TagResourceError {
#[allow(unused_variables)]
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match *self {
TagResourceError::InternalFailure(ref cause) => write!(f, "{}", cause),
TagResourceError::InvalidRequest(ref cause) => write!(f, "{}", cause),
TagResourceError::LimitExceeded(ref cause) => write!(f, "{}", cause),
TagResourceError::ResourceInUse(ref cause) => write!(f, "{}", cause),
TagResourceError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
TagResourceError::Throttling(ref cause) => write!(f, "{}", cause),
}
}
}
impl Error for TagResourceError {}
#[derive(Debug, PartialEq)]
pub enum UntagResourceError {
InternalFailure(String),
InvalidRequest(String),
ResourceInUse(String),
ResourceNotFound(String),
Throttling(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() {
"InternalFailureException" => {
return RusotoError::Service(UntagResourceError::InternalFailure(err.msg))
}
"InvalidRequestException" => {
return RusotoError::Service(UntagResourceError::InvalidRequest(err.msg))
}
"ResourceInUseException" => {
return RusotoError::Service(UntagResourceError::ResourceInUse(err.msg))
}
"ResourceNotFoundException" => {
return RusotoError::Service(UntagResourceError::ResourceNotFound(err.msg))
}
"ThrottlingException" => {
return RusotoError::Service(UntagResourceError::Throttling(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
RusotoError::Unknown(res)
}
}
impl fmt::Display for UntagResourceError {
#[allow(unused_variables)]
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match *self {
UntagResourceError::InternalFailure(ref cause) => write!(f, "{}", cause),
UntagResourceError::InvalidRequest(ref cause) => write!(f, "{}", cause),
UntagResourceError::ResourceInUse(ref cause) => write!(f, "{}", cause),
UntagResourceError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
UntagResourceError::Throttling(ref cause) => write!(f, "{}", cause),
}
}
}
impl Error for UntagResourceError {}
#[derive(Debug, PartialEq)]
pub enum UpdateDetectorModelError {
InternalFailure(String),
InvalidRequest(String),
ResourceInUse(String),
ResourceNotFound(String),
ServiceUnavailable(String),
Throttling(String),
}
impl UpdateDetectorModelError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<UpdateDetectorModelError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"InternalFailureException" => {
return RusotoError::Service(UpdateDetectorModelError::InternalFailure(err.msg))
}
"InvalidRequestException" => {
return RusotoError::Service(UpdateDetectorModelError::InvalidRequest(err.msg))
}
"ResourceInUseException" => {
return RusotoError::Service(UpdateDetectorModelError::ResourceInUse(err.msg))
}
"ResourceNotFoundException" => {
return RusotoError::Service(UpdateDetectorModelError::ResourceNotFound(
err.msg,
))
}
"ServiceUnavailableException" => {
return RusotoError::Service(UpdateDetectorModelError::ServiceUnavailable(
err.msg,
))
}
"ThrottlingException" => {
return RusotoError::Service(UpdateDetectorModelError::Throttling(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
RusotoError::Unknown(res)
}
}
impl fmt::Display for UpdateDetectorModelError {
#[allow(unused_variables)]
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match *self {
UpdateDetectorModelError::InternalFailure(ref cause) => write!(f, "{}", cause),
UpdateDetectorModelError::InvalidRequest(ref cause) => write!(f, "{}", cause),
UpdateDetectorModelError::ResourceInUse(ref cause) => write!(f, "{}", cause),
UpdateDetectorModelError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
UpdateDetectorModelError::ServiceUnavailable(ref cause) => write!(f, "{}", cause),
UpdateDetectorModelError::Throttling(ref cause) => write!(f, "{}", cause),
}
}
}
impl Error for UpdateDetectorModelError {}
#[derive(Debug, PartialEq)]
pub enum UpdateInputError {
InternalFailure(String),
InvalidRequest(String),
ResourceInUse(String),
ResourceNotFound(String),
ServiceUnavailable(String),
Throttling(String),
}
impl UpdateInputError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<UpdateInputError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"InternalFailureException" => {
return RusotoError::Service(UpdateInputError::InternalFailure(err.msg))
}
"InvalidRequestException" => {
return RusotoError::Service(UpdateInputError::InvalidRequest(err.msg))
}
"ResourceInUseException" => {
return RusotoError::Service(UpdateInputError::ResourceInUse(err.msg))
}
"ResourceNotFoundException" => {
return RusotoError::Service(UpdateInputError::ResourceNotFound(err.msg))
}
"ServiceUnavailableException" => {
return RusotoError::Service(UpdateInputError::ServiceUnavailable(err.msg))
}
"ThrottlingException" => {
return RusotoError::Service(UpdateInputError::Throttling(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
RusotoError::Unknown(res)
}
}
impl fmt::Display for UpdateInputError {
#[allow(unused_variables)]
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match *self {
UpdateInputError::InternalFailure(ref cause) => write!(f, "{}", cause),
UpdateInputError::InvalidRequest(ref cause) => write!(f, "{}", cause),
UpdateInputError::ResourceInUse(ref cause) => write!(f, "{}", cause),
UpdateInputError::ResourceNotFound(ref cause) => write!(f, "{}", cause),
UpdateInputError::ServiceUnavailable(ref cause) => write!(f, "{}", cause),
UpdateInputError::Throttling(ref cause) => write!(f, "{}", cause),
}
}
}
impl Error for UpdateInputError {}
#[async_trait]
pub trait IotEvents {
async fn create_detector_model(
&self,
input: CreateDetectorModelRequest,
) -> Result<CreateDetectorModelResponse, RusotoError<CreateDetectorModelError>>;
async fn create_input(
&self,
input: CreateInputRequest,
) -> Result<CreateInputResponse, RusotoError<CreateInputError>>;
async fn delete_detector_model(
&self,
input: DeleteDetectorModelRequest,
) -> Result<DeleteDetectorModelResponse, RusotoError<DeleteDetectorModelError>>;
async fn delete_input(
&self,
input: DeleteInputRequest,
) -> Result<DeleteInputResponse, RusotoError<DeleteInputError>>;
async fn describe_detector_model(
&self,
input: DescribeDetectorModelRequest,
) -> Result<DescribeDetectorModelResponse, RusotoError<DescribeDetectorModelError>>;
async fn describe_input(
&self,
input: DescribeInputRequest,
) -> Result<DescribeInputResponse, RusotoError<DescribeInputError>>;
async fn describe_logging_options(
&self,
) -> Result<DescribeLoggingOptionsResponse, RusotoError<DescribeLoggingOptionsError>>;
async fn list_detector_model_versions(
&self,
input: ListDetectorModelVersionsRequest,
) -> Result<ListDetectorModelVersionsResponse, RusotoError<ListDetectorModelVersionsError>>;
async fn list_detector_models(
&self,
input: ListDetectorModelsRequest,
) -> Result<ListDetectorModelsResponse, RusotoError<ListDetectorModelsError>>;
async fn list_inputs(
&self,
input: ListInputsRequest,
) -> Result<ListInputsResponse, RusotoError<ListInputsError>>;
async fn list_tags_for_resource(
&self,
input: ListTagsForResourceRequest,
) -> Result<ListTagsForResourceResponse, RusotoError<ListTagsForResourceError>>;
async fn put_logging_options(
&self,
input: PutLoggingOptionsRequest,
) -> Result<(), RusotoError<PutLoggingOptionsError>>;
async fn tag_resource(
&self,
input: TagResourceRequest,
) -> Result<TagResourceResponse, RusotoError<TagResourceError>>;
async fn untag_resource(
&self,
input: UntagResourceRequest,
) -> Result<UntagResourceResponse, RusotoError<UntagResourceError>>;
async fn update_detector_model(
&self,
input: UpdateDetectorModelRequest,
) -> Result<UpdateDetectorModelResponse, RusotoError<UpdateDetectorModelError>>;
async fn update_input(
&self,
input: UpdateInputRequest,
) -> Result<UpdateInputResponse, RusotoError<UpdateInputError>>;
}
#[derive(Clone)]
pub struct IotEventsClient {
client: Client,
region: region::Region,
}
impl IotEventsClient {
pub fn new(region: region::Region) -> IotEventsClient {
IotEventsClient {
client: Client::shared(),
region,
}
}
pub fn new_with<P, D>(
request_dispatcher: D,
credentials_provider: P,
region: region::Region,
) -> IotEventsClient
where
P: ProvideAwsCredentials + Send + Sync + 'static,
D: DispatchSignedRequest + Send + Sync + 'static,
{
IotEventsClient {
client: Client::new_with(credentials_provider, request_dispatcher),
region,
}
}
pub fn new_with_client(client: Client, region: region::Region) -> IotEventsClient {
IotEventsClient { client, region }
}
}
#[async_trait]
impl IotEvents for IotEventsClient {
async fn create_detector_model(
&self,
input: CreateDetectorModelRequest,
) -> Result<CreateDetectorModelResponse, RusotoError<CreateDetectorModelError>> {
let request_uri = "/detector-models";
let mut request = SignedRequest::new("POST", "iotevents", &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 response = self
.client
.sign_and_dispatch(request)
.await
.map_err(RusotoError::from)?;
if response.status.is_success() {
let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<CreateDetectorModelResponse, _>()?;
Ok(result)
} else {
let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
Err(CreateDetectorModelError::from_response(response))
}
}
async fn create_input(
&self,
input: CreateInputRequest,
) -> Result<CreateInputResponse, RusotoError<CreateInputError>> {
let request_uri = "/inputs";
let mut request = SignedRequest::new("POST", "iotevents", &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 response = self
.client
.sign_and_dispatch(request)
.await
.map_err(RusotoError::from)?;
if response.status.as_u16() == 201 {
let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<CreateInputResponse, _>()?;
Ok(result)
} else {
let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
Err(CreateInputError::from_response(response))
}
}
async fn delete_detector_model(
&self,
input: DeleteDetectorModelRequest,
) -> Result<DeleteDetectorModelResponse, RusotoError<DeleteDetectorModelError>> {
let request_uri = format!(
"/detector-models/{detector_model_name}",
detector_model_name = input.detector_model_name
);
let mut request = SignedRequest::new("DELETE", "iotevents", &self.region, &request_uri);
request.set_content_type("application/x-amz-json-1.1".to_owned());
let mut response = self
.client
.sign_and_dispatch(request)
.await
.map_err(RusotoError::from)?;
if response.status.as_u16() == 204 {
let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<DeleteDetectorModelResponse, _>()?;
Ok(result)
} else {
let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
Err(DeleteDetectorModelError::from_response(response))
}
}
async fn delete_input(
&self,
input: DeleteInputRequest,
) -> Result<DeleteInputResponse, RusotoError<DeleteInputError>> {
let request_uri = format!("/inputs/{input_name}", input_name = input.input_name);
let mut request = SignedRequest::new("DELETE", "iotevents", &self.region, &request_uri);
request.set_content_type("application/x-amz-json-1.1".to_owned());
let mut response = self
.client
.sign_and_dispatch(request)
.await
.map_err(RusotoError::from)?;
if response.status.is_success() {
let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<DeleteInputResponse, _>()?;
Ok(result)
} else {
let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
Err(DeleteInputError::from_response(response))
}
}
async fn describe_detector_model(
&self,
input: DescribeDetectorModelRequest,
) -> Result<DescribeDetectorModelResponse, RusotoError<DescribeDetectorModelError>> {
let request_uri = format!(
"/detector-models/{detector_model_name}",
detector_model_name = input.detector_model_name
);
let mut request = SignedRequest::new("GET", "iotevents", &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.detector_model_version {
params.put("version", x);
}
request.set_params(params);
let mut response = self
.client
.sign_and_dispatch(request)
.await
.map_err(RusotoError::from)?;
if response.status.is_success() {
let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<DescribeDetectorModelResponse, _>()?;
Ok(result)
} else {
let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
Err(DescribeDetectorModelError::from_response(response))
}
}
async fn describe_input(
&self,
input: DescribeInputRequest,
) -> Result<DescribeInputResponse, RusotoError<DescribeInputError>> {
let request_uri = format!("/inputs/{input_name}", input_name = input.input_name);
let mut request = SignedRequest::new("GET", "iotevents", &self.region, &request_uri);
request.set_content_type("application/x-amz-json-1.1".to_owned());
let mut response = self
.client
.sign_and_dispatch(request)
.await
.map_err(RusotoError::from)?;
if response.status.is_success() {
let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<DescribeInputResponse, _>()?;
Ok(result)
} else {
let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
Err(DescribeInputError::from_response(response))
}
}
async fn describe_logging_options(
&self,
) -> Result<DescribeLoggingOptionsResponse, RusotoError<DescribeLoggingOptionsError>> {
let request_uri = "/logging";
let mut request = SignedRequest::new("GET", "iotevents", &self.region, &request_uri);
request.set_content_type("application/x-amz-json-1.1".to_owned());
let mut response = self
.client
.sign_and_dispatch(request)
.await
.map_err(RusotoError::from)?;
if response.status.is_success() {
let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<DescribeLoggingOptionsResponse, _>()?;
Ok(result)
} else {
let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
Err(DescribeLoggingOptionsError::from_response(response))
}
}
async fn list_detector_model_versions(
&self,
input: ListDetectorModelVersionsRequest,
) -> Result<ListDetectorModelVersionsResponse, RusotoError<ListDetectorModelVersionsError>>
{
let request_uri = format!(
"/detector-models/{detector_model_name}/versions",
detector_model_name = input.detector_model_name
);
let mut request = SignedRequest::new("GET", "iotevents", &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.max_results {
params.put("maxResults", x);
}
if let Some(ref x) = input.next_token {
params.put("nextToken", x);
}
request.set_params(params);
let mut response = self
.client
.sign_and_dispatch(request)
.await
.map_err(RusotoError::from)?;
if response.status.is_success() {
let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<ListDetectorModelVersionsResponse, _>()?;
Ok(result)
} else {
let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
Err(ListDetectorModelVersionsError::from_response(response))
}
}
async fn list_detector_models(
&self,
input: ListDetectorModelsRequest,
) -> Result<ListDetectorModelsResponse, RusotoError<ListDetectorModelsError>> {
let request_uri = "/detector-models";
let mut request = SignedRequest::new("GET", "iotevents", &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.max_results {
params.put("maxResults", x);
}
if let Some(ref x) = input.next_token {
params.put("nextToken", x);
}
request.set_params(params);
let mut response = self
.client
.sign_and_dispatch(request)
.await
.map_err(RusotoError::from)?;
if response.status.is_success() {
let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<ListDetectorModelsResponse, _>()?;
Ok(result)
} else {
let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
Err(ListDetectorModelsError::from_response(response))
}
}
async fn list_inputs(
&self,
input: ListInputsRequest,
) -> Result<ListInputsResponse, RusotoError<ListInputsError>> {
let request_uri = "/inputs";
let mut request = SignedRequest::new("GET", "iotevents", &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.max_results {
params.put("maxResults", x);
}
if let Some(ref x) = input.next_token {
params.put("nextToken", x);
}
request.set_params(params);
let mut response = self
.client
.sign_and_dispatch(request)
.await
.map_err(RusotoError::from)?;
if response.status.is_success() {
let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<ListInputsResponse, _>()?;
Ok(result)
} else {
let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
Err(ListInputsError::from_response(response))
}
}
async fn list_tags_for_resource(
&self,
input: ListTagsForResourceRequest,
) -> Result<ListTagsForResourceResponse, RusotoError<ListTagsForResourceError>> {
let request_uri = "/tags";
let mut request = SignedRequest::new("GET", "iotevents", &self.region, &request_uri);
request.set_content_type("application/x-amz-json-1.1".to_owned());
let mut params = Params::new();
params.put("resourceArn", &input.resource_arn);
request.set_params(params);
let mut response = self
.client
.sign_and_dispatch(request)
.await
.map_err(RusotoError::from)?;
if response.status.is_success() {
let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<ListTagsForResourceResponse, _>()?;
Ok(result)
} else {
let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
Err(ListTagsForResourceError::from_response(response))
}
}
async fn put_logging_options(
&self,
input: PutLoggingOptionsRequest,
) -> Result<(), RusotoError<PutLoggingOptionsError>> {
let request_uri = "/logging";
let mut request = SignedRequest::new("PUT", "iotevents", &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 response = self
.client
.sign_and_dispatch(request)
.await
.map_err(RusotoError::from)?;
if response.status.is_success() {
let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
let result = ::std::mem::drop(response);
Ok(result)
} else {
let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
Err(PutLoggingOptionsError::from_response(response))
}
}
async fn tag_resource(
&self,
input: TagResourceRequest,
) -> Result<TagResourceResponse, RusotoError<TagResourceError>> {
let request_uri = "/tags";
let mut request = SignedRequest::new("POST", "iotevents", &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);
let mut response = self
.client
.sign_and_dispatch(request)
.await
.map_err(RusotoError::from)?;
if response.status.is_success() {
let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<TagResourceResponse, _>()?;
Ok(result)
} else {
let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
Err(TagResourceError::from_response(response))
}
}
async fn untag_resource(
&self,
input: UntagResourceRequest,
) -> Result<UntagResourceResponse, RusotoError<UntagResourceError>> {
let request_uri = "/tags";
let mut request = SignedRequest::new("DELETE", "iotevents", &self.region, &request_uri);
request.set_content_type("application/x-amz-json-1.1".to_owned());
let mut params = Params::new();
params.put("resourceArn", &input.resource_arn);
for item in input.tag_keys.iter() {
params.put("tagKeys", item);
}
request.set_params(params);
let mut response = self
.client
.sign_and_dispatch(request)
.await
.map_err(RusotoError::from)?;
if response.status.is_success() {
let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<UntagResourceResponse, _>()?;
Ok(result)
} else {
let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
Err(UntagResourceError::from_response(response))
}
}
async fn update_detector_model(
&self,
input: UpdateDetectorModelRequest,
) -> Result<UpdateDetectorModelResponse, RusotoError<UpdateDetectorModelError>> {
let request_uri = format!(
"/detector-models/{detector_model_name}",
detector_model_name = input.detector_model_name
);
let mut request = SignedRequest::new("POST", "iotevents", &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 response = self
.client
.sign_and_dispatch(request)
.await
.map_err(RusotoError::from)?;
if response.status.is_success() {
let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<UpdateDetectorModelResponse, _>()?;
Ok(result)
} else {
let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
Err(UpdateDetectorModelError::from_response(response))
}
}
async fn update_input(
&self,
input: UpdateInputRequest,
) -> Result<UpdateInputResponse, RusotoError<UpdateInputError>> {
let request_uri = format!("/inputs/{input_name}", input_name = input.input_name);
let mut request = SignedRequest::new("PUT", "iotevents", &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 response = self
.client
.sign_and_dispatch(request)
.await
.map_err(RusotoError::from)?;
if response.status.is_success() {
let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<UpdateInputResponse, _>()?;
Ok(result)
} else {
let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
Err(UpdateInputError::from_response(response))
}
}
}