Struct Client

Source
pub struct Client { /* private fields */ }
Expand description

Client for Amazon Athena

Client for invoking operations on Amazon Athena. Each operation on Amazon Athena is a method on this this struct. .send() MUST be invoked on the generated operations to dispatch the request to the service.

§Constructing a Client

A Config is required to construct a client. For most use cases, the aws-config crate should be used to automatically resolve this config using aws_config::load_from_env(), since this will resolve an SdkConfig which can be shared across multiple different AWS SDK clients. This config resolution process can be customized by calling aws_config::from_env() instead, which returns a ConfigLoader that uses the builder pattern to customize the default config.

In the simplest case, creating a client looks as follows:

let config = aws_config::load_from_env().await;
let client = aws_sdk_athena::Client::new(&config);

Occasionally, SDKs may have additional service-specific values that can be set on the Config that is absent from SdkConfig, or slightly different settings for a specific client may be desired. The Builder struct implements From<&SdkConfig>, so setting these specific settings can be done as follows:

let sdk_config = ::aws_config::load_from_env().await;
let config = aws_sdk_athena::config::Builder::from(&sdk_config)
    .some_service_specific_setting("value")
    .build();

See the aws-config docs and Config for more information on customizing configuration.

Note: Client construction is expensive due to connection thread pool initialization, and should be done once at application start-up.

§Using the Client

A client has a function for every operation that can be performed by the service. For example, the BatchGetPreparedStatement operation has a Client::batch_get_prepared_statement, function which returns a builder for that operation. The fluent builder ultimately has a send() function that returns an async future that returns a result, as illustrated below:

let result = client.batch_get_prepared_statement()
    .work_group("example")
    .send()
    .await;

The underlying HTTP requests that get made by this can be modified with the customize_operation function on the fluent builder. See the customize module for more information.

Implementations§

Source§

impl Client

Source

pub fn batch_get_named_query(&self) -> BatchGetNamedQueryFluentBuilder

Constructs a fluent builder for the BatchGetNamedQuery operation.

Source§

impl Client

Source

pub fn batch_get_prepared_statement( &self, ) -> BatchGetPreparedStatementFluentBuilder

Constructs a fluent builder for the BatchGetPreparedStatement operation.

Source§

impl Client

Source

pub fn batch_get_query_execution(&self) -> BatchGetQueryExecutionFluentBuilder

Constructs a fluent builder for the BatchGetQueryExecution operation.

Source§

impl Client

Source

pub fn cancel_capacity_reservation( &self, ) -> CancelCapacityReservationFluentBuilder

Constructs a fluent builder for the CancelCapacityReservation operation.

Source§

impl Client

Source

pub fn create_capacity_reservation( &self, ) -> CreateCapacityReservationFluentBuilder

Constructs a fluent builder for the CreateCapacityReservation operation.

Source§

impl Client

Source

pub fn create_data_catalog(&self) -> CreateDataCatalogFluentBuilder

