Ec2Instance

Struct Ec2Instance 

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

Represents a currently running EC2 instance and provides various methods for interacting with the instance.

This type implements serde Serialize/Deserialize to allow you to save and restore the instance from disk. After restoring Ec2Instance in this way you need to call the Ec2Instance::init method.

Implementations§

Source§

impl Ec2Instance

Source

pub fn public_ip(&self) -> Option<IpAddr>

Use this address to connect to this instance from outside of AWS

Source

pub fn private_ip(&self) -> IpAddr

Use this address to connect to this instance from within AWS

Source

pub fn connect_ip(&self) -> IpAddr

Use this address to get the private or public IP that aws-throwaway is using to ssh to the instance. Whether or not this is public is decided by crate::AwsBuilder::use_public_addresses.

You should use this address if you want to connect to the instance from your local machine

Source

pub fn network_interfaces(&self) -> &[NetworkInterface]

List of all network interfaces attached to this instance. Includes the primary interface that has the ip returned by Ec2Instance::private_ip as well as all other interfaces attached to this instance at the time it was created.

Source

pub fn client_private_key(&self) -> &str

Use this as the private key of your machine when connecting to this instance

Source

pub fn host_public_key_bytes(&self) -> &[u8]

Use this for authenticating a host programmatically

Source

pub fn openssh_known_hosts_line(&self) -> String

Insert this into your known_hosts file to avoid errors due to unknown fingerprints

Source

pub fn ssh(&self) -> &SshConnection

Returns an object that allows commands to be sent over ssh

Source

pub fn ssh_instructions(&self) -> String

Get a list of commands that the user can paste into bash to manually open an ssh connection to this instance.

Source

pub async fn terminate(self, aws: &Aws)

Delete this instance. Prefer using Aws::cleanup_resources at end of runtime as it will automatically destroy all resources, not just this one instance. However this method can be useful when you have a single instance that you would like to terminate before the rest.

Aws instance must be passed in manually here since Ec2Instances can be deserialized when there is no Aws instance.

Source

pub async fn init(&mut self) -> Result<()>

After deserializing Ec2Instance this method must be called to recreate the ssh connection.

No need to call after creating via crate::Aws::create_ec2_instance

Trait Implementations§

Source§

impl<'de> Deserialize<'de> for Ec2Instance

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for Ec2Instance

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

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> 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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

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> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

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