#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct Instance {
pub image_id: ::std::option::Option<::std::string::String>,
pub ami_launch_index: ::std::option::Option<i32>,
pub instance_id: ::std::option::Option<::std::string::String>,
pub state: ::std::option::Option<crate::types::InstanceState>,
pub instance_type: ::std::option::Option<::std::string::String>,
pub private_ip_address: ::std::option::Option<::std::string::String>,
pub public_ip_address: ::std::option::Option<::std::string::String>,
pub created_at: ::std::option::Option<::aws_smithy_types::DateTime>,
pub updated_at: ::std::option::Option<::aws_smithy_types::DateTime>,
pub block_device_mappings: ::std::option::Option<::std::vec::Vec<crate::types::InstanceBlockDeviceMapping>>,
pub security_groups: ::std::option::Option<::std::vec::Vec<crate::types::SecurityGroupIdentifier>>,
pub cpu_options: ::std::option::Option<crate::types::CpuOptions>,
pub root_device_name: ::std::option::Option<::std::string::String>,
}
impl Instance {
pub fn image_id(&self) -> ::std::option::Option<&str> {
self.image_id.as_deref()
}
pub fn ami_launch_index(&self) -> ::std::option::Option<i32> {
self.ami_launch_index
}
pub fn instance_id(&self) -> ::std::option::Option<&str> {
self.instance_id.as_deref()
}
pub fn state(&self) -> ::std::option::Option<&crate::types::InstanceState> {
self.state.as_ref()
}
pub fn instance_type(&self) -> ::std::option::Option<&str> {
self.instance_type.as_deref()
}
pub fn private_ip_address(&self) -> ::std::option::Option<&str> {
self.private_ip_address.as_deref()
}
pub fn public_ip_address(&self) -> ::std::option::Option<&str> {
self.public_ip_address.as_deref()
}
pub fn created_at(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
self.created_at.as_ref()
}
pub fn updated_at(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
self.updated_at.as_ref()
}
pub fn block_device_mappings(&self) -> &[crate::types::InstanceBlockDeviceMapping] {
self.block_device_mappings.as_deref().unwrap_or_default()
}
pub fn security_groups(&self) -> &[crate::types::SecurityGroupIdentifier] {
self.security_groups.as_deref().unwrap_or_default()
}
pub fn cpu_options(&self) -> ::std::option::Option<&crate::types::CpuOptions> {
self.cpu_options.as_ref()
}
pub fn root_device_name(&self) -> ::std::option::Option<&str> {
self.root_device_name.as_deref()
}
}
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) image_id: ::std::option::Option<::std::string::String>,
pub(crate) ami_launch_index: ::std::option::Option<i32>,
pub(crate) instance_id: ::std::option::Option<::std::string::String>,
pub(crate) state: ::std::option::Option<crate::types::InstanceState>,
pub(crate) instance_type: ::std::option::Option<::std::string::String>,
pub(crate) private_ip_address: ::std::option::Option<::std::string::String>,
pub(crate) public_ip_address: ::std::option::Option<::std::string::String>,
pub(crate) created_at: ::std::option::Option<::aws_smithy_types::DateTime>,
pub(crate) updated_at: ::std::option::Option<::aws_smithy_types::DateTime>,
pub(crate) block_device_mappings: ::std::option::Option<::std::vec::Vec<crate::types::InstanceBlockDeviceMapping>>,
pub(crate) security_groups: ::std::option::Option<::std::vec::Vec<crate::types::SecurityGroupIdentifier>>,
pub(crate) cpu_options: ::std::option::Option<crate::types::CpuOptions>,
pub(crate) root_device_name: ::std::option::Option<::std::string::String>,
}
impl InstanceBuilder {
pub fn image_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.image_id = ::std::option::Option::Some(input.into());
self
}
pub fn set_image_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.image_id = input;
self
}
pub fn get_image_id(&self) -> &::std::option::Option<::std::string::String> {
&self.image_id
}
pub fn ami_launch_index(mut self, input: i32) -> Self {
self.ami_launch_index = ::std::option::Option::Some(input);
self
}
pub fn set_ami_launch_index(mut self, input: ::std::option::Option<i32>) -> Self {
self.ami_launch_index = input;
self
}
pub fn get_ami_launch_index(&self) -> &::std::option::Option<i32> {
&self.ami_launch_index
}
pub fn instance_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.instance_id = ::std::option::Option::Some(input.into());
self
}
pub fn set_instance_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.instance_id = input;
self
}
pub fn get_instance_id(&self) -> &::std::option::Option<::std::string::String> {
&self.instance_id
}
pub fn state(mut self, input: crate::types::InstanceState) -> Self {
self.state = ::std::option::Option::Some(input);
self
}
pub fn set_state(mut self, input: ::std::option::Option<crate::types::InstanceState>) -> Self {
self.state = input;
self
}
pub fn get_state(&self) -> &::std::option::Option<crate::types::InstanceState> {
&self.state
}
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 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 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 created_at(mut self, input: ::aws_smithy_types::DateTime) -> Self {
self.created_at = ::std::option::Option::Some(input);
self
}
pub fn set_created_at(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
self.created_at = input;
self
}
pub fn get_created_at(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
&self.created_at
}
pub fn updated_at(mut self, input: ::aws_smithy_types::DateTime) -> Self {
self.updated_at = ::std::option::Option::Some(input);
self
}
pub fn set_updated_at(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
self.updated_at = input;
self
}
pub fn get_updated_at(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
&self.updated_at
}
pub fn block_device_mappings(mut self, input: crate::types::InstanceBlockDeviceMapping) -> Self {
let mut v = self.block_device_mappings.unwrap_or_default();
v.push(input);
self.block_device_mappings = ::std::option::Option::Some(v);
self
}
pub fn set_block_device_mappings(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::InstanceBlockDeviceMapping>>) -> Self {
self.block_device_mappings = input;
self
}
pub fn get_block_device_mappings(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::InstanceBlockDeviceMapping>> {
&self.block_device_mappings
}
pub fn security_groups(mut self, input: crate::types::SecurityGroupIdentifier) -> Self {
let mut v = self.security_groups.unwrap_or_default();
v.push(input);
self.security_groups = ::std::option::Option::Some(v);
self
}
pub fn set_security_groups(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::SecurityGroupIdentifier>>) -> Self {
self.security_groups = input;
self
}
pub fn get_security_groups(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::SecurityGroupIdentifier>> {
&self.security_groups
}
pub fn cpu_options(mut self, input: crate::types::CpuOptions) -> Self {
self.cpu_options = ::std::option::Option::Some(input);
self
}
pub fn set_cpu_options(mut self, input: ::std::option::Option<crate::types::CpuOptions>) -> Self {
self.cpu_options = input;
self
}
pub fn get_cpu_options(&self) -> &::std::option::Option<crate::types::CpuOptions> {
&self.cpu_options
}
pub fn root_device_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.root_device_name = ::std::option::Option::Some(input.into());
self
}
pub fn set_root_device_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.root_device_name = input;
self
}
pub fn get_root_device_name(&self) -> &::std::option::Option<::std::string::String> {
&self.root_device_name
}
pub fn build(self) -> crate::types::Instance {
crate::types::Instance {
image_id: self.image_id,
ami_launch_index: self.ami_launch_index,
instance_id: self.instance_id,
state: self.state,
instance_type: self.instance_type,
private_ip_address: self.private_ip_address,
public_ip_address: self.public_ip_address,
created_at: self.created_at,
updated_at: self.updated_at,
block_device_mappings: self.block_device_mappings,
security_groups: self.security_groups,
cpu_options: self.cpu_options,
root_device_name: self.root_device_name,
}
}
}