Constructs a fluent builder for the CreateDataCatalog operation.

  • The fluent builder is configurable:
    • name(impl Into<String>) / set_name(Option<String>):
      required: true

      The name of the data catalog to create. The catalog name must be unique for the Amazon Web Services account and can use a maximum of 127 alphanumeric, underscore, at sign, or hyphen characters. The remainder of the length constraint of 256 is reserved for use by Athena.

      For FEDERATED type the catalog name has following considerations and limits:

      • The catalog name allows special characters such as _ , @ , \ , - . These characters are replaced with a hyphen (-) when creating the CFN Stack Name and with an underscore (_) when creating the Lambda Function and Glue Connection Name.

      • The catalog name has a theoretical limit of 128 characters. However, since we use it to create other resources that allow less characters and we prepend a prefix to it, the actual catalog name limit for FEDERATED catalog is 64 - 23 = 41 characters.


    • r#type(DataCatalogType) / set_type(Option<DataCatalogType>):
      required: true

      The type of data catalog to create: LAMBDA for a federated catalog, GLUE for an Glue Data Catalog, and HIVE for an external Apache Hive metastore. FEDERATED is a federated catalog for which Athena creates the connection and the Lambda function for you based on the parameters that you pass.


    • description(impl Into<String>) / set_description(Option<String>):
      required: false

      A description of the data catalog to be created.


    • parameters(impl Into<String>, impl Into<String>) / set_parameters(Option<HashMap::<String, String>>):
      required: false

      Specifies the Lambda function or functions to use for creating the data catalog. This is a mapping whose values depend on the catalog type.

      • For the HIVE data catalog type, use the following syntax. The metadata-function parameter is required. The sdk-version parameter is optional and defaults to the currently supported version.

        metadata-function=lambda_arn, sdk-version=version_number

      • For the LAMBDA data catalog type, use one of the following sets of required parameters, but not both.

        • If you have one Lambda function that processes metadata and another for reading the actual data, use the following syntax. Both parameters are required.

          metadata-function=lambda_arn, record-function=lambda_arn

        • If you have a composite Lambda function that processes both metadata and data, use the following syntax to specify your Lambda function.

          function=lambda_arn

      • The GLUE type takes a catalog ID parameter and is required. The catalog_id is the account ID of the Amazon Web Services account to which the Glue Data Catalog belongs.

        catalog-id=catalog_id

        • The GLUE data catalog type also applies to the default AwsDataCatalog that already exists in your account, of which you can have only one and cannot modify.

      • The FEDERATED data catalog type uses one of the following parameters, but not both. Use connection-arn for an existing Glue connection. Use connection-type and connection-properties to specify the configuration setting for a new connection.

        • connection-arn:<glue_connection_arn_to_reuse></glue_connection_arn_to_reuse>

        • lambda-role-arn (optional): The execution role to use for the Lambda function. If not provided, one is created.

        • connection-type:MYSQL|REDSHIFT|…., connection-properties:“<json_string></json_string>

          For <json_string></json_string> , use escaped JSON text, as in the following example.

          “{"spill_bucket":"my_spill","spill_prefix":"athena-spill","host":"abc12345.snowflakecomputing.com","port":"1234","warehouse":"DEV_WH","database":"TEST","schema":"PUBLIC","SecretArn":"arn:aws:secretsmanager:ap-south-1:111122223333:secret:snowflake-XHb67j"}”


    • tags(Tag) / set_tags(Option<Vec::<Tag>>):
      required: false

      A list of comma separated tags to add to the data catalog that is created. All the resources that are created by the CreateDataCatalog API operation with FEDERATED type will have the tag federated_athena_datacatalog=“true”. This includes the CFN Stack, Glue Connection, Athena DataCatalog, and all the resources created as part of the CFN Stack (Lambda Function, IAM policies/roles).


  • On success, responds with CreateDataCatalogOutput with field(s):
    • data_catalog(Option<DataCatalog>):

      Contains information about a data catalog in an Amazon Web Services account.

      In the Athena console, data catalogs are listed as “data sources” on the Data sources page under the Data source name column.

  • On failure, responds with SdkError<CreateDataCatalogError>
Source§

impl Client

Source

pub fn create_named_query(&self) -> CreateNamedQueryFluentBuilder

Constructs a fluent builder for the CreateNamedQuery operation.

Source§

impl Client

Source

pub fn create_notebook(&self) -> CreateNotebookFluentBuilder

Constructs a fluent builder for the CreateNotebook operation.

Source§

impl Client

Source

pub fn create_prepared_statement(&self) -> CreatePreparedStatementFluentBuilder

Constructs a fluent builder for the CreatePreparedStatement operation.

Source§

impl Client

Source

pub fn create_presigned_notebook_url( &self, ) -> CreatePresignedNotebookUrlFluentBuilder

Constructs a fluent builder for the CreatePresignedNotebookUrl operation.

Source§

impl Client

Source

pub fn create_work_group(&self) -> CreateWorkGroupFluentBuilder

Constructs a fluent builder for the CreateWorkGroup operation.

Source§

impl Client

Source

pub fn delete_capacity_reservation( &self, ) -> DeleteCapacityReservationFluentBuilder

Constructs a fluent builder for the DeleteCapacityReservation operation.

Source§

impl Client

Source

pub fn delete_data_catalog(&self) -> DeleteDataCatalogFluentBuilder

Constructs a fluent builder for the DeleteDataCatalog operation.

Source§

impl Client

Source

pub fn delete_named_query(&self) -> DeleteNamedQueryFluentBuilder

Constructs a fluent builder for the DeleteNamedQuery operation.

Source§

impl Client

Source

pub fn delete_notebook(&self) -> DeleteNotebookFluentBuilder

