aws-sdk-medialive 0.26.0

AWS SDK for AWS Elemental MediaLive
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.

/// Placeholder documentation for DescribeInputDeviceResponse
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct DescribeInputDeviceOutput {
    /// The unique ARN of the input device.
    #[doc(hidden)]
    pub arn: std::option::Option<std::string::String>,
    /// The state of the connection between the input device and AWS.
    #[doc(hidden)]
    pub connection_state: std::option::Option<crate::types::InputDeviceConnectionState>,
    /// The status of the action to synchronize the device configuration. If you change the configuration of the input device (for example, the maximum bitrate), MediaLive sends the new data to the device. The device might not update itself immediately. SYNCED means the device has updated its configuration. SYNCING means that it has not updated its configuration.
    #[doc(hidden)]
    pub device_settings_sync_state: std::option::Option<crate::types::DeviceSettingsSyncState>,
    /// The status of software on the input device.
    #[doc(hidden)]
    pub device_update_status: std::option::Option<crate::types::DeviceUpdateStatus>,
    /// Settings that describe an input device that is type HD.
    #[doc(hidden)]
    pub hd_device_settings: std::option::Option<crate::types::InputDeviceHdSettings>,
    /// The unique ID of the input device.
    #[doc(hidden)]
    pub id: std::option::Option<std::string::String>,
    /// The network MAC address of the input device.
    #[doc(hidden)]
    pub mac_address: std::option::Option<std::string::String>,
    /// A name that you specify for the input device.
    #[doc(hidden)]
    pub name: std::option::Option<std::string::String>,
    /// The network settings for the input device.
    #[doc(hidden)]
    pub network_settings: std::option::Option<crate::types::InputDeviceNetworkSettings>,
    /// The unique serial number of the input device.
    #[doc(hidden)]
    pub serial_number: std::option::Option<std::string::String>,
    /// The type of the input device.
    #[doc(hidden)]
    pub r#type: std::option::Option<crate::types::InputDeviceType>,
    /// Settings that describe an input device that is type UHD.
    #[doc(hidden)]
    pub uhd_device_settings: std::option::Option<crate::types::InputDeviceUhdSettings>,
    /// A collection of key-value pairs.
    #[doc(hidden)]
    pub tags:
        std::option::Option<std::collections::HashMap<std::string::String, std::string::String>>,
    _request_id: Option<String>,
}
impl DescribeInputDeviceOutput {
    /// The unique ARN of the input device.
    pub fn arn(&self) -> std::option::Option<&str> {
        self.arn.as_deref()
    }
    /// The state of the connection between the input device and AWS.
    pub fn connection_state(
        &self,
    ) -> std::option::Option<&crate::types::InputDeviceConnectionState> {
        self.connection_state.as_ref()
    }
    /// The status of the action to synchronize the device configuration. If you change the configuration of the input device (for example, the maximum bitrate), MediaLive sends the new data to the device. The device might not update itself immediately. SYNCED means the device has updated its configuration. SYNCING means that it has not updated its configuration.
    pub fn device_settings_sync_state(
        &self,
    ) -> std::option::Option<&crate::types::DeviceSettingsSyncState> {
        self.device_settings_sync_state.as_ref()
    }
    /// The status of software on the input device.
    pub fn device_update_status(&self) -> std::option::Option<&crate::types::DeviceUpdateStatus> {
        self.device_update_status.as_ref()
    }
    /// Settings that describe an input device that is type HD.
    pub fn hd_device_settings(&self) -> std::option::Option<&crate::types::InputDeviceHdSettings> {
        self.hd_device_settings.as_ref()
    }
    /// The unique ID of the input device.
    pub fn id(&self) -> std::option::Option<&str> {
        self.id.as_deref()
    }
    /// The network MAC address of the input device.
    pub fn mac_address(&self) -> std::option::Option<&str> {
        self.mac_address.as_deref()
    }
    /// A name that you specify for the input device.
    pub fn name(&self) -> std::option::Option<&str> {
        self.name.as_deref()
    }
    /// The network settings for the input device.
    pub fn network_settings(
        &self,
    ) -> std::option::Option<&crate::types::InputDeviceNetworkSettings> {
        self.network_settings.as_ref()
    }
    /// The unique serial number of the input device.
    pub fn serial_number(&self) -> std::option::Option<&str> {
        self.serial_number.as_deref()
    }
    /// The type of the input device.
    pub fn r#type(&self) -> std::option::Option<&crate::types::InputDeviceType> {
        self.r#type.as_ref()
    }
    /// Settings that describe an input device that is type UHD.
    pub fn uhd_device_settings(
        &self,
    ) -> std::option::Option<&crate::types::InputDeviceUhdSettings> {
        self.uhd_device_settings.as_ref()
    }
    /// A collection of key-value pairs.
    pub fn tags(
        &self,
    ) -> std::option::Option<&std::collections::HashMap<std::string::String, std::string::String>>
    {
        self.tags.as_ref()
    }
}
impl aws_http::request_id::RequestId for DescribeInputDeviceOutput {
    fn request_id(&self) -> Option<&str> {
        self._request_id.as_deref()
    }
}
impl DescribeInputDeviceOutput {
    /// Creates a new builder-style object to manufacture [`DescribeInputDeviceOutput`](crate::operation::describe_input_device::DescribeInputDeviceOutput).
    pub fn builder(
    ) -> crate::operation::describe_input_device::builders::DescribeInputDeviceOutputBuilder {
        crate::operation::describe_input_device::builders::DescribeInputDeviceOutputBuilder::default(
        )
    }
}

