use std::error::Error;
use std::fmt;
#[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 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 AacSettings {
#[serde(rename = "Bitrate")]
#[serde(skip_serializing_if = "Option::is_none")]
pub bitrate: Option<f64>,
#[serde(rename = "CodingMode")]
#[serde(skip_serializing_if = "Option::is_none")]
pub coding_mode: Option<String>,
#[serde(rename = "InputType")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_type: Option<String>,
#[serde(rename = "Profile")]
#[serde(skip_serializing_if = "Option::is_none")]
pub profile: Option<String>,
#[serde(rename = "RateControlMode")]
#[serde(skip_serializing_if = "Option::is_none")]
pub rate_control_mode: Option<String>,
#[serde(rename = "RawFormat")]
#[serde(skip_serializing_if = "Option::is_none")]
pub raw_format: Option<String>,
#[serde(rename = "SampleRate")]
#[serde(skip_serializing_if = "Option::is_none")]
pub sample_rate: Option<f64>,
#[serde(rename = "Spec")]
#[serde(skip_serializing_if = "Option::is_none")]
pub spec: Option<String>,
#[serde(rename = "VbrQuality")]
#[serde(skip_serializing_if = "Option::is_none")]
pub vbr_quality: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Ac3Settings {
#[serde(rename = "Bitrate")]
#[serde(skip_serializing_if = "Option::is_none")]
pub bitrate: Option<f64>,
#[serde(rename = "BitstreamMode")]
#[serde(skip_serializing_if = "Option::is_none")]
pub bitstream_mode: Option<String>,
#[serde(rename = "CodingMode")]
#[serde(skip_serializing_if = "Option::is_none")]
pub coding_mode: Option<String>,
#[serde(rename = "Dialnorm")]
#[serde(skip_serializing_if = "Option::is_none")]
pub dialnorm: Option<i64>,
#[serde(rename = "DrcProfile")]
#[serde(skip_serializing_if = "Option::is_none")]
pub drc_profile: Option<String>,
#[serde(rename = "LfeFilter")]
#[serde(skip_serializing_if = "Option::is_none")]
pub lfe_filter: Option<String>,
#[serde(rename = "MetadataControl")]
#[serde(skip_serializing_if = "Option::is_none")]
pub metadata_control: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct ArchiveContainerSettings {
#[serde(rename = "M2tsSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub m_2ts_settings: Option<M2tsSettings>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct ArchiveGroupSettings {
#[serde(rename = "Destination")]
pub destination: OutputLocationRef,
#[serde(rename = "RolloverInterval")]
#[serde(skip_serializing_if = "Option::is_none")]
pub rollover_interval: Option<i64>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct ArchiveOutputSettings {
#[serde(rename = "ContainerSettings")]
pub container_settings: ArchiveContainerSettings,
#[serde(rename = "Extension")]
#[serde(skip_serializing_if = "Option::is_none")]
pub extension: Option<String>,
#[serde(rename = "NameModifier")]
#[serde(skip_serializing_if = "Option::is_none")]
pub name_modifier: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct AribDestinationSettings {}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct AribSourceSettings {}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct AudioChannelMapping {
#[serde(rename = "InputChannelLevels")]
pub input_channel_levels: Vec<InputChannelLevel>,
#[serde(rename = "OutputChannel")]
pub output_channel: i64,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct AudioCodecSettings {
#[serde(rename = "AacSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub aac_settings: Option<AacSettings>,
#[serde(rename = "Ac3Settings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub ac_3_settings: Option<Ac3Settings>,
#[serde(rename = "Eac3Settings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub eac_3_settings: Option<Eac3Settings>,
#[serde(rename = "Mp2Settings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub mp_2_settings: Option<Mp2Settings>,
#[serde(rename = "PassThroughSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub pass_through_settings: Option<PassThroughSettings>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct AudioDescription {
#[serde(rename = "AudioNormalizationSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub audio_normalization_settings: Option<AudioNormalizationSettings>,
#[serde(rename = "AudioSelectorName")]
pub audio_selector_name: String,
#[serde(rename = "AudioType")]
#[serde(skip_serializing_if = "Option::is_none")]
pub audio_type: Option<String>,
#[serde(rename = "AudioTypeControl")]
#[serde(skip_serializing_if = "Option::is_none")]
pub audio_type_control: Option<String>,
#[serde(rename = "CodecSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub codec_settings: Option<AudioCodecSettings>,
#[serde(rename = "LanguageCode")]
#[serde(skip_serializing_if = "Option::is_none")]
pub language_code: Option<String>,
#[serde(rename = "LanguageCodeControl")]
#[serde(skip_serializing_if = "Option::is_none")]
pub language_code_control: Option<String>,
#[serde(rename = "Name")]
pub name: String,
#[serde(rename = "RemixSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub remix_settings: Option<RemixSettings>,
#[serde(rename = "StreamName")]
#[serde(skip_serializing_if = "Option::is_none")]
pub stream_name: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct AudioLanguageSelection {
#[serde(rename = "LanguageCode")]
pub language_code: String,
#[serde(rename = "LanguageSelectionPolicy")]
#[serde(skip_serializing_if = "Option::is_none")]
pub language_selection_policy: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct AudioNormalizationSettings {
#[serde(rename = "Algorithm")]
#[serde(skip_serializing_if = "Option::is_none")]
pub algorithm: Option<String>,
#[serde(rename = "AlgorithmControl")]
#[serde(skip_serializing_if = "Option::is_none")]
pub algorithm_control: Option<String>,
#[serde(rename = "TargetLkfs")]
#[serde(skip_serializing_if = "Option::is_none")]
pub target_lkfs: Option<f64>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct AudioOnlyHlsSettings {
#[serde(rename = "AudioGroupId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub audio_group_id: Option<String>,
#[serde(rename = "AudioOnlyImage")]
#[serde(skip_serializing_if = "Option::is_none")]
pub audio_only_image: Option<InputLocation>,
#[serde(rename = "AudioTrackType")]
#[serde(skip_serializing_if = "Option::is_none")]
pub audio_track_type: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct AudioPidSelection {
#[serde(rename = "Pid")]
pub pid: i64,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct AudioSelector {
#[serde(rename = "Name")]
pub name: String,
#[serde(rename = "SelectorSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub selector_settings: Option<AudioSelectorSettings>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct AudioSelectorSettings {
#[serde(rename = "AudioLanguageSelection")]
#[serde(skip_serializing_if = "Option::is_none")]
pub audio_language_selection: Option<AudioLanguageSelection>,
#[serde(rename = "AudioPidSelection")]
#[serde(skip_serializing_if = "Option::is_none")]
pub audio_pid_selection: Option<AudioPidSelection>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct AvailBlanking {
#[serde(rename = "AvailBlankingImage")]
#[serde(skip_serializing_if = "Option::is_none")]
pub avail_blanking_image: Option<InputLocation>,
#[serde(rename = "State")]
#[serde(skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct AvailConfiguration {
#[serde(rename = "AvailSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub avail_settings: Option<AvailSettings>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct AvailSettings {
#[serde(rename = "Scte35SpliceInsert")]
#[serde(skip_serializing_if = "Option::is_none")]
pub scte_35_splice_insert: Option<Scte35SpliceInsert>,
#[serde(rename = "Scte35TimeSignalApos")]
#[serde(skip_serializing_if = "Option::is_none")]
pub scte_35_time_signal_apos: Option<Scte35TimeSignalApos>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct BatchScheduleActionCreateRequest {
#[serde(rename = "ScheduleActions")]
pub schedule_actions: Vec<ScheduleAction>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct BatchScheduleActionCreateResult {
#[serde(rename = "ScheduleActions")]
pub schedule_actions: Vec<ScheduleAction>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct BatchScheduleActionDeleteRequest {
#[serde(rename = "ActionNames")]
pub action_names: Vec<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct BatchScheduleActionDeleteResult {
#[serde(rename = "ScheduleActions")]
pub schedule_actions: Vec<ScheduleAction>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct BatchUpdateScheduleRequest {
#[serde(rename = "ChannelId")]
pub channel_id: String,
#[serde(rename = "Creates")]
#[serde(skip_serializing_if = "Option::is_none")]
pub creates: Option<BatchScheduleActionCreateRequest>,
#[serde(rename = "Deletes")]
#[serde(skip_serializing_if = "Option::is_none")]
pub deletes: Option<BatchScheduleActionDeleteRequest>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct BatchUpdateScheduleResponse {
#[serde(rename = "Creates")]
#[serde(skip_serializing_if = "Option::is_none")]
pub creates: Option<BatchScheduleActionCreateResult>,
#[serde(rename = "Deletes")]
#[serde(skip_serializing_if = "Option::is_none")]
pub deletes: Option<BatchScheduleActionDeleteResult>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct BlackoutSlate {
#[serde(rename = "BlackoutSlateImage")]
#[serde(skip_serializing_if = "Option::is_none")]
pub blackout_slate_image: Option<InputLocation>,
#[serde(rename = "NetworkEndBlackout")]
#[serde(skip_serializing_if = "Option::is_none")]
pub network_end_blackout: Option<String>,
#[serde(rename = "NetworkEndBlackoutImage")]
#[serde(skip_serializing_if = "Option::is_none")]
pub network_end_blackout_image: Option<InputLocation>,
#[serde(rename = "NetworkId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub network_id: Option<String>,
#[serde(rename = "State")]
#[serde(skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct BurnInDestinationSettings {
#[serde(rename = "Alignment")]
#[serde(skip_serializing_if = "Option::is_none")]
pub alignment: Option<String>,
#[serde(rename = "BackgroundColor")]
#[serde(skip_serializing_if = "Option::is_none")]
pub background_color: Option<String>,
#[serde(rename = "BackgroundOpacity")]
#[serde(skip_serializing_if = "Option::is_none")]
pub background_opacity: Option<i64>,
#[serde(rename = "Font")]
#[serde(skip_serializing_if = "Option::is_none")]
pub font: Option<InputLocation>,
#[serde(rename = "FontColor")]
#[serde(skip_serializing_if = "Option::is_none")]
pub font_color: Option<String>,
#[serde(rename = "FontOpacity")]
#[serde(skip_serializing_if = "Option::is_none")]
pub font_opacity: Option<i64>,
#[serde(rename = "FontResolution")]
#[serde(skip_serializing_if = "Option::is_none")]
pub font_resolution: Option<i64>,
#[serde(rename = "FontSize")]
#[serde(skip_serializing_if = "Option::is_none")]
pub font_size: Option<String>,
#[serde(rename = "OutlineColor")]
#[serde(skip_serializing_if = "Option::is_none")]
pub outline_color: Option<String>,
#[serde(rename = "OutlineSize")]
#[serde(skip_serializing_if = "Option::is_none")]
pub outline_size: Option<i64>,
#[serde(rename = "ShadowColor")]
#[serde(skip_serializing_if = "Option::is_none")]
pub shadow_color: Option<String>,
#[serde(rename = "ShadowOpacity")]
#[serde(skip_serializing_if = "Option::is_none")]
pub shadow_opacity: Option<i64>,
#[serde(rename = "ShadowXOffset")]
#[serde(skip_serializing_if = "Option::is_none")]
pub shadow_x_offset: Option<i64>,
#[serde(rename = "ShadowYOffset")]
#[serde(skip_serializing_if = "Option::is_none")]
pub shadow_y_offset: Option<i64>,
#[serde(rename = "TeletextGridControl")]
#[serde(skip_serializing_if = "Option::is_none")]
pub teletext_grid_control: Option<String>,
#[serde(rename = "XPosition")]
#[serde(skip_serializing_if = "Option::is_none")]
pub x_position: Option<i64>,
#[serde(rename = "YPosition")]
#[serde(skip_serializing_if = "Option::is_none")]
pub y_position: Option<i64>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct CaptionDescription {
#[serde(rename = "CaptionSelectorName")]
pub caption_selector_name: String,
#[serde(rename = "DestinationSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub destination_settings: Option<CaptionDestinationSettings>,
#[serde(rename = "LanguageCode")]
#[serde(skip_serializing_if = "Option::is_none")]
pub language_code: Option<String>,
#[serde(rename = "LanguageDescription")]
#[serde(skip_serializing_if = "Option::is_none")]
pub language_description: Option<String>,
#[serde(rename = "Name")]
pub name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct CaptionDestinationSettings {
#[serde(rename = "AribDestinationSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub arib_destination_settings: Option<AribDestinationSettings>,
#[serde(rename = "BurnInDestinationSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub burn_in_destination_settings: Option<BurnInDestinationSettings>,
#[serde(rename = "DvbSubDestinationSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub dvb_sub_destination_settings: Option<DvbSubDestinationSettings>,
#[serde(rename = "EmbeddedDestinationSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub embedded_destination_settings: Option<EmbeddedDestinationSettings>,
#[serde(rename = "EmbeddedPlusScte20DestinationSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub embedded_plus_scte_20_destination_settings: Option<EmbeddedPlusScte20DestinationSettings>,
#[serde(rename = "RtmpCaptionInfoDestinationSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub rtmp_caption_info_destination_settings: Option<RtmpCaptionInfoDestinationSettings>,
#[serde(rename = "Scte20PlusEmbeddedDestinationSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub scte_20_plus_embedded_destination_settings: Option<Scte20PlusEmbeddedDestinationSettings>,
#[serde(rename = "Scte27DestinationSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub scte_27_destination_settings: Option<Scte27DestinationSettings>,
#[serde(rename = "SmpteTtDestinationSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub smpte_tt_destination_settings: Option<SmpteTtDestinationSettings>,
#[serde(rename = "TeletextDestinationSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub teletext_destination_settings: Option<TeletextDestinationSettings>,
#[serde(rename = "TtmlDestinationSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub ttml_destination_settings: Option<TtmlDestinationSettings>,
#[serde(rename = "WebvttDestinationSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub webvtt_destination_settings: Option<WebvttDestinationSettings>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct CaptionLanguageMapping {
#[serde(rename = "CaptionChannel")]
pub caption_channel: i64,
#[serde(rename = "LanguageCode")]
pub language_code: String,
#[serde(rename = "LanguageDescription")]
pub language_description: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct CaptionSelector {
#[serde(rename = "LanguageCode")]
#[serde(skip_serializing_if = "Option::is_none")]
pub language_code: Option<String>,
#[serde(rename = "Name")]
pub name: String,
#[serde(rename = "SelectorSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub selector_settings: Option<CaptionSelectorSettings>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct CaptionSelectorSettings {
#[serde(rename = "AribSourceSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub arib_source_settings: Option<AribSourceSettings>,
#[serde(rename = "DvbSubSourceSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub dvb_sub_source_settings: Option<DvbSubSourceSettings>,
#[serde(rename = "EmbeddedSourceSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub embedded_source_settings: Option<EmbeddedSourceSettings>,
#[serde(rename = "Scte20SourceSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub scte_20_source_settings: Option<Scte20SourceSettings>,
#[serde(rename = "Scte27SourceSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub scte_27_source_settings: Option<Scte27SourceSettings>,
#[serde(rename = "TeletextSourceSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub teletext_source_settings: Option<TeletextSourceSettings>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct Channel {
#[serde(rename = "Arn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub arn: Option<String>,
#[serde(rename = "ChannelClass")]
#[serde(skip_serializing_if = "Option::is_none")]
pub channel_class: Option<String>,
#[serde(rename = "Destinations")]
#[serde(skip_serializing_if = "Option::is_none")]
pub destinations: Option<Vec<OutputDestination>>,
#[serde(rename = "EgressEndpoints")]
#[serde(skip_serializing_if = "Option::is_none")]
pub egress_endpoints: Option<Vec<ChannelEgressEndpoint>>,
#[serde(rename = "EncoderSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub encoder_settings: Option<EncoderSettings>,
#[serde(rename = "Id")]
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(rename = "InputAttachments")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_attachments: Option<Vec<InputAttachment>>,
#[serde(rename = "InputSpecification")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_specification: Option<InputSpecification>,
#[serde(rename = "LogLevel")]
#[serde(skip_serializing_if = "Option::is_none")]
pub log_level: Option<String>,
#[serde(rename = "Name")]
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "PipelinesRunningCount")]
#[serde(skip_serializing_if = "Option::is_none")]
pub pipelines_running_count: Option<i64>,
#[serde(rename = "RoleArn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub role_arn: Option<String>,
#[serde(rename = "State")]
#[serde(skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
#[serde(rename = "Tags")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tags: Option<::std::collections::HashMap<String, String>>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct ChannelEgressEndpoint {
#[serde(rename = "SourceIp")]
#[serde(skip_serializing_if = "Option::is_none")]
pub source_ip: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct ChannelSummary {
#[serde(rename = "Arn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub arn: Option<String>,
#[serde(rename = "ChannelClass")]
#[serde(skip_serializing_if = "Option::is_none")]
pub channel_class: Option<String>,
#[serde(rename = "Destinations")]
#[serde(skip_serializing_if = "Option::is_none")]
pub destinations: Option<Vec<OutputDestination>>,
#[serde(rename = "EgressEndpoints")]
#[serde(skip_serializing_if = "Option::is_none")]
pub egress_endpoints: Option<Vec<ChannelEgressEndpoint>>,
#[serde(rename = "Id")]
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(rename = "InputAttachments")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_attachments: Option<Vec<InputAttachment>>,
#[serde(rename = "InputSpecification")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_specification: Option<InputSpecification>,
#[serde(rename = "LogLevel")]
#[serde(skip_serializing_if = "Option::is_none")]
pub log_level: Option<String>,
#[serde(rename = "Name")]
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "PipelinesRunningCount")]
#[serde(skip_serializing_if = "Option::is_none")]
pub pipelines_running_count: Option<i64>,
#[serde(rename = "RoleArn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub role_arn: Option<String>,
#[serde(rename = "State")]
#[serde(skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
#[serde(rename = "Tags")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tags: Option<::std::collections::HashMap<String, String>>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct CreateChannelRequest {
#[serde(rename = "ChannelClass")]
#[serde(skip_serializing_if = "Option::is_none")]
pub channel_class: Option<String>,
#[serde(rename = "Destinations")]
#[serde(skip_serializing_if = "Option::is_none")]
pub destinations: Option<Vec<OutputDestination>>,
#[serde(rename = "EncoderSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub encoder_settings: Option<EncoderSettings>,
#[serde(rename = "InputAttachments")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_attachments: Option<Vec<InputAttachment>>,
#[serde(rename = "InputSpecification")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_specification: Option<InputSpecification>,
#[serde(rename = "LogLevel")]
#[serde(skip_serializing_if = "Option::is_none")]
pub log_level: Option<String>,
#[serde(rename = "Name")]
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "RequestId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub request_id: Option<String>,
#[serde(rename = "RoleArn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub role_arn: Option<String>,
#[serde(rename = "Tags")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tags: Option<::std::collections::HashMap<String, String>>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct CreateChannelResponse {
#[serde(rename = "Channel")]
#[serde(skip_serializing_if = "Option::is_none")]
pub channel: Option<Channel>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct CreateInputRequest {
#[serde(rename = "Destinations")]
#[serde(skip_serializing_if = "Option::is_none")]
pub destinations: Option<Vec<InputDestinationRequest>>,
#[serde(rename = "InputSecurityGroups")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_security_groups: Option<Vec<String>>,
#[serde(rename = "MediaConnectFlows")]
#[serde(skip_serializing_if = "Option::is_none")]
pub media_connect_flows: Option<Vec<MediaConnectFlowRequest>>,
#[serde(rename = "Name")]
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "RequestId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub request_id: Option<String>,
#[serde(rename = "RoleArn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub role_arn: Option<String>,
#[serde(rename = "Sources")]
#[serde(skip_serializing_if = "Option::is_none")]
pub sources: Option<Vec<InputSourceRequest>>,
#[serde(rename = "Tags")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tags: Option<::std::collections::HashMap<String, String>>,
#[serde(rename = "Type")]
#[serde(skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
#[serde(rename = "Vpc")]
#[serde(skip_serializing_if = "Option::is_none")]
pub vpc: Option<InputVpcRequest>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct CreateInputResponse {
#[serde(rename = "Input")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input: Option<Input>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct CreateInputSecurityGroupRequest {
#[serde(rename = "Tags")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tags: Option<::std::collections::HashMap<String, String>>,
#[serde(rename = "WhitelistRules")]
#[serde(skip_serializing_if = "Option::is_none")]
pub whitelist_rules: Option<Vec<InputWhitelistRuleCidr>>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct CreateInputSecurityGroupResponse {
#[serde(rename = "SecurityGroup")]
#[serde(skip_serializing_if = "Option::is_none")]
pub security_group: Option<InputSecurityGroup>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct CreateTagsRequest {
#[serde(rename = "ResourceArn")]
pub resource_arn: String,
#[serde(rename = "Tags")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tags: Option<::std::collections::HashMap<String, String>>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct DeleteChannelRequest {
#[serde(rename = "ChannelId")]
pub channel_id: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct DeleteChannelResponse {
#[serde(rename = "Arn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub arn: Option<String>,
#[serde(rename = "ChannelClass")]
#[serde(skip_serializing_if = "Option::is_none")]
pub channel_class: Option<String>,
#[serde(rename = "Destinations")]
#[serde(skip_serializing_if = "Option::is_none")]
pub destinations: Option<Vec<OutputDestination>>,
#[serde(rename = "EgressEndpoints")]
#[serde(skip_serializing_if = "Option::is_none")]
pub egress_endpoints: Option<Vec<ChannelEgressEndpoint>>,
#[serde(rename = "EncoderSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub encoder_settings: Option<EncoderSettings>,
#[serde(rename = "Id")]
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(rename = "InputAttachments")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_attachments: Option<Vec<InputAttachment>>,
#[serde(rename = "InputSpecification")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_specification: Option<InputSpecification>,
#[serde(rename = "LogLevel")]
#[serde(skip_serializing_if = "Option::is_none")]
pub log_level: Option<String>,
#[serde(rename = "Name")]
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "PipelinesRunningCount")]
#[serde(skip_serializing_if = "Option::is_none")]
pub pipelines_running_count: Option<i64>,
#[serde(rename = "RoleArn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub role_arn: Option<String>,
#[serde(rename = "State")]
#[serde(skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
#[serde(rename = "Tags")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tags: Option<::std::collections::HashMap<String, String>>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct DeleteInputRequest {
#[serde(rename = "InputId")]
pub input_id: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct DeleteInputResponse {}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct DeleteInputSecurityGroupRequest {
#[serde(rename = "InputSecurityGroupId")]
pub input_security_group_id: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct DeleteInputSecurityGroupResponse {}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct DeleteReservationRequest {
#[serde(rename = "ReservationId")]
pub reservation_id: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct DeleteReservationResponse {
#[serde(rename = "Arn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub arn: Option<String>,
#[serde(rename = "Count")]
#[serde(skip_serializing_if = "Option::is_none")]
pub count: Option<i64>,
#[serde(rename = "CurrencyCode")]
#[serde(skip_serializing_if = "Option::is_none")]
pub currency_code: Option<String>,
#[serde(rename = "Duration")]
#[serde(skip_serializing_if = "Option::is_none")]
pub duration: Option<i64>,
#[serde(rename = "DurationUnits")]
#[serde(skip_serializing_if = "Option::is_none")]
pub duration_units: Option<String>,
#[serde(rename = "End")]
#[serde(skip_serializing_if = "Option::is_none")]
pub end: Option<String>,
#[serde(rename = "FixedPrice")]
#[serde(skip_serializing_if = "Option::is_none")]
pub fixed_price: Option<f64>,
#[serde(rename = "Name")]
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "OfferingDescription")]
#[serde(skip_serializing_if = "Option::is_none")]
pub offering_description: Option<String>,
#[serde(rename = "OfferingId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub offering_id: Option<String>,
#[serde(rename = "OfferingType")]
#[serde(skip_serializing_if = "Option::is_none")]
pub offering_type: Option<String>,
#[serde(rename = "Region")]
#[serde(skip_serializing_if = "Option::is_none")]
pub region: Option<String>,
#[serde(rename = "ReservationId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub reservation_id: Option<String>,
#[serde(rename = "ResourceSpecification")]
#[serde(skip_serializing_if = "Option::is_none")]
pub resource_specification: Option<ReservationResourceSpecification>,
#[serde(rename = "Start")]
#[serde(skip_serializing_if = "Option::is_none")]
pub start: Option<String>,
#[serde(rename = "State")]
#[serde(skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
#[serde(rename = "Tags")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tags: Option<::std::collections::HashMap<String, String>>,
#[serde(rename = "UsagePrice")]
#[serde(skip_serializing_if = "Option::is_none")]
pub usage_price: Option<f64>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct DeleteScheduleRequest {
#[serde(rename = "ChannelId")]
pub channel_id: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct DeleteScheduleResponse {}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct DeleteTagsRequest {
#[serde(rename = "ResourceArn")]
pub resource_arn: String,
#[serde(rename = "TagKeys")]
pub tag_keys: Vec<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct DescribeChannelRequest {
#[serde(rename = "ChannelId")]
pub channel_id: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct DescribeChannelResponse {
#[serde(rename = "Arn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub arn: Option<String>,
#[serde(rename = "ChannelClass")]
#[serde(skip_serializing_if = "Option::is_none")]
pub channel_class: Option<String>,
#[serde(rename = "Destinations")]
#[serde(skip_serializing_if = "Option::is_none")]
pub destinations: Option<Vec<OutputDestination>>,
#[serde(rename = "EgressEndpoints")]
#[serde(skip_serializing_if = "Option::is_none")]
pub egress_endpoints: Option<Vec<ChannelEgressEndpoint>>,
#[serde(rename = "EncoderSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub encoder_settings: Option<EncoderSettings>,
#[serde(rename = "Id")]
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(rename = "InputAttachments")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_attachments: Option<Vec<InputAttachment>>,
#[serde(rename = "InputSpecification")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_specification: Option<InputSpecification>,
#[serde(rename = "LogLevel")]
#[serde(skip_serializing_if = "Option::is_none")]
pub log_level: Option<String>,
#[serde(rename = "Name")]
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "PipelinesRunningCount")]
#[serde(skip_serializing_if = "Option::is_none")]
pub pipelines_running_count: Option<i64>,
#[serde(rename = "RoleArn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub role_arn: Option<String>,
#[serde(rename = "State")]
#[serde(skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
#[serde(rename = "Tags")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tags: Option<::std::collections::HashMap<String, String>>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct DescribeInputRequest {
#[serde(rename = "InputId")]
pub input_id: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct DescribeInputResponse {
#[serde(rename = "Arn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub arn: Option<String>,
#[serde(rename = "AttachedChannels")]
#[serde(skip_serializing_if = "Option::is_none")]
pub attached_channels: Option<Vec<String>>,
#[serde(rename = "Destinations")]
#[serde(skip_serializing_if = "Option::is_none")]
pub destinations: Option<Vec<InputDestination>>,
#[serde(rename = "Id")]
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(rename = "InputClass")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_class: Option<String>,
#[serde(rename = "MediaConnectFlows")]
#[serde(skip_serializing_if = "Option::is_none")]
pub media_connect_flows: Option<Vec<MediaConnectFlow>>,
#[serde(rename = "Name")]
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "RoleArn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub role_arn: Option<String>,
#[serde(rename = "SecurityGroups")]
#[serde(skip_serializing_if = "Option::is_none")]
pub security_groups: Option<Vec<String>>,
#[serde(rename = "Sources")]
#[serde(skip_serializing_if = "Option::is_none")]
pub sources: Option<Vec<InputSource>>,
#[serde(rename = "State")]
#[serde(skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
#[serde(rename = "Tags")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tags: Option<::std::collections::HashMap<String, String>>,
#[serde(rename = "Type")]
#[serde(skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct DescribeInputSecurityGroupRequest {
#[serde(rename = "InputSecurityGroupId")]
pub input_security_group_id: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct DescribeInputSecurityGroupResponse {
#[serde(rename = "Arn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub arn: Option<String>,
#[serde(rename = "Id")]
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(rename = "Inputs")]
#[serde(skip_serializing_if = "Option::is_none")]
pub inputs: Option<Vec<String>>,
#[serde(rename = "State")]
#[serde(skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
#[serde(rename = "Tags")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tags: Option<::std::collections::HashMap<String, String>>,
#[serde(rename = "WhitelistRules")]
#[serde(skip_serializing_if = "Option::is_none")]
pub whitelist_rules: Option<Vec<InputWhitelistRule>>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct DescribeOfferingRequest {
#[serde(rename = "OfferingId")]
pub offering_id: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct DescribeOfferingResponse {
#[serde(rename = "Arn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub arn: Option<String>,
#[serde(rename = "CurrencyCode")]
#[serde(skip_serializing_if = "Option::is_none")]
pub currency_code: Option<String>,
#[serde(rename = "Duration")]
#[serde(skip_serializing_if = "Option::is_none")]
pub duration: Option<i64>,
#[serde(rename = "DurationUnits")]
#[serde(skip_serializing_if = "Option::is_none")]
pub duration_units: Option<String>,
#[serde(rename = "FixedPrice")]
#[serde(skip_serializing_if = "Option::is_none")]
pub fixed_price: Option<f64>,
#[serde(rename = "OfferingDescription")]
#[serde(skip_serializing_if = "Option::is_none")]
pub offering_description: Option<String>,
#[serde(rename = "OfferingId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub offering_id: Option<String>,
#[serde(rename = "OfferingType")]
#[serde(skip_serializing_if = "Option::is_none")]
pub offering_type: Option<String>,
#[serde(rename = "Region")]
#[serde(skip_serializing_if = "Option::is_none")]
pub region: Option<String>,
#[serde(rename = "ResourceSpecification")]
#[serde(skip_serializing_if = "Option::is_none")]
pub resource_specification: Option<ReservationResourceSpecification>,
#[serde(rename = "UsagePrice")]
#[serde(skip_serializing_if = "Option::is_none")]
pub usage_price: Option<f64>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct DescribeReservationRequest {
#[serde(rename = "ReservationId")]
pub reservation_id: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct DescribeReservationResponse {
#[serde(rename = "Arn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub arn: Option<String>,
#[serde(rename = "Count")]
#[serde(skip_serializing_if = "Option::is_none")]
pub count: Option<i64>,
#[serde(rename = "CurrencyCode")]
#[serde(skip_serializing_if = "Option::is_none")]
pub currency_code: Option<String>,
#[serde(rename = "Duration")]
#[serde(skip_serializing_if = "Option::is_none")]
pub duration: Option<i64>,
#[serde(rename = "DurationUnits")]
#[serde(skip_serializing_if = "Option::is_none")]
pub duration_units: Option<String>,
#[serde(rename = "End")]
#[serde(skip_serializing_if = "Option::is_none")]
pub end: Option<String>,
#[serde(rename = "FixedPrice")]
#[serde(skip_serializing_if = "Option::is_none")]
pub fixed_price: Option<f64>,
#[serde(rename = "Name")]
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "OfferingDescription")]
#[serde(skip_serializing_if = "Option::is_none")]
pub offering_description: Option<String>,
#[serde(rename = "OfferingId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub offering_id: Option<String>,
#[serde(rename = "OfferingType")]
#[serde(skip_serializing_if = "Option::is_none")]
pub offering_type: Option<String>,
#[serde(rename = "Region")]
#[serde(skip_serializing_if = "Option::is_none")]
pub region: Option<String>,
#[serde(rename = "ReservationId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub reservation_id: Option<String>,
#[serde(rename = "ResourceSpecification")]
#[serde(skip_serializing_if = "Option::is_none")]
pub resource_specification: Option<ReservationResourceSpecification>,
#[serde(rename = "Start")]
#[serde(skip_serializing_if = "Option::is_none")]
pub start: Option<String>,
#[serde(rename = "State")]
#[serde(skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
#[serde(rename = "Tags")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tags: Option<::std::collections::HashMap<String, String>>,
#[serde(rename = "UsagePrice")]
#[serde(skip_serializing_if = "Option::is_none")]
pub usage_price: Option<f64>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct DescribeScheduleRequest {
#[serde(rename = "ChannelId")]
pub channel_id: 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(test, derive(Serialize))]
pub struct DescribeScheduleResponse {
#[serde(rename = "NextToken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
#[serde(rename = "ScheduleActions")]
#[serde(skip_serializing_if = "Option::is_none")]
pub schedule_actions: Option<Vec<ScheduleAction>>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct DvbNitSettings {
#[serde(rename = "NetworkId")]
pub network_id: i64,
#[serde(rename = "NetworkName")]
pub network_name: String,
#[serde(rename = "RepInterval")]
#[serde(skip_serializing_if = "Option::is_none")]
pub rep_interval: Option<i64>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct DvbSdtSettings {
#[serde(rename = "OutputSdt")]
#[serde(skip_serializing_if = "Option::is_none")]
pub output_sdt: Option<String>,
#[serde(rename = "RepInterval")]
#[serde(skip_serializing_if = "Option::is_none")]
pub rep_interval: Option<i64>,
#[serde(rename = "ServiceName")]
#[serde(skip_serializing_if = "Option::is_none")]
pub service_name: Option<String>,
#[serde(rename = "ServiceProviderName")]
#[serde(skip_serializing_if = "Option::is_none")]
pub service_provider_name: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct DvbSubDestinationSettings {
#[serde(rename = "Alignment")]
#[serde(skip_serializing_if = "Option::is_none")]
pub alignment: Option<String>,
#[serde(rename = "BackgroundColor")]
#[serde(skip_serializing_if = "Option::is_none")]
pub background_color: Option<String>,
#[serde(rename = "BackgroundOpacity")]
#[serde(skip_serializing_if = "Option::is_none")]
pub background_opacity: Option<i64>,
#[serde(rename = "Font")]
#[serde(skip_serializing_if = "Option::is_none")]
pub font: Option<InputLocation>,
#[serde(rename = "FontColor")]
#[serde(skip_serializing_if = "Option::is_none")]
pub font_color: Option<String>,
#[serde(rename = "FontOpacity")]
#[serde(skip_serializing_if = "Option::is_none")]
pub font_opacity: Option<i64>,
#[serde(rename = "FontResolution")]
#[serde(skip_serializing_if = "Option::is_none")]
pub font_resolution: Option<i64>,
#[serde(rename = "FontSize")]
#[serde(skip_serializing_if = "Option::is_none")]
pub font_size: Option<String>,
#[serde(rename = "OutlineColor")]
#[serde(skip_serializing_if = "Option::is_none")]
pub outline_color: Option<String>,
#[serde(rename = "OutlineSize")]
#[serde(skip_serializing_if = "Option::is_none")]
pub outline_size: Option<i64>,
#[serde(rename = "ShadowColor")]
#[serde(skip_serializing_if = "Option::is_none")]
pub shadow_color: Option<String>,
#[serde(rename = "ShadowOpacity")]
#[serde(skip_serializing_if = "Option::is_none")]
pub shadow_opacity: Option<i64>,
#[serde(rename = "ShadowXOffset")]
#[serde(skip_serializing_if = "Option::is_none")]
pub shadow_x_offset: Option<i64>,
#[serde(rename = "ShadowYOffset")]
#[serde(skip_serializing_if = "Option::is_none")]
pub shadow_y_offset: Option<i64>,
#[serde(rename = "TeletextGridControl")]
#[serde(skip_serializing_if = "Option::is_none")]
pub teletext_grid_control: Option<String>,
#[serde(rename = "XPosition")]
#[serde(skip_serializing_if = "Option::is_none")]
pub x_position: Option<i64>,
#[serde(rename = "YPosition")]
#[serde(skip_serializing_if = "Option::is_none")]
pub y_position: Option<i64>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct DvbSubSourceSettings {
#[serde(rename = "Pid")]
#[serde(skip_serializing_if = "Option::is_none")]
pub pid: Option<i64>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct DvbTdtSettings {
#[serde(rename = "RepInterval")]
#[serde(skip_serializing_if = "Option::is_none")]
pub rep_interval: Option<i64>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Eac3Settings {
#[serde(rename = "AttenuationControl")]
#[serde(skip_serializing_if = "Option::is_none")]
pub attenuation_control: Option<String>,
#[serde(rename = "Bitrate")]
#[serde(skip_serializing_if = "Option::is_none")]
pub bitrate: Option<f64>,
#[serde(rename = "BitstreamMode")]
#[serde(skip_serializing_if = "Option::is_none")]
pub bitstream_mode: Option<String>,
#[serde(rename = "CodingMode")]
#[serde(skip_serializing_if = "Option::is_none")]
pub coding_mode: Option<String>,
#[serde(rename = "DcFilter")]
#[serde(skip_serializing_if = "Option::is_none")]
pub dc_filter: Option<String>,
#[serde(rename = "Dialnorm")]
#[serde(skip_serializing_if = "Option::is_none")]
pub dialnorm: Option<i64>,
#[serde(rename = "DrcLine")]
#[serde(skip_serializing_if = "Option::is_none")]
pub drc_line: Option<String>,
#[serde(rename = "DrcRf")]
#[serde(skip_serializing_if = "Option::is_none")]
pub drc_rf: Option<String>,
#[serde(rename = "LfeControl")]
#[serde(skip_serializing_if = "Option::is_none")]
pub lfe_control: Option<String>,
#[serde(rename = "LfeFilter")]
#[serde(skip_serializing_if = "Option::is_none")]
pub lfe_filter: Option<String>,
#[serde(rename = "LoRoCenterMixLevel")]
#[serde(skip_serializing_if = "Option::is_none")]
pub lo_ro_center_mix_level: Option<f64>,
#[serde(rename = "LoRoSurroundMixLevel")]
#[serde(skip_serializing_if = "Option::is_none")]
pub lo_ro_surround_mix_level: Option<f64>,
#[serde(rename = "LtRtCenterMixLevel")]
#[serde(skip_serializing_if = "Option::is_none")]
pub lt_rt_center_mix_level: Option<f64>,
#[serde(rename = "LtRtSurroundMixLevel")]
#[serde(skip_serializing_if = "Option::is_none")]
pub lt_rt_surround_mix_level: Option<f64>,
#[serde(rename = "MetadataControl")]
#[serde(skip_serializing_if = "Option::is_none")]
pub metadata_control: Option<String>,
#[serde(rename = "PassthroughControl")]
#[serde(skip_serializing_if = "Option::is_none")]
pub passthrough_control: Option<String>,
#[serde(rename = "PhaseControl")]
#[serde(skip_serializing_if = "Option::is_none")]
pub phase_control: Option<String>,
#[serde(rename = "StereoDownmix")]
#[serde(skip_serializing_if = "Option::is_none")]
pub stereo_downmix: Option<String>,
#[serde(rename = "SurroundExMode")]
#[serde(skip_serializing_if = "Option::is_none")]
pub surround_ex_mode: Option<String>,
#[serde(rename = "SurroundMode")]
#[serde(skip_serializing_if = "Option::is_none")]
pub surround_mode: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct EmbeddedDestinationSettings {}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct EmbeddedPlusScte20DestinationSettings {}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct EmbeddedSourceSettings {
#[serde(rename = "Convert608To708")]
#[serde(skip_serializing_if = "Option::is_none")]
pub convert_608_to_708: Option<String>,
#[serde(rename = "Scte20Detection")]
#[serde(skip_serializing_if = "Option::is_none")]
pub scte_20_detection: Option<String>,
#[serde(rename = "Source608ChannelNumber")]
#[serde(skip_serializing_if = "Option::is_none")]
pub source_608_channel_number: Option<i64>,
#[serde(rename = "Source608TrackNumber")]
#[serde(skip_serializing_if = "Option::is_none")]
pub source_608_track_number: Option<i64>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct EncoderSettings {
#[serde(rename = "AudioDescriptions")]
pub audio_descriptions: Vec<AudioDescription>,
#[serde(rename = "AvailBlanking")]
#[serde(skip_serializing_if = "Option::is_none")]
pub avail_blanking: Option<AvailBlanking>,
#[serde(rename = "AvailConfiguration")]
#[serde(skip_serializing_if = "Option::is_none")]
pub avail_configuration: Option<AvailConfiguration>,
#[serde(rename = "BlackoutSlate")]
#[serde(skip_serializing_if = "Option::is_none")]
pub blackout_slate: Option<BlackoutSlate>,
#[serde(rename = "CaptionDescriptions")]
#[serde(skip_serializing_if = "Option::is_none")]
pub caption_descriptions: Option<Vec<CaptionDescription>>,
#[serde(rename = "GlobalConfiguration")]
#[serde(skip_serializing_if = "Option::is_none")]
pub global_configuration: Option<GlobalConfiguration>,
#[serde(rename = "OutputGroups")]
pub output_groups: Vec<OutputGroup>,
#[serde(rename = "TimecodeConfig")]
pub timecode_config: TimecodeConfig,
#[serde(rename = "VideoDescriptions")]
pub video_descriptions: Vec<VideoDescription>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct FecOutputSettings {
#[serde(rename = "ColumnDepth")]
#[serde(skip_serializing_if = "Option::is_none")]
pub column_depth: Option<i64>,
#[serde(rename = "IncludeFec")]
#[serde(skip_serializing_if = "Option::is_none")]
pub include_fec: Option<String>,
#[serde(rename = "RowLength")]
#[serde(skip_serializing_if = "Option::is_none")]
pub row_length: Option<i64>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct FixedModeScheduleActionStartSettings {
#[serde(rename = "Time")]
pub time: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct FollowModeScheduleActionStartSettings {
#[serde(rename = "FollowPoint")]
pub follow_point: String,
#[serde(rename = "ReferenceActionName")]
pub reference_action_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct FrameCaptureGroupSettings {
#[serde(rename = "Destination")]
pub destination: OutputLocationRef,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct FrameCaptureOutputSettings {
#[serde(rename = "NameModifier")]
#[serde(skip_serializing_if = "Option::is_none")]
pub name_modifier: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct FrameCaptureSettings {
#[serde(rename = "CaptureInterval")]
pub capture_interval: i64,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct GlobalConfiguration {
#[serde(rename = "InitialAudioGain")]
#[serde(skip_serializing_if = "Option::is_none")]
pub initial_audio_gain: Option<i64>,
#[serde(rename = "InputEndAction")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_end_action: Option<String>,
#[serde(rename = "InputLossBehavior")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_loss_behavior: Option<InputLossBehavior>,
#[serde(rename = "OutputLockingMode")]
#[serde(skip_serializing_if = "Option::is_none")]
pub output_locking_mode: Option<String>,
#[serde(rename = "OutputTimingSource")]
#[serde(skip_serializing_if = "Option::is_none")]
pub output_timing_source: Option<String>,
#[serde(rename = "SupportLowFramerateInputs")]
#[serde(skip_serializing_if = "Option::is_none")]
pub support_low_framerate_inputs: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct H264Settings {
#[serde(rename = "AdaptiveQuantization")]
#[serde(skip_serializing_if = "Option::is_none")]
pub adaptive_quantization: Option<String>,
#[serde(rename = "AfdSignaling")]
#[serde(skip_serializing_if = "Option::is_none")]
pub afd_signaling: Option<String>,
#[serde(rename = "Bitrate")]
#[serde(skip_serializing_if = "Option::is_none")]
pub bitrate: Option<i64>,
#[serde(rename = "BufFillPct")]
#[serde(skip_serializing_if = "Option::is_none")]
pub buf_fill_pct: Option<i64>,
#[serde(rename = "BufSize")]
#[serde(skip_serializing_if = "Option::is_none")]
pub buf_size: Option<i64>,
#[serde(rename = "ColorMetadata")]
#[serde(skip_serializing_if = "Option::is_none")]
pub color_metadata: Option<String>,
#[serde(rename = "EntropyEncoding")]
#[serde(skip_serializing_if = "Option::is_none")]
pub entropy_encoding: Option<String>,
#[serde(rename = "FixedAfd")]
#[serde(skip_serializing_if = "Option::is_none")]
pub fixed_afd: Option<String>,
#[serde(rename = "FlickerAq")]
#[serde(skip_serializing_if = "Option::is_none")]
pub flicker_aq: Option<String>,
#[serde(rename = "FramerateControl")]
#[serde(skip_serializing_if = "Option::is_none")]
pub framerate_control: Option<String>,
#[serde(rename = "FramerateDenominator")]
#[serde(skip_serializing_if = "Option::is_none")]
pub framerate_denominator: Option<i64>,
#[serde(rename = "FramerateNumerator")]
#[serde(skip_serializing_if = "Option::is_none")]
pub framerate_numerator: Option<i64>,
#[serde(rename = "GopBReference")]
#[serde(skip_serializing_if = "Option::is_none")]
pub gop_b_reference: Option<String>,
#[serde(rename = "GopClosedCadence")]
#[serde(skip_serializing_if = "Option::is_none")]
pub gop_closed_cadence: Option<i64>,
#[serde(rename = "GopNumBFrames")]
#[serde(skip_serializing_if = "Option::is_none")]
pub gop_num_b_frames: Option<i64>,
#[serde(rename = "GopSize")]
#[serde(skip_serializing_if = "Option::is_none")]
pub gop_size: Option<f64>,
#[serde(rename = "GopSizeUnits")]
#[serde(skip_serializing_if = "Option::is_none")]
pub gop_size_units: Option<String>,
#[serde(rename = "Level")]
#[serde(skip_serializing_if = "Option::is_none")]
pub level: Option<String>,
#[serde(rename = "LookAheadRateControl")]
#[serde(skip_serializing_if = "Option::is_none")]
pub look_ahead_rate_control: Option<String>,
#[serde(rename = "MaxBitrate")]
#[serde(skip_serializing_if = "Option::is_none")]
pub max_bitrate: Option<i64>,
#[serde(rename = "MinIInterval")]
#[serde(skip_serializing_if = "Option::is_none")]
pub min_i_interval: Option<i64>,
#[serde(rename = "NumRefFrames")]
#[serde(skip_serializing_if = "Option::is_none")]
pub num_ref_frames: Option<i64>,
#[serde(rename = "ParControl")]
#[serde(skip_serializing_if = "Option::is_none")]
pub par_control: Option<String>,
#[serde(rename = "ParDenominator")]
#[serde(skip_serializing_if = "Option::is_none")]
pub par_denominator: Option<i64>,
#[serde(rename = "ParNumerator")]
#[serde(skip_serializing_if = "Option::is_none")]
pub par_numerator: Option<i64>,
#[serde(rename = "Profile")]
#[serde(skip_serializing_if = "Option::is_none")]
pub profile: Option<String>,
#[serde(rename = "QvbrQualityLevel")]
#[serde(skip_serializing_if = "Option::is_none")]
pub qvbr_quality_level: Option<i64>,
#[serde(rename = "RateControlMode")]
#[serde(skip_serializing_if = "Option::is_none")]
pub rate_control_mode: Option<String>,
#[serde(rename = "ScanType")]
#[serde(skip_serializing_if = "Option::is_none")]
pub scan_type: Option<String>,
#[serde(rename = "SceneChangeDetect")]
#[serde(skip_serializing_if = "Option::is_none")]
pub scene_change_detect: Option<String>,
#[serde(rename = "Slices")]
#[serde(skip_serializing_if = "Option::is_none")]
pub slices: Option<i64>,
#[serde(rename = "Softness")]
#[serde(skip_serializing_if = "Option::is_none")]
pub softness: Option<i64>,
#[serde(rename = "SpatialAq")]
#[serde(skip_serializing_if = "Option::is_none")]
pub spatial_aq: Option<String>,
#[serde(rename = "SubgopLength")]
#[serde(skip_serializing_if = "Option::is_none")]
pub subgop_length: Option<String>,
#[serde(rename = "Syntax")]
#[serde(skip_serializing_if = "Option::is_none")]
pub syntax: Option<String>,
#[serde(rename = "TemporalAq")]
#[serde(skip_serializing_if = "Option::is_none")]
pub temporal_aq: Option<String>,
#[serde(rename = "TimecodeInsertion")]
#[serde(skip_serializing_if = "Option::is_none")]
pub timecode_insertion: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct HlsAkamaiSettings {
#[serde(rename = "ConnectionRetryInterval")]
#[serde(skip_serializing_if = "Option::is_none")]
pub connection_retry_interval: Option<i64>,
#[serde(rename = "FilecacheDuration")]
#[serde(skip_serializing_if = "Option::is_none")]
pub filecache_duration: Option<i64>,
#[serde(rename = "HttpTransferMode")]
#[serde(skip_serializing_if = "Option::is_none")]
pub http_transfer_mode: Option<String>,
#[serde(rename = "NumRetries")]
#[serde(skip_serializing_if = "Option::is_none")]
pub num_retries: Option<i64>,
#[serde(rename = "RestartDelay")]
#[serde(skip_serializing_if = "Option::is_none")]
pub restart_delay: Option<i64>,
#[serde(rename = "Salt")]
#[serde(skip_serializing_if = "Option::is_none")]
pub salt: Option<String>,
#[serde(rename = "Token")]
#[serde(skip_serializing_if = "Option::is_none")]
pub token: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct HlsBasicPutSettings {
#[serde(rename = "ConnectionRetryInterval")]
#[serde(skip_serializing_if = "Option::is_none")]
pub connection_retry_interval: Option<i64>,
#[serde(rename = "FilecacheDuration")]
#[serde(skip_serializing_if = "Option::is_none")]
pub filecache_duration: Option<i64>,
#[serde(rename = "NumRetries")]
#[serde(skip_serializing_if = "Option::is_none")]
pub num_retries: Option<i64>,
#[serde(rename = "RestartDelay")]
#[serde(skip_serializing_if = "Option::is_none")]
pub restart_delay: Option<i64>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct HlsCdnSettings {
#[serde(rename = "HlsAkamaiSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub hls_akamai_settings: Option<HlsAkamaiSettings>,
#[serde(rename = "HlsBasicPutSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub hls_basic_put_settings: Option<HlsBasicPutSettings>,
#[serde(rename = "HlsMediaStoreSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub hls_media_store_settings: Option<HlsMediaStoreSettings>,
#[serde(rename = "HlsWebdavSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub hls_webdav_settings: Option<HlsWebdavSettings>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct HlsGroupSettings {
#[serde(rename = "AdMarkers")]
#[serde(skip_serializing_if = "Option::is_none")]
pub ad_markers: Option<Vec<String>>,
#[serde(rename = "BaseUrlContent")]
#[serde(skip_serializing_if = "Option::is_none")]
pub base_url_content: Option<String>,
#[serde(rename = "BaseUrlManifest")]
#[serde(skip_serializing_if = "Option::is_none")]
pub base_url_manifest: Option<String>,
#[serde(rename = "CaptionLanguageMappings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub caption_language_mappings: Option<Vec<CaptionLanguageMapping>>,
#[serde(rename = "CaptionLanguageSetting")]
#[serde(skip_serializing_if = "Option::is_none")]
pub caption_language_setting: Option<String>,
#[serde(rename = "ClientCache")]
#[serde(skip_serializing_if = "Option::is_none")]
pub client_cache: Option<String>,
#[serde(rename = "CodecSpecification")]
#[serde(skip_serializing_if = "Option::is_none")]
pub codec_specification: Option<String>,
#[serde(rename = "ConstantIv")]
#[serde(skip_serializing_if = "Option::is_none")]
pub constant_iv: Option<String>,
#[serde(rename = "Destination")]
pub destination: OutputLocationRef,
#[serde(rename = "DirectoryStructure")]
#[serde(skip_serializing_if = "Option::is_none")]
pub directory_structure: Option<String>,
#[serde(rename = "EncryptionType")]
#[serde(skip_serializing_if = "Option::is_none")]
pub encryption_type: Option<String>,
#[serde(rename = "HlsCdnSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub hls_cdn_settings: Option<HlsCdnSettings>,
#[serde(rename = "IFrameOnlyPlaylists")]
#[serde(skip_serializing_if = "Option::is_none")]
pub i_frame_only_playlists: Option<String>,
#[serde(rename = "IndexNSegments")]
#[serde(skip_serializing_if = "Option::is_none")]
pub index_n_segments: Option<i64>,
#[serde(rename = "InputLossAction")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_loss_action: Option<String>,
#[serde(rename = "IvInManifest")]
#[serde(skip_serializing_if = "Option::is_none")]
pub iv_in_manifest: Option<String>,
#[serde(rename = "IvSource")]
#[serde(skip_serializing_if = "Option::is_none")]
pub iv_source: Option<String>,
#[serde(rename = "KeepSegments")]
#[serde(skip_serializing_if = "Option::is_none")]
pub keep_segments: Option<i64>,
#[serde(rename = "KeyFormat")]
#[serde(skip_serializing_if = "Option::is_none")]
pub key_format: Option<String>,
#[serde(rename = "KeyFormatVersions")]
#[serde(skip_serializing_if = "Option::is_none")]
pub key_format_versions: Option<String>,
#[serde(rename = "KeyProviderSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub key_provider_settings: Option<KeyProviderSettings>,
#[serde(rename = "ManifestCompression")]
#[serde(skip_serializing_if = "Option::is_none")]
pub manifest_compression: Option<String>,
#[serde(rename = "ManifestDurationFormat")]
#[serde(skip_serializing_if = "Option::is_none")]
pub manifest_duration_format: Option<String>,
#[serde(rename = "MinSegmentLength")]
#[serde(skip_serializing_if = "Option::is_none")]
pub min_segment_length: Option<i64>,
#[serde(rename = "Mode")]
#[serde(skip_serializing_if = "Option::is_none")]
pub mode: Option<String>,
#[serde(rename = "OutputSelection")]
#[serde(skip_serializing_if = "Option::is_none")]
pub output_selection: Option<String>,
#[serde(rename = "ProgramDateTime")]
#[serde(skip_serializing_if = "Option::is_none")]
pub program_date_time: Option<String>,
#[serde(rename = "ProgramDateTimePeriod")]
#[serde(skip_serializing_if = "Option::is_none")]
pub program_date_time_period: Option<i64>,
#[serde(rename = "RedundantManifest")]
#[serde(skip_serializing_if = "Option::is_none")]
pub redundant_manifest: Option<String>,
#[serde(rename = "SegmentLength")]
#[serde(skip_serializing_if = "Option::is_none")]
pub segment_length: Option<i64>,
#[serde(rename = "SegmentationMode")]
#[serde(skip_serializing_if = "Option::is_none")]
pub segmentation_mode: Option<String>,
#[serde(rename = "SegmentsPerSubdirectory")]
#[serde(skip_serializing_if = "Option::is_none")]
pub segments_per_subdirectory: Option<i64>,
#[serde(rename = "StreamInfResolution")]
#[serde(skip_serializing_if = "Option::is_none")]
pub stream_inf_resolution: Option<String>,
#[serde(rename = "TimedMetadataId3Frame")]
#[serde(skip_serializing_if = "Option::is_none")]
pub timed_metadata_id_3_frame: Option<String>,
#[serde(rename = "TimedMetadataId3Period")]
#[serde(skip_serializing_if = "Option::is_none")]
pub timed_metadata_id_3_period: Option<i64>,
#[serde(rename = "TimestampDeltaMilliseconds")]
#[serde(skip_serializing_if = "Option::is_none")]
pub timestamp_delta_milliseconds: Option<i64>,
#[serde(rename = "TsFileMode")]
#[serde(skip_serializing_if = "Option::is_none")]
pub ts_file_mode: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct HlsInputSettings {
#[serde(rename = "Bandwidth")]
#[serde(skip_serializing_if = "Option::is_none")]
pub bandwidth: Option<i64>,
#[serde(rename = "BufferSegments")]
#[serde(skip_serializing_if = "Option::is_none")]
pub buffer_segments: Option<i64>,
#[serde(rename = "Retries")]
#[serde(skip_serializing_if = "Option::is_none")]
pub retries: Option<i64>,
#[serde(rename = "RetryInterval")]
#[serde(skip_serializing_if = "Option::is_none")]
pub retry_interval: Option<i64>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct HlsMediaStoreSettings {
#[serde(rename = "ConnectionRetryInterval")]
#[serde(skip_serializing_if = "Option::is_none")]
pub connection_retry_interval: Option<i64>,
#[serde(rename = "FilecacheDuration")]
#[serde(skip_serializing_if = "Option::is_none")]
pub filecache_duration: Option<i64>,
#[serde(rename = "MediaStoreStorageClass")]
#[serde(skip_serializing_if = "Option::is_none")]
pub media_store_storage_class: Option<String>,
#[serde(rename = "NumRetries")]
#[serde(skip_serializing_if = "Option::is_none")]
pub num_retries: Option<i64>,
#[serde(rename = "RestartDelay")]
#[serde(skip_serializing_if = "Option::is_none")]
pub restart_delay: Option<i64>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct HlsOutputSettings {
#[serde(rename = "HlsSettings")]
pub hls_settings: HlsSettings,
#[serde(rename = "NameModifier")]
#[serde(skip_serializing_if = "Option::is_none")]
pub name_modifier: Option<String>,
#[serde(rename = "SegmentModifier")]
#[serde(skip_serializing_if = "Option::is_none")]
pub segment_modifier: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct HlsSettings {
#[serde(rename = "AudioOnlyHlsSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub audio_only_hls_settings: Option<AudioOnlyHlsSettings>,
#[serde(rename = "StandardHlsSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub standard_hls_settings: Option<StandardHlsSettings>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct HlsTimedMetadataScheduleActionSettings {
#[serde(rename = "Id3")]
pub id_3: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct HlsWebdavSettings {
#[serde(rename = "ConnectionRetryInterval")]
#[serde(skip_serializing_if = "Option::is_none")]
pub connection_retry_interval: Option<i64>,
#[serde(rename = "FilecacheDuration")]
#[serde(skip_serializing_if = "Option::is_none")]
pub filecache_duration: Option<i64>,
#[serde(rename = "HttpTransferMode")]
#[serde(skip_serializing_if = "Option::is_none")]
pub http_transfer_mode: Option<String>,
#[serde(rename = "NumRetries")]
#[serde(skip_serializing_if = "Option::is_none")]
pub num_retries: Option<i64>,
#[serde(rename = "RestartDelay")]
#[serde(skip_serializing_if = "Option::is_none")]
pub restart_delay: Option<i64>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct Input {
#[serde(rename = "Arn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub arn: Option<String>,
#[serde(rename = "AttachedChannels")]
#[serde(skip_serializing_if = "Option::is_none")]
pub attached_channels: Option<Vec<String>>,
#[serde(rename = "Destinations")]
#[serde(skip_serializing_if = "Option::is_none")]
pub destinations: Option<Vec<InputDestination>>,
#[serde(rename = "Id")]
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(rename = "InputClass")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_class: Option<String>,
#[serde(rename = "MediaConnectFlows")]
#[serde(skip_serializing_if = "Option::is_none")]
pub media_connect_flows: Option<Vec<MediaConnectFlow>>,
#[serde(rename = "Name")]
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "RoleArn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub role_arn: Option<String>,
#[serde(rename = "SecurityGroups")]
#[serde(skip_serializing_if = "Option::is_none")]
pub security_groups: Option<Vec<String>>,
#[serde(rename = "Sources")]
#[serde(skip_serializing_if = "Option::is_none")]
pub sources: Option<Vec<InputSource>>,
#[serde(rename = "State")]
#[serde(skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
#[serde(rename = "Tags")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tags: Option<::std::collections::HashMap<String, String>>,
#[serde(rename = "Type")]
#[serde(skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct InputAttachment {
#[serde(rename = "InputAttachmentName")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_attachment_name: Option<String>,
#[serde(rename = "InputId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_id: Option<String>,
#[serde(rename = "InputSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_settings: Option<InputSettings>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct InputChannelLevel {
#[serde(rename = "Gain")]
pub gain: i64,
#[serde(rename = "InputChannel")]
pub input_channel: i64,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct InputDestination {
#[serde(rename = "Ip")]
#[serde(skip_serializing_if = "Option::is_none")]
pub ip: Option<String>,
#[serde(rename = "Port")]
#[serde(skip_serializing_if = "Option::is_none")]
pub port: Option<String>,
#[serde(rename = "Url")]
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(rename = "Vpc")]
#[serde(skip_serializing_if = "Option::is_none")]
pub vpc: Option<InputDestinationVpc>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct InputDestinationRequest {
#[serde(rename = "StreamName")]
#[serde(skip_serializing_if = "Option::is_none")]
pub stream_name: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct InputDestinationVpc {
#[serde(rename = "AvailabilityZone")]
#[serde(skip_serializing_if = "Option::is_none")]
pub availability_zone: Option<String>,
#[serde(rename = "NetworkInterfaceId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub network_interface_id: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct InputLocation {
#[serde(rename = "PasswordParam")]
#[serde(skip_serializing_if = "Option::is_none")]
pub password_param: Option<String>,
#[serde(rename = "Uri")]
pub uri: String,
#[serde(rename = "Username")]
#[serde(skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct InputLossBehavior {
#[serde(rename = "BlackFrameMsec")]
#[serde(skip_serializing_if = "Option::is_none")]
pub black_frame_msec: Option<i64>,
#[serde(rename = "InputLossImageColor")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_loss_image_color: Option<String>,
#[serde(rename = "InputLossImageSlate")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_loss_image_slate: Option<InputLocation>,
#[serde(rename = "InputLossImageType")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_loss_image_type: Option<String>,
#[serde(rename = "RepeatFrameMsec")]
#[serde(skip_serializing_if = "Option::is_none")]
pub repeat_frame_msec: Option<i64>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct InputSecurityGroup {
#[serde(rename = "Arn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub arn: Option<String>,
#[serde(rename = "Id")]
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(rename = "Inputs")]
#[serde(skip_serializing_if = "Option::is_none")]
pub inputs: Option<Vec<String>>,
#[serde(rename = "State")]
#[serde(skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
#[serde(rename = "Tags")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tags: Option<::std::collections::HashMap<String, String>>,
#[serde(rename = "WhitelistRules")]
#[serde(skip_serializing_if = "Option::is_none")]
pub whitelist_rules: Option<Vec<InputWhitelistRule>>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct InputSettings {
#[serde(rename = "AudioSelectors")]
#[serde(skip_serializing_if = "Option::is_none")]
pub audio_selectors: Option<Vec<AudioSelector>>,
#[serde(rename = "CaptionSelectors")]
#[serde(skip_serializing_if = "Option::is_none")]
pub caption_selectors: Option<Vec<CaptionSelector>>,
#[serde(rename = "DeblockFilter")]
#[serde(skip_serializing_if = "Option::is_none")]
pub deblock_filter: Option<String>,
#[serde(rename = "DenoiseFilter")]
#[serde(skip_serializing_if = "Option::is_none")]
pub denoise_filter: Option<String>,
#[serde(rename = "FilterStrength")]
#[serde(skip_serializing_if = "Option::is_none")]
pub filter_strength: Option<i64>,
#[serde(rename = "InputFilter")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_filter: Option<String>,
#[serde(rename = "NetworkInputSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub network_input_settings: Option<NetworkInputSettings>,
#[serde(rename = "SourceEndBehavior")]
#[serde(skip_serializing_if = "Option::is_none")]
pub source_end_behavior: Option<String>,
#[serde(rename = "VideoSelector")]
#[serde(skip_serializing_if = "Option::is_none")]
pub video_selector: Option<VideoSelector>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct InputSource {
#[serde(rename = "PasswordParam")]
#[serde(skip_serializing_if = "Option::is_none")]
pub password_param: Option<String>,
#[serde(rename = "Url")]
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(rename = "Username")]
#[serde(skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct InputSourceRequest {
#[serde(rename = "PasswordParam")]
#[serde(skip_serializing_if = "Option::is_none")]
pub password_param: Option<String>,
#[serde(rename = "Url")]
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(rename = "Username")]
#[serde(skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct InputSpecification {
#[serde(rename = "Codec")]
#[serde(skip_serializing_if = "Option::is_none")]
pub codec: Option<String>,
#[serde(rename = "MaximumBitrate")]
#[serde(skip_serializing_if = "Option::is_none")]
pub maximum_bitrate: Option<String>,
#[serde(rename = "Resolution")]
#[serde(skip_serializing_if = "Option::is_none")]
pub resolution: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct InputSwitchScheduleActionSettings {
#[serde(rename = "InputAttachmentNameReference")]
pub input_attachment_name_reference: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct InputVpcRequest {
#[serde(rename = "SecurityGroupIds")]
#[serde(skip_serializing_if = "Option::is_none")]
pub security_group_ids: Option<Vec<String>>,
#[serde(rename = "SubnetIds")]
pub subnet_ids: Vec<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct InputWhitelistRule {
#[serde(rename = "Cidr")]
#[serde(skip_serializing_if = "Option::is_none")]
pub cidr: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct InputWhitelistRuleCidr {
#[serde(rename = "Cidr")]
#[serde(skip_serializing_if = "Option::is_none")]
pub cidr: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct KeyProviderSettings {
#[serde(rename = "StaticKeySettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub static_key_settings: Option<StaticKeySettings>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct ListChannelsRequest {
#[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(test, derive(Serialize))]
pub struct ListChannelsResponse {
#[serde(rename = "Channels")]
#[serde(skip_serializing_if = "Option::is_none")]
pub channels: Option<Vec<ChannelSummary>>,
#[serde(rename = "NextToken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct ListInputSecurityGroupsRequest {
#[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(test, derive(Serialize))]
pub struct ListInputSecurityGroupsResponse {
#[serde(rename = "InputSecurityGroups")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_security_groups: Option<Vec<InputSecurityGroup>>,
#[serde(rename = "NextToken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
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(test, derive(Serialize))]
pub struct ListInputsResponse {
#[serde(rename = "Inputs")]
#[serde(skip_serializing_if = "Option::is_none")]
pub inputs: Option<Vec<Input>>,
#[serde(rename = "NextToken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct ListOfferingsRequest {
#[serde(rename = "ChannelClass")]
#[serde(skip_serializing_if = "Option::is_none")]
pub channel_class: Option<String>,
#[serde(rename = "ChannelConfiguration")]
#[serde(skip_serializing_if = "Option::is_none")]
pub channel_configuration: Option<String>,
#[serde(rename = "Codec")]
#[serde(skip_serializing_if = "Option::is_none")]
pub codec: Option<String>,
#[serde(rename = "MaxResults")]
#[serde(skip_serializing_if = "Option::is_none")]
pub max_results: Option<i64>,
#[serde(rename = "MaximumBitrate")]
#[serde(skip_serializing_if = "Option::is_none")]
pub maximum_bitrate: Option<String>,
#[serde(rename = "MaximumFramerate")]
#[serde(skip_serializing_if = "Option::is_none")]
pub maximum_framerate: Option<String>,
#[serde(rename = "NextToken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
#[serde(rename = "Resolution")]
#[serde(skip_serializing_if = "Option::is_none")]
pub resolution: Option<String>,
#[serde(rename = "ResourceType")]
#[serde(skip_serializing_if = "Option::is_none")]
pub resource_type: Option<String>,
#[serde(rename = "SpecialFeature")]
#[serde(skip_serializing_if = "Option::is_none")]
pub special_feature: Option<String>,
#[serde(rename = "VideoQuality")]
#[serde(skip_serializing_if = "Option::is_none")]
pub video_quality: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct ListOfferingsResponse {
#[serde(rename = "NextToken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
#[serde(rename = "Offerings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub offerings: Option<Vec<Offering>>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct ListReservationsRequest {
#[serde(rename = "ChannelClass")]
#[serde(skip_serializing_if = "Option::is_none")]
pub channel_class: Option<String>,
#[serde(rename = "Codec")]
#[serde(skip_serializing_if = "Option::is_none")]
pub codec: Option<String>,
#[serde(rename = "MaxResults")]
#[serde(skip_serializing_if = "Option::is_none")]
pub max_results: Option<i64>,
#[serde(rename = "MaximumBitrate")]
#[serde(skip_serializing_if = "Option::is_none")]
pub maximum_bitrate: Option<String>,
#[serde(rename = "MaximumFramerate")]
#[serde(skip_serializing_if = "Option::is_none")]
pub maximum_framerate: Option<String>,
#[serde(rename = "NextToken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
#[serde(rename = "Resolution")]
#[serde(skip_serializing_if = "Option::is_none")]
pub resolution: Option<String>,
#[serde(rename = "ResourceType")]
#[serde(skip_serializing_if = "Option::is_none")]
pub resource_type: Option<String>,
#[serde(rename = "SpecialFeature")]
#[serde(skip_serializing_if = "Option::is_none")]
pub special_feature: Option<String>,
#[serde(rename = "VideoQuality")]
#[serde(skip_serializing_if = "Option::is_none")]
pub video_quality: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct ListReservationsResponse {
#[serde(rename = "NextToken")]
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
#[serde(rename = "Reservations")]
#[serde(skip_serializing_if = "Option::is_none")]
pub reservations: Option<Vec<Reservation>>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct ListTagsForResourceRequest {
#[serde(rename = "ResourceArn")]
pub resource_arn: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct ListTagsForResourceResponse {
#[serde(rename = "Tags")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tags: Option<::std::collections::HashMap<String, String>>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct M2tsSettings {
#[serde(rename = "AbsentInputAudioBehavior")]
#[serde(skip_serializing_if = "Option::is_none")]
pub absent_input_audio_behavior: Option<String>,
#[serde(rename = "Arib")]
#[serde(skip_serializing_if = "Option::is_none")]
pub arib: Option<String>,
#[serde(rename = "AribCaptionsPid")]
#[serde(skip_serializing_if = "Option::is_none")]
pub arib_captions_pid: Option<String>,
#[serde(rename = "AribCaptionsPidControl")]
#[serde(skip_serializing_if = "Option::is_none")]
pub arib_captions_pid_control: Option<String>,
#[serde(rename = "AudioBufferModel")]
#[serde(skip_serializing_if = "Option::is_none")]
pub audio_buffer_model: Option<String>,
#[serde(rename = "AudioFramesPerPes")]
#[serde(skip_serializing_if = "Option::is_none")]
pub audio_frames_per_pes: Option<i64>,
#[serde(rename = "AudioPids")]
#[serde(skip_serializing_if = "Option::is_none")]
pub audio_pids: Option<String>,
#[serde(rename = "AudioStreamType")]
#[serde(skip_serializing_if = "Option::is_none")]
pub audio_stream_type: Option<String>,
#[serde(rename = "Bitrate")]
#[serde(skip_serializing_if = "Option::is_none")]
pub bitrate: Option<i64>,
#[serde(rename = "BufferModel")]
#[serde(skip_serializing_if = "Option::is_none")]
pub buffer_model: Option<String>,
#[serde(rename = "CcDescriptor")]
#[serde(skip_serializing_if = "Option::is_none")]
pub cc_descriptor: Option<String>,
#[serde(rename = "DvbNitSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub dvb_nit_settings: Option<DvbNitSettings>,
#[serde(rename = "DvbSdtSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub dvb_sdt_settings: Option<DvbSdtSettings>,
#[serde(rename = "DvbSubPids")]
#[serde(skip_serializing_if = "Option::is_none")]
pub dvb_sub_pids: Option<String>,
#[serde(rename = "DvbTdtSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub dvb_tdt_settings: Option<DvbTdtSettings>,
#[serde(rename = "DvbTeletextPid")]
#[serde(skip_serializing_if = "Option::is_none")]
pub dvb_teletext_pid: Option<String>,
#[serde(rename = "Ebif")]
#[serde(skip_serializing_if = "Option::is_none")]
pub ebif: Option<String>,
#[serde(rename = "EbpAudioInterval")]
#[serde(skip_serializing_if = "Option::is_none")]
pub ebp_audio_interval: Option<String>,
#[serde(rename = "EbpLookaheadMs")]
#[serde(skip_serializing_if = "Option::is_none")]
pub ebp_lookahead_ms: Option<i64>,
#[serde(rename = "EbpPlacement")]
#[serde(skip_serializing_if = "Option::is_none")]
pub ebp_placement: Option<String>,
#[serde(rename = "EcmPid")]
#[serde(skip_serializing_if = "Option::is_none")]
pub ecm_pid: Option<String>,
#[serde(rename = "EsRateInPes")]
#[serde(skip_serializing_if = "Option::is_none")]
pub es_rate_in_pes: Option<String>,
#[serde(rename = "EtvPlatformPid")]
#[serde(skip_serializing_if = "Option::is_none")]
pub etv_platform_pid: Option<String>,
#[serde(rename = "EtvSignalPid")]
#[serde(skip_serializing_if = "Option::is_none")]
pub etv_signal_pid: Option<String>,
#[serde(rename = "FragmentTime")]
#[serde(skip_serializing_if = "Option::is_none")]
pub fragment_time: Option<f64>,
#[serde(rename = "Klv")]
#[serde(skip_serializing_if = "Option::is_none")]
pub klv: Option<String>,
#[serde(rename = "KlvDataPids")]
#[serde(skip_serializing_if = "Option::is_none")]
pub klv_data_pids: Option<String>,
#[serde(rename = "NullPacketBitrate")]
#[serde(skip_serializing_if = "Option::is_none")]
pub null_packet_bitrate: Option<f64>,
#[serde(rename = "PatInterval")]
#[serde(skip_serializing_if = "Option::is_none")]
pub pat_interval: Option<i64>,
#[serde(rename = "PcrControl")]
#[serde(skip_serializing_if = "Option::is_none")]
pub pcr_control: Option<String>,
#[serde(rename = "PcrPeriod")]
#[serde(skip_serializing_if = "Option::is_none")]
pub pcr_period: Option<i64>,
#[serde(rename = "PcrPid")]
#[serde(skip_serializing_if = "Option::is_none")]
pub pcr_pid: Option<String>,
#[serde(rename = "PmtInterval")]
#[serde(skip_serializing_if = "Option::is_none")]
pub pmt_interval: Option<i64>,
#[serde(rename = "PmtPid")]
#[serde(skip_serializing_if = "Option::is_none")]
pub pmt_pid: Option<String>,
#[serde(rename = "ProgramNum")]
#[serde(skip_serializing_if = "Option::is_none")]
pub program_num: Option<i64>,
#[serde(rename = "RateMode")]
#[serde(skip_serializing_if = "Option::is_none")]
pub rate_mode: Option<String>,
#[serde(rename = "Scte27Pids")]
#[serde(skip_serializing_if = "Option::is_none")]
pub scte_27_pids: Option<String>,
#[serde(rename = "Scte35Control")]
#[serde(skip_serializing_if = "Option::is_none")]
pub scte_35_control: Option<String>,
#[serde(rename = "Scte35Pid")]
#[serde(skip_serializing_if = "Option::is_none")]
pub scte_35_pid: Option<String>,
#[serde(rename = "SegmentationMarkers")]
#[serde(skip_serializing_if = "Option::is_none")]
pub segmentation_markers: Option<String>,
#[serde(rename = "SegmentationStyle")]
#[serde(skip_serializing_if = "Option::is_none")]
pub segmentation_style: Option<String>,
#[serde(rename = "SegmentationTime")]
#[serde(skip_serializing_if = "Option::is_none")]
pub segmentation_time: Option<f64>,
#[serde(rename = "TimedMetadataBehavior")]
#[serde(skip_serializing_if = "Option::is_none")]
pub timed_metadata_behavior: Option<String>,
#[serde(rename = "TimedMetadataPid")]
#[serde(skip_serializing_if = "Option::is_none")]
pub timed_metadata_pid: Option<String>,
#[serde(rename = "TransportStreamId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub transport_stream_id: Option<i64>,
#[serde(rename = "VideoPid")]
#[serde(skip_serializing_if = "Option::is_none")]
pub video_pid: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct M3u8Settings {
#[serde(rename = "AudioFramesPerPes")]
#[serde(skip_serializing_if = "Option::is_none")]
pub audio_frames_per_pes: Option<i64>,
#[serde(rename = "AudioPids")]
#[serde(skip_serializing_if = "Option::is_none")]
pub audio_pids: Option<String>,
#[serde(rename = "EcmPid")]
#[serde(skip_serializing_if = "Option::is_none")]
pub ecm_pid: Option<String>,
#[serde(rename = "PatInterval")]
#[serde(skip_serializing_if = "Option::is_none")]
pub pat_interval: Option<i64>,
#[serde(rename = "PcrControl")]
#[serde(skip_serializing_if = "Option::is_none")]
pub pcr_control: Option<String>,
#[serde(rename = "PcrPeriod")]
#[serde(skip_serializing_if = "Option::is_none")]
pub pcr_period: Option<i64>,
#[serde(rename = "PcrPid")]
#[serde(skip_serializing_if = "Option::is_none")]
pub pcr_pid: Option<String>,
#[serde(rename = "PmtInterval")]
#[serde(skip_serializing_if = "Option::is_none")]
pub pmt_interval: Option<i64>,
#[serde(rename = "PmtPid")]
#[serde(skip_serializing_if = "Option::is_none")]
pub pmt_pid: Option<String>,
#[serde(rename = "ProgramNum")]
#[serde(skip_serializing_if = "Option::is_none")]
pub program_num: Option<i64>,
#[serde(rename = "Scte35Behavior")]
#[serde(skip_serializing_if = "Option::is_none")]
pub scte_35_behavior: Option<String>,
#[serde(rename = "Scte35Pid")]
#[serde(skip_serializing_if = "Option::is_none")]
pub scte_35_pid: Option<String>,
#[serde(rename = "TimedMetadataBehavior")]
#[serde(skip_serializing_if = "Option::is_none")]
pub timed_metadata_behavior: Option<String>,
#[serde(rename = "TimedMetadataPid")]
#[serde(skip_serializing_if = "Option::is_none")]
pub timed_metadata_pid: Option<String>,
#[serde(rename = "TransportStreamId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub transport_stream_id: Option<i64>,
#[serde(rename = "VideoPid")]
#[serde(skip_serializing_if = "Option::is_none")]
pub video_pid: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct MediaConnectFlow {
#[serde(rename = "FlowArn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub flow_arn: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct MediaConnectFlowRequest {
#[serde(rename = "FlowArn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub flow_arn: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct MediaPackageGroupSettings {
#[serde(rename = "Destination")]
pub destination: OutputLocationRef,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct MediaPackageOutputDestinationSettings {
#[serde(rename = "ChannelId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub channel_id: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct MediaPackageOutputSettings {}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Mp2Settings {
#[serde(rename = "Bitrate")]
#[serde(skip_serializing_if = "Option::is_none")]
pub bitrate: Option<f64>,
#[serde(rename = "CodingMode")]
#[serde(skip_serializing_if = "Option::is_none")]
pub coding_mode: Option<String>,
#[serde(rename = "SampleRate")]
#[serde(skip_serializing_if = "Option::is_none")]
pub sample_rate: Option<f64>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct MsSmoothGroupSettings {
#[serde(rename = "AcquisitionPointId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub acquisition_point_id: Option<String>,
#[serde(rename = "AudioOnlyTimecodeControl")]
#[serde(skip_serializing_if = "Option::is_none")]
pub audio_only_timecode_control: Option<String>,
#[serde(rename = "CertificateMode")]
#[serde(skip_serializing_if = "Option::is_none")]
pub certificate_mode: Option<String>,
#[serde(rename = "ConnectionRetryInterval")]
#[serde(skip_serializing_if = "Option::is_none")]
pub connection_retry_interval: Option<i64>,
#[serde(rename = "Destination")]
pub destination: OutputLocationRef,
#[serde(rename = "EventId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub event_id: Option<String>,
#[serde(rename = "EventIdMode")]
#[serde(skip_serializing_if = "Option::is_none")]
pub event_id_mode: Option<String>,
#[serde(rename = "EventStopBehavior")]
#[serde(skip_serializing_if = "Option::is_none")]
pub event_stop_behavior: Option<String>,
#[serde(rename = "FilecacheDuration")]
#[serde(skip_serializing_if = "Option::is_none")]
pub filecache_duration: Option<i64>,
#[serde(rename = "FragmentLength")]
#[serde(skip_serializing_if = "Option::is_none")]
pub fragment_length: Option<i64>,
#[serde(rename = "InputLossAction")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_loss_action: Option<String>,
#[serde(rename = "NumRetries")]
#[serde(skip_serializing_if = "Option::is_none")]
pub num_retries: Option<i64>,
#[serde(rename = "RestartDelay")]
#[serde(skip_serializing_if = "Option::is_none")]
pub restart_delay: Option<i64>,
#[serde(rename = "SegmentationMode")]
#[serde(skip_serializing_if = "Option::is_none")]
pub segmentation_mode: Option<String>,
#[serde(rename = "SendDelayMs")]
#[serde(skip_serializing_if = "Option::is_none")]
pub send_delay_ms: Option<i64>,
#[serde(rename = "SparseTrackType")]
#[serde(skip_serializing_if = "Option::is_none")]
pub sparse_track_type: Option<String>,
#[serde(rename = "StreamManifestBehavior")]
#[serde(skip_serializing_if = "Option::is_none")]
pub stream_manifest_behavior: Option<String>,
#[serde(rename = "TimestampOffset")]
#[serde(skip_serializing_if = "Option::is_none")]
pub timestamp_offset: Option<String>,
#[serde(rename = "TimestampOffsetMode")]
#[serde(skip_serializing_if = "Option::is_none")]
pub timestamp_offset_mode: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct MsSmoothOutputSettings {
#[serde(rename = "NameModifier")]
#[serde(skip_serializing_if = "Option::is_none")]
pub name_modifier: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct NetworkInputSettings {
#[serde(rename = "HlsInputSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub hls_input_settings: Option<HlsInputSettings>,
#[serde(rename = "ServerValidation")]
#[serde(skip_serializing_if = "Option::is_none")]
pub server_validation: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct Offering {
#[serde(rename = "Arn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub arn: Option<String>,
#[serde(rename = "CurrencyCode")]
#[serde(skip_serializing_if = "Option::is_none")]
pub currency_code: Option<String>,
#[serde(rename = "Duration")]
#[serde(skip_serializing_if = "Option::is_none")]
pub duration: Option<i64>,
#[serde(rename = "DurationUnits")]
#[serde(skip_serializing_if = "Option::is_none")]
pub duration_units: Option<String>,
#[serde(rename = "FixedPrice")]
#[serde(skip_serializing_if = "Option::is_none")]
pub fixed_price: Option<f64>,
#[serde(rename = "OfferingDescription")]
#[serde(skip_serializing_if = "Option::is_none")]
pub offering_description: Option<String>,
#[serde(rename = "OfferingId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub offering_id: Option<String>,
#[serde(rename = "OfferingType")]
#[serde(skip_serializing_if = "Option::is_none")]
pub offering_type: Option<String>,
#[serde(rename = "Region")]
#[serde(skip_serializing_if = "Option::is_none")]
pub region: Option<String>,
#[serde(rename = "ResourceSpecification")]
#[serde(skip_serializing_if = "Option::is_none")]
pub resource_specification: Option<ReservationResourceSpecification>,
#[serde(rename = "UsagePrice")]
#[serde(skip_serializing_if = "Option::is_none")]
pub usage_price: Option<f64>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Output {
#[serde(rename = "AudioDescriptionNames")]
#[serde(skip_serializing_if = "Option::is_none")]
pub audio_description_names: Option<Vec<String>>,
#[serde(rename = "CaptionDescriptionNames")]
#[serde(skip_serializing_if = "Option::is_none")]
pub caption_description_names: Option<Vec<String>>,
#[serde(rename = "OutputName")]
#[serde(skip_serializing_if = "Option::is_none")]
pub output_name: Option<String>,
#[serde(rename = "OutputSettings")]
pub output_settings: OutputSettings,
#[serde(rename = "VideoDescriptionName")]
#[serde(skip_serializing_if = "Option::is_none")]
pub video_description_name: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct OutputDestination {
#[serde(rename = "Id")]
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(rename = "MediaPackageSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub media_package_settings: Option<Vec<MediaPackageOutputDestinationSettings>>,
#[serde(rename = "Settings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub settings: Option<Vec<OutputDestinationSettings>>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct OutputDestinationSettings {
#[serde(rename = "PasswordParam")]
#[serde(skip_serializing_if = "Option::is_none")]
pub password_param: Option<String>,
#[serde(rename = "StreamName")]
#[serde(skip_serializing_if = "Option::is_none")]
pub stream_name: Option<String>,
#[serde(rename = "Url")]
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(rename = "Username")]
#[serde(skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct OutputGroup {
#[serde(rename = "Name")]
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "OutputGroupSettings")]
pub output_group_settings: OutputGroupSettings,
#[serde(rename = "Outputs")]
pub outputs: Vec<Output>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct OutputGroupSettings {
#[serde(rename = "ArchiveGroupSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub archive_group_settings: Option<ArchiveGroupSettings>,
#[serde(rename = "FrameCaptureGroupSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub frame_capture_group_settings: Option<FrameCaptureGroupSettings>,
#[serde(rename = "HlsGroupSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub hls_group_settings: Option<HlsGroupSettings>,
#[serde(rename = "MediaPackageGroupSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub media_package_group_settings: Option<MediaPackageGroupSettings>,
#[serde(rename = "MsSmoothGroupSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub ms_smooth_group_settings: Option<MsSmoothGroupSettings>,
#[serde(rename = "RtmpGroupSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub rtmp_group_settings: Option<RtmpGroupSettings>,
#[serde(rename = "UdpGroupSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub udp_group_settings: Option<UdpGroupSettings>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct OutputLocationRef {
#[serde(rename = "DestinationRefId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub destination_ref_id: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct OutputSettings {
#[serde(rename = "ArchiveOutputSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub archive_output_settings: Option<ArchiveOutputSettings>,
#[serde(rename = "FrameCaptureOutputSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub frame_capture_output_settings: Option<FrameCaptureOutputSettings>,
#[serde(rename = "HlsOutputSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub hls_output_settings: Option<HlsOutputSettings>,
#[serde(rename = "MediaPackageOutputSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub media_package_output_settings: Option<MediaPackageOutputSettings>,
#[serde(rename = "MsSmoothOutputSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub ms_smooth_output_settings: Option<MsSmoothOutputSettings>,
#[serde(rename = "RtmpOutputSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub rtmp_output_settings: Option<RtmpOutputSettings>,
#[serde(rename = "UdpOutputSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub udp_output_settings: Option<UdpOutputSettings>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct PassThroughSettings {}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct PauseStateScheduleActionSettings {
#[serde(rename = "Pipelines")]
#[serde(skip_serializing_if = "Option::is_none")]
pub pipelines: Option<Vec<PipelinePauseStateSettings>>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct PipelinePauseStateSettings {
#[serde(rename = "PipelineId")]
pub pipeline_id: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct PurchaseOfferingRequest {
#[serde(rename = "Count")]
pub count: i64,
#[serde(rename = "Name")]
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "OfferingId")]
pub offering_id: String,
#[serde(rename = "RequestId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub request_id: Option<String>,
#[serde(rename = "Start")]
#[serde(skip_serializing_if = "Option::is_none")]
pub start: Option<String>,
#[serde(rename = "Tags")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tags: Option<::std::collections::HashMap<String, String>>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct PurchaseOfferingResponse {
#[serde(rename = "Reservation")]
#[serde(skip_serializing_if = "Option::is_none")]
pub reservation: Option<Reservation>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct RemixSettings {
#[serde(rename = "ChannelMappings")]
pub channel_mappings: Vec<AudioChannelMapping>,
#[serde(rename = "ChannelsIn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub channels_in: Option<i64>,
#[serde(rename = "ChannelsOut")]
#[serde(skip_serializing_if = "Option::is_none")]
pub channels_out: Option<i64>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct Reservation {
#[serde(rename = "Arn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub arn: Option<String>,
#[serde(rename = "Count")]
#[serde(skip_serializing_if = "Option::is_none")]
pub count: Option<i64>,
#[serde(rename = "CurrencyCode")]
#[serde(skip_serializing_if = "Option::is_none")]
pub currency_code: Option<String>,
#[serde(rename = "Duration")]
#[serde(skip_serializing_if = "Option::is_none")]
pub duration: Option<i64>,
#[serde(rename = "DurationUnits")]
#[serde(skip_serializing_if = "Option::is_none")]
pub duration_units: Option<String>,
#[serde(rename = "End")]
#[serde(skip_serializing_if = "Option::is_none")]
pub end: Option<String>,
#[serde(rename = "FixedPrice")]
#[serde(skip_serializing_if = "Option::is_none")]
pub fixed_price: Option<f64>,
#[serde(rename = "Name")]
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "OfferingDescription")]
#[serde(skip_serializing_if = "Option::is_none")]
pub offering_description: Option<String>,
#[serde(rename = "OfferingId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub offering_id: Option<String>,
#[serde(rename = "OfferingType")]
#[serde(skip_serializing_if = "Option::is_none")]
pub offering_type: Option<String>,
#[serde(rename = "Region")]
#[serde(skip_serializing_if = "Option::is_none")]
pub region: Option<String>,
#[serde(rename = "ReservationId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub reservation_id: Option<String>,
#[serde(rename = "ResourceSpecification")]
#[serde(skip_serializing_if = "Option::is_none")]
pub resource_specification: Option<ReservationResourceSpecification>,
#[serde(rename = "Start")]
#[serde(skip_serializing_if = "Option::is_none")]
pub start: Option<String>,
#[serde(rename = "State")]
#[serde(skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
#[serde(rename = "Tags")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tags: Option<::std::collections::HashMap<String, String>>,
#[serde(rename = "UsagePrice")]
#[serde(skip_serializing_if = "Option::is_none")]
pub usage_price: Option<f64>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct ReservationResourceSpecification {
#[serde(rename = "ChannelClass")]
#[serde(skip_serializing_if = "Option::is_none")]
pub channel_class: Option<String>,
#[serde(rename = "Codec")]
#[serde(skip_serializing_if = "Option::is_none")]
pub codec: Option<String>,
#[serde(rename = "MaximumBitrate")]
#[serde(skip_serializing_if = "Option::is_none")]
pub maximum_bitrate: Option<String>,
#[serde(rename = "MaximumFramerate")]
#[serde(skip_serializing_if = "Option::is_none")]
pub maximum_framerate: Option<String>,
#[serde(rename = "Resolution")]
#[serde(skip_serializing_if = "Option::is_none")]
pub resolution: Option<String>,
#[serde(rename = "ResourceType")]
#[serde(skip_serializing_if = "Option::is_none")]
pub resource_type: Option<String>,
#[serde(rename = "SpecialFeature")]
#[serde(skip_serializing_if = "Option::is_none")]
pub special_feature: Option<String>,
#[serde(rename = "VideoQuality")]
#[serde(skip_serializing_if = "Option::is_none")]
pub video_quality: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct RtmpCaptionInfoDestinationSettings {}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct RtmpGroupSettings {
#[serde(rename = "AuthenticationScheme")]
#[serde(skip_serializing_if = "Option::is_none")]
pub authentication_scheme: Option<String>,
#[serde(rename = "CacheFullBehavior")]
#[serde(skip_serializing_if = "Option::is_none")]
pub cache_full_behavior: Option<String>,
#[serde(rename = "CacheLength")]
#[serde(skip_serializing_if = "Option::is_none")]
pub cache_length: Option<i64>,
#[serde(rename = "CaptionData")]
#[serde(skip_serializing_if = "Option::is_none")]
pub caption_data: Option<String>,
#[serde(rename = "InputLossAction")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_loss_action: Option<String>,
#[serde(rename = "RestartDelay")]
#[serde(skip_serializing_if = "Option::is_none")]
pub restart_delay: Option<i64>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct RtmpOutputSettings {
#[serde(rename = "CertificateMode")]
#[serde(skip_serializing_if = "Option::is_none")]
pub certificate_mode: Option<String>,
#[serde(rename = "ConnectionRetryInterval")]
#[serde(skip_serializing_if = "Option::is_none")]
pub connection_retry_interval: Option<i64>,
#[serde(rename = "Destination")]
pub destination: OutputLocationRef,
#[serde(rename = "NumRetries")]
#[serde(skip_serializing_if = "Option::is_none")]
pub num_retries: Option<i64>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct ScheduleAction {
#[serde(rename = "ActionName")]
pub action_name: String,
#[serde(rename = "ScheduleActionSettings")]
pub schedule_action_settings: ScheduleActionSettings,
#[serde(rename = "ScheduleActionStartSettings")]
pub schedule_action_start_settings: ScheduleActionStartSettings,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct ScheduleActionSettings {
#[serde(rename = "HlsTimedMetadataSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub hls_timed_metadata_settings: Option<HlsTimedMetadataScheduleActionSettings>,
#[serde(rename = "InputSwitchSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_switch_settings: Option<InputSwitchScheduleActionSettings>,
#[serde(rename = "PauseStateSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub pause_state_settings: Option<PauseStateScheduleActionSettings>,
#[serde(rename = "Scte35ReturnToNetworkSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub scte_35_return_to_network_settings: Option<Scte35ReturnToNetworkScheduleActionSettings>,
#[serde(rename = "Scte35SpliceInsertSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub scte_35_splice_insert_settings: Option<Scte35SpliceInsertScheduleActionSettings>,
#[serde(rename = "Scte35TimeSignalSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub scte_35_time_signal_settings: Option<Scte35TimeSignalScheduleActionSettings>,
#[serde(rename = "StaticImageActivateSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub static_image_activate_settings: Option<StaticImageActivateScheduleActionSettings>,
#[serde(rename = "StaticImageDeactivateSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub static_image_deactivate_settings: Option<StaticImageDeactivateScheduleActionSettings>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct ScheduleActionStartSettings {
#[serde(rename = "FixedModeScheduleActionStartSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub fixed_mode_schedule_action_start_settings: Option<FixedModeScheduleActionStartSettings>,
#[serde(rename = "FollowModeScheduleActionStartSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub follow_mode_schedule_action_start_settings: Option<FollowModeScheduleActionStartSettings>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Scte20PlusEmbeddedDestinationSettings {}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Scte20SourceSettings {
#[serde(rename = "Convert608To708")]
#[serde(skip_serializing_if = "Option::is_none")]
pub convert_608_to_708: Option<String>,
#[serde(rename = "Source608ChannelNumber")]
#[serde(skip_serializing_if = "Option::is_none")]
pub source_608_channel_number: Option<i64>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Scte27DestinationSettings {}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Scte27SourceSettings {
#[serde(rename = "Pid")]
#[serde(skip_serializing_if = "Option::is_none")]
pub pid: Option<i64>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Scte35DeliveryRestrictions {
#[serde(rename = "ArchiveAllowedFlag")]
pub archive_allowed_flag: String,
#[serde(rename = "DeviceRestrictions")]
pub device_restrictions: String,
#[serde(rename = "NoRegionalBlackoutFlag")]
pub no_regional_blackout_flag: String,
#[serde(rename = "WebDeliveryAllowedFlag")]
pub web_delivery_allowed_flag: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Scte35Descriptor {
#[serde(rename = "Scte35DescriptorSettings")]
pub scte_35_descriptor_settings: Scte35DescriptorSettings,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Scte35DescriptorSettings {
#[serde(rename = "SegmentationDescriptorScte35DescriptorSettings")]
pub segmentation_descriptor_scte_35_descriptor_settings: Scte35SegmentationDescriptor,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Scte35ReturnToNetworkScheduleActionSettings {
#[serde(rename = "SpliceEventId")]
pub splice_event_id: i64,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Scte35SegmentationDescriptor {
#[serde(rename = "DeliveryRestrictions")]
#[serde(skip_serializing_if = "Option::is_none")]
pub delivery_restrictions: Option<Scte35DeliveryRestrictions>,
#[serde(rename = "SegmentNum")]
#[serde(skip_serializing_if = "Option::is_none")]
pub segment_num: Option<i64>,
#[serde(rename = "SegmentationCancelIndicator")]
pub segmentation_cancel_indicator: String,
#[serde(rename = "SegmentationDuration")]
#[serde(skip_serializing_if = "Option::is_none")]
pub segmentation_duration: Option<i64>,
#[serde(rename = "SegmentationEventId")]
pub segmentation_event_id: i64,
#[serde(rename = "SegmentationTypeId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub segmentation_type_id: Option<i64>,
#[serde(rename = "SegmentationUpid")]
#[serde(skip_serializing_if = "Option::is_none")]
pub segmentation_upid: Option<String>,
#[serde(rename = "SegmentationUpidType")]
#[serde(skip_serializing_if = "Option::is_none")]
pub segmentation_upid_type: Option<i64>,
#[serde(rename = "SegmentsExpected")]
#[serde(skip_serializing_if = "Option::is_none")]
pub segments_expected: Option<i64>,
#[serde(rename = "SubSegmentNum")]
#[serde(skip_serializing_if = "Option::is_none")]
pub sub_segment_num: Option<i64>,
#[serde(rename = "SubSegmentsExpected")]
#[serde(skip_serializing_if = "Option::is_none")]
pub sub_segments_expected: Option<i64>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Scte35SpliceInsert {
#[serde(rename = "AdAvailOffset")]
#[serde(skip_serializing_if = "Option::is_none")]
pub ad_avail_offset: Option<i64>,
#[serde(rename = "NoRegionalBlackoutFlag")]
#[serde(skip_serializing_if = "Option::is_none")]
pub no_regional_blackout_flag: Option<String>,
#[serde(rename = "WebDeliveryAllowedFlag")]
#[serde(skip_serializing_if = "Option::is_none")]
pub web_delivery_allowed_flag: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Scte35SpliceInsertScheduleActionSettings {
#[serde(rename = "Duration")]
#[serde(skip_serializing_if = "Option::is_none")]
pub duration: Option<i64>,
#[serde(rename = "SpliceEventId")]
pub splice_event_id: i64,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Scte35TimeSignalApos {
#[serde(rename = "AdAvailOffset")]
#[serde(skip_serializing_if = "Option::is_none")]
pub ad_avail_offset: Option<i64>,
#[serde(rename = "NoRegionalBlackoutFlag")]
#[serde(skip_serializing_if = "Option::is_none")]
pub no_regional_blackout_flag: Option<String>,
#[serde(rename = "WebDeliveryAllowedFlag")]
#[serde(skip_serializing_if = "Option::is_none")]
pub web_delivery_allowed_flag: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Scte35TimeSignalScheduleActionSettings {
#[serde(rename = "Scte35Descriptors")]
pub scte_35_descriptors: Vec<Scte35Descriptor>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct SmpteTtDestinationSettings {}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct StandardHlsSettings {
#[serde(rename = "AudioRenditionSets")]
#[serde(skip_serializing_if = "Option::is_none")]
pub audio_rendition_sets: Option<String>,
#[serde(rename = "M3u8Settings")]
pub m_3u_8_settings: M3u8Settings,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct StartChannelRequest {
#[serde(rename = "ChannelId")]
pub channel_id: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct StartChannelResponse {
#[serde(rename = "Arn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub arn: Option<String>,
#[serde(rename = "ChannelClass")]
#[serde(skip_serializing_if = "Option::is_none")]
pub channel_class: Option<String>,
#[serde(rename = "Destinations")]
#[serde(skip_serializing_if = "Option::is_none")]
pub destinations: Option<Vec<OutputDestination>>,
#[serde(rename = "EgressEndpoints")]
#[serde(skip_serializing_if = "Option::is_none")]
pub egress_endpoints: Option<Vec<ChannelEgressEndpoint>>,
#[serde(rename = "EncoderSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub encoder_settings: Option<EncoderSettings>,
#[serde(rename = "Id")]
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(rename = "InputAttachments")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_attachments: Option<Vec<InputAttachment>>,
#[serde(rename = "InputSpecification")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_specification: Option<InputSpecification>,
#[serde(rename = "LogLevel")]
#[serde(skip_serializing_if = "Option::is_none")]
pub log_level: Option<String>,
#[serde(rename = "Name")]
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "PipelinesRunningCount")]
#[serde(skip_serializing_if = "Option::is_none")]
pub pipelines_running_count: Option<i64>,
#[serde(rename = "RoleArn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub role_arn: Option<String>,
#[serde(rename = "State")]
#[serde(skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
#[serde(rename = "Tags")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tags: Option<::std::collections::HashMap<String, String>>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct StaticImageActivateScheduleActionSettings {
#[serde(rename = "Duration")]
#[serde(skip_serializing_if = "Option::is_none")]
pub duration: Option<i64>,
#[serde(rename = "FadeIn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub fade_in: Option<i64>,
#[serde(rename = "FadeOut")]
#[serde(skip_serializing_if = "Option::is_none")]
pub fade_out: Option<i64>,
#[serde(rename = "Height")]
#[serde(skip_serializing_if = "Option::is_none")]
pub height: Option<i64>,
#[serde(rename = "Image")]
pub image: InputLocation,
#[serde(rename = "ImageX")]
#[serde(skip_serializing_if = "Option::is_none")]
pub image_x: Option<i64>,
#[serde(rename = "ImageY")]
#[serde(skip_serializing_if = "Option::is_none")]
pub image_y: Option<i64>,
#[serde(rename = "Layer")]
#[serde(skip_serializing_if = "Option::is_none")]
pub layer: Option<i64>,
#[serde(rename = "Opacity")]
#[serde(skip_serializing_if = "Option::is_none")]
pub opacity: Option<i64>,
#[serde(rename = "Width")]
#[serde(skip_serializing_if = "Option::is_none")]
pub width: Option<i64>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct StaticImageDeactivateScheduleActionSettings {
#[serde(rename = "FadeOut")]
#[serde(skip_serializing_if = "Option::is_none")]
pub fade_out: Option<i64>,
#[serde(rename = "Layer")]
#[serde(skip_serializing_if = "Option::is_none")]
pub layer: Option<i64>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct StaticKeySettings {
#[serde(rename = "KeyProviderServer")]
#[serde(skip_serializing_if = "Option::is_none")]
pub key_provider_server: Option<InputLocation>,
#[serde(rename = "StaticKeyValue")]
pub static_key_value: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct StopChannelRequest {
#[serde(rename = "ChannelId")]
pub channel_id: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct StopChannelResponse {
#[serde(rename = "Arn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub arn: Option<String>,
#[serde(rename = "ChannelClass")]
#[serde(skip_serializing_if = "Option::is_none")]
pub channel_class: Option<String>,
#[serde(rename = "Destinations")]
#[serde(skip_serializing_if = "Option::is_none")]
pub destinations: Option<Vec<OutputDestination>>,
#[serde(rename = "EgressEndpoints")]
#[serde(skip_serializing_if = "Option::is_none")]
pub egress_endpoints: Option<Vec<ChannelEgressEndpoint>>,
#[serde(rename = "EncoderSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub encoder_settings: Option<EncoderSettings>,
#[serde(rename = "Id")]
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(rename = "InputAttachments")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_attachments: Option<Vec<InputAttachment>>,
#[serde(rename = "InputSpecification")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_specification: Option<InputSpecification>,
#[serde(rename = "LogLevel")]
#[serde(skip_serializing_if = "Option::is_none")]
pub log_level: Option<String>,
#[serde(rename = "Name")]
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "PipelinesRunningCount")]
#[serde(skip_serializing_if = "Option::is_none")]
pub pipelines_running_count: Option<i64>,
#[serde(rename = "RoleArn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub role_arn: Option<String>,
#[serde(rename = "State")]
#[serde(skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
#[serde(rename = "Tags")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tags: Option<::std::collections::HashMap<String, String>>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct TeletextDestinationSettings {}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct TeletextSourceSettings {
#[serde(rename = "PageNumber")]
#[serde(skip_serializing_if = "Option::is_none")]
pub page_number: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct TimecodeConfig {
#[serde(rename = "Source")]
pub source: String,
#[serde(rename = "SyncThreshold")]
#[serde(skip_serializing_if = "Option::is_none")]
pub sync_threshold: Option<i64>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct TtmlDestinationSettings {
#[serde(rename = "StyleControl")]
#[serde(skip_serializing_if = "Option::is_none")]
pub style_control: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct UdpContainerSettings {
#[serde(rename = "M2tsSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub m_2ts_settings: Option<M2tsSettings>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct UdpGroupSettings {
#[serde(rename = "InputLossAction")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_loss_action: Option<String>,
#[serde(rename = "TimedMetadataId3Frame")]
#[serde(skip_serializing_if = "Option::is_none")]
pub timed_metadata_id_3_frame: Option<String>,
#[serde(rename = "TimedMetadataId3Period")]
#[serde(skip_serializing_if = "Option::is_none")]
pub timed_metadata_id_3_period: Option<i64>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct UdpOutputSettings {
#[serde(rename = "BufferMsec")]
#[serde(skip_serializing_if = "Option::is_none")]
pub buffer_msec: Option<i64>,
#[serde(rename = "ContainerSettings")]
pub container_settings: UdpContainerSettings,
#[serde(rename = "Destination")]
pub destination: OutputLocationRef,
#[serde(rename = "FecOutputSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub fec_output_settings: Option<FecOutputSettings>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct UpdateChannelClassRequest {
#[serde(rename = "ChannelClass")]
pub channel_class: String,
#[serde(rename = "ChannelId")]
pub channel_id: String,
#[serde(rename = "Destinations")]
#[serde(skip_serializing_if = "Option::is_none")]
pub destinations: Option<Vec<OutputDestination>>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct UpdateChannelClassResponse {
#[serde(rename = "Channel")]
#[serde(skip_serializing_if = "Option::is_none")]
pub channel: Option<Channel>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct UpdateChannelRequest {
#[serde(rename = "ChannelId")]
pub channel_id: String,
#[serde(rename = "Destinations")]
#[serde(skip_serializing_if = "Option::is_none")]
pub destinations: Option<Vec<OutputDestination>>,
#[serde(rename = "EncoderSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub encoder_settings: Option<EncoderSettings>,
#[serde(rename = "InputAttachments")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_attachments: Option<Vec<InputAttachment>>,
#[serde(rename = "InputSpecification")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_specification: Option<InputSpecification>,
#[serde(rename = "LogLevel")]
#[serde(skip_serializing_if = "Option::is_none")]
pub log_level: Option<String>,
#[serde(rename = "Name")]
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "RoleArn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub role_arn: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct UpdateChannelResponse {
#[serde(rename = "Channel")]
#[serde(skip_serializing_if = "Option::is_none")]
pub channel: Option<Channel>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct UpdateInputRequest {
#[serde(rename = "Destinations")]
#[serde(skip_serializing_if = "Option::is_none")]
pub destinations: Option<Vec<InputDestinationRequest>>,
#[serde(rename = "InputId")]
pub input_id: String,
#[serde(rename = "InputSecurityGroups")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input_security_groups: Option<Vec<String>>,
#[serde(rename = "MediaConnectFlows")]
#[serde(skip_serializing_if = "Option::is_none")]
pub media_connect_flows: Option<Vec<MediaConnectFlowRequest>>,
#[serde(rename = "Name")]
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "RoleArn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub role_arn: Option<String>,
#[serde(rename = "Sources")]
#[serde(skip_serializing_if = "Option::is_none")]
pub sources: Option<Vec<InputSourceRequest>>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct UpdateInputResponse {
#[serde(rename = "Input")]
#[serde(skip_serializing_if = "Option::is_none")]
pub input: Option<Input>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct UpdateInputSecurityGroupRequest {
#[serde(rename = "InputSecurityGroupId")]
pub input_security_group_id: String,
#[serde(rename = "Tags")]
#[serde(skip_serializing_if = "Option::is_none")]
pub tags: Option<::std::collections::HashMap<String, String>>,
#[serde(rename = "WhitelistRules")]
#[serde(skip_serializing_if = "Option::is_none")]
pub whitelist_rules: Option<Vec<InputWhitelistRuleCidr>>,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct UpdateInputSecurityGroupResponse {
#[serde(rename = "SecurityGroup")]
#[serde(skip_serializing_if = "Option::is_none")]
pub security_group: Option<InputSecurityGroup>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize)]
pub struct UpdateReservationRequest {
#[serde(rename = "Name")]
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "ReservationId")]
pub reservation_id: String,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[cfg_attr(test, derive(Serialize))]
pub struct UpdateReservationResponse {
#[serde(rename = "Reservation")]
#[serde(skip_serializing_if = "Option::is_none")]
pub reservation: Option<Reservation>,
}
#[derive(Default, Debug, Clone, PartialEq)]
pub struct ValidationError {
pub element_path: Option<String>,
pub error_message: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct VideoCodecSettings {
#[serde(rename = "FrameCaptureSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub frame_capture_settings: Option<FrameCaptureSettings>,
#[serde(rename = "H264Settings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub h264_settings: Option<H264Settings>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct VideoDescription {
#[serde(rename = "CodecSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub codec_settings: Option<VideoCodecSettings>,
#[serde(rename = "Height")]
#[serde(skip_serializing_if = "Option::is_none")]
pub height: Option<i64>,
#[serde(rename = "Name")]
pub name: String,
#[serde(rename = "RespondToAfd")]
#[serde(skip_serializing_if = "Option::is_none")]
pub respond_to_afd: Option<String>,
#[serde(rename = "ScalingBehavior")]
#[serde(skip_serializing_if = "Option::is_none")]
pub scaling_behavior: Option<String>,
#[serde(rename = "Sharpness")]
#[serde(skip_serializing_if = "Option::is_none")]
pub sharpness: Option<i64>,
#[serde(rename = "Width")]
#[serde(skip_serializing_if = "Option::is_none")]
pub width: Option<i64>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct VideoSelector {
#[serde(rename = "ColorSpace")]
#[serde(skip_serializing_if = "Option::is_none")]
pub color_space: Option<String>,
#[serde(rename = "ColorSpaceUsage")]
#[serde(skip_serializing_if = "Option::is_none")]
pub color_space_usage: Option<String>,
#[serde(rename = "SelectorSettings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub selector_settings: Option<VideoSelectorSettings>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct VideoSelectorPid {
#[serde(rename = "Pid")]
#[serde(skip_serializing_if = "Option::is_none")]
pub pid: Option<i64>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct VideoSelectorProgramId {
#[serde(rename = "ProgramId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub program_id: Option<i64>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct VideoSelectorSettings {
#[serde(rename = "VideoSelectorPid")]
#[serde(skip_serializing_if = "Option::is_none")]
pub video_selector_pid: Option<VideoSelectorPid>,
#[serde(rename = "VideoSelectorProgramId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub video_selector_program_id: Option<VideoSelectorProgramId>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct WebvttDestinationSettings {}
#[derive(Debug, PartialEq)]
pub enum BatchUpdateScheduleError {
BadGateway(String),
BadRequest(String),
Forbidden(String),
GatewayTimeout(String),
InternalServerError(String),
NotFound(String),
TooManyRequests(String),
UnprocessableEntity(String),
}
impl BatchUpdateScheduleError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<BatchUpdateScheduleError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadGatewayException" => {
return RusotoError::Service(BatchUpdateScheduleError::BadGateway(err.msg))
}
"BadRequestException" => {
return RusotoError::Service(BatchUpdateScheduleError::BadRequest(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(BatchUpdateScheduleError::Forbidden(err.msg))
}
"GatewayTimeoutException" => {
return RusotoError::Service(BatchUpdateScheduleError::GatewayTimeout(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(BatchUpdateScheduleError::InternalServerError(
err.msg,
))
}
"NotFoundException" => {
return RusotoError::Service(BatchUpdateScheduleError::NotFound(err.msg))
}
"TooManyRequestsException" => {
return RusotoError::Service(BatchUpdateScheduleError::TooManyRequests(err.msg))
}
"UnprocessableEntityException" => {
return RusotoError::Service(BatchUpdateScheduleError::UnprocessableEntity(
err.msg,
))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for BatchUpdateScheduleError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for BatchUpdateScheduleError {
fn description(&self) -> &str {
match *self {
BatchUpdateScheduleError::BadGateway(ref cause) => cause,
BatchUpdateScheduleError::BadRequest(ref cause) => cause,
BatchUpdateScheduleError::Forbidden(ref cause) => cause,
BatchUpdateScheduleError::GatewayTimeout(ref cause) => cause,
BatchUpdateScheduleError::InternalServerError(ref cause) => cause,
BatchUpdateScheduleError::NotFound(ref cause) => cause,
BatchUpdateScheduleError::TooManyRequests(ref cause) => cause,
BatchUpdateScheduleError::UnprocessableEntity(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum CreateChannelError {
BadGateway(String),
BadRequest(String),
Conflict(String),
Forbidden(String),
GatewayTimeout(String),
InternalServerError(String),
TooManyRequests(String),
UnprocessableEntity(String),
}
impl CreateChannelError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CreateChannelError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadGatewayException" => {
return RusotoError::Service(CreateChannelError::BadGateway(err.msg))
}
"BadRequestException" => {
return RusotoError::Service(CreateChannelError::BadRequest(err.msg))
}
"ConflictException" => {
return RusotoError::Service(CreateChannelError::Conflict(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(CreateChannelError::Forbidden(err.msg))
}
"GatewayTimeoutException" => {
return RusotoError::Service(CreateChannelError::GatewayTimeout(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(CreateChannelError::InternalServerError(err.msg))
}
"TooManyRequestsException" => {
return RusotoError::Service(CreateChannelError::TooManyRequests(err.msg))
}
"UnprocessableEntityException" => {
return RusotoError::Service(CreateChannelError::UnprocessableEntity(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for CreateChannelError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for CreateChannelError {
fn description(&self) -> &str {
match *self {
CreateChannelError::BadGateway(ref cause) => cause,
CreateChannelError::BadRequest(ref cause) => cause,
CreateChannelError::Conflict(ref cause) => cause,
CreateChannelError::Forbidden(ref cause) => cause,
CreateChannelError::GatewayTimeout(ref cause) => cause,
CreateChannelError::InternalServerError(ref cause) => cause,
CreateChannelError::TooManyRequests(ref cause) => cause,
CreateChannelError::UnprocessableEntity(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum CreateInputError {
BadGateway(String),
BadRequest(String),
Forbidden(String),
GatewayTimeout(String),
InternalServerError(String),
TooManyRequests(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() {
"BadGatewayException" => {
return RusotoError::Service(CreateInputError::BadGateway(err.msg))
}
"BadRequestException" => {
return RusotoError::Service(CreateInputError::BadRequest(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(CreateInputError::Forbidden(err.msg))
}
"GatewayTimeoutException" => {
return RusotoError::Service(CreateInputError::GatewayTimeout(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(CreateInputError::InternalServerError(err.msg))
}
"TooManyRequestsException" => {
return RusotoError::Service(CreateInputError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for CreateInputError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for CreateInputError {
fn description(&self) -> &str {
match *self {
CreateInputError::BadGateway(ref cause) => cause,
CreateInputError::BadRequest(ref cause) => cause,
CreateInputError::Forbidden(ref cause) => cause,
CreateInputError::GatewayTimeout(ref cause) => cause,
CreateInputError::InternalServerError(ref cause) => cause,
CreateInputError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum CreateInputSecurityGroupError {
BadGateway(String),
BadRequest(String),
Forbidden(String),
GatewayTimeout(String),
InternalServerError(String),
TooManyRequests(String),
}
impl CreateInputSecurityGroupError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CreateInputSecurityGroupError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadGatewayException" => {
return RusotoError::Service(CreateInputSecurityGroupError::BadGateway(err.msg))
}
"BadRequestException" => {
return RusotoError::Service(CreateInputSecurityGroupError::BadRequest(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(CreateInputSecurityGroupError::Forbidden(err.msg))
}
"GatewayTimeoutException" => {
return RusotoError::Service(CreateInputSecurityGroupError::GatewayTimeout(
err.msg,
))
}
"InternalServerErrorException" => {
return RusotoError::Service(
CreateInputSecurityGroupError::InternalServerError(err.msg),
)
}
"TooManyRequestsException" => {
return RusotoError::Service(CreateInputSecurityGroupError::TooManyRequests(
err.msg,
))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for CreateInputSecurityGroupError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for CreateInputSecurityGroupError {
fn description(&self) -> &str {
match *self {
CreateInputSecurityGroupError::BadGateway(ref cause) => cause,
CreateInputSecurityGroupError::BadRequest(ref cause) => cause,
CreateInputSecurityGroupError::Forbidden(ref cause) => cause,
CreateInputSecurityGroupError::GatewayTimeout(ref cause) => cause,
CreateInputSecurityGroupError::InternalServerError(ref cause) => cause,
CreateInputSecurityGroupError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum CreateTagsError {
BadRequest(String),
Forbidden(String),
InternalServerError(String),
NotFound(String),
}
impl CreateTagsError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CreateTagsError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadRequestException" => {
return RusotoError::Service(CreateTagsError::BadRequest(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(CreateTagsError::Forbidden(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(CreateTagsError::InternalServerError(err.msg))
}
"NotFoundException" => {
return RusotoError::Service(CreateTagsError::NotFound(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for CreateTagsError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for CreateTagsError {
fn description(&self) -> &str {
match *self {
CreateTagsError::BadRequest(ref cause) => cause,
CreateTagsError::Forbidden(ref cause) => cause,
CreateTagsError::InternalServerError(ref cause) => cause,
CreateTagsError::NotFound(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum DeleteChannelError {
BadGateway(String),
BadRequest(String),
Conflict(String),
Forbidden(String),
GatewayTimeout(String),
InternalServerError(String),
NotFound(String),
TooManyRequests(String),
}
impl DeleteChannelError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeleteChannelError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadGatewayException" => {
return RusotoError::Service(DeleteChannelError::BadGateway(err.msg))
}
"BadRequestException" => {
return RusotoError::Service(DeleteChannelError::BadRequest(err.msg))
}
"ConflictException" => {
return RusotoError::Service(DeleteChannelError::Conflict(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(DeleteChannelError::Forbidden(err.msg))
}
"GatewayTimeoutException" => {
return RusotoError::Service(DeleteChannelError::GatewayTimeout(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(DeleteChannelError::InternalServerError(err.msg))
}
"NotFoundException" => {
return RusotoError::Service(DeleteChannelError::NotFound(err.msg))
}
"TooManyRequestsException" => {
return RusotoError::Service(DeleteChannelError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for DeleteChannelError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for DeleteChannelError {
fn description(&self) -> &str {
match *self {
DeleteChannelError::BadGateway(ref cause) => cause,
DeleteChannelError::BadRequest(ref cause) => cause,
DeleteChannelError::Conflict(ref cause) => cause,
DeleteChannelError::Forbidden(ref cause) => cause,
DeleteChannelError::GatewayTimeout(ref cause) => cause,
DeleteChannelError::InternalServerError(ref cause) => cause,
DeleteChannelError::NotFound(ref cause) => cause,
DeleteChannelError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum DeleteInputError {
BadGateway(String),
BadRequest(String),
Conflict(String),
Forbidden(String),
GatewayTimeout(String),
InternalServerError(String),
NotFound(String),
TooManyRequests(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() {
"BadGatewayException" => {
return RusotoError::Service(DeleteInputError::BadGateway(err.msg))
}
"BadRequestException" => {
return RusotoError::Service(DeleteInputError::BadRequest(err.msg))
}
"ConflictException" => {
return RusotoError::Service(DeleteInputError::Conflict(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(DeleteInputError::Forbidden(err.msg))
}
"GatewayTimeoutException" => {
return RusotoError::Service(DeleteInputError::GatewayTimeout(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(DeleteInputError::InternalServerError(err.msg))
}
"NotFoundException" => {
return RusotoError::Service(DeleteInputError::NotFound(err.msg))
}
"TooManyRequestsException" => {
return RusotoError::Service(DeleteInputError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for DeleteInputError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for DeleteInputError {
fn description(&self) -> &str {
match *self {
DeleteInputError::BadGateway(ref cause) => cause,
DeleteInputError::BadRequest(ref cause) => cause,
DeleteInputError::Conflict(ref cause) => cause,
DeleteInputError::Forbidden(ref cause) => cause,
DeleteInputError::GatewayTimeout(ref cause) => cause,
DeleteInputError::InternalServerError(ref cause) => cause,
DeleteInputError::NotFound(ref cause) => cause,
DeleteInputError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum DeleteInputSecurityGroupError {
BadGateway(String),
BadRequest(String),
Forbidden(String),
GatewayTimeout(String),
InternalServerError(String),
NotFound(String),
TooManyRequests(String),
}
impl DeleteInputSecurityGroupError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeleteInputSecurityGroupError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadGatewayException" => {
return RusotoError::Service(DeleteInputSecurityGroupError::BadGateway(err.msg))
}
"BadRequestException" => {
return RusotoError::Service(DeleteInputSecurityGroupError::BadRequest(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(DeleteInputSecurityGroupError::Forbidden(err.msg))
}
"GatewayTimeoutException" => {
return RusotoError::Service(DeleteInputSecurityGroupError::GatewayTimeout(
err.msg,
))
}
"InternalServerErrorException" => {
return RusotoError::Service(
DeleteInputSecurityGroupError::InternalServerError(err.msg),
)
}
"NotFoundException" => {
return RusotoError::Service(DeleteInputSecurityGroupError::NotFound(err.msg))
}
"TooManyRequestsException" => {
return RusotoError::Service(DeleteInputSecurityGroupError::TooManyRequests(
err.msg,
))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for DeleteInputSecurityGroupError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for DeleteInputSecurityGroupError {
fn description(&self) -> &str {
match *self {
DeleteInputSecurityGroupError::BadGateway(ref cause) => cause,
DeleteInputSecurityGroupError::BadRequest(ref cause) => cause,
DeleteInputSecurityGroupError::Forbidden(ref cause) => cause,
DeleteInputSecurityGroupError::GatewayTimeout(ref cause) => cause,
DeleteInputSecurityGroupError::InternalServerError(ref cause) => cause,
DeleteInputSecurityGroupError::NotFound(ref cause) => cause,
DeleteInputSecurityGroupError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum DeleteReservationError {
BadGateway(String),
BadRequest(String),
Conflict(String),
Forbidden(String),
GatewayTimeout(String),
InternalServerError(String),
NotFound(String),
TooManyRequests(String),
}
impl DeleteReservationError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeleteReservationError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadGatewayException" => {
return RusotoError::Service(DeleteReservationError::BadGateway(err.msg))
}
"BadRequestException" => {
return RusotoError::Service(DeleteReservationError::BadRequest(err.msg))
}
"ConflictException" => {
return RusotoError::Service(DeleteReservationError::Conflict(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(DeleteReservationError::Forbidden(err.msg))
}
"GatewayTimeoutException" => {
return RusotoError::Service(DeleteReservationError::GatewayTimeout(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(DeleteReservationError::InternalServerError(
err.msg,
))
}
"NotFoundException" => {
return RusotoError::Service(DeleteReservationError::NotFound(err.msg))
}
"TooManyRequestsException" => {
return RusotoError::Service(DeleteReservationError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for DeleteReservationError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for DeleteReservationError {
fn description(&self) -> &str {
match *self {
DeleteReservationError::BadGateway(ref cause) => cause,
DeleteReservationError::BadRequest(ref cause) => cause,
DeleteReservationError::Conflict(ref cause) => cause,
DeleteReservationError::Forbidden(ref cause) => cause,
DeleteReservationError::GatewayTimeout(ref cause) => cause,
DeleteReservationError::InternalServerError(ref cause) => cause,
DeleteReservationError::NotFound(ref cause) => cause,
DeleteReservationError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum DeleteScheduleError {
BadGateway(String),
BadRequest(String),
Forbidden(String),
GatewayTimeout(String),
InternalServerError(String),
NotFound(String),
TooManyRequests(String),
}
impl DeleteScheduleError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeleteScheduleError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadGatewayException" => {
return RusotoError::Service(DeleteScheduleError::BadGateway(err.msg))
}
"BadRequestException" => {
return RusotoError::Service(DeleteScheduleError::BadRequest(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(DeleteScheduleError::Forbidden(err.msg))
}
"GatewayTimeoutException" => {
return RusotoError::Service(DeleteScheduleError::GatewayTimeout(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(DeleteScheduleError::InternalServerError(err.msg))
}
"NotFoundException" => {
return RusotoError::Service(DeleteScheduleError::NotFound(err.msg))
}
"TooManyRequestsException" => {
return RusotoError::Service(DeleteScheduleError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for DeleteScheduleError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for DeleteScheduleError {
fn description(&self) -> &str {
match *self {
DeleteScheduleError::BadGateway(ref cause) => cause,
DeleteScheduleError::BadRequest(ref cause) => cause,
DeleteScheduleError::Forbidden(ref cause) => cause,
DeleteScheduleError::GatewayTimeout(ref cause) => cause,
DeleteScheduleError::InternalServerError(ref cause) => cause,
DeleteScheduleError::NotFound(ref cause) => cause,
DeleteScheduleError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum DeleteTagsError {
BadRequest(String),
Forbidden(String),
InternalServerError(String),
NotFound(String),
}
impl DeleteTagsError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeleteTagsError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadRequestException" => {
return RusotoError::Service(DeleteTagsError::BadRequest(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(DeleteTagsError::Forbidden(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(DeleteTagsError::InternalServerError(err.msg))
}
"NotFoundException" => {
return RusotoError::Service(DeleteTagsError::NotFound(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for DeleteTagsError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for DeleteTagsError {
fn description(&self) -> &str {
match *self {
DeleteTagsError::BadRequest(ref cause) => cause,
DeleteTagsError::Forbidden(ref cause) => cause,
DeleteTagsError::InternalServerError(ref cause) => cause,
DeleteTagsError::NotFound(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum DescribeChannelError {
BadGateway(String),
BadRequest(String),
Forbidden(String),
GatewayTimeout(String),
InternalServerError(String),
NotFound(String),
TooManyRequests(String),
}
impl DescribeChannelError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeChannelError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadGatewayException" => {
return RusotoError::Service(DescribeChannelError::BadGateway(err.msg))
}
"BadRequestException" => {
return RusotoError::Service(DescribeChannelError::BadRequest(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(DescribeChannelError::Forbidden(err.msg))
}
"GatewayTimeoutException" => {
return RusotoError::Service(DescribeChannelError::GatewayTimeout(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(DescribeChannelError::InternalServerError(err.msg))
}
"NotFoundException" => {
return RusotoError::Service(DescribeChannelError::NotFound(err.msg))
}
"TooManyRequestsException" => {
return RusotoError::Service(DescribeChannelError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for DescribeChannelError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for DescribeChannelError {
fn description(&self) -> &str {
match *self {
DescribeChannelError::BadGateway(ref cause) => cause,
DescribeChannelError::BadRequest(ref cause) => cause,
DescribeChannelError::Forbidden(ref cause) => cause,
DescribeChannelError::GatewayTimeout(ref cause) => cause,
DescribeChannelError::InternalServerError(ref cause) => cause,
DescribeChannelError::NotFound(ref cause) => cause,
DescribeChannelError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum DescribeInputError {
BadGateway(String),
BadRequest(String),
Forbidden(String),
GatewayTimeout(String),
InternalServerError(String),
NotFound(String),
TooManyRequests(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() {
"BadGatewayException" => {
return RusotoError::Service(DescribeInputError::BadGateway(err.msg))
}
"BadRequestException" => {
return RusotoError::Service(DescribeInputError::BadRequest(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(DescribeInputError::Forbidden(err.msg))
}
"GatewayTimeoutException" => {
return RusotoError::Service(DescribeInputError::GatewayTimeout(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(DescribeInputError::InternalServerError(err.msg))
}
"NotFoundException" => {
return RusotoError::Service(DescribeInputError::NotFound(err.msg))
}
"TooManyRequestsException" => {
return RusotoError::Service(DescribeInputError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for DescribeInputError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for DescribeInputError {
fn description(&self) -> &str {
match *self {
DescribeInputError::BadGateway(ref cause) => cause,
DescribeInputError::BadRequest(ref cause) => cause,
DescribeInputError::Forbidden(ref cause) => cause,
DescribeInputError::GatewayTimeout(ref cause) => cause,
DescribeInputError::InternalServerError(ref cause) => cause,
DescribeInputError::NotFound(ref cause) => cause,
DescribeInputError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum DescribeInputSecurityGroupError {
BadGateway(String),
BadRequest(String),
Forbidden(String),
GatewayTimeout(String),
InternalServerError(String),
NotFound(String),
TooManyRequests(String),
}
impl DescribeInputSecurityGroupError {
pub fn from_response(
res: BufferedHttpResponse,
) -> RusotoError<DescribeInputSecurityGroupError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadGatewayException" => {
return RusotoError::Service(DescribeInputSecurityGroupError::BadGateway(
err.msg,
))
}
"BadRequestException" => {
return RusotoError::Service(DescribeInputSecurityGroupError::BadRequest(
err.msg,
))
}
"ForbiddenException" => {
return RusotoError::Service(DescribeInputSecurityGroupError::Forbidden(
err.msg,
))
}
"GatewayTimeoutException" => {
return RusotoError::Service(DescribeInputSecurityGroupError::GatewayTimeout(
err.msg,
))
}
"InternalServerErrorException" => {
return RusotoError::Service(
DescribeInputSecurityGroupError::InternalServerError(err.msg),
)
}
"NotFoundException" => {
return RusotoError::Service(DescribeInputSecurityGroupError::NotFound(err.msg))
}
"TooManyRequestsException" => {
return RusotoError::Service(DescribeInputSecurityGroupError::TooManyRequests(
err.msg,
))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for DescribeInputSecurityGroupError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for DescribeInputSecurityGroupError {
fn description(&self) -> &str {
match *self {
DescribeInputSecurityGroupError::BadGateway(ref cause) => cause,
DescribeInputSecurityGroupError::BadRequest(ref cause) => cause,
DescribeInputSecurityGroupError::Forbidden(ref cause) => cause,
DescribeInputSecurityGroupError::GatewayTimeout(ref cause) => cause,
DescribeInputSecurityGroupError::InternalServerError(ref cause) => cause,
DescribeInputSecurityGroupError::NotFound(ref cause) => cause,
DescribeInputSecurityGroupError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum DescribeOfferingError {
BadGateway(String),
BadRequest(String),
Forbidden(String),
GatewayTimeout(String),
InternalServerError(String),
NotFound(String),
TooManyRequests(String),
}
impl DescribeOfferingError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeOfferingError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadGatewayException" => {
return RusotoError::Service(DescribeOfferingError::BadGateway(err.msg))
}
"BadRequestException" => {
return RusotoError::Service(DescribeOfferingError::BadRequest(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(DescribeOfferingError::Forbidden(err.msg))
}
"GatewayTimeoutException" => {
return RusotoError::Service(DescribeOfferingError::GatewayTimeout(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(DescribeOfferingError::InternalServerError(
err.msg,
))
}
"NotFoundException" => {
return RusotoError::Service(DescribeOfferingError::NotFound(err.msg))
}
"TooManyRequestsException" => {
return RusotoError::Service(DescribeOfferingError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for DescribeOfferingError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for DescribeOfferingError {
fn description(&self) -> &str {
match *self {
DescribeOfferingError::BadGateway(ref cause) => cause,
DescribeOfferingError::BadRequest(ref cause) => cause,
DescribeOfferingError::Forbidden(ref cause) => cause,
DescribeOfferingError::GatewayTimeout(ref cause) => cause,
DescribeOfferingError::InternalServerError(ref cause) => cause,
DescribeOfferingError::NotFound(ref cause) => cause,
DescribeOfferingError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum DescribeReservationError {
BadGateway(String),
BadRequest(String),
Forbidden(String),
GatewayTimeout(String),
InternalServerError(String),
NotFound(String),
TooManyRequests(String),
}
impl DescribeReservationError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeReservationError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadGatewayException" => {
return RusotoError::Service(DescribeReservationError::BadGateway(err.msg))
}
"BadRequestException" => {
return RusotoError::Service(DescribeReservationError::BadRequest(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(DescribeReservationError::Forbidden(err.msg))
}
"GatewayTimeoutException" => {
return RusotoError::Service(DescribeReservationError::GatewayTimeout(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(DescribeReservationError::InternalServerError(
err.msg,
))
}
"NotFoundException" => {
return RusotoError::Service(DescribeReservationError::NotFound(err.msg))
}
"TooManyRequestsException" => {
return RusotoError::Service(DescribeReservationError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for DescribeReservationError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for DescribeReservationError {
fn description(&self) -> &str {
match *self {
DescribeReservationError::BadGateway(ref cause) => cause,
DescribeReservationError::BadRequest(ref cause) => cause,
DescribeReservationError::Forbidden(ref cause) => cause,
DescribeReservationError::GatewayTimeout(ref cause) => cause,
DescribeReservationError::InternalServerError(ref cause) => cause,
DescribeReservationError::NotFound(ref cause) => cause,
DescribeReservationError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum DescribeScheduleError {
BadGateway(String),
BadRequest(String),
Forbidden(String),
GatewayTimeout(String),
InternalServerError(String),
NotFound(String),
TooManyRequests(String),
}
impl DescribeScheduleError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeScheduleError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadGatewayException" => {
return RusotoError::Service(DescribeScheduleError::BadGateway(err.msg))
}
"BadRequestException" => {
return RusotoError::Service(DescribeScheduleError::BadRequest(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(DescribeScheduleError::Forbidden(err.msg))
}
"GatewayTimeoutException" => {
return RusotoError::Service(DescribeScheduleError::GatewayTimeout(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(DescribeScheduleError::InternalServerError(
err.msg,
))
}
"NotFoundException" => {
return RusotoError::Service(DescribeScheduleError::NotFound(err.msg))
}
"TooManyRequestsException" => {
return RusotoError::Service(DescribeScheduleError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for DescribeScheduleError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for DescribeScheduleError {
fn description(&self) -> &str {
match *self {
DescribeScheduleError::BadGateway(ref cause) => cause,
DescribeScheduleError::BadRequest(ref cause) => cause,
DescribeScheduleError::Forbidden(ref cause) => cause,
DescribeScheduleError::GatewayTimeout(ref cause) => cause,
DescribeScheduleError::InternalServerError(ref cause) => cause,
DescribeScheduleError::NotFound(ref cause) => cause,
DescribeScheduleError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum ListChannelsError {
BadGateway(String),
BadRequest(String),
Forbidden(String),
GatewayTimeout(String),
InternalServerError(String),
TooManyRequests(String),
}
impl ListChannelsError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListChannelsError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadGatewayException" => {
return RusotoError::Service(ListChannelsError::BadGateway(err.msg))
}
"BadRequestException" => {
return RusotoError::Service(ListChannelsError::BadRequest(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(ListChannelsError::Forbidden(err.msg))
}
"GatewayTimeoutException" => {
return RusotoError::Service(ListChannelsError::GatewayTimeout(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(ListChannelsError::InternalServerError(err.msg))
}
"TooManyRequestsException" => {
return RusotoError::Service(ListChannelsError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for ListChannelsError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for ListChannelsError {
fn description(&self) -> &str {
match *self {
ListChannelsError::BadGateway(ref cause) => cause,
ListChannelsError::BadRequest(ref cause) => cause,
ListChannelsError::Forbidden(ref cause) => cause,
ListChannelsError::GatewayTimeout(ref cause) => cause,
ListChannelsError::InternalServerError(ref cause) => cause,
ListChannelsError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum ListInputSecurityGroupsError {
BadGateway(String),
BadRequest(String),
Forbidden(String),
GatewayTimeout(String),
InternalServerError(String),
TooManyRequests(String),
}
impl ListInputSecurityGroupsError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListInputSecurityGroupsError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadGatewayException" => {
return RusotoError::Service(ListInputSecurityGroupsError::BadGateway(err.msg))
}
"BadRequestException" => {
return RusotoError::Service(ListInputSecurityGroupsError::BadRequest(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(ListInputSecurityGroupsError::Forbidden(err.msg))
}
"GatewayTimeoutException" => {
return RusotoError::Service(ListInputSecurityGroupsError::GatewayTimeout(
err.msg,
))
}
"InternalServerErrorException" => {
return RusotoError::Service(ListInputSecurityGroupsError::InternalServerError(
err.msg,
))
}
"TooManyRequestsException" => {
return RusotoError::Service(ListInputSecurityGroupsError::TooManyRequests(
err.msg,
))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for ListInputSecurityGroupsError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for ListInputSecurityGroupsError {
fn description(&self) -> &str {
match *self {
ListInputSecurityGroupsError::BadGateway(ref cause) => cause,
ListInputSecurityGroupsError::BadRequest(ref cause) => cause,
ListInputSecurityGroupsError::Forbidden(ref cause) => cause,
ListInputSecurityGroupsError::GatewayTimeout(ref cause) => cause,
ListInputSecurityGroupsError::InternalServerError(ref cause) => cause,
ListInputSecurityGroupsError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum ListInputsError {
BadGateway(String),
BadRequest(String),
Forbidden(String),
GatewayTimeout(String),
InternalServerError(String),
TooManyRequests(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() {
"BadGatewayException" => {
return RusotoError::Service(ListInputsError::BadGateway(err.msg))
}
"BadRequestException" => {
return RusotoError::Service(ListInputsError::BadRequest(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(ListInputsError::Forbidden(err.msg))
}
"GatewayTimeoutException" => {
return RusotoError::Service(ListInputsError::GatewayTimeout(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(ListInputsError::InternalServerError(err.msg))
}
"TooManyRequestsException" => {
return RusotoError::Service(ListInputsError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for ListInputsError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for ListInputsError {
fn description(&self) -> &str {
match *self {
ListInputsError::BadGateway(ref cause) => cause,
ListInputsError::BadRequest(ref cause) => cause,
ListInputsError::Forbidden(ref cause) => cause,
ListInputsError::GatewayTimeout(ref cause) => cause,
ListInputsError::InternalServerError(ref cause) => cause,
ListInputsError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum ListOfferingsError {
BadGateway(String),
BadRequest(String),
Forbidden(String),
GatewayTimeout(String),
InternalServerError(String),
TooManyRequests(String),
}
impl ListOfferingsError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListOfferingsError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadGatewayException" => {
return RusotoError::Service(ListOfferingsError::BadGateway(err.msg))
}
"BadRequestException" => {
return RusotoError::Service(ListOfferingsError::BadRequest(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(ListOfferingsError::Forbidden(err.msg))
}
"GatewayTimeoutException" => {
return RusotoError::Service(ListOfferingsError::GatewayTimeout(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(ListOfferingsError::InternalServerError(err.msg))
}
"TooManyRequestsException" => {
return RusotoError::Service(ListOfferingsError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for ListOfferingsError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for ListOfferingsError {
fn description(&self) -> &str {
match *self {
ListOfferingsError::BadGateway(ref cause) => cause,
ListOfferingsError::BadRequest(ref cause) => cause,
ListOfferingsError::Forbidden(ref cause) => cause,
ListOfferingsError::GatewayTimeout(ref cause) => cause,
ListOfferingsError::InternalServerError(ref cause) => cause,
ListOfferingsError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum ListReservationsError {
BadGateway(String),
BadRequest(String),
Forbidden(String),
GatewayTimeout(String),
InternalServerError(String),
TooManyRequests(String),
}
impl ListReservationsError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListReservationsError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadGatewayException" => {
return RusotoError::Service(ListReservationsError::BadGateway(err.msg))
}
"BadRequestException" => {
return RusotoError::Service(ListReservationsError::BadRequest(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(ListReservationsError::Forbidden(err.msg))
}
"GatewayTimeoutException" => {
return RusotoError::Service(ListReservationsError::GatewayTimeout(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(ListReservationsError::InternalServerError(
err.msg,
))
}
"TooManyRequestsException" => {
return RusotoError::Service(ListReservationsError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for ListReservationsError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for ListReservationsError {
fn description(&self) -> &str {
match *self {
ListReservationsError::BadGateway(ref cause) => cause,
ListReservationsError::BadRequest(ref cause) => cause,
ListReservationsError::Forbidden(ref cause) => cause,
ListReservationsError::GatewayTimeout(ref cause) => cause,
ListReservationsError::InternalServerError(ref cause) => cause,
ListReservationsError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum ListTagsForResourceError {
BadRequest(String),
Forbidden(String),
InternalServerError(String),
NotFound(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))
}
"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,
}
}
}
#[derive(Debug, PartialEq)]
pub enum PurchaseOfferingError {
BadGateway(String),
BadRequest(String),
Conflict(String),
Forbidden(String),
GatewayTimeout(String),
InternalServerError(String),
NotFound(String),
TooManyRequests(String),
}
impl PurchaseOfferingError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<PurchaseOfferingError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadGatewayException" => {
return RusotoError::Service(PurchaseOfferingError::BadGateway(err.msg))
}
"BadRequestException" => {
return RusotoError::Service(PurchaseOfferingError::BadRequest(err.msg))
}
"ConflictException" => {
return RusotoError::Service(PurchaseOfferingError::Conflict(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(PurchaseOfferingError::Forbidden(err.msg))
}
"GatewayTimeoutException" => {
return RusotoError::Service(PurchaseOfferingError::GatewayTimeout(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(PurchaseOfferingError::InternalServerError(
err.msg,
))
}
"NotFoundException" => {
return RusotoError::Service(PurchaseOfferingError::NotFound(err.msg))
}
"TooManyRequestsException" => {
return RusotoError::Service(PurchaseOfferingError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for PurchaseOfferingError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for PurchaseOfferingError {
fn description(&self) -> &str {
match *self {
PurchaseOfferingError::BadGateway(ref cause) => cause,
PurchaseOfferingError::BadRequest(ref cause) => cause,
PurchaseOfferingError::Conflict(ref cause) => cause,
PurchaseOfferingError::Forbidden(ref cause) => cause,
PurchaseOfferingError::GatewayTimeout(ref cause) => cause,
PurchaseOfferingError::InternalServerError(ref cause) => cause,
PurchaseOfferingError::NotFound(ref cause) => cause,
PurchaseOfferingError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum StartChannelError {
BadGateway(String),
BadRequest(String),
Conflict(String),
Forbidden(String),
GatewayTimeout(String),
InternalServerError(String),
NotFound(String),
TooManyRequests(String),
}
impl StartChannelError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<StartChannelError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadGatewayException" => {
return RusotoError::Service(StartChannelError::BadGateway(err.msg))
}
"BadRequestException" => {
return RusotoError::Service(StartChannelError::BadRequest(err.msg))
}
"ConflictException" => {
return RusotoError::Service(StartChannelError::Conflict(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(StartChannelError::Forbidden(err.msg))
}
"GatewayTimeoutException" => {
return RusotoError::Service(StartChannelError::GatewayTimeout(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(StartChannelError::InternalServerError(err.msg))
}
"NotFoundException" => {
return RusotoError::Service(StartChannelError::NotFound(err.msg))
}
"TooManyRequestsException" => {
return RusotoError::Service(StartChannelError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for StartChannelError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for StartChannelError {
fn description(&self) -> &str {
match *self {
StartChannelError::BadGateway(ref cause) => cause,
StartChannelError::BadRequest(ref cause) => cause,
StartChannelError::Conflict(ref cause) => cause,
StartChannelError::Forbidden(ref cause) => cause,
StartChannelError::GatewayTimeout(ref cause) => cause,
StartChannelError::InternalServerError(ref cause) => cause,
StartChannelError::NotFound(ref cause) => cause,
StartChannelError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum StopChannelError {
BadGateway(String),
BadRequest(String),
Conflict(String),
Forbidden(String),
GatewayTimeout(String),
InternalServerError(String),
NotFound(String),
TooManyRequests(String),
}
impl StopChannelError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<StopChannelError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadGatewayException" => {
return RusotoError::Service(StopChannelError::BadGateway(err.msg))
}
"BadRequestException" => {
return RusotoError::Service(StopChannelError::BadRequest(err.msg))
}
"ConflictException" => {
return RusotoError::Service(StopChannelError::Conflict(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(StopChannelError::Forbidden(err.msg))
}
"GatewayTimeoutException" => {
return RusotoError::Service(StopChannelError::GatewayTimeout(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(StopChannelError::InternalServerError(err.msg))
}
"NotFoundException" => {
return RusotoError::Service(StopChannelError::NotFound(err.msg))
}
"TooManyRequestsException" => {
return RusotoError::Service(StopChannelError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for StopChannelError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for StopChannelError {
fn description(&self) -> &str {
match *self {
StopChannelError::BadGateway(ref cause) => cause,
StopChannelError::BadRequest(ref cause) => cause,
StopChannelError::Conflict(ref cause) => cause,
StopChannelError::Forbidden(ref cause) => cause,
StopChannelError::GatewayTimeout(ref cause) => cause,
StopChannelError::InternalServerError(ref cause) => cause,
StopChannelError::NotFound(ref cause) => cause,
StopChannelError::TooManyRequests(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum UpdateChannelError {
BadGateway(String),
BadRequest(String),
Conflict(String),
Forbidden(String),
GatewayTimeout(String),
InternalServerError(String),
UnprocessableEntity(String),
}
impl UpdateChannelError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<UpdateChannelError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadGatewayException" => {
return RusotoError::Service(UpdateChannelError::BadGateway(err.msg))
}
"BadRequestException" => {
return RusotoError::Service(UpdateChannelError::BadRequest(err.msg))
}
"ConflictException" => {
return RusotoError::Service(UpdateChannelError::Conflict(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(UpdateChannelError::Forbidden(err.msg))
}
"GatewayTimeoutException" => {
return RusotoError::Service(UpdateChannelError::GatewayTimeout(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(UpdateChannelError::InternalServerError(err.msg))
}
"UnprocessableEntityException" => {
return RusotoError::Service(UpdateChannelError::UnprocessableEntity(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for UpdateChannelError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for UpdateChannelError {
fn description(&self) -> &str {
match *self {
UpdateChannelError::BadGateway(ref cause) => cause,
UpdateChannelError::BadRequest(ref cause) => cause,
UpdateChannelError::Conflict(ref cause) => cause,
UpdateChannelError::Forbidden(ref cause) => cause,
UpdateChannelError::GatewayTimeout(ref cause) => cause,
UpdateChannelError::InternalServerError(ref cause) => cause,
UpdateChannelError::UnprocessableEntity(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum UpdateChannelClassError {
BadGateway(String),
BadRequest(String),
Conflict(String),
Forbidden(String),
GatewayTimeout(String),
InternalServerError(String),
NotFound(String),
TooManyRequests(String),
UnprocessableEntity(String),
}
impl UpdateChannelClassError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<UpdateChannelClassError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadGatewayException" => {
return RusotoError::Service(UpdateChannelClassError::BadGateway(err.msg))
}
"BadRequestException" => {
return RusotoError::Service(UpdateChannelClassError::BadRequest(err.msg))
}
"ConflictException" => {
return RusotoError::Service(UpdateChannelClassError::Conflict(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(UpdateChannelClassError::Forbidden(err.msg))
}
"GatewayTimeoutException" => {
return RusotoError::Service(UpdateChannelClassError::GatewayTimeout(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(UpdateChannelClassError::InternalServerError(
err.msg,
))
}
"NotFoundException" => {
return RusotoError::Service(UpdateChannelClassError::NotFound(err.msg))
}
"TooManyRequestsException" => {
return RusotoError::Service(UpdateChannelClassError::TooManyRequests(err.msg))
}
"UnprocessableEntityException" => {
return RusotoError::Service(UpdateChannelClassError::UnprocessableEntity(
err.msg,
))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for UpdateChannelClassError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for UpdateChannelClassError {
fn description(&self) -> &str {
match *self {
UpdateChannelClassError::BadGateway(ref cause) => cause,
UpdateChannelClassError::BadRequest(ref cause) => cause,
UpdateChannelClassError::Conflict(ref cause) => cause,
UpdateChannelClassError::Forbidden(ref cause) => cause,
UpdateChannelClassError::GatewayTimeout(ref cause) => cause,
UpdateChannelClassError::InternalServerError(ref cause) => cause,
UpdateChannelClassError::NotFound(ref cause) => cause,
UpdateChannelClassError::TooManyRequests(ref cause) => cause,
UpdateChannelClassError::UnprocessableEntity(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum UpdateInputError {
BadGateway(String),
BadRequest(String),
Conflict(String),
Forbidden(String),
GatewayTimeout(String),
InternalServerError(String),
NotFound(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() {
"BadGatewayException" => {
return RusotoError::Service(UpdateInputError::BadGateway(err.msg))
}
"BadRequestException" => {
return RusotoError::Service(UpdateInputError::BadRequest(err.msg))
}
"ConflictException" => {
return RusotoError::Service(UpdateInputError::Conflict(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(UpdateInputError::Forbidden(err.msg))
}
"GatewayTimeoutException" => {
return RusotoError::Service(UpdateInputError::GatewayTimeout(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(UpdateInputError::InternalServerError(err.msg))
}
"NotFoundException" => {
return RusotoError::Service(UpdateInputError::NotFound(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for UpdateInputError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for UpdateInputError {
fn description(&self) -> &str {
match *self {
UpdateInputError::BadGateway(ref cause) => cause,
UpdateInputError::BadRequest(ref cause) => cause,
UpdateInputError::Conflict(ref cause) => cause,
UpdateInputError::Forbidden(ref cause) => cause,
UpdateInputError::GatewayTimeout(ref cause) => cause,
UpdateInputError::InternalServerError(ref cause) => cause,
UpdateInputError::NotFound(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum UpdateInputSecurityGroupError {
BadGateway(String),
BadRequest(String),
Conflict(String),
Forbidden(String),
GatewayTimeout(String),
InternalServerError(String),
NotFound(String),
}
impl UpdateInputSecurityGroupError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<UpdateInputSecurityGroupError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadGatewayException" => {
return RusotoError::Service(UpdateInputSecurityGroupError::BadGateway(err.msg))
}
"BadRequestException" => {
return RusotoError::Service(UpdateInputSecurityGroupError::BadRequest(err.msg))
}
"ConflictException" => {
return RusotoError::Service(UpdateInputSecurityGroupError::Conflict(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(UpdateInputSecurityGroupError::Forbidden(err.msg))
}
"GatewayTimeoutException" => {
return RusotoError::Service(UpdateInputSecurityGroupError::GatewayTimeout(
err.msg,
))
}
"InternalServerErrorException" => {
return RusotoError::Service(
UpdateInputSecurityGroupError::InternalServerError(err.msg),
)
}
"NotFoundException" => {
return RusotoError::Service(UpdateInputSecurityGroupError::NotFound(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for UpdateInputSecurityGroupError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for UpdateInputSecurityGroupError {
fn description(&self) -> &str {
match *self {
UpdateInputSecurityGroupError::BadGateway(ref cause) => cause,
UpdateInputSecurityGroupError::BadRequest(ref cause) => cause,
UpdateInputSecurityGroupError::Conflict(ref cause) => cause,
UpdateInputSecurityGroupError::Forbidden(ref cause) => cause,
UpdateInputSecurityGroupError::GatewayTimeout(ref cause) => cause,
UpdateInputSecurityGroupError::InternalServerError(ref cause) => cause,
UpdateInputSecurityGroupError::NotFound(ref cause) => cause,
}
}
}
#[derive(Debug, PartialEq)]
pub enum UpdateReservationError {
BadGateway(String),
BadRequest(String),
Conflict(String),
Forbidden(String),
GatewayTimeout(String),
InternalServerError(String),
NotFound(String),
TooManyRequests(String),
}
impl UpdateReservationError {
pub fn from_response(res: BufferedHttpResponse) -> RusotoError<UpdateReservationError> {
if let Some(err) = proto::json::Error::parse_rest(&res) {
match err.typ.as_str() {
"BadGatewayException" => {
return RusotoError::Service(UpdateReservationError::BadGateway(err.msg))
}
"BadRequestException" => {
return RusotoError::Service(UpdateReservationError::BadRequest(err.msg))
}
"ConflictException" => {
return RusotoError::Service(UpdateReservationError::Conflict(err.msg))
}
"ForbiddenException" => {
return RusotoError::Service(UpdateReservationError::Forbidden(err.msg))
}
"GatewayTimeoutException" => {
return RusotoError::Service(UpdateReservationError::GatewayTimeout(err.msg))
}
"InternalServerErrorException" => {
return RusotoError::Service(UpdateReservationError::InternalServerError(
err.msg,
))
}
"NotFoundException" => {
return RusotoError::Service(UpdateReservationError::NotFound(err.msg))
}
"TooManyRequestsException" => {
return RusotoError::Service(UpdateReservationError::TooManyRequests(err.msg))
}
"ValidationException" => return RusotoError::Validation(err.msg),
_ => {}
}
}
return RusotoError::Unknown(res);
}
}
impl fmt::Display for UpdateReservationError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", self.description())
}
}
impl Error for UpdateReservationError {
fn description(&self) -> &str {
match *self {
UpdateReservationError::BadGateway(ref cause) => cause,
UpdateReservationError::BadRequest(ref cause) => cause,
UpdateReservationError::Conflict(ref cause) => cause,
UpdateReservationError::Forbidden(ref cause) => cause,
UpdateReservationError::GatewayTimeout(ref cause) => cause,
UpdateReservationError::InternalServerError(ref cause) => cause,
UpdateReservationError::NotFound(ref cause) => cause,
UpdateReservationError::TooManyRequests(ref cause) => cause,
}
}
}
pub trait MediaLive {
fn batch_update_schedule(
&self,
input: BatchUpdateScheduleRequest,
) -> RusotoFuture<BatchUpdateScheduleResponse, BatchUpdateScheduleError>;
fn create_channel(
&self,
input: CreateChannelRequest,
) -> RusotoFuture<CreateChannelResponse, CreateChannelError>;
fn create_input(
&self,
input: CreateInputRequest,
) -> RusotoFuture<CreateInputResponse, CreateInputError>;
fn create_input_security_group(
&self,
input: CreateInputSecurityGroupRequest,
) -> RusotoFuture<CreateInputSecurityGroupResponse, CreateInputSecurityGroupError>;
fn create_tags(&self, input: CreateTagsRequest) -> RusotoFuture<(), CreateTagsError>;
fn delete_channel(
&self,
input: DeleteChannelRequest,
) -> RusotoFuture<DeleteChannelResponse, DeleteChannelError>;
fn delete_input(
&self,
input: DeleteInputRequest,
) -> RusotoFuture<DeleteInputResponse, DeleteInputError>;
fn delete_input_security_group(
&self,
input: DeleteInputSecurityGroupRequest,
) -> RusotoFuture<DeleteInputSecurityGroupResponse, DeleteInputSecurityGroupError>;
fn delete_reservation(
&self,
input: DeleteReservationRequest,
) -> RusotoFuture<DeleteReservationResponse, DeleteReservationError>;
fn delete_schedule(
&self,
input: DeleteScheduleRequest,
) -> RusotoFuture<DeleteScheduleResponse, DeleteScheduleError>;
fn delete_tags(&self, input: DeleteTagsRequest) -> RusotoFuture<(), DeleteTagsError>;
fn describe_channel(
&self,
input: DescribeChannelRequest,
) -> RusotoFuture<DescribeChannelResponse, DescribeChannelError>;
fn describe_input(
&self,
input: DescribeInputRequest,
) -> RusotoFuture<DescribeInputResponse, DescribeInputError>;
fn describe_input_security_group(
&self,
input: DescribeInputSecurityGroupRequest,
) -> RusotoFuture<DescribeInputSecurityGroupResponse, DescribeInputSecurityGroupError>;
fn describe_offering(
&self,
input: DescribeOfferingRequest,
) -> RusotoFuture<DescribeOfferingResponse, DescribeOfferingError>;
fn describe_reservation(
&self,
input: DescribeReservationRequest,
) -> RusotoFuture<DescribeReservationResponse, DescribeReservationError>;
fn describe_schedule(
&self,
input: DescribeScheduleRequest,
) -> RusotoFuture<DescribeScheduleResponse, DescribeScheduleError>;
fn list_channels(
&self,
input: ListChannelsRequest,
) -> RusotoFuture<ListChannelsResponse, ListChannelsError>;
fn list_input_security_groups(
&self,
input: ListInputSecurityGroupsRequest,
) -> RusotoFuture<ListInputSecurityGroupsResponse, ListInputSecurityGroupsError>;
fn list_inputs(
&self,
input: ListInputsRequest,
) -> RusotoFuture<ListInputsResponse, ListInputsError>;
fn list_offerings(
&self,
input: ListOfferingsRequest,
) -> RusotoFuture<ListOfferingsResponse, ListOfferingsError>;
fn list_reservations(
&self,
input: ListReservationsRequest,
) -> RusotoFuture<ListReservationsResponse, ListReservationsError>;
fn list_tags_for_resource(
&self,
input: ListTagsForResourceRequest,
) -> RusotoFuture<ListTagsForResourceResponse, ListTagsForResourceError>;
fn purchase_offering(
&self,
input: PurchaseOfferingRequest,
) -> RusotoFuture<PurchaseOfferingResponse, PurchaseOfferingError>;
fn start_channel(
&self,
input: StartChannelRequest,
) -> RusotoFuture<StartChannelResponse, StartChannelError>;
fn stop_channel(
&self,
input: StopChannelRequest,
) -> RusotoFuture<StopChannelResponse, StopChannelError>;
fn update_channel(
&self,
input: UpdateChannelRequest,
) -> RusotoFuture<UpdateChannelResponse, UpdateChannelError>;
fn update_channel_class(
&self,
input: UpdateChannelClassRequest,
) -> RusotoFuture<UpdateChannelClassResponse, UpdateChannelClassError>;
fn update_input(
&self,
input: UpdateInputRequest,
) -> RusotoFuture<UpdateInputResponse, UpdateInputError>;
fn update_input_security_group(
&self,
input: UpdateInputSecurityGroupRequest,
) -> RusotoFuture<UpdateInputSecurityGroupResponse, UpdateInputSecurityGroupError>;
fn update_reservation(
&self,
input: UpdateReservationRequest,
) -> RusotoFuture<UpdateReservationResponse, UpdateReservationError>;
}
#[derive(Clone)]
pub struct MediaLiveClient {
client: Client,
region: region::Region,
}
impl MediaLiveClient {
pub fn new(region: region::Region) -> MediaLiveClient {
MediaLiveClient {
client: Client::shared(),
region,
}
}
pub fn new_with<P, D>(
request_dispatcher: D,
credentials_provider: P,
region: region::Region,
) -> MediaLiveClient
where
P: ProvideAwsCredentials + Send + Sync + 'static,
P::Future: Send,
D: DispatchSignedRequest + Send + Sync + 'static,
D::Future: Send,
{
MediaLiveClient {
client: Client::new_with(credentials_provider, request_dispatcher),
region,
}
}
}
impl MediaLive for MediaLiveClient {
fn batch_update_schedule(
&self,
input: BatchUpdateScheduleRequest,
) -> RusotoFuture<BatchUpdateScheduleResponse, BatchUpdateScheduleError> {
let request_uri = format!(
"/prod/channels/{channel_id}/schedule",
channel_id = input.channel_id
);
let mut request = SignedRequest::new("PUT", "medialive", &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::<BatchUpdateScheduleResponse, _>()?;
Ok(result)
}))
} else {
Box::new(
response.buffer().from_err().and_then(|response| {
Err(BatchUpdateScheduleError::from_response(response))
}),
)
}
})
}
fn create_channel(
&self,
input: CreateChannelRequest,
) -> RusotoFuture<CreateChannelResponse, CreateChannelError> {
let request_uri = "/prod/channels";
let mut request = SignedRequest::new("POST", "medialive", &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() == 201 {
Box::new(response.buffer().from_err().and_then(|response| {
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<CreateChannelResponse, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(CreateChannelError::from_response(response))),
)
}
})
}
fn create_input(
&self,
input: CreateInputRequest,
) -> RusotoFuture<CreateInputResponse, CreateInputError> {
let request_uri = "/prod/inputs";
let mut request = SignedRequest::new("POST", "medialive", &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() == 201 {
Box::new(response.buffer().from_err().and_then(|response| {
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<CreateInputResponse, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(CreateInputError::from_response(response))),
)
}
})
}
fn create_input_security_group(
&self,
input: CreateInputSecurityGroupRequest,
) -> RusotoFuture<CreateInputSecurityGroupResponse, CreateInputSecurityGroupError> {
let request_uri = "/prod/inputSecurityGroups";
let mut request = SignedRequest::new("POST", "medialive", &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::<CreateInputSecurityGroupResponse, _>()?;
Ok(result)
}))
} else {
Box::new(response.buffer().from_err().and_then(|response| {
Err(CreateInputSecurityGroupError::from_response(response))
}))
}
})
}
fn create_tags(&self, input: CreateTagsRequest) -> RusotoFuture<(), CreateTagsError> {
let request_uri = format!(
"/prod/tags/{resource_arn}",
resource_arn = input.resource_arn
);
let mut request = SignedRequest::new("POST", "medialive", &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() == 204 {
Box::new(response.buffer().from_err().and_then(|response| {
let result = ::std::mem::drop(response);
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(CreateTagsError::from_response(response))),
)
}
})
}
fn delete_channel(
&self,
input: DeleteChannelRequest,
) -> RusotoFuture<DeleteChannelResponse, DeleteChannelError> {
let request_uri = format!("/prod/channels/{channel_id}", channel_id = input.channel_id);
let mut request = SignedRequest::new("DELETE", "medialive", &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::<DeleteChannelResponse, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(DeleteChannelError::from_response(response))),
)
}
})
}
fn delete_input(
&self,
input: DeleteInputRequest,
) -> RusotoFuture<DeleteInputResponse, DeleteInputError> {
let request_uri = format!("/prod/inputs/{input_id}", input_id = input.input_id);
let mut request = SignedRequest::new("DELETE", "medialive", &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::<DeleteInputResponse, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(DeleteInputError::from_response(response))),
)
}
})
}
fn delete_input_security_group(
&self,
input: DeleteInputSecurityGroupRequest,
) -> RusotoFuture<DeleteInputSecurityGroupResponse, DeleteInputSecurityGroupError> {
let request_uri = format!(
"/prod/inputSecurityGroups/{input_security_group_id}",
input_security_group_id = input.input_security_group_id
);
let mut request = SignedRequest::new("DELETE", "medialive", &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::<DeleteInputSecurityGroupResponse, _>()?;
Ok(result)
}))
} else {
Box::new(response.buffer().from_err().and_then(|response| {
Err(DeleteInputSecurityGroupError::from_response(response))
}))
}
})
}
fn delete_reservation(
&self,
input: DeleteReservationRequest,
) -> RusotoFuture<DeleteReservationResponse, DeleteReservationError> {
let request_uri = format!(
"/prod/reservations/{reservation_id}",
reservation_id = input.reservation_id
);
let mut request = SignedRequest::new("DELETE", "medialive", &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::<DeleteReservationResponse, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(DeleteReservationError::from_response(response))),
)
}
})
}
fn delete_schedule(
&self,
input: DeleteScheduleRequest,
) -> RusotoFuture<DeleteScheduleResponse, DeleteScheduleError> {
let request_uri = format!(
"/prod/channels/{channel_id}/schedule",
channel_id = input.channel_id
);
let mut request = SignedRequest::new("DELETE", "medialive", &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::<DeleteScheduleResponse, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(DeleteScheduleError::from_response(response))),
)
}
})
}
fn delete_tags(&self, input: DeleteTagsRequest) -> RusotoFuture<(), DeleteTagsError> {
let request_uri = format!(
"/prod/tags/{resource_arn}",
resource_arn = input.resource_arn
);
let mut request = SignedRequest::new("DELETE", "medialive", &self.region, &request_uri);
request.set_content_type("application/x-amz-json-1.1".to_owned());
let mut params = Params::new();
for item in input.tag_keys.iter() {
params.put("tagKeys", item);
}
request.set_params(params);
self.client.sign_and_dispatch(request, |response| {
if response.status.as_u16() == 204 {
Box::new(response.buffer().from_err().and_then(|response| {
let result = ::std::mem::drop(response);
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(DeleteTagsError::from_response(response))),
)
}
})
}
fn describe_channel(
&self,
input: DescribeChannelRequest,
) -> RusotoFuture<DescribeChannelResponse, DescribeChannelError> {
let request_uri = format!("/prod/channels/{channel_id}", channel_id = input.channel_id);
let mut request = SignedRequest::new("GET", "medialive", &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::<DescribeChannelResponse, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(DescribeChannelError::from_response(response))),
)
}
})
}
fn describe_input(
&self,
input: DescribeInputRequest,
) -> RusotoFuture<DescribeInputResponse, DescribeInputError> {
let request_uri = format!("/prod/inputs/{input_id}", input_id = input.input_id);
let mut request = SignedRequest::new("GET", "medialive", &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::<DescribeInputResponse, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(DescribeInputError::from_response(response))),
)
}
})
}
fn describe_input_security_group(
&self,
input: DescribeInputSecurityGroupRequest,
) -> RusotoFuture<DescribeInputSecurityGroupResponse, DescribeInputSecurityGroupError> {
let request_uri = format!(
"/prod/inputSecurityGroups/{input_security_group_id}",
input_security_group_id = input.input_security_group_id
);
let mut request = SignedRequest::new("GET", "medialive", &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::<DescribeInputSecurityGroupResponse, _>()?;
Ok(result)
}))
} else {
Box::new(response.buffer().from_err().and_then(|response| {
Err(DescribeInputSecurityGroupError::from_response(response))
}))
}
})
}
fn describe_offering(
&self,
input: DescribeOfferingRequest,
) -> RusotoFuture<DescribeOfferingResponse, DescribeOfferingError> {
let request_uri = format!(
"/prod/offerings/{offering_id}",
offering_id = input.offering_id
);
let mut request = SignedRequest::new("GET", "medialive", &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::<DescribeOfferingResponse, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(DescribeOfferingError::from_response(response))),
)
}
})
}
fn describe_reservation(
&self,
input: DescribeReservationRequest,
) -> RusotoFuture<DescribeReservationResponse, DescribeReservationError> {
let request_uri = format!(
"/prod/reservations/{reservation_id}",
reservation_id = input.reservation_id
);
let mut request = SignedRequest::new("GET", "medialive", &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::<DescribeReservationResponse, _>()?;
Ok(result)
}))
} else {
Box::new(
response.buffer().from_err().and_then(|response| {
Err(DescribeReservationError::from_response(response))
}),
)
}
})
}
fn describe_schedule(
&self,
input: DescribeScheduleRequest,
) -> RusotoFuture<DescribeScheduleResponse, DescribeScheduleError> {
let request_uri = format!(
"/prod/channels/{channel_id}/schedule",
channel_id = input.channel_id
);
let mut request = SignedRequest::new("GET", "medialive", &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);
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::<DescribeScheduleResponse, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(DescribeScheduleError::from_response(response))),
)
}
})
}
fn list_channels(
&self,
input: ListChannelsRequest,
) -> RusotoFuture<ListChannelsResponse, ListChannelsError> {
let request_uri = "/prod/channels";
let mut request = SignedRequest::new("GET", "medialive", &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);
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::<ListChannelsResponse, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(ListChannelsError::from_response(response))),
)
}
})
}
fn list_input_security_groups(
&self,
input: ListInputSecurityGroupsRequest,
) -> RusotoFuture<ListInputSecurityGroupsResponse, ListInputSecurityGroupsError> {
let request_uri = "/prod/inputSecurityGroups";
let mut request = SignedRequest::new("GET", "medialive", &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);
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::<ListInputSecurityGroupsResponse, _>()?;
Ok(result)
}))
} else {
Box::new(response.buffer().from_err().and_then(|response| {
Err(ListInputSecurityGroupsError::from_response(response))
}))
}
})
}
fn list_inputs(
&self,
input: ListInputsRequest,
) -> RusotoFuture<ListInputsResponse, ListInputsError> {
let request_uri = "/prod/inputs";
let mut request = SignedRequest::new("GET", "medialive", &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);
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::<ListInputsResponse, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(ListInputsError::from_response(response))),
)
}
})
}
fn list_offerings(
&self,
input: ListOfferingsRequest,
) -> RusotoFuture<ListOfferingsResponse, ListOfferingsError> {
let request_uri = "/prod/offerings";
let mut request = SignedRequest::new("GET", "medialive", &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.channel_class {
params.put("channelClass", x);
}
if let Some(ref x) = input.channel_configuration {
params.put("channelConfiguration", x);
}
if let Some(ref x) = input.codec {
params.put("codec", x);
}
if let Some(ref x) = input.max_results {
params.put("maxResults", x);
}
if let Some(ref x) = input.maximum_bitrate {
params.put("maximumBitrate", x);
}
if let Some(ref x) = input.maximum_framerate {
params.put("maximumFramerate", x);
}
if let Some(ref x) = input.next_token {
params.put("nextToken", x);
}
if let Some(ref x) = input.resolution {
params.put("resolution", x);
}
if let Some(ref x) = input.resource_type {
params.put("resourceType", x);
}
if let Some(ref x) = input.special_feature {
params.put("specialFeature", x);
}
if let Some(ref x) = input.video_quality {
params.put("videoQuality", 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::<ListOfferingsResponse, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(ListOfferingsError::from_response(response))),
)
}
})
}
fn list_reservations(
&self,
input: ListReservationsRequest,
) -> RusotoFuture<ListReservationsResponse, ListReservationsError> {
let request_uri = "/prod/reservations";
let mut request = SignedRequest::new("GET", "medialive", &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.channel_class {
params.put("channelClass", x);
}
if let Some(ref x) = input.codec {
params.put("codec", x);
}
if let Some(ref x) = input.max_results {
params.put("maxResults", x);
}
if let Some(ref x) = input.maximum_bitrate {
params.put("maximumBitrate", x);
}
if let Some(ref x) = input.maximum_framerate {
params.put("maximumFramerate", x);
}
if let Some(ref x) = input.next_token {
params.put("nextToken", x);
}
if let Some(ref x) = input.resolution {
params.put("resolution", x);
}
if let Some(ref x) = input.resource_type {
params.put("resourceType", x);
}
if let Some(ref x) = input.special_feature {
params.put("specialFeature", x);
}
if let Some(ref x) = input.video_quality {
params.put("videoQuality", 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::<ListReservationsResponse, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(ListReservationsError::from_response(response))),
)
}
})
}
fn list_tags_for_resource(
&self,
input: ListTagsForResourceRequest,
) -> RusotoFuture<ListTagsForResourceResponse, ListTagsForResourceError> {
let request_uri = format!(
"/prod/tags/{resource_arn}",
resource_arn = input.resource_arn
);
let mut request = SignedRequest::new("GET", "medialive", &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::<ListTagsForResourceResponse, _>()?;
Ok(result)
}))
} else {
Box::new(
response.buffer().from_err().and_then(|response| {
Err(ListTagsForResourceError::from_response(response))
}),
)
}
})
}
fn purchase_offering(
&self,
input: PurchaseOfferingRequest,
) -> RusotoFuture<PurchaseOfferingResponse, PurchaseOfferingError> {
let request_uri = format!(
"/prod/offerings/{offering_id}/purchase",
offering_id = input.offering_id
);
let mut request = SignedRequest::new("POST", "medialive", &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() == 201 {
Box::new(response.buffer().from_err().and_then(|response| {
let result = proto::json::ResponsePayload::new(&response)
.deserialize::<PurchaseOfferingResponse, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(PurchaseOfferingError::from_response(response))),
)
}
})
}
fn start_channel(
&self,
input: StartChannelRequest,
) -> RusotoFuture<StartChannelResponse, StartChannelError> {
let request_uri = format!(
"/prod/channels/{channel_id}/start",
channel_id = input.channel_id
);
let mut request = SignedRequest::new("POST", "medialive", &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::<StartChannelResponse, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(StartChannelError::from_response(response))),
)
}
})
}
fn stop_channel(
&self,
input: StopChannelRequest,
) -> RusotoFuture<StopChannelResponse, StopChannelError> {
let request_uri = format!(
"/prod/channels/{channel_id}/stop",
channel_id = input.channel_id
);
let mut request = SignedRequest::new("POST", "medialive", &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::<StopChannelResponse, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(StopChannelError::from_response(response))),
)
}
})
}
fn update_channel(
&self,
input: UpdateChannelRequest,
) -> RusotoFuture<UpdateChannelResponse, UpdateChannelError> {
let request_uri = format!("/prod/channels/{channel_id}", channel_id = input.channel_id);
let mut request = SignedRequest::new("PUT", "medialive", &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::<UpdateChannelResponse, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(UpdateChannelError::from_response(response))),
)
}
})
}
fn update_channel_class(
&self,
input: UpdateChannelClassRequest,
) -> RusotoFuture<UpdateChannelClassResponse, UpdateChannelClassError> {
let request_uri = format!(
"/prod/channels/{channel_id}/channelClass",
channel_id = input.channel_id
);
let mut request = SignedRequest::new("PUT", "medialive", &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::<UpdateChannelClassResponse, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(UpdateChannelClassError::from_response(response))),
)
}
})
}
fn update_input(
&self,
input: UpdateInputRequest,
) -> RusotoFuture<UpdateInputResponse, UpdateInputError> {
let request_uri = format!("/prod/inputs/{input_id}", input_id = input.input_id);
let mut request = SignedRequest::new("PUT", "medialive", &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::<UpdateInputResponse, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(UpdateInputError::from_response(response))),
)
}
})
}
fn update_input_security_group(
&self,
input: UpdateInputSecurityGroupRequest,
) -> RusotoFuture<UpdateInputSecurityGroupResponse, UpdateInputSecurityGroupError> {
let request_uri = format!(
"/prod/inputSecurityGroups/{input_security_group_id}",
input_security_group_id = input.input_security_group_id
);
let mut request = SignedRequest::new("PUT", "medialive", &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::<UpdateInputSecurityGroupResponse, _>()?;
Ok(result)
}))
} else {
Box::new(response.buffer().from_err().and_then(|response| {
Err(UpdateInputSecurityGroupError::from_response(response))
}))
}
})
}
fn update_reservation(
&self,
input: UpdateReservationRequest,
) -> RusotoFuture<UpdateReservationResponse, UpdateReservationError> {
let request_uri = format!(
"/prod/reservations/{reservation_id}",
reservation_id = input.reservation_id
);
let mut request = SignedRequest::new("PUT", "medialive", &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::<UpdateReservationResponse, _>()?;
Ok(result)
}))
} else {
Box::new(
response
.buffer()
.from_err()
.and_then(|response| Err(UpdateReservationError::from_response(response))),
)
}
})
}
}