Constructs a fluent builder for the DeleteNotebook operation.

Source§

impl Client

Source

pub fn delete_prepared_statement(&self) -> DeletePreparedStatementFluentBuilder

Constructs a fluent builder for the DeletePreparedStatement operation.

Source§

impl Client

Source

pub fn delete_work_group(&self) -> DeleteWorkGroupFluentBuilder

Constructs a fluent builder for the DeleteWorkGroup operation.

Source§

impl Client

Source

pub fn export_notebook(&self) -> ExportNotebookFluentBuilder

Constructs a fluent builder for the ExportNotebook operation.

Source§

impl Client

Source

pub fn get_calculation_execution(&self) -> GetCalculationExecutionFluentBuilder

Constructs a fluent builder for the GetCalculationExecution operation.

Source§

impl Client

Source

pub fn get_calculation_execution_code( &self, ) -> GetCalculationExecutionCodeFluentBuilder

Constructs a fluent builder for the GetCalculationExecutionCode operation.

Source§

impl Client

Source

pub fn get_calculation_execution_status( &self, ) -> GetCalculationExecutionStatusFluentBuilder

Constructs a fluent builder for the GetCalculationExecutionStatus operation.

Source§

impl Client

Source

pub fn get_capacity_assignment_configuration( &self, ) -> GetCapacityAssignmentConfigurationFluentBuilder

Constructs a fluent builder for the GetCapacityAssignmentConfiguration operation.

Source§

impl Client

Source

pub fn get_capacity_reservation(&self) -> GetCapacityReservationFluentBuilder

Constructs a fluent builder for the GetCapacityReservation operation.

Source§

impl Client

Source

pub fn get_data_catalog(&self) -> GetDataCatalogFluentBuilder

Constructs a fluent builder for the GetDataCatalog operation.

Source§

impl Client

Source

pub fn get_database(&self) -> GetDatabaseFluentBuilder

Constructs a fluent builder for the GetDatabase operation.

Source§

impl Client

Source

pub fn get_named_query(&self) -> GetNamedQueryFluentBuilder

Constructs a fluent builder for the GetNamedQuery operation.

Source§

impl Client

Source

pub fn get_notebook_metadata(&self) -> GetNotebookMetadataFluentBuilder

Constructs a fluent builder for the GetNotebookMetadata operation.

Source§

impl Client

Source

pub fn get_prepared_statement(&self) -> GetPreparedStatementFluentBuilder

Constructs a fluent builder for the GetPreparedStatement operation.

Source§

impl Client

Source

pub fn get_query_execution(&self) -> GetQueryExecutionFluentBuilder

Constructs a fluent builder for the GetQueryExecution operation.

Source§

impl Client

Source

pub fn get_query_results(&self) -> GetQueryResultsFluentBuilder

Constructs a fluent builder for the GetQueryResults operation. This operation supports pagination; See into_paginator().

Source§

impl Client

Source

pub fn get_query_runtime_statistics( &self, ) -> GetQueryRuntimeStatisticsFluentBuilder

Constructs a fluent builder for the GetQueryRuntimeStatistics operation.

Source§

impl Client

Source

pub fn get_session(&self) -> GetSessionFluentBuilder

Constructs a fluent builder for the GetSession operation.

Source§

impl Client

Source

pub fn get_session_status(&self) -> GetSessionStatusFluentBuilder

Constructs a fluent builder for the GetSessionStatus operation.

Source§

impl Client

Source

pub fn get_table_metadata(&self) -> GetTableMetadataFluentBuilder

Constructs a fluent builder for the GetTableMetadata operation.

Source§

impl Client

Source

pub fn get_work_group(&self) -> GetWorkGroupFluentBuilder

Constructs a fluent builder for the GetWorkGroup operation.

Source§

impl Client

Source

pub fn import_notebook(&self) -> ImportNotebookFluentBuilder

Constructs a fluent builder for the ImportNotebook operation.

Source§

impl Client

Source

pub fn list_application_dpu_sizes(&self) -> ListApplicationDPUSizesFluentBuilder

Constructs a fluent builder for the ListApplicationDPUSizes operation. This operation supports pagination; See into_paginator().

Source§

impl Client

Source

pub fn list_calculation_executions( &self, ) -> ListCalculationExecutionsFluentBuilder

