#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct AcceleratorType {
#[doc(hidden)]
pub accelerator_type_name: std::option::Option<std::string::String>,
#[doc(hidden)]
pub memory_info: std::option::Option<crate::model::MemoryInfo>,
#[doc(hidden)]
pub throughput_info: std::option::Option<std::vec::Vec<crate::model::KeyValuePair>>,
}
impl AcceleratorType {
pub fn accelerator_type_name(&self) -> std::option::Option<&str> {
self.accelerator_type_name.as_deref()
}
pub fn memory_info(&self) -> std::option::Option<&crate::model::MemoryInfo> {
self.memory_info.as_ref()
}
pub fn throughput_info(&self) -> std::option::Option<&[crate::model::KeyValuePair]> {
self.throughput_info.as_deref()
}
}
pub mod accelerator_type {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) accelerator_type_name: std::option::Option<std::string::String>,
pub(crate) memory_info: std::option::Option<crate::model::MemoryInfo>,
pub(crate) throughput_info: std::option::Option<std::vec::Vec<crate::model::KeyValuePair>>,
}
impl Builder {
pub fn accelerator_type_name(mut self, input: impl Into<std::string::String>) -> Self {
self.accelerator_type_name = Some(input.into());
self
}
pub fn set_accelerator_type_name(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.accelerator_type_name = input;
self
}
pub fn memory_info(mut self, input: crate::model::MemoryInfo) -> Self {
self.memory_info = Some(input);
self
}
pub fn set_memory_info(
mut self,
input: std::option::Option<crate::model::MemoryInfo>,
) -> Self {
self.memory_info = input;
self
}
pub fn throughput_info(mut self, input: crate::model::KeyValuePair) -> Self {
let mut v = self.throughput_info.unwrap_or_default();
v.push(input);
self.throughput_info = Some(v);
self
}
pub fn set_throughput_info(
mut self,
input: std::option::Option<std::vec::Vec<crate::model::KeyValuePair>>,
) -> Self {
self.throughput_info = input;
self
}
pub fn build(self) -> crate::model::AcceleratorType {
crate::model::AcceleratorType {
accelerator_type_name: self.accelerator_type_name,
memory_info: self.memory_info,
throughput_info: self.throughput_info,
}
}
}
}
impl AcceleratorType {
pub fn builder() -> crate::model::accelerator_type::Builder {
crate::model::accelerator_type::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct KeyValuePair {
#[doc(hidden)]
pub key: std::option::Option<std::string::String>,
#[doc(hidden)]
pub value: i32,
}
impl KeyValuePair {
pub fn key(&self) -> std::option::Option<&str> {
self.key.as_deref()
}
pub fn value(&self) -> i32 {
self.value
}
}
pub mod key_value_pair {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) key: std::option::Option<std::string::String>,
pub(crate) value: std::option::Option<i32>,
}
impl Builder {
pub fn key(mut self, input: impl Into<std::string::String>) -> Self {
self.key = Some(input.into());
self
}
pub fn set_key(mut self, input: std::option::Option<std::string::String>) -> Self {
self.key = input;
self
}
pub fn value(mut self, input: i32) -> Self {
self.value = Some(input);
self
}
pub fn set_value(mut self, input: std::option::Option<i32>) -> Self {
self.value = input;
self
}
pub fn build(self) -> crate::model::KeyValuePair {
crate::model::KeyValuePair {
key: self.key,
value: self.value.unwrap_or_default(),
}
}
}
}
impl KeyValuePair {
pub fn builder() -> crate::model::key_value_pair::Builder {
crate::model::key_value_pair::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct MemoryInfo {
#[doc(hidden)]
pub size_in_mi_b: i32,
}
impl MemoryInfo {
pub fn size_in_mi_b(&self) -> i32 {
self.size_in_mi_b
}
}
pub mod memory_info {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) size_in_mi_b: std::option::Option<i32>,
}
impl Builder {
pub fn size_in_mi_b(mut self, input: i32) -> Self {
self.size_in_mi_b = Some(input);
self
}
pub fn set_size_in_mi_b(mut self, input: std::option::Option<i32>) -> Self {
self.size_in_mi_b = input;
self
}
pub fn build(self) -> crate::model::MemoryInfo {
crate::model::MemoryInfo {
size_in_mi_b: self.size_in_mi_b.unwrap_or_default(),
}
}
}
}
impl MemoryInfo {
pub fn builder() -> crate::model::memory_info::Builder {
crate::model::memory_info::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ElasticInferenceAccelerator {
#[doc(hidden)]
pub accelerator_health: std::option::Option<crate::model::ElasticInferenceAcceleratorHealth>,
#[doc(hidden)]
pub accelerator_type: std::option::Option<std::string::String>,
#[doc(hidden)]
pub accelerator_id: std::option::Option<std::string::String>,
#[doc(hidden)]
pub availability_zone: std::option::Option<std::string::String>,
#[doc(hidden)]
pub attached_resource: std::option::Option<std::string::String>,
}
impl ElasticInferenceAccelerator {
pub fn accelerator_health(
&self,
) -> std::option::Option<&crate::model::ElasticInferenceAcceleratorHealth> {
self.accelerator_health.as_ref()
}
pub fn accelerator_type(&self) -> std::option::Option<&str> {
self.accelerator_type.as_deref()
}
pub fn accelerator_id(&self) -> std::option::Option<&str> {
self.accelerator_id.as_deref()
}
pub fn availability_zone(&self) -> std::option::Option<&str> {
self.availability_zone.as_deref()
}
pub fn attached_resource(&self) -> std::option::Option<&str> {
self.attached_resource.as_deref()
}
}
pub mod elastic_inference_accelerator {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) accelerator_health:
std::option::Option<crate::model::ElasticInferenceAcceleratorHealth>,
pub(crate) accelerator_type: std::option::Option<std::string::String>,
pub(crate) accelerator_id: std::option::Option<std::string::String>,
pub(crate) availability_zone: std::option::Option<std::string::String>,
pub(crate) attached_resource: std::option::Option<std::string::String>,
}
impl Builder {
pub fn accelerator_health(
mut self,
input: crate::model::ElasticInferenceAcceleratorHealth,
) -> Self {
self.accelerator_health = Some(input);
self
}
pub fn set_accelerator_health(
mut self,
input: std::option::Option<crate::model::ElasticInferenceAcceleratorHealth>,
) -> Self {
self.accelerator_health = input;
self
}
pub fn accelerator_type(mut self, input: impl Into<std::string::String>) -> Self {
self.accelerator_type = Some(input.into());
self
}
pub fn set_accelerator_type(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.accelerator_type = input;
self
}
pub fn accelerator_id(mut self, input: impl Into<std::string::String>) -> Self {
self.accelerator_id = Some(input.into());
self
}
pub fn set_accelerator_id(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.accelerator_id = input;
self
}
pub fn availability_zone(mut self, input: impl Into<std::string::String>) -> Self {
self.availability_zone = Some(input.into());
self
}
pub fn set_availability_zone(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.availability_zone = input;
self
}
pub fn attached_resource(mut self, input: impl Into<std::string::String>) -> Self {
self.attached_resource = Some(input.into());
self
}
pub fn set_attached_resource(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.attached_resource = input;
self
}
pub fn build(self) -> crate::model::ElasticInferenceAccelerator {
crate::model::ElasticInferenceAccelerator {
accelerator_health: self.accelerator_health,
accelerator_type: self.accelerator_type,
accelerator_id: self.accelerator_id,
availability_zone: self.availability_zone,
attached_resource: self.attached_resource,
}
}
}
}
impl ElasticInferenceAccelerator {
pub fn builder() -> crate::model::elastic_inference_accelerator::Builder {
crate::model::elastic_inference_accelerator::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ElasticInferenceAcceleratorHealth {
#[doc(hidden)]
pub status: std::option::Option<std::string::String>,
}
impl ElasticInferenceAcceleratorHealth {
pub fn status(&self) -> std::option::Option<&str> {
self.status.as_deref()
}
}
pub mod elastic_inference_accelerator_health {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) status: std::option::Option<std::string::String>,
}
impl Builder {
pub fn status(mut self, input: impl Into<std::string::String>) -> Self {
self.status = Some(input.into());
self
}
pub fn set_status(mut self, input: std::option::Option<std::string::String>) -> Self {
self.status = input;
self
}
pub fn build(self) -> crate::model::ElasticInferenceAcceleratorHealth {
crate::model::ElasticInferenceAcceleratorHealth {
status: self.status,
}
}
}
}
impl ElasticInferenceAcceleratorHealth {
pub fn builder() -> crate::model::elastic_inference_accelerator_health::Builder {
crate::model::elastic_inference_accelerator_health::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Filter {
#[doc(hidden)]
pub name: std::option::Option<std::string::String>,
#[doc(hidden)]
pub values: std::option::Option<std::vec::Vec<std::string::String>>,
}
impl Filter {
pub fn name(&self) -> std::option::Option<&str> {
self.name.as_deref()
}
pub fn values(&self) -> std::option::Option<&[std::string::String]> {
self.values.as_deref()
}
}
pub mod filter {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) name: std::option::Option<std::string::String>,
pub(crate) values: std::option::Option<std::vec::Vec<std::string::String>>,
}
impl Builder {
pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
self.name = Some(input.into());
self
}
pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
self.name = input;
self
}
pub fn values(mut self, input: impl Into<std::string::String>) -> Self {
let mut v = self.values.unwrap_or_default();
v.push(input.into());
self.values = Some(v);
self
}
pub fn set_values(
mut self,
input: std::option::Option<std::vec::Vec<std::string::String>>,
) -> Self {
self.values = input;
self
}
pub fn build(self) -> crate::model::Filter {
crate::model::Filter {
name: self.name,
values: self.values,
}
}
}
}
impl Filter {
pub fn builder() -> crate::model::filter::Builder {
crate::model::filter::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct AcceleratorTypeOffering {
#[doc(hidden)]
pub accelerator_type: std::option::Option<std::string::String>,
#[doc(hidden)]
pub location_type: std::option::Option<crate::model::LocationType>,
#[doc(hidden)]
pub location: std::option::Option<std::string::String>,
}
impl AcceleratorTypeOffering {
pub fn accelerator_type(&self) -> std::option::Option<&str> {
self.accelerator_type.as_deref()
}
pub fn location_type(&self) -> std::option::Option<&crate::model::LocationType> {
self.location_type.as_ref()
}
pub fn location(&self) -> std::option::Option<&str> {
self.location.as_deref()
}
}
pub mod accelerator_type_offering {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) accelerator_type: std::option::Option<std::string::String>,
pub(crate) location_type: std::option::Option<crate::model::LocationType>,
pub(crate) location: std::option::Option<std::string::String>,
}
impl Builder {
pub fn accelerator_type(mut self, input: impl Into<std::string::String>) -> Self {
self.accelerator_type = Some(input.into());
self
}
pub fn set_accelerator_type(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.accelerator_type = input;
self
}
pub fn location_type(mut self, input: crate::model::LocationType) -> Self {
self.location_type = Some(input);
self
}
pub fn set_location_type(
mut self,
input: std::option::Option<crate::model::LocationType>,
) -> Self {
self.location_type = input;
self
}
pub fn location(mut self, input: impl Into<std::string::String>) -> Self {
self.location = Some(input.into());
self
}
pub fn set_location(mut self, input: std::option::Option<std::string::String>) -> Self {
self.location = input;
self
}
pub fn build(self) -> crate::model::AcceleratorTypeOffering {
crate::model::AcceleratorTypeOffering {
accelerator_type: self.accelerator_type,
location_type: self.location_type,
location: self.location,
}
}
}
}
impl AcceleratorTypeOffering {
pub fn builder() -> crate::model::accelerator_type_offering::Builder {
crate::model::accelerator_type_offering::Builder::default()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum LocationType {
#[allow(missing_docs)] AvailabilityZone,
#[allow(missing_docs)] AvailabilityZoneId,
#[allow(missing_docs)] Region,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for LocationType {
fn from(s: &str) -> Self {
match s {
"availability-zone" => LocationType::AvailabilityZone,
"availability-zone-id" => LocationType::AvailabilityZoneId,
"region" => LocationType::Region,
other => LocationType::Unknown(crate::types::UnknownVariantValue(other.to_owned())),
}
}
}
impl std::str::FromStr for LocationType {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(LocationType::from(s))
}
}
impl LocationType {
pub fn as_str(&self) -> &str {
match self {
LocationType::AvailabilityZone => "availability-zone",
LocationType::AvailabilityZoneId => "availability-zone-id",
LocationType::Region => "region",
LocationType::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&["availability-zone", "availability-zone-id", "region"]
}
}
impl AsRef<str> for LocationType {
fn as_ref(&self) -> &str {
self.as_str()
}
}