aws-sdk-glue 1.147.0

AWS SDK for AWS Glue
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 GetTablesInput {
    /// <p>The ID of the Data Catalog where the tables reside. If none is provided, the Amazon Web Services account ID is used by default.</p>
    pub catalog_id: ::std::option::Option<::std::string::String>,
    /// <p>The database in the catalog whose tables to list. For Hive compatibility, this name is entirely lowercase.</p>
    pub database_name: ::std::option::Option<::std::string::String>,
    /// <p>A regular expression pattern. If present, only those tables whose names match the pattern are returned.</p>
    pub expression: ::std::option::Option<::std::string::String>,
    /// <p>A continuation token, included if this is a continuation call.</p>
    pub next_token: ::std::option::Option<::std::string::String>,
    /// <p>The maximum number of tables to return in a single response.</p>
    pub max_results: ::std::option::Option<i32>,
    /// <p>The transaction ID at which to read the table contents.</p>
    pub transaction_id: ::std::option::Option<::std::string::String>,
    /// <p>The time as of when to read the table contents. If not set, the most recent transaction commit time will be used. Cannot be specified along with <code>TransactionId</code>.</p>
    pub query_as_of_time: ::std::option::Option<::aws_smithy_types::DateTime>,
    /// <p>A structure containing the Lake Formation <a href="https://docs.aws.amazon.com/glue/latest/webapi/API_AuditContext.html">audit context</a>.</p>
    pub audit_context: ::std::option::Option<crate::types::AuditContext>,
    /// <p>Specifies whether to include status details related to a request to create or update an Glue Data Catalog view.</p>
    pub include_status_details: ::std::option::Option<bool>,
    /// <p>Specifies the table fields returned by the <code>GetTables</code> call. This parameter doesn’t accept an empty list. The request must include <code>NAME</code>.</p>
    /// <p>The following are the valid combinations of values:</p>
    /// <ul>
    /// <li>
    /// <p><code>NAME</code> - Names of all tables in the database.</p></li>
    /// <li>
    /// <p><code>NAME</code>, <code>TABLE_TYPE</code> - Names of all tables and the table types.</p></li>
    /// </ul>
    pub attributes_to_get: ::std::option::Option<::std::vec::Vec<crate::types::TableAttributes>>,
}
impl GetTablesInput {
    /// <p>The ID of the Data Catalog where the tables reside. If none is provided, the Amazon Web Services account ID is used by default.</p>
    pub fn catalog_id(&self) -> ::std::option::Option<&str> {
        self.catalog_id.as_deref()
    }
    /// <p>The database in the catalog whose tables to list. For Hive compatibility, this name is entirely lowercase.</p>
    pub fn database_name(&self) -> ::std::option::Option<&str> {
        self.database_name.as_deref()
    }
    /// <p>A regular expression pattern. If present, only those tables whose names match the pattern are returned.</p>
    pub fn expression(&self) -> ::std::option::Option<&str> {
        self.expression.as_deref()
    }
    /// <p>A continuation token, included if this is a continuation call.</p>
    pub fn next_token(&self) -> ::std::option::Option<&str> {
        self.next_token.as_deref()
    }
    /// <p>The maximum number of tables to return in a single response.</p>
    pub fn max_results(&self) -> ::std::option::Option<i32> {
        self.max_results
    }
    /// <p>The transaction ID at which to read the table contents.</p>
    pub fn transaction_id(&self) -> ::std::option::Option<&str> {
        self.transaction_id.as_deref()
    }
    /// <p>The time as of when to read the table contents. If not set, the most recent transaction commit time will be used. Cannot be specified along with <code>TransactionId</code>.</p>
    pub fn query_as_of_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
        self.query_as_of_time.as_ref()
    }
    /// <p>A structure containing the Lake Formation <a href="https://docs.aws.amazon.com/glue/latest/webapi/API_AuditContext.html">audit context</a>.</p>
    pub fn audit_context(&self) -> ::std::option::Option<&crate::types::AuditContext> {
        self.audit_context.as_ref()
    }
    /// <p>Specifies whether to include status details related to a request to create or update an Glue Data Catalog view.</p>
    pub fn include_status_details(&self) -> ::std::option::Option<bool> {
        self.include_status_details
    }
    /// <p>Specifies the table fields returned by the <code>GetTables</code> call. This parameter doesn’t accept an empty list. The request must include <code>NAME</code>.</p>
    /// <p>The following are the valid combinations of values:</p>
    /// <ul>
    /// <li>
    /// <p><code>NAME</code> - Names of all tables in the database.</p></li>
    /// <li>
    /// <p><code>NAME</code>, <code>TABLE_TYPE</code> - Names of all tables and the table types.</p></li>
    /// </ul>
    ///
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.attributes_to_get.is_none()`.
    pub fn attributes_to_get(&self) -> &[crate::types::TableAttributes] {
        self.attributes_to_get.as_deref().unwrap_or_default()
    }
}
impl GetTablesInput {
    /// Creates a new builder-style object to manufacture [`GetTablesInput`](crate::operation::get_tables::GetTablesInput).
    pub fn builder() -> crate::operation::get_tables::builders::GetTablesInputBuilder {
        crate::operation::get_tables::builders::GetTablesInputBuilder::default()
    }
}

/// A builder for [`GetTablesInput`](crate::operation::get_tables::GetTablesInput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct GetTablesInputBuilder {
    pub(crate) catalog_id: ::std::option::Option<::std::string::String>,
    pub(crate) database_name: ::std::option::Option<::std::string::String>,
    pub(crate) expression: ::std::option::Option<::std::string::String>,
    pub(crate) next_token: ::std::option::Option<::std::string::String>,
    pub(crate) max_results: ::std::option::Option<i32>,
    pub(crate) transaction_id: ::std::option::Option<::std::string::String>,
    pub(crate) query_as_of_time: ::std::option::Option<::aws_smithy_types::DateTime>,
    pub(crate) audit_context: ::std::option::Option<crate::types::AuditContext>,
    pub(crate) include_status_details: ::std::option::Option<bool>,
    pub(crate) attributes_to_get: ::std::option::Option<::std::vec::Vec<crate::types::TableAttributes>>,
}
impl GetTablesInputBuilder {
    /// <p>The ID of the Data Catalog where the tables reside. If none is provided, the Amazon Web Services account ID is used by default.</p>
    pub fn catalog_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.catalog_id = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The ID of the Data Catalog where the tables reside. If none is provided, the Amazon Web Services account ID is used by default.</p>
    pub fn set_catalog_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.catalog_id = input;
        self
    }
    /// <p>The ID of the Data Catalog where the tables reside. If none is provided, the Amazon Web Services account ID is used by default.</p>
    pub fn get_catalog_id(&self) -> &::std::option::Option<::std::string::String> {
        &self.catalog_id
    }
    /// <p>The database in the catalog whose tables to list. For Hive compatibility, this name is entirely lowercase.</p>
    /// This field is required.
    pub fn database_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.database_name = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The database in the catalog whose tables to list. For Hive compatibility, this name is entirely lowercase.</p>
    pub fn set_database_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.database_name = input;
        self
    }
    /// <p>The database in the catalog whose tables to list. For Hive compatibility, this name is entirely lowercase.</p>
    pub fn get_database_name(&self) -> &::std::option::Option<::std::string::String> {
        &self.database_name
    }
    /// <p>A regular expression pattern. If present, only those tables whose names match the pattern are returned.</p>
    pub fn expression(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.expression = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>A regular expression pattern. If present, only those tables whose names match the pattern are returned.</p>
    pub fn set_expression(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.expression = input;
        self
    }
    /// <p>A regular expression pattern. If present, only those tables whose names match the pattern are returned.</p>
    pub fn get_expression(&self) -> &::std::option::Option<::std::string::String> {
        &self.expression
    }
    /// <p>A continuation token, included if this is a continuation call.</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 continuation token, included if this is a continuation call.</p>
    pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.next_token = input;
        self
    }
    /// <p>A continuation token, included if this is a continuation call.</p>
    pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
        &self.next_token
    }
    /// <p>The maximum number of tables to return in a single response.</p>
    pub fn max_results(mut self, input: i32) -> Self {
        self.max_results = ::std::option::Option::Some(input);
        self
    }
    /// <p>The maximum number of tables to return in a single response.</p>
    pub fn set_max_results(mut self, input: ::std::option::Option<i32>) -> Self {
        self.max_results = input;
        self
    }
    /// <p>The maximum number of tables to return in a single response.</p>
    pub fn get_max_results(&self) -> &::std::option::Option<i32> {
        &self.max_results
    }
    /// <p>The transaction ID at which to read the table contents.</p>
    pub fn transaction_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.transaction_id = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The transaction ID at which to read the table contents.</p>
    pub fn set_transaction_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.transaction_id = input;
        self
    }
    /// <p>The transaction ID at which to read the table contents.</p>
    pub fn get_transaction_id(&self) -> &::std::option::Option<::std::string::String> {
        &self.transaction_id
    }
    /// <p>The time as of when to read the table contents. If not set, the most recent transaction commit time will be used. Cannot be specified along with <code>TransactionId</code>.</p>
    pub fn query_as_of_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        self.query_as_of_time = ::std::option::Option::Some(input);
        self
    }
    /// <p>The time as of when to read the table contents. If not set, the most recent transaction commit time will be used. Cannot be specified along with <code>TransactionId</code>.</p>
    pub fn set_query_as_of_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
        self.query_as_of_time = input;
        self
    }
    /// <p>The time as of when to read the table contents. If not set, the most recent transaction commit time will be used. Cannot be specified along with <code>TransactionId</code>.</p>
    pub fn get_query_as_of_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
        &self.query_as_of_time
    }
    /// <p>A structure containing the Lake Formation <a href="https://docs.aws.amazon.com/glue/latest/webapi/API_AuditContext.html">audit context</a>.</p>
    pub fn audit_context(mut self, input: crate::types::AuditContext) -> Self {
        self.audit_context = ::std::option::Option::Some(input);
        self
    }
    /// <p>A structure containing the Lake Formation <a href="https://docs.aws.amazon.com/glue/latest/webapi/API_AuditContext.html">audit context</a>.</p>
    pub fn set_audit_context(mut self, input: ::std::option::Option<crate::types::AuditContext>) -> Self {
        self.audit_context = input;
        self
    }
    /// <p>A structure containing the Lake Formation <a href="https://docs.aws.amazon.com/glue/latest/webapi/API_AuditContext.html">audit context</a>.</p>
    pub fn get_audit_context(&self) -> &::std::option::Option<crate::types::AuditContext> {
        &self.audit_context
    }
    /// <p>Specifies whether to include status details related to a request to create or update an Glue Data Catalog view.</p>
    pub fn include_status_details(mut self, input: bool) -> Self {
        self.include_status_details = ::std::option::Option::Some(input);
        self
    }
    /// <p>Specifies whether to include status details related to a request to create or update an Glue Data Catalog view.</p>
    pub fn set_include_status_details(mut self, input: ::std::option::Option<bool>) -> Self {
        self.include_status_details = input;
        self
    }
    /// <p>Specifies whether to include status details related to a request to create or update an Glue Data Catalog view.</p>
    pub fn get_include_status_details(&self) -> &::std::option::Option<bool> {
        &self.include_status_details
    }
    /// Appends an item to `attributes_to_get`.
    ///
    /// To override the contents of this collection use [`set_attributes_to_get`](Self::set_attributes_to_get).
    ///
    /// <p>Specifies the table fields returned by the <code>GetTables</code> call. This parameter doesn’t accept an empty list. The request must include <code>NAME</code>.</p>
    /// <p>The following are the valid combinations of values:</p>
    /// <ul>
    /// <li>
    /// <p><code>NAME</code> - Names of all tables in the database.</p></li>
    /// <li>
    /// <p><code>NAME</code>, <code>TABLE_TYPE</code> - Names of all tables and the table types.</p></li>
    /// </ul>
    pub fn attributes_to_get(mut self, input: crate::types::TableAttributes) -> Self {
        let mut v = self.attributes_to_get.unwrap_or_default();
        v.push(input);
        self.attributes_to_get = ::std::option::Option::Some(v);
        self
    }
    /// <p>Specifies the table fields returned by the <code>GetTables</code> call. This parameter doesn’t accept an empty list. The request must include <code>NAME</code>.</p>
    /// <p>The following are the valid combinations of values:</p>
    /// <ul>
    /// <li>
    /// <p><code>NAME</code> - Names of all tables in the database.</p></li>
    /// <li>
    /// <p><code>NAME</code>, <code>TABLE_TYPE</code> - Names of all tables and the table types.</p></li>
    /// </ul>
    pub fn set_attributes_to_get(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::TableAttributes>>) -> Self {
        self.attributes_to_get = input;
        self
    }
    /// <p>Specifies the table fields returned by the <code>GetTables</code> call. This parameter doesn’t accept an empty list. The request must include <code>NAME</code>.</p>
    /// <p>The following are the valid combinations of values:</p>
    /// <ul>
    /// <li>
    /// <p><code>NAME</code> - Names of all tables in the database.</p></li>
    /// <li>
    /// <p><code>NAME</code>, <code>TABLE_TYPE</code> - Names of all tables and the table types.</p></li>
    /// </ul>
    pub fn get_attributes_to_get(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::TableAttributes>> {
        &self.attributes_to_get
    }
    /// Consumes the builder and constructs a [`GetTablesInput`](crate::operation::get_tables::GetTablesInput).
    pub fn build(self) -> ::std::result::Result<crate::operation::get_tables::GetTablesInput, ::aws_smithy_types::error::operation::BuildError> {
        ::std::result::Result::Ok(crate::operation::get_tables::GetTablesInput {
            catalog_id: self.catalog_id,
            database_name: self.database_name,
            expression: self.expression,
            next_token: self.next_token,
            max_results: self.max_results,
            transaction_id: self.transaction_id,
            query_as_of_time: self.query_as_of_time,
            audit_context: self.audit_context,
            include_status_details: self.include_status_details,
            attributes_to_get: self.attributes_to_get,
        })
    }
}