Constructs a fluent builder for the ListCalculationExecutions operation. This operation supports pagination; See into_paginator().

Source§

impl Client

Source

pub fn list_capacity_reservations( &self, ) -> ListCapacityReservationsFluentBuilder

Constructs a fluent builder for the ListCapacityReservations operation. This operation supports pagination; See into_paginator().

Source§

impl Client

Source

pub fn list_data_catalogs(&self) -> ListDataCatalogsFluentBuilder

Constructs a fluent builder for the ListDataCatalogs operation. This operation supports pagination; See into_paginator().

Source§

impl Client

Source

pub fn list_databases(&self) -> ListDatabasesFluentBuilder

Constructs a fluent builder for the ListDatabases operation. This operation supports pagination; See into_paginator().

Source§

impl Client

Source

pub fn list_engine_versions(&self) -> ListEngineVersionsFluentBuilder

Constructs a fluent builder for the ListEngineVersions operation. This operation supports pagination; See into_paginator().

Source§

impl Client

Source

pub fn list_executors(&self) -> ListExecutorsFluentBuilder

Constructs a fluent builder for the ListExecutors operation. This operation supports pagination; See into_paginator().

Source§

impl Client

Source

pub fn list_named_queries(&self) -> ListNamedQueriesFluentBuilder

Constructs a fluent builder for the ListNamedQueries operation. This operation supports pagination; See into_paginator().

Source§

impl Client

Source

pub fn list_notebook_metadata(&self) -> ListNotebookMetadataFluentBuilder

Constructs a fluent builder for the ListNotebookMetadata operation.

Source§

impl Client

Source

pub fn list_notebook_sessions(&self) -> ListNotebookSessionsFluentBuilder

Constructs a fluent builder for the ListNotebookSessions operation.

Source§

impl Client

Source

pub fn list_prepared_statements(&self) -> ListPreparedStatementsFluentBuilder

Constructs a fluent builder for the ListPreparedStatements operation. This operation supports pagination; See into_paginator().

Source§

impl Client

Source

pub fn list_query_executions(&self) -> ListQueryExecutionsFluentBuilder

Constructs a fluent builder for the ListQueryExecutions operation. This operation supports pagination; See into_paginator().

Source§

impl Client

Source

pub fn list_sessions(&self) -> ListSessionsFluentBuilder

Constructs a fluent builder for the ListSessions operation. This operation supports pagination; See into_paginator().

Source§

impl Client

Source

pub fn list_table_metadata(&self) -> ListTableMetadataFluentBuilder

Constructs a fluent builder for the ListTableMetadata operation. This operation supports pagination; See into_paginator().

Source§

impl Client

Source

pub fn list_tags_for_resource(&self) -> ListTagsForResourceFluentBuilder

Constructs a fluent builder for the ListTagsForResource operation. This operation supports pagination; See into_paginator().

Source§

impl Client

Source

pub fn list_work_groups(&self) -> ListWorkGroupsFluentBuilder

Constructs a fluent builder for the ListWorkGroups operation. This operation supports pagination; See into_paginator().

Source§

impl Client

Source

pub fn put_capacity_assignment_configuration( &self, ) -> PutCapacityAssignmentConfigurationFluentBuilder

Constructs a fluent builder for the PutCapacityAssignmentConfiguration operation.

Source§

impl Client

Source

pub fn start_calculation_execution( &self, ) -> StartCalculationExecutionFluentBuilder

Constructs a fluent builder for the StartCalculationExecution operation.

Source§

impl Client

Source

pub fn start_query_execution(&self) -> StartQueryExecutionFluentBuilder

Constructs a fluent builder for the StartQueryExecution operation.

Source§

impl Client

Source

pub fn start_session(&self) -> StartSessionFluentBuilder

Constructs a fluent builder for the StartSession operation.

Source§

impl Client

Source

pub fn stop_calculation_execution( &self, ) -> StopCalculationExecutionFluentBuilder

Constructs a fluent builder for the StopCalculationExecution operation.

Source§

impl Client

Source

pub fn stop_query_execution(&self) -> StopQueryExecutionFluentBuilder

Constructs a fluent builder for the StopQueryExecution operation.

Source§

impl Client

Source

pub fn tag_resource(&self) -> TagResourceFluentBuilder

Constructs a fluent builder for the TagResource operation.

Source§

impl Client

Source

