GetDbClusterOutputBuilder

Struct GetDbClusterOutputBuilder 

Source
#[non_exhaustive]
pub struct GetDbClusterOutputBuilder { /* private fields */ }
Expand description

A builder for GetDbClusterOutput.

Implementations§

Source§

impl GetDbClusterOutputBuilder

Source

pub fn id(self, input: impl Into<String>) -> Self

Service-generated unique identifier of the DB cluster to retrieve.

This field is required.
Source

pub fn set_id(self, input: Option<String>) -> Self

Service-generated unique identifier of the DB cluster to retrieve.

Source

pub fn get_id(&self) -> &Option<String>

Service-generated unique identifier of the DB cluster to retrieve.

Source

pub fn name(self, input: impl Into<String>) -> Self

Customer-supplied name of the Timestream for InfluxDB cluster.

This field is required.
Source

pub fn set_name(self, input: Option<String>) -> Self

Customer-supplied name of the Timestream for InfluxDB cluster.

Source

pub fn get_name(&self) -> &Option<String>

Customer-supplied name of the Timestream for InfluxDB cluster.

Source

pub fn arn(self, input: impl Into<String>) -> Self

The Amazon Resource Name (ARN) of the DB cluster.

This field is required.
Source

pub fn set_arn(self, input: Option<String>) -> Self

The Amazon Resource Name (ARN) of the DB cluster.

Source

pub fn get_arn(&self) -> &Option<String>

The Amazon Resource Name (ARN) of the DB cluster.

Source

pub fn status(self, input: ClusterStatus) -> Self

The status of the DB cluster.

Source

pub fn set_status(self, input: Option<ClusterStatus>) -> Self

The status of the DB cluster.

Source

pub fn get_status(&self) -> &Option<ClusterStatus>

The status of the DB cluster.

Source

pub fn endpoint(self, input: impl Into<String>) -> Self

The endpoint used to connect to the Timestream for InfluxDB cluster for write and read operations.

Source

pub fn set_endpoint(self, input: Option<String>) -> Self

The endpoint used to connect to the Timestream for InfluxDB cluster for write and read operations.

Source

pub fn get_endpoint(&self) -> &Option<String>

The endpoint used to connect to the Timestream for InfluxDB cluster for write and read operations.

Source

pub fn reader_endpoint(self, input: impl Into<String>) -> Self

The endpoint used to connect to the Timestream for InfluxDB cluster for read-only operations.

Source

pub fn set_reader_endpoint(self, input: Option<String>) -> Self

The endpoint used to connect to the Timestream for InfluxDB cluster for read-only operations.

Source

pub fn get_reader_endpoint(&self) -> &Option<String>

The endpoint used to connect to the Timestream for InfluxDB cluster for read-only operations.

Source

pub fn port(self, input: i32) -> Self

The port number on which InfluxDB accepts connections.

Source

pub fn set_port(self, input: Option<i32>) -> Self

The port number on which InfluxDB accepts connections.

Source

pub fn get_port(&self) -> &Option<i32>

The port number on which InfluxDB accepts connections.

Source

pub fn deployment_type(self, input: ClusterDeploymentType) -> Self

Deployment type of the DB cluster.

Source

pub fn set_deployment_type(self, input: Option<ClusterDeploymentType>) -> Self

Deployment type of the DB cluster.

Source

pub fn get_deployment_type(&self) -> &Option<ClusterDeploymentType>

Deployment type of the DB cluster.

Source

pub fn db_instance_type(self, input: DbInstanceType) -> Self

The Timestream for InfluxDB instance type that InfluxDB runs on.

Source

pub fn set_db_instance_type(self, input: Option<DbInstanceType>) -> Self

The Timestream for InfluxDB instance type that InfluxDB runs on.

Source

pub fn get_db_instance_type(&self) -> &Option<DbInstanceType>

The Timestream for InfluxDB instance type that InfluxDB runs on.

Source

pub fn network_type(self, input: NetworkType) -> Self

Specifies whether the network type of the Timestream for InfluxDB cluster is IPv4, which can communicate over IPv4 protocol only, or DUAL, which can communicate over both IPv4 and IPv6 protocols.

Source

pub fn set_network_type(self, input: Option<NetworkType>) -> Self

Specifies whether the network type of the Timestream for InfluxDB cluster is IPv4, which can communicate over IPv4 protocol only, or DUAL, which can communicate over both IPv4 and IPv6 protocols.

Source

pub fn get_network_type(&self) -> &Option<NetworkType>

Specifies whether the network type of the Timestream for InfluxDB cluster is IPv4, which can communicate over IPv4 protocol only, or DUAL, which can communicate over both IPv4 and IPv6 protocols.

Source

pub fn db_storage_type(self, input: DbStorageType) -> Self

The Timestream for InfluxDB DB storage type that InfluxDB stores data on.

Source

pub fn set_db_storage_type(self, input: Option<DbStorageType>) -> Self

The Timestream for InfluxDB DB storage type that InfluxDB stores data on.

Source

pub fn get_db_storage_type(&self) -> &Option<DbStorageType>

