pub struct AwsBuilder { /* private fields */ }Implementations§
Source§impl AwsBuilder
The default configuration will succeed for an AMI user with sufficient access and unmodified default vpcs/subnets
Consider altering the configuration if:
impl AwsBuilder
The default configuration will succeed for an AMI user with sufficient access and unmodified default vpcs/subnets Consider altering the configuration if:
- you want to reduce the amount of access required by the user
- you want to connect directly from within the VPC
- you have already created a specific VPC, subnet or security group that you want aws-throwaway to make use of.
All resources will be created in us-east-1. This is hardcoded so that aws-throwaway only has to look into one region when cleaning up. All instances are created in a single spread placement group in a single AZ to ensure consistent latency between instances.
Sourcepub fn use_public_addresses(self, use_public_addresses: bool) -> Self
pub fn use_public_addresses(self, use_public_addresses: bool) -> Self
When set to:
- true => aws-throwaway will connect to the public ip of the instances that it creates.
- The subnet must have the property MapPublicIpOnLaunch set to true (the unmodified default subnet meets this requirement)
- Elastic IPs will be created for instances with multiple network interfaces because AWS does not assign a public IP in that scenario
- false => aws-throwaway will connect to the private ip of the instances that it creates.
- aws-throwaway must be running on a machine within the VPC used by aws-throwaaway or a VPN must be used to connect to the VPC or another similar setup.
If the subnet used has MapPublicIpOnLaunch=true then all instances will be publically accessible regardless of this use_public_addresses field.
The default is true.
pub fn use_ingress_restriction( self, ingress_restriction: IngressRestriction, ) -> Self
Sourcepub fn use_vpc_id(self, vpc_id: Option<String>) -> Self
pub fn use_vpc_id(self, vpc_id: Option<String>) -> Self
- Some(_) => All resources will go into the specified vpc
- None => All resources will go into the default vpc
The default is None
Sourcepub fn use_az(self, az_name: Option<String>) -> Self
pub fn use_az(self, az_name: Option<String>) -> Self
- Some(_) => All resources will go into the specified AZ
- None => All resources will go into the default AZ (us-east-1c)
The default is None
Sourcepub fn use_subnet_id(self, subnet_id: Option<String>) -> Self
pub fn use_subnet_id(self, subnet_id: Option<String>) -> Self
- Some(_) => All instances will go into the specified subnet
- None => All instances will go into the default subnet for the specified or default vpc
The default is None
Sourcepub fn use_placement_strategy(
self,
placement_strategy: PlacementStrategy,
) -> Self
pub fn use_placement_strategy( self, placement_strategy: PlacementStrategy, ) -> Self
All EC2 instances are created within a single placement group with the specified strategy.
The default is PlacementStrategy::Spread
Sourcepub fn use_security_group_id(self, security_group_id: Option<String>) -> Self
pub fn use_security_group_id(self, security_group_id: Option<String>) -> Self
- Some(_) => All instances will use the specified security group
- None => A single security group will be created for all instances to use. It will allow:
- ssh traffic in from the internet
- all traffic out to the internet
- all traffic in+out between instances in the security group, i.e. all ec2 instances created by this
Awsinstance
The default is None
Sourcepub fn expose_ports_to_internet(self, ports: Vec<u16>) -> Self
pub fn expose_ports_to_internet(self, ports: Vec<u16>) -> Self
Adds the provided ports as allowing traffic in+out to internet in the automatically generated security group. By default ingress is allowed from port 22 and this cannot be disabled.
Auto Trait Implementations§
impl Freeze for AwsBuilder
impl RefUnwindSafe for AwsBuilder
impl Send for AwsBuilder
impl Sync for AwsBuilder
impl Unpin for AwsBuilder
impl UnsafeUnpin for AwsBuilder
impl UnwindSafe for AwsBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Declassify for T
impl<T> Declassify for T
type Declassified = T
fn declassify(self) -> T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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