pub fn terminate_session(&self) -> TerminateSessionFluentBuilder

Constructs a fluent builder for the TerminateSession operation.

  • The fluent builder is configurable:
  • On success, responds with TerminateSessionOutput with field(s):
    • state(Option<SessionState>):

      The state of the session. A description of each state follows.

      CREATING - The session is being started, including acquiring resources.

      CREATED - The session has been started.

      IDLE - The session is able to accept a calculation.

      BUSY - The session is processing another task and is unable to accept a calculation.

      TERMINATING - The session is in the process of shutting down.

      TERMINATED - The session and its resources are no longer running.

      DEGRADED - The session has no healthy coordinators.

      FAILED - Due to a failure, the session and its resources are no longer running.

  • On failure, responds with SdkError<TerminateSessionError>
Source§

impl Client

Source

pub fn untag_resource(&self) -> UntagResourceFluentBuilder

Constructs a fluent builder for the UntagResource operation.

Source§

impl Client

Source

pub fn update_capacity_reservation( &self, ) -> UpdateCapacityReservationFluentBuilder

Constructs a fluent builder for the UpdateCapacityReservation operation.

Source§

impl Client

Source

pub fn update_data_catalog(&self) -> UpdateDataCatalogFluentBuilder

Constructs a fluent builder for the UpdateDataCatalog operation.

  • The fluent builder is configurable:
    • name(impl Into<String>) / set_name(Option<String>):
      required: true

      The name of the data catalog to update. The catalog name must be unique for the Amazon Web Services account and can use a maximum of 127 alphanumeric, underscore, at sign, or hyphen characters. The remainder of the length constraint of 256 is reserved for use by Athena.


    • r#type(DataCatalogType) / set_type(Option<DataCatalogType>):
      required: true

      Specifies the type of data catalog to update. Specify LAMBDA for a federated catalog, HIVE for an external hive metastore, or GLUE for an Glue Data Catalog.


    • description(impl Into<String>) / set_description(Option<String>):
      required: false

      New or modified text that describes the data catalog.


    • parameters(impl Into<String>, impl Into<String>) / set_parameters(Option<HashMap::<String, String>>):
      required: false

      Specifies the Lambda function or functions to use for updating the data catalog. This is a mapping whose values depend on the catalog type.

      • For the HIVE data catalog type, use the following syntax. The metadata-function parameter is required. The sdk-version parameter is optional and defaults to the currently supported version.

        metadata-function=lambda_arn, sdk-version=version_number

      • For the LAMBDA data catalog type, use one of the following sets of required parameters, but not both.

        • If you have one Lambda function that processes metadata and another for reading the actual data, use the following syntax. Both parameters are required.

          metadata-function=lambda_arn, record-function=lambda_arn

        • If you have a composite Lambda function that processes both metadata and data, use the following syntax to specify your Lambda function.

          function=lambda_arn


  • On success, responds with UpdateDataCatalogOutput
  • On failure, responds with SdkError<UpdateDataCatalogError>
Source§

impl Client

Source

pub fn update_named_query(&self) -> UpdateNamedQueryFluentBuilder

Constructs a fluent builder for the UpdateNamedQuery operation.

Source§

impl Client

Source

pub fn update_notebook(&self) -> UpdateNotebookFluentBuilder

Constructs a fluent builder for the UpdateNotebook operation.

Source§

impl Client

Source

pub fn update_notebook_metadata(&self) -> UpdateNotebookMetadataFluentBuilder

Constructs a fluent builder for the UpdateNotebookMetadata operation.

Source§

impl Client

Source

pub fn update_prepared_statement(&self) -> UpdatePreparedStatementFluentBuilder

Constructs a fluent builder for the UpdatePreparedStatement operation.

Source§

impl Client

Source

pub fn update_work_group(&self) -> UpdateWorkGroupFluentBuilder

Constructs a fluent builder for the UpdateWorkGroup operation.

Source§

impl Client

Source

pub fn from_conf(conf: Config) -> Self

Creates a new client from the service Config.

§Panics

This method will panic in the following cases:

  • Retries or timeouts are enabled without a sleep_impl configured.
  • Identity caching is enabled without a sleep_impl and time_source configured.
  • No behavior_version is provided.

The panic message for each of these will have instructions on how to resolve them.

Source

pub fn config(&self) -> &Config

