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
131
// 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 ListResourceScanRelatedResourcesInput {
    /// <p>The Amazon Resource Name (ARN) of the resource scan.</p>
    pub resource_scan_id: ::std::option::Option<::std::string::String>,
    /// <p>The list of resources for which you want to get the related resources. Up to 100 resources can be provided.</p>
    pub resources: ::std::option::Option<::std::vec::Vec<crate::types::ScannedResourceIdentifier>>,
    /// <p>A string that identifies the next page of resource scan results.</p>
    pub next_token: ::std::option::Option<::std::string::String>,
    /// <p>If the number of available results exceeds this maximum, the response includes a <code>NextToken</code> value that you can use for the <code>NextToken</code> parameter to get the next set of results. By default the <code>ListResourceScanRelatedResources</code> API action will return up to 100 results in each response. The maximum value is 100.</p>
    pub max_results: ::std::option::Option<i32>,
}
impl ListResourceScanRelatedResourcesInput {
    /// <p>The Amazon Resource Name (ARN) of the resource scan.</p>
    pub fn resource_scan_id(&self) -> ::std::option::Option<&str> {
        self.resource_scan_id.as_deref()
    }
    /// <p>The list of resources for which you want to get the related resources. Up to 100 resources can be provided.</p>
    ///
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.resources.is_none()`.
    pub fn resources(&self) -> &[crate::types::ScannedResourceIdentifier] {
        self.resources.as_deref().unwrap_or_default()
    }
    /// <p>A string that identifies the next page of resource scan results.</p>
    pub fn next_token(&self) -> ::std::option::Option<&str> {
        self.next_token.as_deref()
    }
    /// <p>If the number of available results exceeds this maximum, the response includes a <code>NextToken</code> value that you can use for the <code>NextToken</code> parameter to get the next set of results. By default the <code>ListResourceScanRelatedResources</code> API action will return up to 100 results in each response. The maximum value is 100.</p>
    pub fn max_results(&self) -> ::std::option::Option<i32> {
        self.max_results
    }
}
impl ListResourceScanRelatedResourcesInput {
    /// Creates a new builder-style object to manufacture [`ListResourceScanRelatedResourcesInput`](crate::operation::list_resource_scan_related_resources::ListResourceScanRelatedResourcesInput).
    pub fn builder() -> crate::operation::list_resource_scan_related_resources::builders::ListResourceScanRelatedResourcesInputBuilder {
        crate::operation::list_resource_scan_related_resources::builders::ListResourceScanRelatedResourcesInputBuilder::default()
    }
}

/// A builder for [`ListResourceScanRelatedResourcesInput`](crate::operation::list_resource_scan_related_resources::ListResourceScanRelatedResourcesInput).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct ListResourceScanRelatedResourcesInputBuilder {
    pub(crate) resource_scan_id: ::std::option::Option<::std::string::String>,
    pub(crate) resources: ::std::option::Option<::std::vec::Vec<crate::types::ScannedResourceIdentifier>>,
    pub(crate) next_token: ::std::option::Option<::std::string::String>,
    pub(crate) max_results: ::std::option::Option<i32>,
}
impl ListResourceScanRelatedResourcesInputBuilder {
    /// <p>The Amazon Resource Name (ARN) of the resource scan.</p>
    /// This field is required.
    pub fn resource_scan_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.resource_scan_id = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The Amazon Resource Name (ARN) of the resource scan.</p>
    pub fn set_resource_scan_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.resource_scan_id = input;
        self
    }
    /// <p>The Amazon Resource Name (ARN) of the resource scan.</p>
    pub fn get_resource_scan_id(&self) -> &::std::option::Option<::std::string::String> {
        &self.resource_scan_id
    }
    /// Appends an item to `resources`.
    ///
    /// To override the contents of this collection use [`set_resources`](Self::set_resources).
    ///
    /// <p>The list of resources for which you want to get the related resources. Up to 100 resources can be provided.</p>
    pub fn resources(mut self, input: crate::types::ScannedResourceIdentifier) -> Self {
        let mut v = self.resources.unwrap_or_default();
        v.push(input);
        self.resources = ::std::option::Option::Some(v);
        self
    }
    /// <p>The list of resources for which you want to get the related resources. Up to 100 resources can be provided.</p>
    pub fn set_resources(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ScannedResourceIdentifier>>) -> Self {
        self.resources = input;
        self
    }
    /// <p>The list of resources for which you want to get the related resources. Up to 100 resources can be provided.</p>
    pub fn get_resources(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ScannedResourceIdentifier>> {
        &self.resources
    }
    /// <p>A string that identifies the next page of resource scan results.</p>
    pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.next_token = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>A string that identifies the next page of resource scan results.</p>
    pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.next_token = input;
        self
    }
    /// <p>A string that identifies the next page of resource scan results.</p>
    pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
        &self.next_token
    }
    /// <p>If the number of available results exceeds this maximum, the response includes a <code>NextToken</code> value that you can use for the <code>NextToken</code> parameter to get the next set of results. By default the <code>ListResourceScanRelatedResources</code> API action will return up to 100 results in each response. The maximum value is 100.</p>
    pub fn max_results(mut self, input: i32) -> Self {
        self.max_results = ::std::option::Option::Some(input);
        self
    }
    /// <p>If the number of available results exceeds this maximum, the response includes a <code>NextToken</code> value that you can use for the <code>NextToken</code> parameter to get the next set of results. By default the <code>ListResourceScanRelatedResources</code> API action will return up to 100 results in each response. The maximum value is 100.</p>
    pub fn set_max_results(mut self, input: ::std::option::Option<i32>) -> Self {
        self.max_results = input;
        self
    }
    /// <p>If the number of available results exceeds this maximum, the response includes a <code>NextToken</code> value that you can use for the <code>NextToken</code> parameter to get the next set of results. By default the <code>ListResourceScanRelatedResources</code> API action will return up to 100 results in each response. The maximum value is 100.</p>
    pub fn get_max_results(&self) -> &::std::option::Option<i32> {
        &self.max_results
    }
    /// Consumes the builder and constructs a [`ListResourceScanRelatedResourcesInput`](crate::operation::list_resource_scan_related_resources::ListResourceScanRelatedResourcesInput).
    pub fn build(
        self,
    ) -> ::std::result::Result<
        crate::operation::list_resource_scan_related_resources::ListResourceScanRelatedResourcesInput,
        ::aws_smithy_types::error::operation::BuildError,
    > {
        ::std::result::Result::Ok(
            crate::operation::list_resource_scan_related_resources::ListResourceScanRelatedResourcesInput {
                resource_scan_id: self.resource_scan_id,
                resources: self.resources,
                next_token: self.next_token,
                max_results: self.max_results,
            },
        )
    }
}