The Timestream for InfluxDB DB storage type that InfluxDB stores data on.

Source

pub fn allocated_storage(self, input: i32) -> Self

The amount of storage allocated for your DB storage type (in gibibytes).

Source

pub fn set_allocated_storage(self, input: Option<i32>) -> Self

The amount of storage allocated for your DB storage type (in gibibytes).

Source

pub fn get_allocated_storage(&self) -> &Option<i32>

The amount of storage allocated for your DB storage type (in gibibytes).

Source

pub fn publicly_accessible(self, input: bool) -> Self

Indicates if the DB cluster has a public IP to facilitate access from outside the VPC.

Source

pub fn set_publicly_accessible(self, input: Option<bool>) -> Self

Indicates if the DB cluster has a public IP to facilitate access from outside the VPC.

Source

pub fn get_publicly_accessible(&self) -> &Option<bool>

Indicates if the DB cluster has a public IP to facilitate access from outside the VPC.

Source

pub fn db_parameter_group_identifier(self, input: impl Into<String>) -> Self

The ID of the DB parameter group assigned to your DB cluster.

Source

pub fn set_db_parameter_group_identifier(self, input: Option<String>) -> Self

The ID of the DB parameter group assigned to your DB cluster.

Source

pub fn get_db_parameter_group_identifier(&self) -> &Option<String>

The ID of the DB parameter group assigned to your DB cluster.

Source

pub fn log_delivery_configuration(self, input: LogDeliveryConfiguration) -> Self

Configuration for sending InfluxDB engine logs to send to specified S3 bucket.

Source

pub fn set_log_delivery_configuration( self, input: Option<LogDeliveryConfiguration>, ) -> Self

Configuration for sending InfluxDB engine logs to send to specified S3 bucket.

Source

pub fn get_log_delivery_configuration( &self, ) -> &Option<LogDeliveryConfiguration>

Configuration for sending InfluxDB engine logs to send to specified S3 bucket.

Source

pub fn influx_auth_parameters_secret_arn(self, input: impl Into<String>) -> Self

The Amazon Resource Name (ARN) of the Secrets Manager secret containing the initial InfluxDB authorization parameters. The secret value is a JSON formatted key-value pair holding InfluxDB authorization values: organization, bucket, username, and password.

Source

pub fn set_influx_auth_parameters_secret_arn( self, input: Option<String>, ) -> Self

The Amazon Resource Name (ARN) of the Secrets Manager secret containing the initial InfluxDB authorization parameters. The secret value is a JSON formatted key-value pair holding InfluxDB authorization values: organization, bucket, username, and password.

Source

pub fn get_influx_auth_parameters_secret_arn(&self) -> &Option<String>

The Amazon Resource Name (ARN) of the Secrets Manager secret containing the initial InfluxDB authorization parameters. The secret value is a JSON formatted key-value pair holding InfluxDB authorization values: organization, bucket, username, and password.

Source

pub fn vpc_subnet_ids(self, input: impl Into<String>) -> Self

Appends an item to vpc_subnet_ids.

To override the contents of this collection use set_vpc_subnet_ids.

A list of VPC subnet IDs associated with the DB cluster.

Source

pub fn set_vpc_subnet_ids(self, input: Option<Vec<String>>) -> Self

A list of VPC subnet IDs associated with the DB cluster.

Source

pub fn get_vpc_subnet_ids(&self) -> &Option<Vec<String>>

A list of VPC subnet IDs associated with the DB cluster.

Source

pub fn vpc_security_group_ids(self, input: impl Into<String>) -> Self

Appends an item to vpc_security_group_ids.

To override the contents of this collection use set_vpc_security_group_ids.

A list of VPC security group IDs associated with the DB cluster.

Source

pub fn set_vpc_security_group_ids(self, input: Option<Vec<String>>) -> Self

A list of VPC security group IDs associated with the DB cluster.

Source

pub fn get_vpc_security_group_ids(&self) -> &Option<Vec<String>>

A list of VPC security group IDs associated with the DB cluster.

Source

pub fn failover_mode(self, input: FailoverMode) -> Self

The configured failover mode for the DB cluster.

Source

pub fn set_failover_mode(self, input: Option<FailoverMode>) -> Self

The configured failover mode for the DB cluster.

Source

pub fn get_failover_mode(&self) -> &Option<FailoverMode>

The configured failover mode for the DB cluster.

Source

pub fn build(self) -> Result<GetDbClusterOutput, BuildError>

Consumes the builder and constructs a GetDbClusterOutput. This method will fail if any of the following fields are not set:

Trait Implementations§

Source§

impl Clone for GetDbClusterOutputBuilder

Source§

fn clone(&self) -> GetDbClusterOutputBuilder

Returns a duplicate 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 GetDbClusterOutputBuilder

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Default for GetDbClusterOutputBuilder

Source§

fn default() -> GetDbClusterOutputBuilder

Returns the “default value” for a type. Read more
Source§

impl PartialEq for GetDbClusterOutputBuilder

Source§

fn eq(&self, other: &GetDbClusterOutputBuilder) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for GetDbClusterOutputBuilder

Auto Trait Implementations§

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,