aws_sdk_mediaconnect/operation/describe_reservation/
_describe_reservation_output.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(missing_docs)] // documentation missing in model
3#[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct DescribeReservationOutput {
6    /// <p>A pricing agreement for a discounted rate for a specific outbound bandwidth that your MediaConnect account will use each month over a specific time period. The discounted rate in the reservation applies to outbound bandwidth for all flows from your account until your account reaches the amount of bandwidth in your reservation. If you use more outbound bandwidth than the agreed upon amount in a single month, the overage is charged at the on-demand rate.</p>
7    pub reservation: ::std::option::Option<crate::types::Reservation>,
8    _request_id: Option<String>,
9}
10impl DescribeReservationOutput {
11    /// <p>A pricing agreement for a discounted rate for a specific outbound bandwidth that your MediaConnect account will use each month over a specific time period. The discounted rate in the reservation applies to outbound bandwidth for all flows from your account until your account reaches the amount of bandwidth in your reservation. If you use more outbound bandwidth than the agreed upon amount in a single month, the overage is charged at the on-demand rate.</p>
12    pub fn reservation(&self) -> ::std::option::Option<&crate::types::Reservation> {
13        self.reservation.as_ref()
14    }
15}
16impl ::aws_types::request_id::RequestId for DescribeReservationOutput {
17    fn request_id(&self) -> Option<&str> {
18        self._request_id.as_deref()
19    }
20}
21impl DescribeReservationOutput {
22    /// Creates a new builder-style object to manufacture [`DescribeReservationOutput`](crate::operation::describe_reservation::DescribeReservationOutput).
23    pub fn builder() -> crate::operation::describe_reservation::builders::DescribeReservationOutputBuilder {
24        crate::operation::describe_reservation::builders::DescribeReservationOutputBuilder::default()
25    }
26}
27
28/// A builder for [`DescribeReservationOutput`](crate::operation::describe_reservation::DescribeReservationOutput).
29#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
30#[non_exhaustive]
31pub struct DescribeReservationOutputBuilder {
32    pub(crate) reservation: ::std::option::Option<crate::types::Reservation>,
33    _request_id: Option<String>,
34}
35impl DescribeReservationOutputBuilder {
36    /// <p>A pricing agreement for a discounted rate for a specific outbound bandwidth that your MediaConnect account will use each month over a specific time period. The discounted rate in the reservation applies to outbound bandwidth for all flows from your account until your account reaches the amount of bandwidth in your reservation. If you use more outbound bandwidth than the agreed upon amount in a single month, the overage is charged at the on-demand rate.</p>
37    pub fn reservation(mut self, input: crate::types::Reservation) -> Self {
38        self.reservation = ::std::option::Option::Some(input);
39        self
40    }
41    /// <p>A pricing agreement for a discounted rate for a specific outbound bandwidth that your MediaConnect account will use each month over a specific time period. The discounted rate in the reservation applies to outbound bandwidth for all flows from your account until your account reaches the amount of bandwidth in your reservation. If you use more outbound bandwidth than the agreed upon amount in a single month, the overage is charged at the on-demand rate.</p>
42    pub fn set_reservation(mut self, input: ::std::option::Option<crate::types::Reservation>) -> Self {
43        self.reservation = input;
44        self
45    }
46    /// <p>A pricing agreement for a discounted rate for a specific outbound bandwidth that your MediaConnect account will use each month over a specific time period. The discounted rate in the reservation applies to outbound bandwidth for all flows from your account until your account reaches the amount of bandwidth in your reservation. If you use more outbound bandwidth than the agreed upon amount in a single month, the overage is charged at the on-demand rate.</p>
47    pub fn get_reservation(&self) -> &::std::option::Option<crate::types::Reservation> {
48        &self.reservation
49    }
50    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
51        self._request_id = Some(request_id.into());
52        self
53    }
54
55    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
56        self._request_id = request_id;
57        self
58    }
59    /// Consumes the builder and constructs a [`DescribeReservationOutput`](crate::operation::describe_reservation::DescribeReservationOutput).
60    pub fn build(self) -> crate::operation::describe_reservation::DescribeReservationOutput {
61        crate::operation::describe_reservation::DescribeReservationOutput {
62            reservation: self.reservation,
63            _request_id: self._request_id,
64        }
65    }
66}