Returns the client’s configuration.

Source§

impl Client

Source

pub fn new(sdk_config: &SdkConfig) -> Self

Creates a new client from an SDK Config.

§Panics
  • This method will panic if the sdk_config is missing an async sleep implementation. If you experience this panic, set the sleep_impl on the Config passed into this function to fix it.
  • This method will panic if the sdk_config is missing an HTTP connector. If you experience this panic, set the http_connector on the Config passed into this function to fix it.
  • This method will panic if no BehaviorVersion is provided. If you experience this panic, set behavior_version on the Config or enable the behavior-version-latest Cargo feature.

Trait Implementations§

Source§

impl Clone for Client

Source§

fn clone(&self) -> Client

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Client

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Client

§

impl !RefUnwindSafe for Client

§

impl Send for Client

§

impl Sync for Client

§

impl Unpin for Client

§

impl !UnwindSafe for Client

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

Source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
Source§

impl<T> Paint for T
where T: ?Sized,

Source§

fn fg(&self, value: Color) -> Painted<&T>

Returns a styled value derived from self with the foreground set to value.

This method should be used rarely. Instead, prefer to use color-specific builder methods like red() and green(), which have the same functionality but are pithier.

§Example

Set foreground color to white using fg():

use yansi::{Paint, Color};

painted.fg(Color::White);

Set foreground color to white using white().

use yansi::Paint;

painted.white();
Source§

fn primary(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Primary].

§Example
println!("{}", value.primary());
Source§

fn fixed(&self, color: u8) -> Painted<&T>

Returns self with the fg() set to [Color :: Fixed].

§Example
println!("{}", value.fixed(color));
Source§

fn rgb(&self, r: u8, g: u8, b: u8) -> Painted<&T>

Returns self with the fg() set to [Color :: Rgb].

§Example
println!("{}", value.rgb(r, g, b));
Source§

fn black(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Black].

§Example
println!("{}", value.black());
Source§

fn red(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Red].

§Example
println!("{}", value.red());
Source§

fn green(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Green].

§Example
println!("{}", value.green());
Source§

fn yellow(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Yellow].

§Example
println!("{}", value.yellow());
Source§

fn blue(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Blue].

§Example
println!("{}", value.blue());
Source§

fn magenta(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Magenta].

§Example
println!("{}", value.magenta());
Source§

fn cyan(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Cyan].

§Example
println!("{}", value.cyan());
Source§

fn white(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: White].

§Example
println!("{}", value.white());
Source§

fn bright_black(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightBlack].

§Example
println!("{}", value.bright_black());
Source§

fn bright_red(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightRed].

§Example
println!("{}", value.bright_red());
Source§

fn bright_green(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightGreen].

§Example
println!("{}", value.bright_green());
Source§

fn bright_yellow(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightYellow].

§Example
println!("{}", value.bright_yellow());
Source§

fn bright_blue(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightBlue].

§Example
println!("{}", value.bright_blue());
Source§

fn bright_magenta(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightMagenta].

§Example
println!("{}", value.bright_magenta());
Source§

fn bright_cyan(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightCyan].

§Example
println!("{}", value.bright_cyan());
Source§

fn bright_white(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightWhite].

§Example
println!("{}", value.bright_white());
Source§

fn bg(&self, value: Color) -> Painted<&T>

Returns a styled value derived from self with the background set to value.

This method should be used rarely. Instead, prefer to use color-specific builder methods like on_red() and on_green(), which have the same functionality but are pithier.

§Example

Set background color to red using fg():

use yansi::{Paint, Color};

painted.bg(Color::Red);

Set background color to red using on_red().

use yansi::Paint;

painted.on_red();
Source§

fn on_primary(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Primary].

§Example
println!("{}", value.on_primary());
Source§

fn on_fixed(&self, color: u8) -> Painted<&T>

Returns self with the bg() set to [Color :: Fixed].

§Example
println!("{}", value.on_fixed(color));
Source§

fn on_rgb(&self, r: u8, g: u8, b: u8) -> Painted<&T>

Returns self with the bg() set to [Color :: Rgb].

§Example
println!("{}", value.on_rgb(r, g, b));
Source§

fn on_black(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Black].

§Example
println!("{}", value.on_black());
Source§

fn on_red(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Red].

§Example
println!("{}", value.on_red());
Source§

