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 132 133 134 135 136 137 138 139 140
// 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 SearchOutput {
/// <p>The list of structures that describe the resources that match the query.</p>
pub resources: ::std::option::Option<::std::vec::Vec<crate::types::Resource>>,
/// <p>If present, indicates that more output is available than is included in the current response. Use this value in the <code>NextToken</code> request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the <code>NextToken</code> response element comes back as <code>null</code>. The pagination tokens expire after 24 hours.</p>
pub next_token: ::std::option::Option<::std::string::String>,
/// <p>The <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon resource name (ARN)</a> of the view that this operation used to perform the search.</p>
pub view_arn: ::std::option::Option<::std::string::String>,
/// <p>The number of resources that match the query.</p>
pub count: ::std::option::Option<crate::types::ResourceCount>,
_request_id: Option<String>,
}
impl SearchOutput {
/// <p>The list of structures that describe the resources that match the query.</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::Resource] {
self.resources.as_deref().unwrap_or_default()
}
/// <p>If present, indicates that more output is available than is included in the current response. Use this value in the <code>NextToken</code> request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the <code>NextToken</code> response element comes back as <code>null</code>. The pagination tokens expire after 24 hours.</p>
pub fn next_token(&self) -> ::std::option::Option<&str> {
self.next_token.as_deref()
}
/// <p>The <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon resource name (ARN)</a> of the view that this operation used to perform the search.</p>
pub fn view_arn(&self) -> ::std::option::Option<&str> {
self.view_arn.as_deref()
}
/// <p>The number of resources that match the query.</p>
pub fn count(&self) -> ::std::option::Option<&crate::types::ResourceCount> {
self.count.as_ref()
}
}
impl ::aws_types::request_id::RequestId for SearchOutput {
fn request_id(&self) -> Option<&str> {
self._request_id.as_deref()
}
}
impl SearchOutput {
/// Creates a new builder-style object to manufacture [`SearchOutput`](crate::operation::search::SearchOutput).
pub fn builder() -> crate::operation::search::builders::SearchOutputBuilder {
crate::operation::search::builders::SearchOutputBuilder::default()
}
}
/// A builder for [`SearchOutput`](crate::operation::search::SearchOutput).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct SearchOutputBuilder {
pub(crate) resources: ::std::option::Option<::std::vec::Vec<crate::types::Resource>>,
pub(crate) next_token: ::std::option::Option<::std::string::String>,
pub(crate) view_arn: ::std::option::Option<::std::string::String>,
pub(crate) count: ::std::option::Option<crate::types::ResourceCount>,
_request_id: Option<String>,
}
impl SearchOutputBuilder {
/// Appends an item to `resources`.
///
/// To override the contents of this collection use [`set_resources`](Self::set_resources).
///
/// <p>The list of structures that describe the resources that match the query.</p>
pub fn resources(mut self, input: crate::types::Resource) -> Self {
let mut v = self.resources.unwrap_or_default();
v.push(input);
self.resources = ::std::option::Option::Some(v);
self
}
/// <p>The list of structures that describe the resources that match the query.</p>
pub fn set_resources(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Resource>>) -> Self {
self.resources = input;
self
}
/// <p>The list of structures that describe the resources that match the query.</p>
pub fn get_resources(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Resource>> {
&self.resources
}
/// <p>If present, indicates that more output is available than is included in the current response. Use this value in the <code>NextToken</code> request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the <code>NextToken</code> response element comes back as <code>null</code>. The pagination tokens expire after 24 hours.</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>If present, indicates that more output is available than is included in the current response. Use this value in the <code>NextToken</code> request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the <code>NextToken</code> response element comes back as <code>null</code>. The pagination tokens expire after 24 hours.</p>
pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.next_token = input;
self
}
/// <p>If present, indicates that more output is available than is included in the current response. Use this value in the <code>NextToken</code> request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the <code>NextToken</code> response element comes back as <code>null</code>. The pagination tokens expire after 24 hours.</p>
pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
&self.next_token
}
/// <p>The <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon resource name (ARN)</a> of the view that this operation used to perform the search.</p>
pub fn view_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.view_arn = ::std::option::Option::Some(input.into());
self
}
/// <p>The <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon resource name (ARN)</a> of the view that this operation used to perform the search.</p>
pub fn set_view_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.view_arn = input;
self
}
/// <p>The <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon resource name (ARN)</a> of the view that this operation used to perform the search.</p>
pub fn get_view_arn(&self) -> &::std::option::Option<::std::string::String> {
&self.view_arn
}
/// <p>The number of resources that match the query.</p>
pub fn count(mut self, input: crate::types::ResourceCount) -> Self {
self.count = ::std::option::Option::Some(input);
self
}
/// <p>The number of resources that match the query.</p>
pub fn set_count(mut self, input: ::std::option::Option<crate::types::ResourceCount>) -> Self {
self.count = input;
self
}
/// <p>The number of resources that match the query.</p>
pub fn get_count(&self) -> &::std::option::Option<crate::types::ResourceCount> {
&self.count
}
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 [`SearchOutput`](crate::operation::search::SearchOutput).
pub fn build(self) -> crate::operation::search::SearchOutput {
crate::operation::search::SearchOutput {
resources: self.resources,
next_token: self.next_token,
view_arn: self.view_arn,
count: self.count,
_request_id: self._request_id,
}
}
}