aws-sdk-redshiftserverless 1.104.0

AWS SDK for Redshift Serverless
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 GetCredentialsInput {
    /// <p>The name of the database to get temporary authorization to log on to.</p>
    /// <p>Constraints:</p>
    /// <ul>
    /// <li>
    /// <p>Must be 1 to 64 alphanumeric characters or hyphens.</p></li>
    /// <li>
    /// <p>Must contain only uppercase or lowercase letters, numbers, underscore, plus sign, period (dot), at symbol (@), or hyphen.</p></li>
    /// <li>
    /// <p>The first character must be a letter.</p></li>
    /// <li>
    /// <p>Must not contain a colon ( : ) or slash ( / ).</p></li>
    /// <li>
    /// <p>Cannot be a reserved word. A list of reserved words can be found in <a href="https://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html">Reserved Words </a> in the Amazon Redshift Database Developer Guide</p></li>
    /// </ul>
    pub db_name: ::std::option::Option<::std::string::String>,
    /// <p>The number of seconds until the returned temporary password expires. The minimum is 900 seconds, and the maximum is 3600 seconds.</p>
    pub duration_seconds: ::std::option::Option<i32>,
    /// <p>The name of the workgroup associated with the database.</p>
    pub workgroup_name: ::std::option::Option<::std::string::String>,
    /// <p>The custom domain name associated with the workgroup. The custom domain name or the workgroup name must be included in the request.</p>
    pub custom_domain_name: ::std::option::Option<::std::string::String>,
}
impl GetCredentialsInput {
    /// <p>The name of the database to get temporary authorization to log on to.</p>
    /// <p>Constraints:</p>
    /// <ul>
    /// <li>
    /// <p>Must be 1 to 64 alphanumeric characters or hyphens.</p></li>
    /// <li>
    /// <p>Must contain only uppercase or lowercase letters, numbers, underscore, plus sign, period (dot), at symbol (@), or hyphen.</p></li>
    /// <li>
    /// <p>The first character must be a letter.</p></li>
    /// <li>
    /// <p>Must not contain a colon ( : ) or slash ( / ).</p></li>
    /// <li>
    /// <p>Cannot be a reserved word. A list of reserved words can be found in <a href="https://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html">Reserved Words </a> in the Amazon Redshift Database Developer Guide</p></li>
    /// </ul>
    pub fn db_name(&self) -> ::std::option::Option<&str> {
        self.db_name.as_deref()
    }
    /// <p>The number of seconds until the returned temporary password expires. The minimum is 900 seconds, and the maximum is 3600 seconds.</p>
    pub fn duration_seconds(&self) -> ::std::option::Option<i32> {
        self.duration_seconds
    }
    /// <p>The name of the workgroup associated with the database.</p>
    pub fn workgroup_name(&self) -> ::std::option::Option<&str> {
        self.workgroup_name.as_deref()
    }
    /// <p>The custom domain name associated with the workgroup. The custom domain name or the workgroup name must be included in the request.</p>
    pub fn custom_domain_name(&self) -> ::std::option::Option<&str> {
        self.custom_domain_name.as_deref()
    }
}
impl GetCredentialsInput {
    /// Creates a new builder-style object to manufacture [`GetCredentialsInput`](crate::operation::get_credentials::GetCredentialsInput).
    pub fn builder() -> crate::operation::get_credentials::builders::GetCredentialsInputBuilder {
        crate::operation::get_credentials::builders::GetCredentialsInputBuilder::default()
    }
}