fn on_green(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Green].

§Example
println!("{}", value.on_green());
Source§

fn on_yellow(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Yellow].

§Example
println!("{}", value.on_yellow());
Source§

fn on_blue(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Blue].

§Example
println!("{}", value.on_blue());
Source§

fn on_magenta(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Magenta].

§Example
println!("{}", value.on_magenta());
Source§

fn on_cyan(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Cyan].

§Example
println!("{}", value.on_cyan());
Source§

fn on_white(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: White].

§Example
println!("{}", value.on_white());
Source§

fn on_bright_black(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightBlack].

§Example
println!("{}", value.on_bright_black());
Source§

fn on_bright_red(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightRed].

§Example
println!("{}", value.on_bright_red());
Source§

fn on_bright_green(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightGreen].

§Example
println!("{}", value.on_bright_green());
Source§

fn on_bright_yellow(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightYellow].

§Example
println!("{}", value.on_bright_yellow());
Source§

fn on_bright_blue(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightBlue].

§Example
println!("{}", value.on_bright_blue());
Source§

fn on_bright_magenta(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightMagenta].

§Example
println!("{}", value.on_bright_magenta());
Source§

fn on_bright_cyan(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightCyan].

§Example
println!("{}", value.on_bright_cyan());
Source§

fn on_bright_white(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightWhite].

§Example
println!("{}", value.on_bright_white());
Source§

fn attr(&self, value: Attribute) -> Painted<&T>

Enables the styling Attribute value.

This method should be used rarely. Instead, prefer to use attribute-specific builder methods like bold() and underline(), which have the same functionality but are pithier.

§Example

Make text bold using attr():

use yansi::{Paint, Attribute};

painted.attr(Attribute::Bold);

Make text bold using using bold().

use yansi::Paint;

painted.bold();
Source§

fn bold(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Bold].

§Example
println!("{}", value.bold());
Source§

fn dim(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Dim].

§Example
println!("{}", value.dim());
Source§

fn italic(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Italic].

§Example
println!("{}", value.italic());
Source§

fn underline(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Underline].

§Example
println!("{}", value.underline());

Returns self with the attr() set to [Attribute :: Blink].

§Example
println!("{}", value.blink());

Returns self with the attr() set to [Attribute :: RapidBlink].

§Example
println!("{}", value.rapid_blink());
Source§

fn invert(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Invert].

§Example
println!("{}", value.invert());
Source§

fn conceal(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Conceal].

§Example
println!("{}", value.conceal());
Source§

fn strike(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Strike].

§Example
println!("{}", value.strike());
Source§

fn quirk(&self, value: Quirk) -> Painted<&T>

Enables the yansi Quirk value.

This method should be used rarely. Instead, prefer to use quirk-specific builder methods like mask() and wrap(), which have the same functionality but are pithier.

§Example

Enable wrapping using .quirk():

use yansi::{Paint, Quirk};

painted.quirk(Quirk::Wrap);

Enable wrapping using wrap().

use yansi::Paint;

painted.wrap();
Source§

fn mask(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Mask].

§Example
println!("{}", value.mask());
Source§

fn wrap(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Wrap].

§Example
println!("{}", value.wrap());
Source§

fn linger(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Linger].

§Example
println!("{}", value.linger());
Source§

fn clear(&self) -> Painted<&T>

👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear(). The clear() method will be removed in a future release.

Returns self with the quirk() set to [Quirk :: Clear].

§Example
println!("{}", value.clear());
Source§

fn resetting(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Resetting].

§Example
println!("{}", value.resetting());
Source§

fn bright(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Bright].

§Example
println!("{}", value.bright());
Source§

fn on_bright(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: OnBright].

§Example
println!("{}", value.on_bright());
Source§

fn whenever(&self, value: Condition) -> Painted<&T>

Conditionally enable styling based on whether the Condition value applies. Replaces any previous condition.

See the crate level docs for more details.

§Example

Enable styling painted only when both stdout and stderr are TTYs:

use yansi::{Paint, Condition};

painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);
Source§

fn new(self) -> Painted<Self>
where Self: Sized,

Create a new Painted with a default Style. Read more
Source§

fn paint<S>(&self, style: S) -> Painted<&Self>
where S: Into<Style>,

Apply a style wholesale to self. Any previous style is replaced. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T