aws-sdk-s3control 1.119.0

AWS SDK for AWS S3 Control
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)]
pub struct GetDataAccessOutput {
    /// <p>The temporary credential token that S3 Access Grants vends.</p>
    pub credentials: ::std::option::Option<crate::types::Credentials>,
    /// <p>The S3 URI path of the data to which you are being granted temporary access credentials.</p>
    pub matched_grant_target: ::std::option::Option<::std::string::String>,
    /// <p>The user, group, or role that was granted access to the S3 location scope. For directory identities, this API also returns the grants of the IAM role used for the identity-aware request. For more information on identity-aware sessions, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_sts-setcontext.html">Granting permissions to use identity-aware console sessions</a>.</p>
    pub grantee: ::std::option::Option<crate::types::Grantee>,
    _request_id: Option<String>,
}
impl GetDataAccessOutput {
    /// <p>The temporary credential token that S3 Access Grants vends.</p>
    pub fn credentials(&self) -> ::std::option::Option<&crate::types::Credentials> {
        self.credentials.as_ref()
    }
    /// <p>The S3 URI path of the data to which you are being granted temporary access credentials.</p>
    pub fn matched_grant_target(&self) -> ::std::option::Option<&str> {
        self.matched_grant_target.as_deref()
    }
    /// <p>The user, group, or role that was granted access to the S3 location scope. For directory identities, this API also returns the grants of the IAM role used for the identity-aware request. For more information on identity-aware sessions, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_sts-setcontext.html">Granting permissions to use identity-aware console sessions</a>.</p>
    pub fn grantee(&self) -> ::std::option::Option<&crate::types::Grantee> {
        self.grantee.as_ref()
    }
}
impl ::std::fmt::Debug for GetDataAccessOutput {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        let mut formatter = f.debug_struct("GetDataAccessOutput");
        formatter.field("credentials", &"*** Sensitive Data Redacted ***");
        formatter.field("matched_grant_target", &self.matched_grant_target);
        formatter.field("grantee", &self.grantee);
        formatter.field("_request_id", &self._request_id);
        formatter.finish()
    }
}
impl ::aws_types::request_id::RequestId for GetDataAccessOutput {
    fn request_id(&self) -> Option<&str> {
        self._request_id.as_deref()
    }
}
impl GetDataAccessOutput {
    /// Creates a new builder-style object to manufacture [`GetDataAccessOutput`](crate::operation::get_data_access::GetDataAccessOutput).
    pub fn builder() -> crate::operation::get_data_access::builders::GetDataAccessOutputBuilder {
        crate::operation::get_data_access::builders::GetDataAccessOutputBuilder::default()
    }
}

/// A builder for [`GetDataAccessOutput`](crate::operation::get_data_access::GetDataAccessOutput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
#[non_exhaustive]
pub struct GetDataAccessOutputBuilder {
    pub(crate) credentials: ::std::option::Option<crate::types::Credentials>,
    pub(crate) matched_grant_target: ::std::option::Option<::std::string::String>,
    pub(crate) grantee: ::std::option::Option<crate::types::Grantee>,
    _request_id: Option<String>,
}
impl GetDataAccessOutputBuilder {
    /// <p>The temporary credential token that S3 Access Grants vends.</p>
    pub fn credentials(mut self, input: crate::types::Credentials) -> Self {
        self.credentials = ::std::option::Option::Some(input);
        self
    }
    /// <p>The temporary credential token that S3 Access Grants vends.</p>
    pub fn set_credentials(mut self, input: ::std::option::Option<crate::types::Credentials>) -> Self {
        self.credentials = input;
        self
    }
    /// <p>The temporary credential token that S3 Access Grants vends.</p>
    pub fn get_credentials(&self) -> &::std::option::Option<crate::types::Credentials> {
        &self.credentials
    }
    /// <p>The S3 URI path of the data to which you are being granted temporary access credentials.</p>
    pub fn matched_grant_target(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.matched_grant_target = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The S3 URI path of the data to which you are being granted temporary access credentials.</p>
    pub fn set_matched_grant_target(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.matched_grant_target = input;
        self
    }
    /// <p>The S3 URI path of the data to which you are being granted temporary access credentials.</p>
    pub fn get_matched_grant_target(&self) -> &::std::option::Option<::std::string::String> {
        &self.matched_grant_target
    }
    /// <p>The user, group, or role that was granted access to the S3 location scope. For directory identities, this API also returns the grants of the IAM role used for the identity-aware request. For more information on identity-aware sessions, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_sts-setcontext.html">Granting permissions to use identity-aware console sessions</a>.</p>
    pub fn grantee(mut self, input: crate::types::Grantee) -> Self {
        self.grantee = ::std::option::Option::Some(input);
        self
    }
    /// <p>The user, group, or role that was granted access to the S3 location scope. For directory identities, this API also returns the grants of the IAM role used for the identity-aware request. For more information on identity-aware sessions, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_sts-setcontext.html">Granting permissions to use identity-aware console sessions</a>.</p>
    pub fn set_grantee(mut self, input: ::std::option::Option<crate::types::Grantee>) -> Self {
        self.grantee = input;
        self
    }
    /// <p>The user, group, or role that was granted access to the S3 location scope. For directory identities, this API also returns the grants of the IAM role used for the identity-aware request. For more information on identity-aware sessions, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_sts-setcontext.html">Granting permissions to use identity-aware console sessions</a>.</p>
    pub fn get_grantee(&self) -> &::std::option::Option<crate::types::Grantee> {
        &self.grantee
    }
    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 [`GetDataAccessOutput`](crate::operation::get_data_access::GetDataAccessOutput).
    pub fn build(self) -> crate::operation::get_data_access::GetDataAccessOutput {
        crate::operation::get_data_access::GetDataAccessOutput {
            credentials: self.credentials,
            matched_grant_target: self.matched_grant_target,
            grantee: self.grantee,
            _request_id: self._request_id,
        }
    }
}
impl ::std::fmt::Debug for GetDataAccessOutputBuilder {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        let mut formatter = f.debug_struct("GetDataAccessOutputBuilder");
        formatter.field("credentials", &"*** Sensitive Data Redacted ***");
        formatter.field("matched_grant_target", &self.matched_grant_target);
        formatter.field("grantee", &self.grantee);
        formatter.field("_request_id", &self._request_id);
        formatter.finish()
    }
}