#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct Instance {
pub id: ::std::option::Option<::std::string::String>,
pub ec2_instance_id: ::std::option::Option<::std::string::String>,
pub public_dns_name: ::std::option::Option<::std::string::String>,
pub public_ip_address: ::std::option::Option<::std::string::String>,
pub private_dns_name: ::std::option::Option<::std::string::String>,
pub private_ip_address: ::std::option::Option<::std::string::String>,
pub status: ::std::option::Option<crate::types::InstanceStatus>,
pub instance_group_id: ::std::option::Option<::std::string::String>,
pub instance_fleet_id: ::std::option::Option<::std::string::String>,
pub market: ::std::option::Option<crate::types::MarketType>,
pub instance_type: ::std::option::Option<::std::string::String>,
pub ebs_volumes: ::std::option::Option<::std::vec::Vec<crate::types::EbsVolume>>,
}
impl Instance {
pub fn id(&self) -> ::std::option::Option<&str> {
self.id.as_deref()
}
pub fn ec2_instance_id(&self) -> ::std::option::Option<&str> {
self.ec2_instance_id.as_deref()
}
pub fn public_dns_name(&self) -> ::std::option::Option<&str> {
self.public_dns_name.as_deref()
}
pub fn public_ip_address(&self) -> ::std::option::Option<&str> {
self.public_ip_address.as_deref()
}
pub fn private_dns_name(&self) -> ::std::option::Option<&str> {
self.private_dns_name.as_deref()
}
pub fn private_ip_address(&self) -> ::std::option::Option<&str> {
self.private_ip_address.as_deref()
}
pub fn status(&self) -> ::std::option::Option<&crate::types::InstanceStatus> {
self.status.as_ref()
}
pub fn instance_group_id(&self) -> ::std::option::Option<&str> {
self.instance_group_id.as_deref()
}
pub fn instance_fleet_id(&self) -> ::std::option::Option<&str> {
self.instance_fleet_id.as_deref()
}
pub fn market(&self) -> ::std::option::Option<&crate::types::MarketType> {
self.market.as_ref()
}
pub fn instance_type(&self) -> ::std::option::Option<&str> {
self.instance_type.as_deref()
}
pub fn ebs_volumes(&self) -> &[crate::types::EbsVolume] {
self.ebs_volumes.as_deref().unwrap_or_default()
}
}
impl Instance {
pub fn builder() -> crate::types::builders::InstanceBuilder {
crate::types::builders::InstanceBuilder::default()
}
}
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct InstanceBuilder {
pub(crate) id: ::std::option::Option<::std::string::String>,
pub(crate) ec2_instance_id: ::std::option::Option<::std::string::String>,
pub(crate) public_dns_name: ::std::option::Option<::std::string::String>,
pub(crate) public_ip_address: ::std::option::Option<::std::string::String>,
pub(crate) private_dns_name: ::std::option::Option<::std::string::String>,
pub(crate) private_ip_address: ::std::option::Option<::std::string::String>,
pub(crate) status: ::std::option::Option<crate::types::InstanceStatus>,
pub(crate) instance_group_id: ::std::option::Option<::std::string::String>,
pub(crate) instance_fleet_id: ::std::option::Option<::std::string::String>,
pub(crate) market: ::std::option::Option<crate::types::MarketType>,
pub(crate) instance_type: ::std::option::Option<::std::string::String>,
pub(crate) ebs_volumes: ::std::option::Option<::std::vec::Vec<crate::types::EbsVolume>>,
}
impl InstanceBuilder {
pub fn id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.id = ::std::option::Option::Some(input.into());
self
}
pub fn set_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.id = input;
self
}
pub fn get_id(&self) -> &::std::option::Option<::std::string::String> {
&self.id
}
pub fn ec2_instance_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.ec2_instance_id = ::std::option::Option::Some(input.into());
self
}
pub fn set_ec2_instance_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.ec2_instance_id = input;
self
}
pub fn get_ec2_instance_id(&self) -> &::std::option::Option<::std::string::String> {
&self.ec2_instance_id
}
pub fn public_dns_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.public_dns_name = ::std::option::Option::Some(input.into());
self
}
pub fn set_public_dns_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.public_dns_name = input;
self
}
pub fn get_public_dns_name(&self) -> &::std::option::Option<::std::string::String> {
&self.public_dns_name
}
pub fn public_ip_address(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.public_ip_address = ::std::option::Option::Some(input.into());
self
}
pub fn set_public_ip_address(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.public_ip_address = input;
self
}
pub fn get_public_ip_address(&self) -> &::std::option::Option<::std::string::String> {
&self.public_ip_address
}
pub fn private_dns_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.private_dns_name = ::std::option::Option::Some(input.into());
self
}
pub fn set_private_dns_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.private_dns_name = input;
self
}
pub fn get_private_dns_name(&self) -> &::std::option::Option<::std::string::String> {
&self.private_dns_name
}
pub fn private_ip_address(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.private_ip_address = ::std::option::Option::Some(input.into());
self
}
pub fn set_private_ip_address(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.private_ip_address = input;
self
}
pub fn get_private_ip_address(&self) -> &::std::option::Option<::std::string::String> {
&self.private_ip_address
}
pub fn status(mut self, input: crate::types::InstanceStatus) -> Self {
self.status = ::std::option::Option::Some(input);
self
}
pub fn set_status(mut self, input: ::std::option::Option<crate::types::InstanceStatus>) -> Self {
self.status = input;
self
}
pub fn get_status(&self) -> &::std::option::Option<crate::types::InstanceStatus> {
&self.status
}
pub fn instance_group_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.instance_group_id = ::std::option::Option::Some(input.into());
self
}
pub fn set_instance_group_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.instance_group_id = input;
self
}
pub fn get_instance_group_id(&self) -> &::std::option::Option<::std::string::String> {
&self.instance_group_id
}
pub fn instance_fleet_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.instance_fleet_id = ::std::option::Option::Some(input.into());
self
}
pub fn set_instance_fleet_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.instance_fleet_id = input;
self
}
pub fn get_instance_fleet_id(&self) -> &::std::option::Option<::std::string::String> {
&self.instance_fleet_id
}
pub fn market(mut self, input: crate::types::MarketType) -> Self {
self.market = ::std::option::Option::Some(input);
self
}
pub fn set_market(mut self, input: ::std::option::Option<crate::types::MarketType>) -> Self {
self.market = input;
self
}
pub fn get_market(&self) -> &::std::option::Option<crate::types::MarketType> {
&self.market
}
pub fn instance_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.instance_type = ::std::option::Option::Some(input.into());
self
}
pub fn set_instance_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.instance_type = input;
self
}
pub fn get_instance_type(&self) -> &::std::option::Option<::std::string::String> {
&self.instance_type
}
pub fn ebs_volumes(mut self, input: crate::types::EbsVolume) -> Self {
let mut v = self.ebs_volumes.unwrap_or_default();
v.push(input);
self.ebs_volumes = ::std::option::Option::Some(v);
self
}
pub fn set_ebs_volumes(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::EbsVolume>>) -> Self {
self.ebs_volumes = input;
self
}
pub fn get_ebs_volumes(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::EbsVolume>> {
&self.ebs_volumes
}
pub fn build(self) -> crate::types::Instance {
crate::types::Instance {
id: self.id,
ec2_instance_id: self.ec2_instance_id,
public_dns_name: self.public_dns_name,
public_ip_address: self.public_ip_address,
private_dns_name: self.private_dns_name,
private_ip_address: self.private_ip_address,
status: self.status,
instance_group_id: self.instance_group_id,
instance_fleet_id: self.instance_fleet_id,
market: self.market,
instance_type: self.instance_type,
ebs_volumes: self.ebs_volumes,
}
}
}