aws-sdk-securityagent 1.2.0

AWS SDK for AWS Security Agent
Documentation
// 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 ListArtifactsOutput {
    /// <p>The list of artifact summaries.</p>
    pub artifact_summaries: ::std::vec::Vec<crate::types::ArtifactSummary>,
    /// <p>A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the previous request.</p>
    pub next_token: ::std::option::Option<::std::string::String>,
    _request_id: Option<String>,
}
impl ListArtifactsOutput {
    /// <p>The list of artifact summaries.</p>
    pub fn artifact_summaries(&self) -> &[crate::types::ArtifactSummary] {
        use std::ops::Deref;
        self.artifact_summaries.deref()
    }
    /// <p>A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the previous request.</p>
    pub fn next_token(&self) -> ::std::option::Option<&str> {
        self.next_token.as_deref()
    }
}
impl ::aws_types::request_id::RequestId for ListArtifactsOutput {
    fn request_id(&self) -> Option<&str> {
        self._request_id.as_deref()
    }
}
impl ListArtifactsOutput {
    /// Creates a new builder-style object to manufacture [`ListArtifactsOutput`](crate::operation::list_artifacts::ListArtifactsOutput).
    pub fn builder() -> crate::operation::list_artifacts::builders::ListArtifactsOutputBuilder {
        crate::operation::list_artifacts::builders::ListArtifactsOutputBuilder::default()
    }
}

/// A builder for [`ListArtifactsOutput`](crate::operation::list_artifacts::ListArtifactsOutput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct ListArtifactsOutputBuilder {
    pub(crate) artifact_summaries: ::std::option::Option<::std::vec::Vec<crate::types::ArtifactSummary>>,
    pub(crate) next_token: ::std::option::Option<::std::string::String>,
    _request_id: Option<String>,
}
impl ListArtifactsOutputBuilder {
    /// Appends an item to `artifact_summaries`.
    ///
    /// To override the contents of this collection use [`set_artifact_summaries`](Self::set_artifact_summaries).
    ///
    /// <p>The list of artifact summaries.</p>
    pub fn artifact_summaries(mut self, input: crate::types::ArtifactSummary) -> Self {
        let mut v = self.artifact_summaries.unwrap_or_default();
        v.push(input);
        self.artifact_summaries = ::std::option::Option::Some(v);
        self
    }
    /// <p>The list of artifact summaries.</p>
    pub fn set_artifact_summaries(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ArtifactSummary>>) -> Self {
        self.artifact_summaries = input;
        self
    }
    /// <p>The list of artifact summaries.</p>
    pub fn get_artifact_summaries(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ArtifactSummary>> {
        &self.artifact_summaries
    }
    /// <p>A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the previous request.</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 token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the previous request.</p>
    pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.next_token = input;
        self
    }
    /// <p>A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the previous request.</p>
    pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
        &self.next_token
    }
    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 [`ListArtifactsOutput`](crate::operation::list_artifacts::ListArtifactsOutput).
    /// This method will fail if any of the following fields are not set:
    /// - [`artifact_summaries`](crate::operation::list_artifacts::builders::ListArtifactsOutputBuilder::artifact_summaries)
    pub fn build(
        self,
    ) -> ::std::result::Result<crate::operation::list_artifacts::ListArtifactsOutput, ::aws_smithy_types::error::operation::BuildError> {
        ::std::result::Result::Ok(crate::operation::list_artifacts::ListArtifactsOutput {
            artifact_summaries: self.artifact_summaries.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "artifact_summaries",
                    "artifact_summaries was not specified but it is required when building ListArtifactsOutput",
                )
            })?,
            next_token: self.next_token,
            _request_id: self._request_id,
        })
    }
}