/// A builder for [`GetCredentialsInput`](crate::operation::get_credentials::GetCredentialsInput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct GetCredentialsInputBuilder {
    pub(crate) db_name: ::std::option::Option<::std::string::String>,
    pub(crate) duration_seconds: ::std::option::Option<i32>,
    pub(crate) workgroup_name: ::std::option::Option<::std::string::String>,
    pub(crate) custom_domain_name: ::std::option::Option<::std::string::String>,
}
impl GetCredentialsInputBuilder {
    /// <p>The name of the database to get temporary authorization to log on to.</p>
    /// <p>Constraints:</p>
    /// <ul>
    /// <li>
    /// <p>Must be 1 to 64 alphanumeric characters or hyphens.</p></li>
    /// <li>
    /// <p>Must contain only uppercase or lowercase letters, numbers, underscore, plus sign, period (dot), at symbol (@), or hyphen.</p></li>
    /// <li>
    /// <p>The first character must be a letter.</p></li>
    /// <li>
    /// <p>Must not contain a colon ( : ) or slash ( / ).</p></li>
    /// <li>
    /// <p>Cannot be a reserved word. A list of reserved words can be found in <a href="https://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html">Reserved Words </a> in the Amazon Redshift Database Developer Guide</p></li>
    /// </ul>
    pub fn db_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.db_name = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The name of the database to get temporary authorization to log on to.</p>
    /// <p>Constraints:</p>
    /// <ul>
    /// <li>
    /// <p>Must be 1 to 64 alphanumeric characters or hyphens.</p></li>
    /// <li>
    /// <p>Must contain only uppercase or lowercase letters, numbers, underscore, plus sign, period (dot), at symbol (@), or hyphen.</p></li>
    /// <li>
    /// <p>The first character must be a letter.</p></li>
    /// <li>
    /// <p>Must not contain a colon ( : ) or slash ( / ).</p></li>
    /// <li>
    /// <p>Cannot be a reserved word. A list of reserved words can be found in <a href="https://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html">Reserved Words </a> in the Amazon Redshift Database Developer Guide</p></li>
    /// </ul>
    pub fn set_db_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.db_name = input;
        self
    }
    /// <p>The name of the database to get temporary authorization to log on to.</p>
    /// <p>Constraints:</p>
    /// <ul>
    /// <li>
    /// <p>Must be 1 to 64 alphanumeric characters or hyphens.</p></li>
    /// <li>
    /// <p>Must contain only uppercase or lowercase letters, numbers, underscore, plus sign, period (dot), at symbol (@), or hyphen.</p></li>
    /// <li>
    /// <p>The first character must be a letter.</p></li>
    /// <li>
    /// <p>Must not contain a colon ( : ) or slash ( / ).</p></li>
    /// <li>
    /// <p>Cannot be a reserved word. A list of reserved words can be found in <a href="https://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html">Reserved Words </a> in the Amazon Redshift Database Developer Guide</p></li>
    /// </ul>
    pub fn get_db_name(&self) -> &::std::option::Option<::std::string::String> {
        &self.db_name
    }
    /// <p>The number of seconds until the returned temporary password expires. The minimum is 900 seconds, and the maximum is 3600 seconds.</p>
    pub fn duration_seconds(mut self, input: i32) -> Self {
        self.duration_seconds = ::std::option::Option::Some(input);
        self
    }
    /// <p>The number of seconds until the returned temporary password expires. The minimum is 900 seconds, and the maximum is 3600 seconds.</p>
    pub fn set_duration_seconds(mut self, input: ::std::option::Option<i32>) -> Self {
        self.duration_seconds = input;
        self
    }
    /// <p>The number of seconds until the returned temporary password expires. The minimum is 900 seconds, and the maximum is 3600 seconds.</p>
    pub fn get_duration_seconds(&self) -> &::std::option::Option<i32> {
        &self.duration_seconds
    }
    /// <p>The name of the workgroup associated with the database.</p>
    pub fn workgroup_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.workgroup_name = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The name of the workgroup associated with the database.</p>
    pub fn set_workgroup_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.workgroup_name = input;
        self
    }
    /// <p>The name of the workgroup associated with the database.</p>
    pub fn get_workgroup_name(&self) -> &::std::option::Option<::std::string::String> {
        &self.workgroup_name
    }
    /// <p>The custom domain name associated with the workgroup. The custom domain name or the workgroup name must be included in the request.</p>
    pub fn custom_domain_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.custom_domain_name = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The custom domain name associated with the workgroup. The custom domain name or the workgroup name must be included in the request.</p>
    pub fn set_custom_domain_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.custom_domain_name = input;
        self
    }
    /// <p>The custom domain name associated with the workgroup. The custom domain name or the workgroup name must be included in the request.</p>
    pub fn get_custom_domain_name(&self) -> &::std::option::Option<::std::string::String> {
        &self.custom_domain_name
    }
    /// Consumes the builder and constructs a [`GetCredentialsInput`](crate::operation::get_credentials::GetCredentialsInput).
    pub fn build(
        self,
    ) -> ::std::result::Result<crate::operation::get_credentials::GetCredentialsInput, ::aws_smithy_types::error::operation::BuildError> {
        ::std::result::Result::Ok(crate::operation::get_credentials::GetCredentialsInput {
            db_name: self.db_name,
            duration_seconds: self.duration_seconds,
            workgroup_name: self.workgroup_name,
            custom_domain_name: self.custom_domain_name,
        })
    }
}