/// A builder for [`DescribeInputDeviceOutput`](crate::operation::describe_input_device::DescribeInputDeviceOutput).
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct DescribeInputDeviceOutputBuilder {
    pub(crate) arn: std::option::Option<std::string::String>,
    pub(crate) connection_state: std::option::Option<crate::types::InputDeviceConnectionState>,
    pub(crate) device_settings_sync_state:
        std::option::Option<crate::types::DeviceSettingsSyncState>,
    pub(crate) device_update_status: std::option::Option<crate::types::DeviceUpdateStatus>,
    pub(crate) hd_device_settings: std::option::Option<crate::types::InputDeviceHdSettings>,
    pub(crate) id: std::option::Option<std::string::String>,
    pub(crate) mac_address: std::option::Option<std::string::String>,
    pub(crate) name: std::option::Option<std::string::String>,
    pub(crate) network_settings: std::option::Option<crate::types::InputDeviceNetworkSettings>,
    pub(crate) serial_number: std::option::Option<std::string::String>,
    pub(crate) r#type: std::option::Option<crate::types::InputDeviceType>,
    pub(crate) uhd_device_settings: std::option::Option<crate::types::InputDeviceUhdSettings>,
    pub(crate) tags:
        std::option::Option<std::collections::HashMap<std::string::String, std::string::String>>,
    _request_id: Option<String>,
}
impl DescribeInputDeviceOutputBuilder {
    /// The unique ARN of the input device.
    pub fn arn(mut self, input: impl Into<std::string::String>) -> Self {
        self.arn = Some(input.into());
        self
    }
    /// The unique ARN of the input device.
    pub fn set_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
        self.arn = input;
        self
    }
    /// The state of the connection between the input device and AWS.
    pub fn connection_state(mut self, input: crate::types::InputDeviceConnectionState) -> Self {
        self.connection_state = Some(input);
        self
    }
    /// The state of the connection between the input device and AWS.
    pub fn set_connection_state(
        mut self,
        input: std::option::Option<crate::types::InputDeviceConnectionState>,
    ) -> Self {
        self.connection_state = input;
        self
    }
    /// The status of the action to synchronize the device configuration. If you change the configuration of the input device (for example, the maximum bitrate), MediaLive sends the new data to the device. The device might not update itself immediately. SYNCED means the device has updated its configuration. SYNCING means that it has not updated its configuration.
    pub fn device_settings_sync_state(
        mut self,
        input: crate::types::DeviceSettingsSyncState,
    ) -> Self {
        self.device_settings_sync_state = Some(input);
        self
    }
    /// The status of the action to synchronize the device configuration. If you change the configuration of the input device (for example, the maximum bitrate), MediaLive sends the new data to the device. The device might not update itself immediately. SYNCED means the device has updated its configuration. SYNCING means that it has not updated its configuration.
    pub fn set_device_settings_sync_state(
        mut self,
        input: std::option::Option<crate::types::DeviceSettingsSyncState>,
    ) -> Self {
        self.device_settings_sync_state = input;
        self
    }
    /// The status of software on the input device.
    pub fn device_update_status(mut self, input: crate::types::DeviceUpdateStatus) -> Self {
        self.device_update_status = Some(input);
        self
    }
    /// The status of software on the input device.
    pub fn set_device_update_status(
        mut self,
        input: std::option::Option<crate::types::DeviceUpdateStatus>,
    ) -> Self {
        self.device_update_status = input;
        self
    }
    /// Settings that describe an input device that is type HD.
    pub fn hd_device_settings(mut self, input: crate::types::InputDeviceHdSettings) -> Self {
        self.hd_device_settings = Some(input);
        self
    }
    /// Settings that describe an input device that is type HD.
    pub fn set_hd_device_settings(
        mut self,
        input: std::option::Option<crate::types::InputDeviceHdSettings>,
    ) -> Self {
        self.hd_device_settings = input;
        self
    }
    /// The unique ID of the input device.
    pub fn id(mut self, input: impl Into<std::string::String>) -> Self {
        self.id = Some(input.into());
        self
    }
    /// The unique ID of the input device.
    pub fn set_id(mut self, input: std::option::Option<std::string::String>) -> Self {
        self.id = input;
        self
    }
    /// The network MAC address of the input device.
    pub fn mac_address(mut self, input: impl Into<std::string::String>) -> Self {
        self.mac_address = Some(input.into());
        self
    }
    /// The network MAC address of the input device.
    pub fn set_mac_address(mut self, input: std::option::Option<std::string::String>) -> Self {
        self.mac_address = input;
        self
    }
    /// A name that you specify for the input device.
    pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
        self.name = Some(input.into());
        self
    }
    /// A name that you specify for the input device.
    pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
        self.name = input;
        self
    }
    /// The network settings for the input device.
    pub fn network_settings(mut self, input: crate::types::InputDeviceNetworkSettings) -> Self {
        self.network_settings = Some(input);
        self
    }
    /// The network settings for the input device.
    pub fn set_network_settings(
        mut self,
        input: std::option::Option<crate::types::InputDeviceNetworkSettings>,
    ) -> Self {
        self.network_settings = input;
        self
    }
    /// The unique serial number of the input device.
    pub fn serial_number(mut self, input: impl Into<std::string::String>) -> Self {
        self.serial_number = Some(input.into());
        self
    }
    /// The unique serial number of the input device.
    pub fn set_serial_number(mut self, input: std::option::Option<std::string::String>) -> Self {
        self.serial_number = input;
        self
    }
    /// The type of the input device.
    pub fn r#type(mut self, input: crate::types::InputDeviceType) -> Self {
        self.r#type = Some(input);
        self
    }
    /// The type of the input device.
    pub fn set_type(mut self, input: std::option::Option<crate::types::InputDeviceType>) -> Self {
        self.r#type = input;
        self
    }
    /// Settings that describe an input device that is type UHD.
    pub fn uhd_device_settings(mut self, input: crate::types::InputDeviceUhdSettings) -> Self {
        self.uhd_device_settings = Some(input);
        self
    }
    /// Settings that describe an input device that is type UHD.
    pub fn set_uhd_device_settings(
        mut self,
        input: std::option::Option<crate::types::InputDeviceUhdSettings>,
    ) -> Self {
        self.uhd_device_settings = input;
        self
    }
    /// Adds a key-value pair to `tags`.
    ///
    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
    ///
    /// A collection of key-value pairs.
    pub fn tags(
        mut self,
        k: impl Into<std::string::String>,
        v: impl Into<std::string::String>,
    ) -> Self {
        let mut hash_map = self.tags.unwrap_or_default();
        hash_map.insert(k.into(), v.into());
        self.tags = Some(hash_map);
        self
    }
    /// A collection of key-value pairs.
    pub fn set_tags(
        mut self,
        input: std::option::Option<
            std::collections::HashMap<std::string::String, std::string::String>,
        >,
    ) -> Self {
        self.tags = input;
        self
    }
    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
        self._request_id = Some(request_id.into());
        self
    }

    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
        self._request_id = request_id;
        self
    }
    /// Consumes the builder and constructs a [`DescribeInputDeviceOutput`](crate::operation::describe_input_device::DescribeInputDeviceOutput).
    pub fn build(self) -> crate::operation::describe_input_device::DescribeInputDeviceOutput {
        crate::operation::describe_input_device::DescribeInputDeviceOutput {
            arn: self.arn,
            connection_state: self.connection_state,
            device_settings_sync_state: self.device_settings_sync_state,
            device_update_status: self.device_update_status,
            hd_device_settings: self.hd_device_settings,
            id: self.id,
            mac_address: self.mac_address,
            name: self.name,
            network_settings: self.network_settings,
            serial_number: self.serial_number,
            r#type: self.r#type,
            uhd_device_settings: self.uhd_device_settings,
            tags: self.tags,
            _request_id: self._request_id,
        }
    }
}