1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct GetReferenceInput {
    /// <p>The reference's ID.</p>
    #[doc(hidden)]
    pub id: std::option::Option<std::string::String>,
    /// <p>The reference's store ID.</p>
    #[doc(hidden)]
    pub reference_store_id: std::option::Option<std::string::String>,
    /// <p>The range to retrieve.</p>
    #[doc(hidden)]
    pub range: std::option::Option<std::string::String>,
    /// <p>The part number to retrieve.</p>
    #[doc(hidden)]
    pub part_number: std::option::Option<i32>,
    /// <p>The file to retrieve.</p>
    #[doc(hidden)]
    pub file: std::option::Option<crate::types::ReferenceFile>,
}
impl GetReferenceInput {
    /// <p>The reference's ID.</p>
    pub fn id(&self) -> std::option::Option<&str> {
        self.id.as_deref()
    }
    /// <p>The reference's store ID.</p>
    pub fn reference_store_id(&self) -> std::option::Option<&str> {
        self.reference_store_id.as_deref()
    }
    /// <p>The range to retrieve.</p>
    pub fn range(&self) -> std::option::Option<&str> {
        self.range.as_deref()
    }
    /// <p>The part number to retrieve.</p>
    pub fn part_number(&self) -> std::option::Option<i32> {
        self.part_number
    }
    /// <p>The file to retrieve.</p>
    pub fn file(&self) -> std::option::Option<&crate::types::ReferenceFile> {
        self.file.as_ref()
    }
}
impl GetReferenceInput {
    /// Creates a new builder-style object to manufacture [`GetReferenceInput`](crate::operation::get_reference::GetReferenceInput).
    pub fn builder() -> crate::operation::get_reference::builders::GetReferenceInputBuilder {
        crate::operation::get_reference::builders::GetReferenceInputBuilder::default()
    }
}

/// A builder for [`GetReferenceInput`](crate::operation::get_reference::GetReferenceInput).
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct GetReferenceInputBuilder {
    pub(crate) id: std::option::Option<std::string::String>,
    pub(crate) reference_store_id: std::option::Option<std::string::String>,
    pub(crate) range: std::option::Option<std::string::String>,
    pub(crate) part_number: std::option::Option<i32>,
    pub(crate) file: std::option::Option<crate::types::ReferenceFile>,
}
impl GetReferenceInputBuilder {
    /// <p>The reference's ID.</p>
    pub fn id(mut self, input: impl Into<std::string::String>) -> Self {
        self.id = Some(input.into());
        self
    }
    /// <p>The reference's ID.</p>
    pub fn set_id(mut self, input: std::option::Option<std::string::String>) -> Self {
        self.id = input;
        self
    }
    /// <p>The reference's store ID.</p>
    pub fn reference_store_id(mut self, input: impl Into<std::string::String>) -> Self {
        self.reference_store_id = Some(input.into());
        self
    }
    /// <p>The reference's store ID.</p>
    pub fn set_reference_store_id(
        mut self,
        input: std::option::Option<std::string::String>,
    ) -> Self {
        self.reference_store_id = input;
        self
    }
    /// <p>The range to retrieve.</p>
    pub fn range(mut self, input: impl Into<std::string::String>) -> Self {
        self.range = Some(input.into());
        self
    }
    /// <p>The range to retrieve.</p>
    pub fn set_range(mut self, input: std::option::Option<std::string::String>) -> Self {
        self.range = input;
        self
    }
    /// <p>The part number to retrieve.</p>
    pub fn part_number(mut self, input: i32) -> Self {
        self.part_number = Some(input);
        self
    }
    /// <p>The part number to retrieve.</p>
    pub fn set_part_number(mut self, input: std::option::Option<i32>) -> Self {
        self.part_number = input;
        self
    }
    /// <p>The file to retrieve.</p>
    pub fn file(mut self, input: crate::types::ReferenceFile) -> Self {
        self.file = Some(input);
        self
    }
    /// <p>The file to retrieve.</p>
    pub fn set_file(mut self, input: std::option::Option<crate::types::ReferenceFile>) -> Self {
        self.file = input;
        self
    }
    /// Consumes the builder and constructs a [`GetReferenceInput`](crate::operation::get_reference::GetReferenceInput).
    pub fn build(
        self,
    ) -> Result<
        crate::operation::get_reference::GetReferenceInput,
        aws_smithy_http::operation::error::BuildError,
    > {
        Ok(crate::operation::get_reference::GetReferenceInput {
            id: self.id,
            reference_store_id: self.reference_store_id,
            range: self.range,
            part_number: self.part_number,
            file: self.file,
        })
    }
}