#[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 LicenseType {
#[allow(missing_docs)] Aws,
#[allow(missing_docs)] Byol,
Unknown(String),
}
impl std::convert::From<&str> for LicenseType {
fn from(s: &str) -> Self {
match s {
"AWS" => LicenseType::Aws,
"BYOL" => LicenseType::Byol,
other => LicenseType::Unknown(other.to_owned()),
}
}
}
impl std::str::FromStr for LicenseType {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(LicenseType::from(s))
}
}
impl LicenseType {
pub fn as_str(&self) -> &str {
match self {
LicenseType::Aws => "AWS",
LicenseType::Byol => "BYOL",
LicenseType::Unknown(s) => s.as_ref(),
}
}
pub fn values() -> &'static [&'static str] {
&["AWS", "BYOL"]
}
}
impl AsRef<str> for LicenseType {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct Tag {
pub key: std::option::Option<std::string::String>,
pub value: std::option::Option<std::string::String>,
}
impl Tag {
pub fn key(&self) -> std::option::Option<&str> {
self.key.as_deref()
}
pub fn value(&self) -> std::option::Option<&str> {
self.value.as_deref()
}
}
impl std::fmt::Debug for Tag {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("Tag");
formatter.field("key", &self.key);
formatter.field("value", &self.value);
formatter.finish()
}
}
pub mod tag {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) key: std::option::Option<std::string::String>,
pub(crate) value: std::option::Option<std::string::String>,
}
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: impl Into<std::string::String>) -> Self {
self.value = Some(input.into());
self
}
pub fn set_value(mut self, input: std::option::Option<std::string::String>) -> Self {
self.value = input;
self
}
pub fn build(self) -> crate::model::Tag {
crate::model::Tag {
key: self.key,
value: self.value,
}
}
}
}
impl Tag {
pub fn builder() -> crate::model::tag::Builder {
crate::model::tag::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct ServerGroup {
pub server_group_id: std::option::Option<std::string::String>,
pub name: std::option::Option<std::string::String>,
pub server_list: std::option::Option<std::vec::Vec<crate::model::Server>>,
}
impl ServerGroup {
pub fn server_group_id(&self) -> std::option::Option<&str> {
self.server_group_id.as_deref()
}
pub fn name(&self) -> std::option::Option<&str> {
self.name.as_deref()
}
pub fn server_list(&self) -> std::option::Option<&[crate::model::Server]> {
self.server_list.as_deref()
}
}
impl std::fmt::Debug for ServerGroup {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("ServerGroup");
formatter.field("server_group_id", &self.server_group_id);
formatter.field("name", &self.name);
formatter.field("server_list", &self.server_list);
formatter.finish()
}
}
pub mod server_group {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) server_group_id: std::option::Option<std::string::String>,
pub(crate) name: std::option::Option<std::string::String>,
pub(crate) server_list: std::option::Option<std::vec::Vec<crate::model::Server>>,
}
impl Builder {
pub fn server_group_id(mut self, input: impl Into<std::string::String>) -> Self {
self.server_group_id = Some(input.into());
self
}
pub fn set_server_group_id(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.server_group_id = input;
self
}
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 server_list(mut self, input: crate::model::Server) -> Self {
let mut v = self.server_list.unwrap_or_default();
v.push(input);
self.server_list = Some(v);
self
}
pub fn set_server_list(
mut self,
input: std::option::Option<std::vec::Vec<crate::model::Server>>,
) -> Self {
self.server_list = input;
self
}
pub fn build(self) -> crate::model::ServerGroup {
crate::model::ServerGroup {
server_group_id: self.server_group_id,
name: self.name,
server_list: self.server_list,
}
}
}
}
impl ServerGroup {
pub fn builder() -> crate::model::server_group::Builder {
crate::model::server_group::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct Server {
pub server_id: std::option::Option<std::string::String>,
pub server_type: std::option::Option<crate::model::ServerType>,
pub vm_server: std::option::Option<crate::model::VmServer>,
pub replication_job_id: std::option::Option<std::string::String>,
pub replication_job_terminated: std::option::Option<bool>,
}
impl Server {
pub fn server_id(&self) -> std::option::Option<&str> {
self.server_id.as_deref()
}
pub fn server_type(&self) -> std::option::Option<&crate::model::ServerType> {
self.server_type.as_ref()
}
pub fn vm_server(&self) -> std::option::Option<&crate::model::VmServer> {
self.vm_server.as_ref()
}
pub fn replication_job_id(&self) -> std::option::Option<&str> {
self.replication_job_id.as_deref()
}
pub fn replication_job_terminated(&self) -> std::option::Option<bool> {
self.replication_job_terminated
}
}
impl std::fmt::Debug for Server {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("Server");
formatter.field("server_id", &self.server_id);
formatter.field("server_type", &self.server_type);
formatter.field("vm_server", &self.vm_server);
formatter.field("replication_job_id", &self.replication_job_id);
formatter.field(
"replication_job_terminated",
&self.replication_job_terminated,
);
formatter.finish()
}
}
pub mod server {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) server_id: std::option::Option<std::string::String>,
pub(crate) server_type: std::option::Option<crate::model::ServerType>,
pub(crate) vm_server: std::option::Option<crate::model::VmServer>,
pub(crate) replication_job_id: std::option::Option<std::string::String>,
pub(crate) replication_job_terminated: std::option::Option<bool>,
}
impl Builder {
pub fn server_id(mut self, input: impl Into<std::string::String>) -> Self {
self.server_id = Some(input.into());
self
}
pub fn set_server_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.server_id = input;
self
}
pub fn server_type(mut self, input: crate::model::ServerType) -> Self {
self.server_type = Some(input);
self
}
pub fn set_server_type(
mut self,
input: std::option::Option<crate::model::ServerType>,
) -> Self {
self.server_type = input;
self
}
pub fn vm_server(mut self, input: crate::model::VmServer) -> Self {
self.vm_server = Some(input);
self
}
pub fn set_vm_server(mut self, input: std::option::Option<crate::model::VmServer>) -> Self {
self.vm_server = input;
self
}
pub fn replication_job_id(mut self, input: impl Into<std::string::String>) -> Self {
self.replication_job_id = Some(input.into());
self
}
pub fn set_replication_job_id(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.replication_job_id = input;
self
}
pub fn replication_job_terminated(mut self, input: bool) -> Self {
self.replication_job_terminated = Some(input);
self
}
pub fn set_replication_job_terminated(mut self, input: std::option::Option<bool>) -> Self {
self.replication_job_terminated = input;
self
}
pub fn build(self) -> crate::model::Server {
crate::model::Server {
server_id: self.server_id,
server_type: self.server_type,
vm_server: self.vm_server,
replication_job_id: self.replication_job_id,
replication_job_terminated: self.replication_job_terminated,
}
}
}
}
impl Server {
pub fn builder() -> crate::model::server::Builder {
crate::model::server::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct VmServer {
pub vm_server_address: std::option::Option<crate::model::VmServerAddress>,
pub vm_name: std::option::Option<std::string::String>,
pub vm_manager_name: std::option::Option<std::string::String>,
pub vm_manager_type: std::option::Option<crate::model::VmManagerType>,
pub vm_path: std::option::Option<std::string::String>,
}
impl VmServer {
pub fn vm_server_address(&self) -> std::option::Option<&crate::model::VmServerAddress> {
self.vm_server_address.as_ref()
}
pub fn vm_name(&self) -> std::option::Option<&str> {
self.vm_name.as_deref()
}
pub fn vm_manager_name(&self) -> std::option::Option<&str> {
self.vm_manager_name.as_deref()
}
pub fn vm_manager_type(&self) -> std::option::Option<&crate::model::VmManagerType> {
self.vm_manager_type.as_ref()
}
pub fn vm_path(&self) -> std::option::Option<&str> {
self.vm_path.as_deref()
}
}
impl std::fmt::Debug for VmServer {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("VmServer");
formatter.field("vm_server_address", &self.vm_server_address);
formatter.field("vm_name", &self.vm_name);
formatter.field("vm_manager_name", &self.vm_manager_name);
formatter.field("vm_manager_type", &self.vm_manager_type);
formatter.field("vm_path", &self.vm_path);
formatter.finish()
}
}
pub mod vm_server {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) vm_server_address: std::option::Option<crate::model::VmServerAddress>,
pub(crate) vm_name: std::option::Option<std::string::String>,
pub(crate) vm_manager_name: std::option::Option<std::string::String>,
pub(crate) vm_manager_type: std::option::Option<crate::model::VmManagerType>,
pub(crate) vm_path: std::option::Option<std::string::String>,
}
impl Builder {
pub fn vm_server_address(mut self, input: crate::model::VmServerAddress) -> Self {
self.vm_server_address = Some(input);
self
}
pub fn set_vm_server_address(
mut self,
input: std::option::Option<crate::model::VmServerAddress>,
) -> Self {
self.vm_server_address = input;
self
}
pub fn vm_name(mut self, input: impl Into<std::string::String>) -> Self {
self.vm_name = Some(input.into());
self
}
pub fn set_vm_name(mut self, input: std::option::Option<std::string::String>) -> Self {
self.vm_name = input;
self
}
pub fn vm_manager_name(mut self, input: impl Into<std::string::String>) -> Self {
self.vm_manager_name = Some(input.into());
self
}
pub fn set_vm_manager_name(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.vm_manager_name = input;
self
}
pub fn vm_manager_type(mut self, input: crate::model::VmManagerType) -> Self {
self.vm_manager_type = Some(input);
self
}
pub fn set_vm_manager_type(
mut self,
input: std::option::Option<crate::model::VmManagerType>,
) -> Self {
self.vm_manager_type = input;
self
}
pub fn vm_path(mut self, input: impl Into<std::string::String>) -> Self {
self.vm_path = Some(input.into());
self
}
pub fn set_vm_path(mut self, input: std::option::Option<std::string::String>) -> Self {
self.vm_path = input;
self
}
pub fn build(self) -> crate::model::VmServer {
crate::model::VmServer {
vm_server_address: self.vm_server_address,
vm_name: self.vm_name,
vm_manager_name: self.vm_manager_name,
vm_manager_type: self.vm_manager_type,
vm_path: self.vm_path,
}
}
}
}
impl VmServer {
pub fn builder() -> crate::model::vm_server::Builder {
crate::model::vm_server::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 VmManagerType {
#[allow(missing_docs)] HyperVManager,
#[allow(missing_docs)] Scvmm,
#[allow(missing_docs)] VSphere,
Unknown(String),
}
impl std::convert::From<&str> for VmManagerType {
fn from(s: &str) -> Self {
match s {
"HYPERV-MANAGER" => VmManagerType::HyperVManager,
"SCVMM" => VmManagerType::Scvmm,
"VSPHERE" => VmManagerType::VSphere,
other => VmManagerType::Unknown(other.to_owned()),
}
}
}
impl std::str::FromStr for VmManagerType {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(VmManagerType::from(s))
}
}
impl VmManagerType {
pub fn as_str(&self) -> &str {
match self {
VmManagerType::HyperVManager => "HYPERV-MANAGER",
VmManagerType::Scvmm => "SCVMM",
VmManagerType::VSphere => "VSPHERE",
VmManagerType::Unknown(s) => s.as_ref(),
}
}
pub fn values() -> &'static [&'static str] {
&["HYPERV-MANAGER", "SCVMM", "VSPHERE"]
}
}
impl AsRef<str> for VmManagerType {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct VmServerAddress {
pub vm_manager_id: std::option::Option<std::string::String>,
pub vm_id: std::option::Option<std::string::String>,
}
impl VmServerAddress {
pub fn vm_manager_id(&self) -> std::option::Option<&str> {
self.vm_manager_id.as_deref()
}
pub fn vm_id(&self) -> std::option::Option<&str> {
self.vm_id.as_deref()
}
}
impl std::fmt::Debug for VmServerAddress {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("VmServerAddress");
formatter.field("vm_manager_id", &self.vm_manager_id);
formatter.field("vm_id", &self.vm_id);
formatter.finish()
}
}
pub mod vm_server_address {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) vm_manager_id: std::option::Option<std::string::String>,
pub(crate) vm_id: std::option::Option<std::string::String>,
}
impl Builder {
pub fn vm_manager_id(mut self, input: impl Into<std::string::String>) -> Self {
self.vm_manager_id = Some(input.into());
self
}
pub fn set_vm_manager_id(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.vm_manager_id = input;
self
}
pub fn vm_id(mut self, input: impl Into<std::string::String>) -> Self {
self.vm_id = Some(input.into());
self
}
pub fn set_vm_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.vm_id = input;
self
}
pub fn build(self) -> crate::model::VmServerAddress {
crate::model::VmServerAddress {
vm_manager_id: self.vm_manager_id,
vm_id: self.vm_id,
}
}
}
}
impl VmServerAddress {
pub fn builder() -> crate::model::vm_server_address::Builder {
crate::model::vm_server_address::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 ServerType {
#[allow(missing_docs)] VirtualMachine,
Unknown(String),
}
impl std::convert::From<&str> for ServerType {
fn from(s: &str) -> Self {
match s {
"VIRTUAL_MACHINE" => ServerType::VirtualMachine,
other => ServerType::Unknown(other.to_owned()),
}
}
}
impl std::str::FromStr for ServerType {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(ServerType::from(s))
}
}
impl ServerType {
pub fn as_str(&self) -> &str {
match self {
ServerType::VirtualMachine => "VIRTUAL_MACHINE",
ServerType::Unknown(s) => s.as_ref(),
}
}
pub fn values() -> &'static [&'static str] {
&["VIRTUAL_MACHINE"]
}
}
impl AsRef<str> for ServerType {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct AppSummary {
pub app_id: std::option::Option<std::string::String>,
pub imported_app_id: std::option::Option<std::string::String>,
pub name: std::option::Option<std::string::String>,
pub description: std::option::Option<std::string::String>,
pub status: std::option::Option<crate::model::AppStatus>,
pub status_message: std::option::Option<std::string::String>,
pub replication_configuration_status:
std::option::Option<crate::model::AppReplicationConfigurationStatus>,
pub replication_status: std::option::Option<crate::model::AppReplicationStatus>,
pub replication_status_message: std::option::Option<std::string::String>,
pub latest_replication_time: std::option::Option<aws_smithy_types::DateTime>,
pub launch_configuration_status:
std::option::Option<crate::model::AppLaunchConfigurationStatus>,
pub launch_status: std::option::Option<crate::model::AppLaunchStatus>,
pub launch_status_message: std::option::Option<std::string::String>,
pub launch_details: std::option::Option<crate::model::LaunchDetails>,
pub creation_time: std::option::Option<aws_smithy_types::DateTime>,
pub last_modified: std::option::Option<aws_smithy_types::DateTime>,
pub role_name: std::option::Option<std::string::String>,
pub total_server_groups: std::option::Option<i32>,
pub total_servers: std::option::Option<i32>,
}
impl AppSummary {
pub fn app_id(&self) -> std::option::Option<&str> {
self.app_id.as_deref()
}
pub fn imported_app_id(&self) -> std::option::Option<&str> {
self.imported_app_id.as_deref()
}
pub fn name(&self) -> std::option::Option<&str> {
self.name.as_deref()
}
pub fn description(&self) -> std::option::Option<&str> {
self.description.as_deref()
}
pub fn status(&self) -> std::option::Option<&crate::model::AppStatus> {
self.status.as_ref()
}
pub fn status_message(&self) -> std::option::Option<&str> {
self.status_message.as_deref()
}
pub fn replication_configuration_status(
&self,
) -> std::option::Option<&crate::model::AppReplicationConfigurationStatus> {
self.replication_configuration_status.as_ref()
}
pub fn replication_status(&self) -> std::option::Option<&crate::model::AppReplicationStatus> {
self.replication_status.as_ref()
}
pub fn replication_status_message(&self) -> std::option::Option<&str> {
self.replication_status_message.as_deref()
}
pub fn latest_replication_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
self.latest_replication_time.as_ref()
}
pub fn launch_configuration_status(
&self,
) -> std::option::Option<&crate::model::AppLaunchConfigurationStatus> {
self.launch_configuration_status.as_ref()
}
pub fn launch_status(&self) -> std::option::Option<&crate::model::AppLaunchStatus> {
self.launch_status.as_ref()
}
pub fn launch_status_message(&self) -> std::option::Option<&str> {
self.launch_status_message.as_deref()
}
pub fn launch_details(&self) -> std::option::Option<&crate::model::LaunchDetails> {
self.launch_details.as_ref()
}
pub fn creation_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
self.creation_time.as_ref()
}
pub fn last_modified(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
self.last_modified.as_ref()
}
pub fn role_name(&self) -> std::option::Option<&str> {
self.role_name.as_deref()
}
pub fn total_server_groups(&self) -> std::option::Option<i32> {
self.total_server_groups
}
pub fn total_servers(&self) -> std::option::Option<i32> {
self.total_servers
}
}
impl std::fmt::Debug for AppSummary {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("AppSummary");
formatter.field("app_id", &self.app_id);
formatter.field("imported_app_id", &self.imported_app_id);
formatter.field("name", &self.name);
formatter.field("description", &self.description);
formatter.field("status", &self.status);
formatter.field("status_message", &self.status_message);
formatter.field(
"replication_configuration_status",
&self.replication_configuration_status,
);
formatter.field("replication_status", &self.replication_status);
formatter.field(
"replication_status_message",
&self.replication_status_message,
);
formatter.field("latest_replication_time", &self.latest_replication_time);
formatter.field(
"launch_configuration_status",
&self.launch_configuration_status,
);
formatter.field("launch_status", &self.launch_status);
formatter.field("launch_status_message", &self.launch_status_message);
formatter.field("launch_details", &self.launch_details);
formatter.field("creation_time", &self.creation_time);
formatter.field("last_modified", &self.last_modified);
formatter.field("role_name", &self.role_name);
formatter.field("total_server_groups", &self.total_server_groups);
formatter.field("total_servers", &self.total_servers);
formatter.finish()
}
}
pub mod app_summary {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) app_id: std::option::Option<std::string::String>,
pub(crate) imported_app_id: std::option::Option<std::string::String>,
pub(crate) name: std::option::Option<std::string::String>,
pub(crate) description: std::option::Option<std::string::String>,
pub(crate) status: std::option::Option<crate::model::AppStatus>,
pub(crate) status_message: std::option::Option<std::string::String>,
pub(crate) replication_configuration_status:
std::option::Option<crate::model::AppReplicationConfigurationStatus>,
pub(crate) replication_status: std::option::Option<crate::model::AppReplicationStatus>,
pub(crate) replication_status_message: std::option::Option<std::string::String>,
pub(crate) latest_replication_time: std::option::Option<aws_smithy_types::DateTime>,
pub(crate) launch_configuration_status:
std::option::Option<crate::model::AppLaunchConfigurationStatus>,
pub(crate) launch_status: std::option::Option<crate::model::AppLaunchStatus>,
pub(crate) launch_status_message: std::option::Option<std::string::String>,
pub(crate) launch_details: std::option::Option<crate::model::LaunchDetails>,
pub(crate) creation_time: std::option::Option<aws_smithy_types::DateTime>,
pub(crate) last_modified: std::option::Option<aws_smithy_types::DateTime>,
pub(crate) role_name: std::option::Option<std::string::String>,
pub(crate) total_server_groups: std::option::Option<i32>,
pub(crate) total_servers: std::option::Option<i32>,
}
impl Builder {
pub fn app_id(mut self, input: impl Into<std::string::String>) -> Self {
self.app_id = Some(input.into());
self
}
pub fn set_app_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.app_id = input;
self
}
pub fn imported_app_id(mut self, input: impl Into<std::string::String>) -> Self {
self.imported_app_id = Some(input.into());
self
}
pub fn set_imported_app_id(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.imported_app_id = input;
self
}
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 description(mut self, input: impl Into<std::string::String>) -> Self {
self.description = Some(input.into());
self
}
pub fn set_description(mut self, input: std::option::Option<std::string::String>) -> Self {
self.description = input;
self
}
pub fn status(mut self, input: crate::model::AppStatus) -> Self {
self.status = Some(input);
self
}
pub fn set_status(mut self, input: std::option::Option<crate::model::AppStatus>) -> Self {
self.status = input;
self
}
pub fn status_message(mut self, input: impl Into<std::string::String>) -> Self {
self.status_message = Some(input.into());
self
}
pub fn set_status_message(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.status_message = input;
self
}
pub fn replication_configuration_status(
mut self,
input: crate::model::AppReplicationConfigurationStatus,
) -> Self {
self.replication_configuration_status = Some(input);
self
}
pub fn set_replication_configuration_status(
mut self,
input: std::option::Option<crate::model::AppReplicationConfigurationStatus>,
) -> Self {
self.replication_configuration_status = input;
self
}
pub fn replication_status(mut self, input: crate::model::AppReplicationStatus) -> Self {
self.replication_status = Some(input);
self
}
pub fn set_replication_status(
mut self,
input: std::option::Option<crate::model::AppReplicationStatus>,
) -> Self {
self.replication_status = input;
self
}
pub fn replication_status_message(mut self, input: impl Into<std::string::String>) -> Self {
self.replication_status_message = Some(input.into());
self
}
pub fn set_replication_status_message(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.replication_status_message = input;
self
}
pub fn latest_replication_time(mut self, input: aws_smithy_types::DateTime) -> Self {
self.latest_replication_time = Some(input);
self
}
pub fn set_latest_replication_time(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.latest_replication_time = input;
self
}
pub fn launch_configuration_status(
mut self,
input: crate::model::AppLaunchConfigurationStatus,
) -> Self {
self.launch_configuration_status = Some(input);
self
}
pub fn set_launch_configuration_status(
mut self,
input: std::option::Option<crate::model::AppLaunchConfigurationStatus>,
) -> Self {
self.launch_configuration_status = input;
self
}
pub fn launch_status(mut self, input: crate::model::AppLaunchStatus) -> Self {
self.launch_status = Some(input);
self
}
pub fn set_launch_status(
mut self,
input: std::option::Option<crate::model::AppLaunchStatus>,
) -> Self {
self.launch_status = input;
self
}
pub fn launch_status_message(mut self, input: impl Into<std::string::String>) -> Self {
self.launch_status_message = Some(input.into());
self
}
pub fn set_launch_status_message(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.launch_status_message = input;
self
}
pub fn launch_details(mut self, input: crate::model::LaunchDetails) -> Self {
self.launch_details = Some(input);
self
}
pub fn set_launch_details(
mut self,
input: std::option::Option<crate::model::LaunchDetails>,
) -> Self {
self.launch_details = input;
self
}
pub fn creation_time(mut self, input: aws_smithy_types::DateTime) -> Self {
self.creation_time = Some(input);
self
}
pub fn set_creation_time(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.creation_time = input;
self
}
pub fn last_modified(mut self, input: aws_smithy_types::DateTime) -> Self {
self.last_modified = Some(input);
self
}
pub fn set_last_modified(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.last_modified = input;
self
}
pub fn role_name(mut self, input: impl Into<std::string::String>) -> Self {
self.role_name = Some(input.into());
self
}
pub fn set_role_name(mut self, input: std::option::Option<std::string::String>) -> Self {
self.role_name = input;
self
}
pub fn total_server_groups(mut self, input: i32) -> Self {
self.total_server_groups = Some(input);
self
}
pub fn set_total_server_groups(mut self, input: std::option::Option<i32>) -> Self {
self.total_server_groups = input;
self
}
pub fn total_servers(mut self, input: i32) -> Self {
self.total_servers = Some(input);
self
}
pub fn set_total_servers(mut self, input: std::option::Option<i32>) -> Self {
self.total_servers = input;
self
}
pub fn build(self) -> crate::model::AppSummary {
crate::model::AppSummary {
app_id: self.app_id,
imported_app_id: self.imported_app_id,
name: self.name,
description: self.description,
status: self.status,
status_message: self.status_message,
replication_configuration_status: self.replication_configuration_status,
replication_status: self.replication_status,
replication_status_message: self.replication_status_message,
latest_replication_time: self.latest_replication_time,
launch_configuration_status: self.launch_configuration_status,
launch_status: self.launch_status,
launch_status_message: self.launch_status_message,
launch_details: self.launch_details,
creation_time: self.creation_time,
last_modified: self.last_modified,
role_name: self.role_name,
total_server_groups: self.total_server_groups,
total_servers: self.total_servers,
}
}
}
}
impl AppSummary {
pub fn builder() -> crate::model::app_summary::Builder {
crate::model::app_summary::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct LaunchDetails {
pub latest_launch_time: std::option::Option<aws_smithy_types::DateTime>,
pub stack_name: std::option::Option<std::string::String>,
pub stack_id: std::option::Option<std::string::String>,
}
impl LaunchDetails {
pub fn latest_launch_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
self.latest_launch_time.as_ref()
}
pub fn stack_name(&self) -> std::option::Option<&str> {
self.stack_name.as_deref()
}
pub fn stack_id(&self) -> std::option::Option<&str> {
self.stack_id.as_deref()
}
}
impl std::fmt::Debug for LaunchDetails {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("LaunchDetails");
formatter.field("latest_launch_time", &self.latest_launch_time);
formatter.field("stack_name", &self.stack_name);
formatter.field("stack_id", &self.stack_id);
formatter.finish()
}
}
pub mod launch_details {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) latest_launch_time: std::option::Option<aws_smithy_types::DateTime>,
pub(crate) stack_name: std::option::Option<std::string::String>,
pub(crate) stack_id: std::option::Option<std::string::String>,
}
impl Builder {
pub fn latest_launch_time(mut self, input: aws_smithy_types::DateTime) -> Self {
self.latest_launch_time = Some(input);
self
}
pub fn set_latest_launch_time(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.latest_launch_time = input;
self
}
pub fn stack_name(mut self, input: impl Into<std::string::String>) -> Self {
self.stack_name = Some(input.into());
self
}
pub fn set_stack_name(mut self, input: std::option::Option<std::string::String>) -> Self {
self.stack_name = input;
self
}
pub fn stack_id(mut self, input: impl Into<std::string::String>) -> Self {
self.stack_id = Some(input.into());
self
}
pub fn set_stack_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.stack_id = input;
self
}
pub fn build(self) -> crate::model::LaunchDetails {
crate::model::LaunchDetails {
latest_launch_time: self.latest_launch_time,
stack_name: self.stack_name,
stack_id: self.stack_id,
}
}
}
}
impl LaunchDetails {
pub fn builder() -> crate::model::launch_details::Builder {
crate::model::launch_details::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 AppLaunchStatus {
#[allow(missing_docs)] ConfigurationInvalid,
#[allow(missing_docs)] ConfigurationInProgress,
#[allow(missing_docs)] DeltaLaunchFailed,
#[allow(missing_docs)] DeltaLaunchInProgress,
#[allow(missing_docs)] Launched,
#[allow(missing_docs)] LaunchFailed,
#[allow(missing_docs)] LaunchInProgress,
#[allow(missing_docs)] LaunchPending,
#[allow(missing_docs)] PartiallyLaunched,
#[allow(missing_docs)] ReadyForConfiguration,
#[allow(missing_docs)] ReadyForLaunch,
#[allow(missing_docs)] Terminated,
#[allow(missing_docs)] TerminateFailed,
#[allow(missing_docs)] TerminateInProgress,
#[allow(missing_docs)] ValidationInProgress,
Unknown(String),
}
impl std::convert::From<&str> for AppLaunchStatus {
fn from(s: &str) -> Self {
match s {
"CONFIGURATION_INVALID" => AppLaunchStatus::ConfigurationInvalid,
"CONFIGURATION_IN_PROGRESS" => AppLaunchStatus::ConfigurationInProgress,
"DELTA_LAUNCH_FAILED" => AppLaunchStatus::DeltaLaunchFailed,
"DELTA_LAUNCH_IN_PROGRESS" => AppLaunchStatus::DeltaLaunchInProgress,
"LAUNCHED" => AppLaunchStatus::Launched,
"LAUNCH_FAILED" => AppLaunchStatus::LaunchFailed,
"LAUNCH_IN_PROGRESS" => AppLaunchStatus::LaunchInProgress,
"LAUNCH_PENDING" => AppLaunchStatus::LaunchPending,
"PARTIALLY_LAUNCHED" => AppLaunchStatus::PartiallyLaunched,
"READY_FOR_CONFIGURATION" => AppLaunchStatus::ReadyForConfiguration,
"READY_FOR_LAUNCH" => AppLaunchStatus::ReadyForLaunch,
"TERMINATED" => AppLaunchStatus::Terminated,
"TERMINATE_FAILED" => AppLaunchStatus::TerminateFailed,
"TERMINATE_IN_PROGRESS" => AppLaunchStatus::TerminateInProgress,
"VALIDATION_IN_PROGRESS" => AppLaunchStatus::ValidationInProgress,
other => AppLaunchStatus::Unknown(other.to_owned()),
}
}
}
impl std::str::FromStr for AppLaunchStatus {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(AppLaunchStatus::from(s))
}
}
impl AppLaunchStatus {
pub fn as_str(&self) -> &str {
match self {
AppLaunchStatus::ConfigurationInvalid => "CONFIGURATION_INVALID",
AppLaunchStatus::ConfigurationInProgress => "CONFIGURATION_IN_PROGRESS",
AppLaunchStatus::DeltaLaunchFailed => "DELTA_LAUNCH_FAILED",
AppLaunchStatus::DeltaLaunchInProgress => "DELTA_LAUNCH_IN_PROGRESS",
AppLaunchStatus::Launched => "LAUNCHED",
AppLaunchStatus::LaunchFailed => "LAUNCH_FAILED",
AppLaunchStatus::LaunchInProgress => "LAUNCH_IN_PROGRESS",
AppLaunchStatus::LaunchPending => "LAUNCH_PENDING",
AppLaunchStatus::PartiallyLaunched => "PARTIALLY_LAUNCHED",
AppLaunchStatus::ReadyForConfiguration => "READY_FOR_CONFIGURATION",
AppLaunchStatus::ReadyForLaunch => "READY_FOR_LAUNCH",
AppLaunchStatus::Terminated => "TERMINATED",
AppLaunchStatus::TerminateFailed => "TERMINATE_FAILED",
AppLaunchStatus::TerminateInProgress => "TERMINATE_IN_PROGRESS",
AppLaunchStatus::ValidationInProgress => "VALIDATION_IN_PROGRESS",
AppLaunchStatus::Unknown(s) => s.as_ref(),
}
}
pub fn values() -> &'static [&'static str] {
&[
"CONFIGURATION_INVALID",
"CONFIGURATION_IN_PROGRESS",
"DELTA_LAUNCH_FAILED",
"DELTA_LAUNCH_IN_PROGRESS",
"LAUNCHED",
"LAUNCH_FAILED",
"LAUNCH_IN_PROGRESS",
"LAUNCH_PENDING",
"PARTIALLY_LAUNCHED",
"READY_FOR_CONFIGURATION",
"READY_FOR_LAUNCH",
"TERMINATED",
"TERMINATE_FAILED",
"TERMINATE_IN_PROGRESS",
"VALIDATION_IN_PROGRESS",
]
}
}
impl AsRef<str> for AppLaunchStatus {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[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 AppLaunchConfigurationStatus {
#[allow(missing_docs)] Configured,
#[allow(missing_docs)] NotConfigured,
Unknown(String),
}
impl std::convert::From<&str> for AppLaunchConfigurationStatus {
fn from(s: &str) -> Self {
match s {
"CONFIGURED" => AppLaunchConfigurationStatus::Configured,
"NOT_CONFIGURED" => AppLaunchConfigurationStatus::NotConfigured,
other => AppLaunchConfigurationStatus::Unknown(other.to_owned()),
}
}
}
impl std::str::FromStr for AppLaunchConfigurationStatus {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(AppLaunchConfigurationStatus::from(s))
}
}
impl AppLaunchConfigurationStatus {
pub fn as_str(&self) -> &str {
match self {
AppLaunchConfigurationStatus::Configured => "CONFIGURED",
AppLaunchConfigurationStatus::NotConfigured => "NOT_CONFIGURED",
AppLaunchConfigurationStatus::Unknown(s) => s.as_ref(),
}
}
pub fn values() -> &'static [&'static str] {
&["CONFIGURED", "NOT_CONFIGURED"]
}
}
impl AsRef<str> for AppLaunchConfigurationStatus {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[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 AppReplicationStatus {
#[allow(missing_docs)] ConfigurationInvalid,
#[allow(missing_docs)] ConfigurationInProgress,
#[allow(missing_docs)] DeltaReplicated,
#[allow(missing_docs)] DeltaReplicationFailed,
#[allow(missing_docs)] DeltaReplicationInProgress,
#[allow(missing_docs)] PartiallyReplicated,
#[allow(missing_docs)] ReadyForConfiguration,
#[allow(missing_docs)] ReadyForReplication,
#[allow(missing_docs)] Replicated,
#[allow(missing_docs)] ReplicationFailed,
#[allow(missing_docs)] ReplicationInProgress,
#[allow(missing_docs)] ReplicationPending,
#[allow(missing_docs)] ReplicationStopped,
#[allow(missing_docs)] ReplicationStopping,
#[allow(missing_docs)] ReplicationStopFailed,
#[allow(missing_docs)] ValidationInProgress,
Unknown(String),
}
impl std::convert::From<&str> for AppReplicationStatus {
fn from(s: &str) -> Self {
match s {
"CONFIGURATION_INVALID" => AppReplicationStatus::ConfigurationInvalid,
"CONFIGURATION_IN_PROGRESS" => AppReplicationStatus::ConfigurationInProgress,
"DELTA_REPLICATED" => AppReplicationStatus::DeltaReplicated,
"DELTA_REPLICATION_FAILED" => AppReplicationStatus::DeltaReplicationFailed,
"DELTA_REPLICATION_IN_PROGRESS" => AppReplicationStatus::DeltaReplicationInProgress,
"PARTIALLY_REPLICATED" => AppReplicationStatus::PartiallyReplicated,
"READY_FOR_CONFIGURATION" => AppReplicationStatus::ReadyForConfiguration,
"READY_FOR_REPLICATION" => AppReplicationStatus::ReadyForReplication,
"REPLICATED" => AppReplicationStatus::Replicated,
"REPLICATION_FAILED" => AppReplicationStatus::ReplicationFailed,
"REPLICATION_IN_PROGRESS" => AppReplicationStatus::ReplicationInProgress,
"REPLICATION_PENDING" => AppReplicationStatus::ReplicationPending,
"REPLICATION_STOPPED" => AppReplicationStatus::ReplicationStopped,
"REPLICATION_STOPPING" => AppReplicationStatus::ReplicationStopping,
"REPLICATION_STOP_FAILED" => AppReplicationStatus::ReplicationStopFailed,
"VALIDATION_IN_PROGRESS" => AppReplicationStatus::ValidationInProgress,
other => AppReplicationStatus::Unknown(other.to_owned()),
}
}
}
impl std::str::FromStr for AppReplicationStatus {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(AppReplicationStatus::from(s))
}
}
impl AppReplicationStatus {
pub fn as_str(&self) -> &str {
match self {
AppReplicationStatus::ConfigurationInvalid => "CONFIGURATION_INVALID",
AppReplicationStatus::ConfigurationInProgress => "CONFIGURATION_IN_PROGRESS",
AppReplicationStatus::DeltaReplicated => "DELTA_REPLICATED",
AppReplicationStatus::DeltaReplicationFailed => "DELTA_REPLICATION_FAILED",
AppReplicationStatus::DeltaReplicationInProgress => "DELTA_REPLICATION_IN_PROGRESS",
AppReplicationStatus::PartiallyReplicated => "PARTIALLY_REPLICATED",
AppReplicationStatus::ReadyForConfiguration => "READY_FOR_CONFIGURATION",
AppReplicationStatus::ReadyForReplication => "READY_FOR_REPLICATION",
AppReplicationStatus::Replicated => "REPLICATED",
AppReplicationStatus::ReplicationFailed => "REPLICATION_FAILED",
AppReplicationStatus::ReplicationInProgress => "REPLICATION_IN_PROGRESS",
AppReplicationStatus::ReplicationPending => "REPLICATION_PENDING",
AppReplicationStatus::ReplicationStopped => "REPLICATION_STOPPED",
AppReplicationStatus::ReplicationStopping => "REPLICATION_STOPPING",
AppReplicationStatus::ReplicationStopFailed => "REPLICATION_STOP_FAILED",
AppReplicationStatus::ValidationInProgress => "VALIDATION_IN_PROGRESS",
AppReplicationStatus::Unknown(s) => s.as_ref(),
}
}
pub fn values() -> &'static [&'static str] {
&[
"CONFIGURATION_INVALID",
"CONFIGURATION_IN_PROGRESS",
"DELTA_REPLICATED",
"DELTA_REPLICATION_FAILED",
"DELTA_REPLICATION_IN_PROGRESS",
"PARTIALLY_REPLICATED",
"READY_FOR_CONFIGURATION",
"READY_FOR_REPLICATION",
"REPLICATED",
"REPLICATION_FAILED",
"REPLICATION_IN_PROGRESS",
"REPLICATION_PENDING",
"REPLICATION_STOPPED",
"REPLICATION_STOPPING",
"REPLICATION_STOP_FAILED",
"VALIDATION_IN_PROGRESS",
]
}
}
impl AsRef<str> for AppReplicationStatus {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[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 AppReplicationConfigurationStatus {
#[allow(missing_docs)] Configured,
#[allow(missing_docs)] NotConfigured,
Unknown(String),
}
impl std::convert::From<&str> for AppReplicationConfigurationStatus {
fn from(s: &str) -> Self {
match s {
"CONFIGURED" => AppReplicationConfigurationStatus::Configured,
"NOT_CONFIGURED" => AppReplicationConfigurationStatus::NotConfigured,
other => AppReplicationConfigurationStatus::Unknown(other.to_owned()),
}
}
}
impl std::str::FromStr for AppReplicationConfigurationStatus {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(AppReplicationConfigurationStatus::from(s))
}
}
impl AppReplicationConfigurationStatus {
pub fn as_str(&self) -> &str {
match self {
AppReplicationConfigurationStatus::Configured => "CONFIGURED",
AppReplicationConfigurationStatus::NotConfigured => "NOT_CONFIGURED",
AppReplicationConfigurationStatus::Unknown(s) => s.as_ref(),
}
}
pub fn values() -> &'static [&'static str] {
&["CONFIGURED", "NOT_CONFIGURED"]
}
}
impl AsRef<str> for AppReplicationConfigurationStatus {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[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 AppStatus {
#[allow(missing_docs)] Active,
#[allow(missing_docs)] Creating,
#[allow(missing_docs)] Deleted,
#[allow(missing_docs)] DeleteFailed,
#[allow(missing_docs)] Deleting,
#[allow(missing_docs)] Updating,
Unknown(String),
}
impl std::convert::From<&str> for AppStatus {
fn from(s: &str) -> Self {
match s {
"ACTIVE" => AppStatus::Active,
"CREATING" => AppStatus::Creating,
"DELETED" => AppStatus::Deleted,
"DELETE_FAILED" => AppStatus::DeleteFailed,
"DELETING" => AppStatus::Deleting,
"UPDATING" => AppStatus::Updating,
other => AppStatus::Unknown(other.to_owned()),
}
}
}
impl std::str::FromStr for AppStatus {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(AppStatus::from(s))
}
}
impl AppStatus {
pub fn as_str(&self) -> &str {
match self {
AppStatus::Active => "ACTIVE",
AppStatus::Creating => "CREATING",
AppStatus::Deleted => "DELETED",
AppStatus::DeleteFailed => "DELETE_FAILED",
AppStatus::Deleting => "DELETING",
AppStatus::Updating => "UPDATING",
AppStatus::Unknown(s) => s.as_ref(),
}
}
pub fn values() -> &'static [&'static str] {
&[
"ACTIVE",
"CREATING",
"DELETED",
"DELETE_FAILED",
"DELETING",
"UPDATING",
]
}
}
impl AsRef<str> for AppStatus {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct ServerGroupValidationConfiguration {
pub server_group_id: std::option::Option<std::string::String>,
pub server_validation_configurations:
std::option::Option<std::vec::Vec<crate::model::ServerValidationConfiguration>>,
}
impl ServerGroupValidationConfiguration {
pub fn server_group_id(&self) -> std::option::Option<&str> {
self.server_group_id.as_deref()
}
pub fn server_validation_configurations(
&self,
) -> std::option::Option<&[crate::model::ServerValidationConfiguration]> {
self.server_validation_configurations.as_deref()
}
}
impl std::fmt::Debug for ServerGroupValidationConfiguration {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("ServerGroupValidationConfiguration");
formatter.field("server_group_id", &self.server_group_id);
formatter.field(
"server_validation_configurations",
&self.server_validation_configurations,
);
formatter.finish()
}
}
pub mod server_group_validation_configuration {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) server_group_id: std::option::Option<std::string::String>,
pub(crate) server_validation_configurations:
std::option::Option<std::vec::Vec<crate::model::ServerValidationConfiguration>>,
}
impl Builder {
pub fn server_group_id(mut self, input: impl Into<std::string::String>) -> Self {
self.server_group_id = Some(input.into());
self
}
pub fn set_server_group_id(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.server_group_id = input;
self
}
pub fn server_validation_configurations(
mut self,
input: crate::model::ServerValidationConfiguration,
) -> Self {
let mut v = self.server_validation_configurations.unwrap_or_default();
v.push(input);
self.server_validation_configurations = Some(v);
self
}
pub fn set_server_validation_configurations(
mut self,
input: std::option::Option<std::vec::Vec<crate::model::ServerValidationConfiguration>>,
) -> Self {
self.server_validation_configurations = input;
self
}
pub fn build(self) -> crate::model::ServerGroupValidationConfiguration {
crate::model::ServerGroupValidationConfiguration {
server_group_id: self.server_group_id,
server_validation_configurations: self.server_validation_configurations,
}
}
}
}
impl ServerGroupValidationConfiguration {
pub fn builder() -> crate::model::server_group_validation_configuration::Builder {
crate::model::server_group_validation_configuration::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct ServerValidationConfiguration {
pub server: std::option::Option<crate::model::Server>,
pub validation_id: std::option::Option<std::string::String>,
pub name: std::option::Option<std::string::String>,
pub server_validation_strategy: std::option::Option<crate::model::ServerValidationStrategy>,
pub user_data_validation_parameters:
std::option::Option<crate::model::UserDataValidationParameters>,
}
impl ServerValidationConfiguration {
pub fn server(&self) -> std::option::Option<&crate::model::Server> {
self.server.as_ref()
}
pub fn validation_id(&self) -> std::option::Option<&str> {
self.validation_id.as_deref()
}
pub fn name(&self) -> std::option::Option<&str> {
self.name.as_deref()
}
pub fn server_validation_strategy(
&self,
) -> std::option::Option<&crate::model::ServerValidationStrategy> {
self.server_validation_strategy.as_ref()
}
pub fn user_data_validation_parameters(
&self,
) -> std::option::Option<&crate::model::UserDataValidationParameters> {
self.user_data_validation_parameters.as_ref()
}
}
impl std::fmt::Debug for ServerValidationConfiguration {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("ServerValidationConfiguration");
formatter.field("server", &self.server);
formatter.field("validation_id", &self.validation_id);
formatter.field("name", &self.name);
formatter.field(
"server_validation_strategy",
&self.server_validation_strategy,
);
formatter.field(
"user_data_validation_parameters",
&self.user_data_validation_parameters,
);
formatter.finish()
}
}
pub mod server_validation_configuration {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) server: std::option::Option<crate::model::Server>,
pub(crate) validation_id: std::option::Option<std::string::String>,
pub(crate) name: std::option::Option<std::string::String>,
pub(crate) server_validation_strategy:
std::option::Option<crate::model::ServerValidationStrategy>,
pub(crate) user_data_validation_parameters:
std::option::Option<crate::model::UserDataValidationParameters>,
}
impl Builder {
pub fn server(mut self, input: crate::model::Server) -> Self {
self.server = Some(input);
self
}
pub fn set_server(mut self, input: std::option::Option<crate::model::Server>) -> Self {
self.server = input;
self
}
pub fn validation_id(mut self, input: impl Into<std::string::String>) -> Self {
self.validation_id = Some(input.into());
self
}
pub fn set_validation_id(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.validation_id = input;
self
}
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 server_validation_strategy(
mut self,
input: crate::model::ServerValidationStrategy,
) -> Self {
self.server_validation_strategy = Some(input);
self
}
pub fn set_server_validation_strategy(
mut self,
input: std::option::Option<crate::model::ServerValidationStrategy>,
) -> Self {
self.server_validation_strategy = input;
self
}
pub fn user_data_validation_parameters(
mut self,
input: crate::model::UserDataValidationParameters,
) -> Self {
self.user_data_validation_parameters = Some(input);
self
}
pub fn set_user_data_validation_parameters(
mut self,
input: std::option::Option<crate::model::UserDataValidationParameters>,
) -> Self {
self.user_data_validation_parameters = input;
self
}
pub fn build(self) -> crate::model::ServerValidationConfiguration {
crate::model::ServerValidationConfiguration {
server: self.server,
validation_id: self.validation_id,
name: self.name,
server_validation_strategy: self.server_validation_strategy,
user_data_validation_parameters: self.user_data_validation_parameters,
}
}
}
}
impl ServerValidationConfiguration {
pub fn builder() -> crate::model::server_validation_configuration::Builder {
crate::model::server_validation_configuration::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct UserDataValidationParameters {
pub source: std::option::Option<crate::model::Source>,
pub script_type: std::option::Option<crate::model::ScriptType>,
}
impl UserDataValidationParameters {
pub fn source(&self) -> std::option::Option<&crate::model::Source> {
self.source.as_ref()
}
pub fn script_type(&self) -> std::option::Option<&crate::model::ScriptType> {
self.script_type.as_ref()
}
}
impl std::fmt::Debug for UserDataValidationParameters {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("UserDataValidationParameters");
formatter.field("source", &self.source);
formatter.field("script_type", &self.script_type);
formatter.finish()
}
}
pub mod user_data_validation_parameters {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) source: std::option::Option<crate::model::Source>,
pub(crate) script_type: std::option::Option<crate::model::ScriptType>,
}
impl Builder {
pub fn source(mut self, input: crate::model::Source) -> Self {
self.source = Some(input);
self
}
pub fn set_source(mut self, input: std::option::Option<crate::model::Source>) -> Self {
self.source = input;
self
}
pub fn script_type(mut self, input: crate::model::ScriptType) -> Self {
self.script_type = Some(input);
self
}
pub fn set_script_type(
mut self,
input: std::option::Option<crate::model::ScriptType>,
) -> Self {
self.script_type = input;
self
}
pub fn build(self) -> crate::model::UserDataValidationParameters {
crate::model::UserDataValidationParameters {
source: self.source,
script_type: self.script_type,
}
}
}
}
impl UserDataValidationParameters {
pub fn builder() -> crate::model::user_data_validation_parameters::Builder {
crate::model::user_data_validation_parameters::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 ScriptType {
#[allow(missing_docs)] PowershellScript,
#[allow(missing_docs)] ShellScript,
Unknown(String),
}
impl std::convert::From<&str> for ScriptType {
fn from(s: &str) -> Self {
match s {
"POWERSHELL_SCRIPT" => ScriptType::PowershellScript,
"SHELL_SCRIPT" => ScriptType::ShellScript,
other => ScriptType::Unknown(other.to_owned()),
}
}
}
impl std::str::FromStr for ScriptType {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(ScriptType::from(s))
}
}
impl ScriptType {
pub fn as_str(&self) -> &str {
match self {
ScriptType::PowershellScript => "POWERSHELL_SCRIPT",
ScriptType::ShellScript => "SHELL_SCRIPT",
ScriptType::Unknown(s) => s.as_ref(),
}
}
pub fn values() -> &'static [&'static str] {
&["POWERSHELL_SCRIPT", "SHELL_SCRIPT"]
}
}
impl AsRef<str> for ScriptType {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct Source {
pub s3_location: std::option::Option<crate::model::S3Location>,
}
impl Source {
pub fn s3_location(&self) -> std::option::Option<&crate::model::S3Location> {
self.s3_location.as_ref()
}
}
impl std::fmt::Debug for Source {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("Source");
formatter.field("s3_location", &self.s3_location);
formatter.finish()
}
}
pub mod source {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) s3_location: std::option::Option<crate::model::S3Location>,
}
impl Builder {
pub fn s3_location(mut self, input: crate::model::S3Location) -> Self {
self.s3_location = Some(input);
self
}
pub fn set_s3_location(
mut self,
input: std::option::Option<crate::model::S3Location>,
) -> Self {
self.s3_location = input;
self
}
pub fn build(self) -> crate::model::Source {
crate::model::Source {
s3_location: self.s3_location,
}
}
}
}
impl Source {
pub fn builder() -> crate::model::source::Builder {
crate::model::source::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct S3Location {
pub bucket: std::option::Option<std::string::String>,
pub key: std::option::Option<std::string::String>,
}
impl S3Location {
pub fn bucket(&self) -> std::option::Option<&str> {
self.bucket.as_deref()
}
pub fn key(&self) -> std::option::Option<&str> {
self.key.as_deref()
}
}
impl std::fmt::Debug for S3Location {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("S3Location");
formatter.field("bucket", &self.bucket);
formatter.field("key", &self.key);
formatter.finish()
}
}
pub mod s3_location {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) bucket: std::option::Option<std::string::String>,
pub(crate) key: std::option::Option<std::string::String>,
}
impl Builder {
pub fn bucket(mut self, input: impl Into<std::string::String>) -> Self {
self.bucket = Some(input.into());
self
}
pub fn set_bucket(mut self, input: std::option::Option<std::string::String>) -> Self {
self.bucket = input;
self
}
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 build(self) -> crate::model::S3Location {
crate::model::S3Location {
bucket: self.bucket,
key: self.key,
}
}
}
}
impl S3Location {
pub fn builder() -> crate::model::s3_location::Builder {
crate::model::s3_location::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 ServerValidationStrategy {
#[allow(missing_docs)] Userdata,
Unknown(String),
}
impl std::convert::From<&str> for ServerValidationStrategy {
fn from(s: &str) -> Self {
match s {
"USERDATA" => ServerValidationStrategy::Userdata,
other => ServerValidationStrategy::Unknown(other.to_owned()),
}
}
}
impl std::str::FromStr for ServerValidationStrategy {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(ServerValidationStrategy::from(s))
}
}
impl ServerValidationStrategy {
pub fn as_str(&self) -> &str {
match self {
ServerValidationStrategy::Userdata => "USERDATA",
ServerValidationStrategy::Unknown(s) => s.as_ref(),
}
}
pub fn values() -> &'static [&'static str] {
&["USERDATA"]
}
}
impl AsRef<str> for ServerValidationStrategy {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct AppValidationConfiguration {
pub validation_id: std::option::Option<std::string::String>,
pub name: std::option::Option<std::string::String>,
pub app_validation_strategy: std::option::Option<crate::model::AppValidationStrategy>,
pub ssm_validation_parameters: std::option::Option<crate::model::SsmValidationParameters>,
}
impl AppValidationConfiguration {
pub fn validation_id(&self) -> std::option::Option<&str> {
self.validation_id.as_deref()
}
pub fn name(&self) -> std::option::Option<&str> {
self.name.as_deref()
}
pub fn app_validation_strategy(
&self,
) -> std::option::Option<&crate::model::AppValidationStrategy> {
self.app_validation_strategy.as_ref()
}
pub fn ssm_validation_parameters(
&self,
) -> std::option::Option<&crate::model::SsmValidationParameters> {
self.ssm_validation_parameters.as_ref()
}
}
impl std::fmt::Debug for AppValidationConfiguration {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("AppValidationConfiguration");
formatter.field("validation_id", &self.validation_id);
formatter.field("name", &self.name);
formatter.field("app_validation_strategy", &self.app_validation_strategy);
formatter.field("ssm_validation_parameters", &self.ssm_validation_parameters);
formatter.finish()
}
}
pub mod app_validation_configuration {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) validation_id: std::option::Option<std::string::String>,
pub(crate) name: std::option::Option<std::string::String>,
pub(crate) app_validation_strategy:
std::option::Option<crate::model::AppValidationStrategy>,
pub(crate) ssm_validation_parameters:
std::option::Option<crate::model::SsmValidationParameters>,
}
impl Builder {
pub fn validation_id(mut self, input: impl Into<std::string::String>) -> Self {
self.validation_id = Some(input.into());
self
}
pub fn set_validation_id(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.validation_id = input;
self
}
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 app_validation_strategy(
mut self,
input: crate::model::AppValidationStrategy,
) -> Self {
self.app_validation_strategy = Some(input);
self
}
pub fn set_app_validation_strategy(
mut self,
input: std::option::Option<crate::model::AppValidationStrategy>,
) -> Self {
self.app_validation_strategy = input;
self
}
pub fn ssm_validation_parameters(
mut self,
input: crate::model::SsmValidationParameters,
) -> Self {
self.ssm_validation_parameters = Some(input);
self
}
pub fn set_ssm_validation_parameters(
mut self,
input: std::option::Option<crate::model::SsmValidationParameters>,
) -> Self {
self.ssm_validation_parameters = input;
self
}
pub fn build(self) -> crate::model::AppValidationConfiguration {
crate::model::AppValidationConfiguration {
validation_id: self.validation_id,
name: self.name,
app_validation_strategy: self.app_validation_strategy,
ssm_validation_parameters: self.ssm_validation_parameters,
}
}
}
}
impl AppValidationConfiguration {
pub fn builder() -> crate::model::app_validation_configuration::Builder {
crate::model::app_validation_configuration::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct SsmValidationParameters {
pub source: std::option::Option<crate::model::Source>,
pub instance_id: std::option::Option<std::string::String>,
pub script_type: std::option::Option<crate::model::ScriptType>,
pub command: std::option::Option<std::string::String>,
pub execution_timeout_seconds: i32,
pub output_s3_bucket_name: std::option::Option<std::string::String>,
}
impl SsmValidationParameters {
pub fn source(&self) -> std::option::Option<&crate::model::Source> {
self.source.as_ref()
}
pub fn instance_id(&self) -> std::option::Option<&str> {
self.instance_id.as_deref()
}
pub fn script_type(&self) -> std::option::Option<&crate::model::ScriptType> {
self.script_type.as_ref()
}
pub fn command(&self) -> std::option::Option<&str> {
self.command.as_deref()
}
pub fn execution_timeout_seconds(&self) -> i32 {
self.execution_timeout_seconds
}
pub fn output_s3_bucket_name(&self) -> std::option::Option<&str> {
self.output_s3_bucket_name.as_deref()
}
}
impl std::fmt::Debug for SsmValidationParameters {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("SsmValidationParameters");
formatter.field("source", &self.source);
formatter.field("instance_id", &self.instance_id);
formatter.field("script_type", &self.script_type);
formatter.field("command", &self.command);
formatter.field("execution_timeout_seconds", &self.execution_timeout_seconds);
formatter.field("output_s3_bucket_name", &self.output_s3_bucket_name);
formatter.finish()
}
}
pub mod ssm_validation_parameters {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) source: std::option::Option<crate::model::Source>,
pub(crate) instance_id: std::option::Option<std::string::String>,
pub(crate) script_type: std::option::Option<crate::model::ScriptType>,
pub(crate) command: std::option::Option<std::string::String>,
pub(crate) execution_timeout_seconds: std::option::Option<i32>,
pub(crate) output_s3_bucket_name: std::option::Option<std::string::String>,
}
impl Builder {
pub fn source(mut self, input: crate::model::Source) -> Self {
self.source = Some(input);
self
}
pub fn set_source(mut self, input: std::option::Option<crate::model::Source>) -> Self {
self.source = input;
self
}
pub fn instance_id(mut self, input: impl Into<std::string::String>) -> Self {
self.instance_id = 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 script_type(mut self, input: crate::model::ScriptType) -> Self {
self.script_type = Some(input);
self
}
pub fn set_script_type(
mut self,
input: std::option::Option<crate::model::ScriptType>,
) -> Self {
self.script_type = input;
self
}
pub fn command(mut self, input: impl Into<std::string::String>) -> Self {
self.command = Some(input.into());
self
}
pub fn set_command(mut self, input: std::option::Option<std::string::String>) -> Self {
self.command = input;
self
}
pub fn execution_timeout_seconds(mut self, input: i32) -> Self {
self.execution_timeout_seconds = Some(input);
self
}
pub fn set_execution_timeout_seconds(mut self, input: std::option::Option<i32>) -> Self {
self.execution_timeout_seconds = input;
self
}
pub fn output_s3_bucket_name(mut self, input: impl Into<std::string::String>) -> Self {
self.output_s3_bucket_name = Some(input.into());
self
}
pub fn set_output_s3_bucket_name(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.output_s3_bucket_name = input;
self
}
pub fn build(self) -> crate::model::SsmValidationParameters {
crate::model::SsmValidationParameters {
source: self.source,
instance_id: self.instance_id,
script_type: self.script_type,
command: self.command,
execution_timeout_seconds: self.execution_timeout_seconds.unwrap_or_default(),
output_s3_bucket_name: self.output_s3_bucket_name,
}
}
}
}
impl SsmValidationParameters {
pub fn builder() -> crate::model::ssm_validation_parameters::Builder {
crate::model::ssm_validation_parameters::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 AppValidationStrategy {
#[allow(missing_docs)] Ssm,
Unknown(String),
}
impl std::convert::From<&str> for AppValidationStrategy {
fn from(s: &str) -> Self {
match s {
"SSM" => AppValidationStrategy::Ssm,
other => AppValidationStrategy::Unknown(other.to_owned()),
}
}
}
impl std::str::FromStr for AppValidationStrategy {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(AppValidationStrategy::from(s))
}
}
impl AppValidationStrategy {
pub fn as_str(&self) -> &str {
match self {
AppValidationStrategy::Ssm => "SSM",
AppValidationStrategy::Unknown(s) => s.as_ref(),
}
}
pub fn values() -> &'static [&'static str] {
&["SSM"]
}
}
impl AsRef<str> for AppValidationStrategy {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct ServerGroupReplicationConfiguration {
pub server_group_id: std::option::Option<std::string::String>,
pub server_replication_configurations:
std::option::Option<std::vec::Vec<crate::model::ServerReplicationConfiguration>>,
}
impl ServerGroupReplicationConfiguration {
pub fn server_group_id(&self) -> std::option::Option<&str> {
self.server_group_id.as_deref()
}
pub fn server_replication_configurations(
&self,
) -> std::option::Option<&[crate::model::ServerReplicationConfiguration]> {
self.server_replication_configurations.as_deref()
}
}
impl std::fmt::Debug for ServerGroupReplicationConfiguration {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("ServerGroupReplicationConfiguration");
formatter.field("server_group_id", &self.server_group_id);
formatter.field(
"server_replication_configurations",
&self.server_replication_configurations,
);
formatter.finish()
}
}
pub mod server_group_replication_configuration {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) server_group_id: std::option::Option<std::string::String>,
pub(crate) server_replication_configurations:
std::option::Option<std::vec::Vec<crate::model::ServerReplicationConfiguration>>,
}
impl Builder {
pub fn server_group_id(mut self, input: impl Into<std::string::String>) -> Self {
self.server_group_id = Some(input.into());
self
}
pub fn set_server_group_id(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.server_group_id = input;
self
}
pub fn server_replication_configurations(
mut self,
input: crate::model::ServerReplicationConfiguration,
) -> Self {
let mut v = self.server_replication_configurations.unwrap_or_default();
v.push(input);
self.server_replication_configurations = Some(v);
self
}
pub fn set_server_replication_configurations(
mut self,
input: std::option::Option<std::vec::Vec<crate::model::ServerReplicationConfiguration>>,
) -> Self {
self.server_replication_configurations = input;
self
}
pub fn build(self) -> crate::model::ServerGroupReplicationConfiguration {
crate::model::ServerGroupReplicationConfiguration {
server_group_id: self.server_group_id,
server_replication_configurations: self.server_replication_configurations,
}
}
}
}
impl ServerGroupReplicationConfiguration {
pub fn builder() -> crate::model::server_group_replication_configuration::Builder {
crate::model::server_group_replication_configuration::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct ServerReplicationConfiguration {
pub server: std::option::Option<crate::model::Server>,
pub server_replication_parameters:
std::option::Option<crate::model::ServerReplicationParameters>,
}
impl ServerReplicationConfiguration {
pub fn server(&self) -> std::option::Option<&crate::model::Server> {
self.server.as_ref()
}
pub fn server_replication_parameters(
&self,
) -> std::option::Option<&crate::model::ServerReplicationParameters> {
self.server_replication_parameters.as_ref()
}
}
impl std::fmt::Debug for ServerReplicationConfiguration {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("ServerReplicationConfiguration");
formatter.field("server", &self.server);
formatter.field(
"server_replication_parameters",
&self.server_replication_parameters,
);
formatter.finish()
}
}
pub mod server_replication_configuration {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) server: std::option::Option<crate::model::Server>,
pub(crate) server_replication_parameters:
std::option::Option<crate::model::ServerReplicationParameters>,
}
impl Builder {
pub fn server(mut self, input: crate::model::Server) -> Self {
self.server = Some(input);
self
}
pub fn set_server(mut self, input: std::option::Option<crate::model::Server>) -> Self {
self.server = input;
self
}
pub fn server_replication_parameters(
mut self,
input: crate::model::ServerReplicationParameters,
) -> Self {
self.server_replication_parameters = Some(input);
self
}
pub fn set_server_replication_parameters(
mut self,
input: std::option::Option<crate::model::ServerReplicationParameters>,
) -> Self {
self.server_replication_parameters = input;
self
}
pub fn build(self) -> crate::model::ServerReplicationConfiguration {
crate::model::ServerReplicationConfiguration {
server: self.server,
server_replication_parameters: self.server_replication_parameters,
}
}
}
}
impl ServerReplicationConfiguration {
pub fn builder() -> crate::model::server_replication_configuration::Builder {
crate::model::server_replication_configuration::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct ServerReplicationParameters {
pub seed_time: std::option::Option<aws_smithy_types::DateTime>,
pub frequency: std::option::Option<i32>,
pub run_once: std::option::Option<bool>,
pub license_type: std::option::Option<crate::model::LicenseType>,
pub number_of_recent_amis_to_keep: std::option::Option<i32>,
pub encrypted: std::option::Option<bool>,
pub kms_key_id: std::option::Option<std::string::String>,
}
impl ServerReplicationParameters {
pub fn seed_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
self.seed_time.as_ref()
}
pub fn frequency(&self) -> std::option::Option<i32> {
self.frequency
}
pub fn run_once(&self) -> std::option::Option<bool> {
self.run_once
}
pub fn license_type(&self) -> std::option::Option<&crate::model::LicenseType> {
self.license_type.as_ref()
}
pub fn number_of_recent_amis_to_keep(&self) -> std::option::Option<i32> {
self.number_of_recent_amis_to_keep
}
pub fn encrypted(&self) -> std::option::Option<bool> {
self.encrypted
}
pub fn kms_key_id(&self) -> std::option::Option<&str> {
self.kms_key_id.as_deref()
}
}
impl std::fmt::Debug for ServerReplicationParameters {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("ServerReplicationParameters");
formatter.field("seed_time", &self.seed_time);
formatter.field("frequency", &self.frequency);
formatter.field("run_once", &self.run_once);
formatter.field("license_type", &self.license_type);
formatter.field(
"number_of_recent_amis_to_keep",
&self.number_of_recent_amis_to_keep,
);
formatter.field("encrypted", &self.encrypted);
formatter.field("kms_key_id", &self.kms_key_id);
formatter.finish()
}
}
pub mod server_replication_parameters {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) seed_time: std::option::Option<aws_smithy_types::DateTime>,
pub(crate) frequency: std::option::Option<i32>,
pub(crate) run_once: std::option::Option<bool>,
pub(crate) license_type: std::option::Option<crate::model::LicenseType>,
pub(crate) number_of_recent_amis_to_keep: std::option::Option<i32>,
pub(crate) encrypted: std::option::Option<bool>,
pub(crate) kms_key_id: std::option::Option<std::string::String>,
}
impl Builder {
pub fn seed_time(mut self, input: aws_smithy_types::DateTime) -> Self {
self.seed_time = Some(input);
self
}
pub fn set_seed_time(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.seed_time = input;
self
}
pub fn frequency(mut self, input: i32) -> Self {
self.frequency = Some(input);
self
}
pub fn set_frequency(mut self, input: std::option::Option<i32>) -> Self {
self.frequency = input;
self
}
pub fn run_once(mut self, input: bool) -> Self {
self.run_once = Some(input);
self
}
pub fn set_run_once(mut self, input: std::option::Option<bool>) -> Self {
self.run_once = input;
self
}
pub fn license_type(mut self, input: crate::model::LicenseType) -> Self {
self.license_type = Some(input);
self
}
pub fn set_license_type(
mut self,
input: std::option::Option<crate::model::LicenseType>,
) -> Self {
self.license_type = input;
self
}
pub fn number_of_recent_amis_to_keep(mut self, input: i32) -> Self {
self.number_of_recent_amis_to_keep = Some(input);
self
}
pub fn set_number_of_recent_amis_to_keep(
mut self,
input: std::option::Option<i32>,
) -> Self {
self.number_of_recent_amis_to_keep = input;
self
}
pub fn encrypted(mut self, input: bool) -> Self {
self.encrypted = Some(input);
self
}
pub fn set_encrypted(mut self, input: std::option::Option<bool>) -> Self {
self.encrypted = input;
self
}
pub fn kms_key_id(mut self, input: impl Into<std::string::String>) -> Self {
self.kms_key_id = Some(input.into());
self
}
pub fn set_kms_key_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.kms_key_id = input;
self
}
pub fn build(self) -> crate::model::ServerReplicationParameters {
crate::model::ServerReplicationParameters {
seed_time: self.seed_time,
frequency: self.frequency,
run_once: self.run_once,
license_type: self.license_type,
number_of_recent_amis_to_keep: self.number_of_recent_amis_to_keep,
encrypted: self.encrypted,
kms_key_id: self.kms_key_id,
}
}
}
}
impl ServerReplicationParameters {
pub fn builder() -> crate::model::server_replication_parameters::Builder {
crate::model::server_replication_parameters::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct ServerGroupLaunchConfiguration {
pub server_group_id: std::option::Option<std::string::String>,
pub launch_order: std::option::Option<i32>,
pub server_launch_configurations:
std::option::Option<std::vec::Vec<crate::model::ServerLaunchConfiguration>>,
}
impl ServerGroupLaunchConfiguration {
pub fn server_group_id(&self) -> std::option::Option<&str> {
self.server_group_id.as_deref()
}
pub fn launch_order(&self) -> std::option::Option<i32> {
self.launch_order
}
pub fn server_launch_configurations(
&self,
) -> std::option::Option<&[crate::model::ServerLaunchConfiguration]> {
self.server_launch_configurations.as_deref()
}
}
impl std::fmt::Debug for ServerGroupLaunchConfiguration {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("ServerGroupLaunchConfiguration");
formatter.field("server_group_id", &self.server_group_id);
formatter.field("launch_order", &self.launch_order);
formatter.field(
"server_launch_configurations",
&self.server_launch_configurations,
);
formatter.finish()
}
}
pub mod server_group_launch_configuration {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) server_group_id: std::option::Option<std::string::String>,
pub(crate) launch_order: std::option::Option<i32>,
pub(crate) server_launch_configurations:
std::option::Option<std::vec::Vec<crate::model::ServerLaunchConfiguration>>,
}
impl Builder {
pub fn server_group_id(mut self, input: impl Into<std::string::String>) -> Self {
self.server_group_id = Some(input.into());
self
}
pub fn set_server_group_id(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.server_group_id = input;
self
}
pub fn launch_order(mut self, input: i32) -> Self {
self.launch_order = Some(input);
self
}
pub fn set_launch_order(mut self, input: std::option::Option<i32>) -> Self {
self.launch_order = input;
self
}
pub fn server_launch_configurations(
mut self,
input: crate::model::ServerLaunchConfiguration,
) -> Self {
let mut v = self.server_launch_configurations.unwrap_or_default();
v.push(input);
self.server_launch_configurations = Some(v);
self
}
pub fn set_server_launch_configurations(
mut self,
input: std::option::Option<std::vec::Vec<crate::model::ServerLaunchConfiguration>>,
) -> Self {
self.server_launch_configurations = input;
self
}
pub fn build(self) -> crate::model::ServerGroupLaunchConfiguration {
crate::model::ServerGroupLaunchConfiguration {
server_group_id: self.server_group_id,
launch_order: self.launch_order,
server_launch_configurations: self.server_launch_configurations,
}
}
}
}
impl ServerGroupLaunchConfiguration {
pub fn builder() -> crate::model::server_group_launch_configuration::Builder {
crate::model::server_group_launch_configuration::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct ServerLaunchConfiguration {
pub server: std::option::Option<crate::model::Server>,
pub logical_id: std::option::Option<std::string::String>,
pub vpc: std::option::Option<std::string::String>,
pub subnet: std::option::Option<std::string::String>,
pub security_group: std::option::Option<std::string::String>,
pub ec2_key_name: std::option::Option<std::string::String>,
pub user_data: std::option::Option<crate::model::UserData>,
pub instance_type: std::option::Option<std::string::String>,
pub associate_public_ip_address: std::option::Option<bool>,
pub iam_instance_profile_name: std::option::Option<std::string::String>,
pub configure_script: std::option::Option<crate::model::S3Location>,
pub configure_script_type: std::option::Option<crate::model::ScriptType>,
}
impl ServerLaunchConfiguration {
pub fn server(&self) -> std::option::Option<&crate::model::Server> {
self.server.as_ref()
}
pub fn logical_id(&self) -> std::option::Option<&str> {
self.logical_id.as_deref()
}
pub fn vpc(&self) -> std::option::Option<&str> {
self.vpc.as_deref()
}
pub fn subnet(&self) -> std::option::Option<&str> {
self.subnet.as_deref()
}
pub fn security_group(&self) -> std::option::Option<&str> {
self.security_group.as_deref()
}
pub fn ec2_key_name(&self) -> std::option::Option<&str> {
self.ec2_key_name.as_deref()
}
pub fn user_data(&self) -> std::option::Option<&crate::model::UserData> {
self.user_data.as_ref()
}
pub fn instance_type(&self) -> std::option::Option<&str> {
self.instance_type.as_deref()
}
pub fn associate_public_ip_address(&self) -> std::option::Option<bool> {
self.associate_public_ip_address
}
pub fn iam_instance_profile_name(&self) -> std::option::Option<&str> {
self.iam_instance_profile_name.as_deref()
}
pub fn configure_script(&self) -> std::option::Option<&crate::model::S3Location> {
self.configure_script.as_ref()
}
pub fn configure_script_type(&self) -> std::option::Option<&crate::model::ScriptType> {
self.configure_script_type.as_ref()
}
}
impl std::fmt::Debug for ServerLaunchConfiguration {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("ServerLaunchConfiguration");
formatter.field("server", &self.server);
formatter.field("logical_id", &self.logical_id);
formatter.field("vpc", &self.vpc);
formatter.field("subnet", &self.subnet);
formatter.field("security_group", &self.security_group);
formatter.field("ec2_key_name", &self.ec2_key_name);
formatter.field("user_data", &self.user_data);
formatter.field("instance_type", &self.instance_type);
formatter.field(
"associate_public_ip_address",
&self.associate_public_ip_address,
);
formatter.field("iam_instance_profile_name", &self.iam_instance_profile_name);
formatter.field("configure_script", &self.configure_script);
formatter.field("configure_script_type", &self.configure_script_type);
formatter.finish()
}
}
pub mod server_launch_configuration {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) server: std::option::Option<crate::model::Server>,
pub(crate) logical_id: std::option::Option<std::string::String>,
pub(crate) vpc: std::option::Option<std::string::String>,
pub(crate) subnet: std::option::Option<std::string::String>,
pub(crate) security_group: std::option::Option<std::string::String>,
pub(crate) ec2_key_name: std::option::Option<std::string::String>,
pub(crate) user_data: std::option::Option<crate::model::UserData>,
pub(crate) instance_type: std::option::Option<std::string::String>,
pub(crate) associate_public_ip_address: std::option::Option<bool>,
pub(crate) iam_instance_profile_name: std::option::Option<std::string::String>,
pub(crate) configure_script: std::option::Option<crate::model::S3Location>,
pub(crate) configure_script_type: std::option::Option<crate::model::ScriptType>,
}
impl Builder {
pub fn server(mut self, input: crate::model::Server) -> Self {
self.server = Some(input);
self
}
pub fn set_server(mut self, input: std::option::Option<crate::model::Server>) -> Self {
self.server = input;
self
}
pub fn logical_id(mut self, input: impl Into<std::string::String>) -> Self {
self.logical_id = Some(input.into());
self
}
pub fn set_logical_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.logical_id = input;
self
}
pub fn vpc(mut self, input: impl Into<std::string::String>) -> Self {
self.vpc = Some(input.into());
self
}
pub fn set_vpc(mut self, input: std::option::Option<std::string::String>) -> Self {
self.vpc = input;
self
}
pub fn subnet(mut self, input: impl Into<std::string::String>) -> Self {
self.subnet = Some(input.into());
self
}
pub fn set_subnet(mut self, input: std::option::Option<std::string::String>) -> Self {
self.subnet = input;
self
}
pub fn security_group(mut self, input: impl Into<std::string::String>) -> Self {
self.security_group = Some(input.into());
self
}
pub fn set_security_group(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.security_group = input;
self
}
pub fn ec2_key_name(mut self, input: impl Into<std::string::String>) -> Self {
self.ec2_key_name = Some(input.into());
self
}
pub fn set_ec2_key_name(mut self, input: std::option::Option<std::string::String>) -> Self {
self.ec2_key_name = input;
self
}
pub fn user_data(mut self, input: crate::model::UserData) -> Self {
self.user_data = Some(input);
self
}
pub fn set_user_data(mut self, input: std::option::Option<crate::model::UserData>) -> Self {
self.user_data = input;
self
}
pub fn instance_type(mut self, input: impl Into<std::string::String>) -> Self {
self.instance_type = 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 associate_public_ip_address(mut self, input: bool) -> Self {
self.associate_public_ip_address = Some(input);
self
}
pub fn set_associate_public_ip_address(mut self, input: std::option::Option<bool>) -> Self {
self.associate_public_ip_address = input;
self
}
pub fn iam_instance_profile_name(mut self, input: impl Into<std::string::String>) -> Self {
self.iam_instance_profile_name = Some(input.into());
self
}
pub fn set_iam_instance_profile_name(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.iam_instance_profile_name = input;
self
}
pub fn configure_script(mut self, input: crate::model::S3Location) -> Self {
self.configure_script = Some(input);
self
}
pub fn set_configure_script(
mut self,
input: std::option::Option<crate::model::S3Location>,
) -> Self {
self.configure_script = input;
self
}
pub fn configure_script_type(mut self, input: crate::model::ScriptType) -> Self {
self.configure_script_type = Some(input);
self
}
pub fn set_configure_script_type(
mut self,
input: std::option::Option<crate::model::ScriptType>,
) -> Self {
self.configure_script_type = input;
self
}
pub fn build(self) -> crate::model::ServerLaunchConfiguration {
crate::model::ServerLaunchConfiguration {
server: self.server,
logical_id: self.logical_id,
vpc: self.vpc,
subnet: self.subnet,
security_group: self.security_group,
ec2_key_name: self.ec2_key_name,
user_data: self.user_data,
instance_type: self.instance_type,
associate_public_ip_address: self.associate_public_ip_address,
iam_instance_profile_name: self.iam_instance_profile_name,
configure_script: self.configure_script,
configure_script_type: self.configure_script_type,
}
}
}
}
impl ServerLaunchConfiguration {
pub fn builder() -> crate::model::server_launch_configuration::Builder {
crate::model::server_launch_configuration::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct UserData {
pub s3_location: std::option::Option<crate::model::S3Location>,
}
impl UserData {
pub fn s3_location(&self) -> std::option::Option<&crate::model::S3Location> {
self.s3_location.as_ref()
}
}
impl std::fmt::Debug for UserData {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("UserData");
formatter.field("s3_location", &self.s3_location);
formatter.finish()
}
}
pub mod user_data {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) s3_location: std::option::Option<crate::model::S3Location>,
}
impl Builder {
pub fn s3_location(mut self, input: crate::model::S3Location) -> Self {
self.s3_location = Some(input);
self
}
pub fn set_s3_location(
mut self,
input: std::option::Option<crate::model::S3Location>,
) -> Self {
self.s3_location = input;
self
}
pub fn build(self) -> crate::model::UserData {
crate::model::UserData {
s3_location: self.s3_location,
}
}
}
}
impl UserData {
pub fn builder() -> crate::model::user_data::Builder {
crate::model::user_data::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct NotificationContext {
pub validation_id: std::option::Option<std::string::String>,
pub status: std::option::Option<crate::model::ValidationStatus>,
pub status_message: std::option::Option<std::string::String>,
}
impl NotificationContext {
pub fn validation_id(&self) -> std::option::Option<&str> {
self.validation_id.as_deref()
}
pub fn status(&self) -> std::option::Option<&crate::model::ValidationStatus> {
self.status.as_ref()
}
pub fn status_message(&self) -> std::option::Option<&str> {
self.status_message.as_deref()
}
}
impl std::fmt::Debug for NotificationContext {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("NotificationContext");
formatter.field("validation_id", &self.validation_id);
formatter.field("status", &self.status);
formatter.field("status_message", &self.status_message);
formatter.finish()
}
}
pub mod notification_context {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) validation_id: std::option::Option<std::string::String>,
pub(crate) status: std::option::Option<crate::model::ValidationStatus>,
pub(crate) status_message: std::option::Option<std::string::String>,
}
impl Builder {
pub fn validation_id(mut self, input: impl Into<std::string::String>) -> Self {
self.validation_id = Some(input.into());
self
}
pub fn set_validation_id(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.validation_id = input;
self
}
pub fn status(mut self, input: crate::model::ValidationStatus) -> Self {
self.status = Some(input);
self
}
pub fn set_status(
mut self,
input: std::option::Option<crate::model::ValidationStatus>,
) -> Self {
self.status = input;
self
}
pub fn status_message(mut self, input: impl Into<std::string::String>) -> Self {
self.status_message = Some(input.into());
self
}
pub fn set_status_message(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.status_message = input;
self
}
pub fn build(self) -> crate::model::NotificationContext {
crate::model::NotificationContext {
validation_id: self.validation_id,
status: self.status,
status_message: self.status_message,
}
}
}
}
impl NotificationContext {
pub fn builder() -> crate::model::notification_context::Builder {
crate::model::notification_context::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 ValidationStatus {
#[allow(missing_docs)] Failed,
#[allow(missing_docs)] InProgress,
#[allow(missing_docs)] Pending,
#[allow(missing_docs)] ReadyForValidation,
#[allow(missing_docs)] Succeeded,
Unknown(String),
}
impl std::convert::From<&str> for ValidationStatus {
fn from(s: &str) -> Self {
match s {
"FAILED" => ValidationStatus::Failed,
"IN_PROGRESS" => ValidationStatus::InProgress,
"PENDING" => ValidationStatus::Pending,
"READY_FOR_VALIDATION" => ValidationStatus::ReadyForValidation,
"SUCCEEDED" => ValidationStatus::Succeeded,
other => ValidationStatus::Unknown(other.to_owned()),
}
}
}
impl std::str::FromStr for ValidationStatus {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(ValidationStatus::from(s))
}
}
impl ValidationStatus {
pub fn as_str(&self) -> &str {
match self {
ValidationStatus::Failed => "FAILED",
ValidationStatus::InProgress => "IN_PROGRESS",
ValidationStatus::Pending => "PENDING",
ValidationStatus::ReadyForValidation => "READY_FOR_VALIDATION",
ValidationStatus::Succeeded => "SUCCEEDED",
ValidationStatus::Unknown(s) => s.as_ref(),
}
}
pub fn values() -> &'static [&'static str] {
&[
"FAILED",
"IN_PROGRESS",
"PENDING",
"READY_FOR_VALIDATION",
"SUCCEEDED",
]
}
}
impl AsRef<str> for ValidationStatus {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[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 ServerCatalogStatus {
#[allow(missing_docs)] Available,
#[allow(missing_docs)] Deleted,
#[allow(missing_docs)] Expired,
#[allow(missing_docs)] Importing,
#[allow(missing_docs)] NotImported,
Unknown(String),
}
impl std::convert::From<&str> for ServerCatalogStatus {
fn from(s: &str) -> Self {
match s {
"AVAILABLE" => ServerCatalogStatus::Available,
"DELETED" => ServerCatalogStatus::Deleted,
"EXPIRED" => ServerCatalogStatus::Expired,
"IMPORTING" => ServerCatalogStatus::Importing,
"NOT_IMPORTED" => ServerCatalogStatus::NotImported,
other => ServerCatalogStatus::Unknown(other.to_owned()),
}
}
}
impl std::str::FromStr for ServerCatalogStatus {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(ServerCatalogStatus::from(s))
}
}
impl ServerCatalogStatus {
pub fn as_str(&self) -> &str {
match self {
ServerCatalogStatus::Available => "AVAILABLE",
ServerCatalogStatus::Deleted => "DELETED",
ServerCatalogStatus::Expired => "EXPIRED",
ServerCatalogStatus::Importing => "IMPORTING",
ServerCatalogStatus::NotImported => "NOT_IMPORTED",
ServerCatalogStatus::Unknown(s) => s.as_ref(),
}
}
pub fn values() -> &'static [&'static str] {
&[
"AVAILABLE",
"DELETED",
"EXPIRED",
"IMPORTING",
"NOT_IMPORTED",
]
}
}
impl AsRef<str> for ServerCatalogStatus {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct ReplicationRun {
pub replication_run_id: std::option::Option<std::string::String>,
pub state: std::option::Option<crate::model::ReplicationRunState>,
pub r#type: std::option::Option<crate::model::ReplicationRunType>,
pub stage_details: std::option::Option<crate::model::ReplicationRunStageDetails>,
pub status_message: std::option::Option<std::string::String>,
pub ami_id: std::option::Option<std::string::String>,
pub scheduled_start_time: std::option::Option<aws_smithy_types::DateTime>,
pub completed_time: std::option::Option<aws_smithy_types::DateTime>,
pub description: std::option::Option<std::string::String>,
pub encrypted: std::option::Option<bool>,
pub kms_key_id: std::option::Option<std::string::String>,
}
impl ReplicationRun {
pub fn replication_run_id(&self) -> std::option::Option<&str> {
self.replication_run_id.as_deref()
}
pub fn state(&self) -> std::option::Option<&crate::model::ReplicationRunState> {
self.state.as_ref()
}
pub fn r#type(&self) -> std::option::Option<&crate::model::ReplicationRunType> {
self.r#type.as_ref()
}
pub fn stage_details(&self) -> std::option::Option<&crate::model::ReplicationRunStageDetails> {
self.stage_details.as_ref()
}
pub fn status_message(&self) -> std::option::Option<&str> {
self.status_message.as_deref()
}
pub fn ami_id(&self) -> std::option::Option<&str> {
self.ami_id.as_deref()
}
pub fn scheduled_start_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
self.scheduled_start_time.as_ref()
}
pub fn completed_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
self.completed_time.as_ref()
}
pub fn description(&self) -> std::option::Option<&str> {
self.description.as_deref()
}
pub fn encrypted(&self) -> std::option::Option<bool> {
self.encrypted
}
pub fn kms_key_id(&self) -> std::option::Option<&str> {
self.kms_key_id.as_deref()
}
}
impl std::fmt::Debug for ReplicationRun {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("ReplicationRun");
formatter.field("replication_run_id", &self.replication_run_id);
formatter.field("state", &self.state);
formatter.field("r#type", &self.r#type);
formatter.field("stage_details", &self.stage_details);
formatter.field("status_message", &self.status_message);
formatter.field("ami_id", &self.ami_id);
formatter.field("scheduled_start_time", &self.scheduled_start_time);
formatter.field("completed_time", &self.completed_time);
formatter.field("description", &self.description);
formatter.field("encrypted", &self.encrypted);
formatter.field("kms_key_id", &self.kms_key_id);
formatter.finish()
}
}
pub mod replication_run {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) replication_run_id: std::option::Option<std::string::String>,
pub(crate) state: std::option::Option<crate::model::ReplicationRunState>,
pub(crate) r#type: std::option::Option<crate::model::ReplicationRunType>,
pub(crate) stage_details: std::option::Option<crate::model::ReplicationRunStageDetails>,
pub(crate) status_message: std::option::Option<std::string::String>,
pub(crate) ami_id: std::option::Option<std::string::String>,
pub(crate) scheduled_start_time: std::option::Option<aws_smithy_types::DateTime>,
pub(crate) completed_time: std::option::Option<aws_smithy_types::DateTime>,
pub(crate) description: std::option::Option<std::string::String>,
pub(crate) encrypted: std::option::Option<bool>,
pub(crate) kms_key_id: std::option::Option<std::string::String>,
}
impl Builder {
pub fn replication_run_id(mut self, input: impl Into<std::string::String>) -> Self {
self.replication_run_id = Some(input.into());
self
}
pub fn set_replication_run_id(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.replication_run_id = input;
self
}
pub fn state(mut self, input: crate::model::ReplicationRunState) -> Self {
self.state = Some(input);
self
}
pub fn set_state(
mut self,
input: std::option::Option<crate::model::ReplicationRunState>,
) -> Self {
self.state = input;
self
}
pub fn r#type(mut self, input: crate::model::ReplicationRunType) -> Self {
self.r#type = Some(input);
self
}
pub fn set_type(
mut self,
input: std::option::Option<crate::model::ReplicationRunType>,
) -> Self {
self.r#type = input;
self
}
pub fn stage_details(mut self, input: crate::model::ReplicationRunStageDetails) -> Self {
self.stage_details = Some(input);
self
}
pub fn set_stage_details(
mut self,
input: std::option::Option<crate::model::ReplicationRunStageDetails>,
) -> Self {
self.stage_details = input;
self
}
pub fn status_message(mut self, input: impl Into<std::string::String>) -> Self {
self.status_message = Some(input.into());
self
}
pub fn set_status_message(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.status_message = input;
self
}
pub fn ami_id(mut self, input: impl Into<std::string::String>) -> Self {
self.ami_id = Some(input.into());
self
}
pub fn set_ami_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.ami_id = input;
self
}
pub fn scheduled_start_time(mut self, input: aws_smithy_types::DateTime) -> Self {
self.scheduled_start_time = Some(input);
self
}
pub fn set_scheduled_start_time(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.scheduled_start_time = input;
self
}
pub fn completed_time(mut self, input: aws_smithy_types::DateTime) -> Self {
self.completed_time = Some(input);
self
}
pub fn set_completed_time(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.completed_time = input;
self
}
pub fn description(mut self, input: impl Into<std::string::String>) -> Self {
self.description = Some(input.into());
self
}
pub fn set_description(mut self, input: std::option::Option<std::string::String>) -> Self {
self.description = input;
self
}
pub fn encrypted(mut self, input: bool) -> Self {
self.encrypted = Some(input);
self
}
pub fn set_encrypted(mut self, input: std::option::Option<bool>) -> Self {
self.encrypted = input;
self
}
pub fn kms_key_id(mut self, input: impl Into<std::string::String>) -> Self {
self.kms_key_id = Some(input.into());
self
}
pub fn set_kms_key_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.kms_key_id = input;
self
}
pub fn build(self) -> crate::model::ReplicationRun {
crate::model::ReplicationRun {
replication_run_id: self.replication_run_id,
state: self.state,
r#type: self.r#type,
stage_details: self.stage_details,
status_message: self.status_message,
ami_id: self.ami_id,
scheduled_start_time: self.scheduled_start_time,
completed_time: self.completed_time,
description: self.description,
encrypted: self.encrypted,
kms_key_id: self.kms_key_id,
}
}
}
}
impl ReplicationRun {
pub fn builder() -> crate::model::replication_run::Builder {
crate::model::replication_run::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct ReplicationRunStageDetails {
pub stage: std::option::Option<std::string::String>,
pub stage_progress: std::option::Option<std::string::String>,
}
impl ReplicationRunStageDetails {
pub fn stage(&self) -> std::option::Option<&str> {
self.stage.as_deref()
}
pub fn stage_progress(&self) -> std::option::Option<&str> {
self.stage_progress.as_deref()
}
}
impl std::fmt::Debug for ReplicationRunStageDetails {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("ReplicationRunStageDetails");
formatter.field("stage", &self.stage);
formatter.field("stage_progress", &self.stage_progress);
formatter.finish()
}
}
pub mod replication_run_stage_details {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) stage: std::option::Option<std::string::String>,
pub(crate) stage_progress: std::option::Option<std::string::String>,
}
impl Builder {
pub fn stage(mut self, input: impl Into<std::string::String>) -> Self {
self.stage = Some(input.into());
self
}
pub fn set_stage(mut self, input: std::option::Option<std::string::String>) -> Self {
self.stage = input;
self
}
pub fn stage_progress(mut self, input: impl Into<std::string::String>) -> Self {
self.stage_progress = Some(input.into());
self
}
pub fn set_stage_progress(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.stage_progress = input;
self
}
pub fn build(self) -> crate::model::ReplicationRunStageDetails {
crate::model::ReplicationRunStageDetails {
stage: self.stage,
stage_progress: self.stage_progress,
}
}
}
}
impl ReplicationRunStageDetails {
pub fn builder() -> crate::model::replication_run_stage_details::Builder {
crate::model::replication_run_stage_details::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 ReplicationRunType {
#[allow(missing_docs)] Automatic,
#[allow(missing_docs)] OnDemand,
Unknown(String),
}
impl std::convert::From<&str> for ReplicationRunType {
fn from(s: &str) -> Self {
match s {
"AUTOMATIC" => ReplicationRunType::Automatic,
"ON_DEMAND" => ReplicationRunType::OnDemand,
other => ReplicationRunType::Unknown(other.to_owned()),
}
}
}
impl std::str::FromStr for ReplicationRunType {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(ReplicationRunType::from(s))
}
}
impl ReplicationRunType {
pub fn as_str(&self) -> &str {
match self {
ReplicationRunType::Automatic => "AUTOMATIC",
ReplicationRunType::OnDemand => "ON_DEMAND",
ReplicationRunType::Unknown(s) => s.as_ref(),
}
}
pub fn values() -> &'static [&'static str] {
&["AUTOMATIC", "ON_DEMAND"]
}
}
impl AsRef<str> for ReplicationRunType {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[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 ReplicationRunState {
#[allow(missing_docs)] Active,
#[allow(missing_docs)] Completed,
#[allow(missing_docs)] Deleted,
#[allow(missing_docs)] Deleting,
#[allow(missing_docs)] Failed,
#[allow(missing_docs)] Missed,
#[allow(missing_docs)] Pending,
Unknown(String),
}
impl std::convert::From<&str> for ReplicationRunState {
fn from(s: &str) -> Self {
match s {
"ACTIVE" => ReplicationRunState::Active,
"COMPLETED" => ReplicationRunState::Completed,
"DELETED" => ReplicationRunState::Deleted,
"DELETING" => ReplicationRunState::Deleting,
"FAILED" => ReplicationRunState::Failed,
"MISSED" => ReplicationRunState::Missed,
"PENDING" => ReplicationRunState::Pending,
other => ReplicationRunState::Unknown(other.to_owned()),
}
}
}
impl std::str::FromStr for ReplicationRunState {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(ReplicationRunState::from(s))
}
}
impl ReplicationRunState {
pub fn as_str(&self) -> &str {
match self {
ReplicationRunState::Active => "ACTIVE",
ReplicationRunState::Completed => "COMPLETED",
ReplicationRunState::Deleted => "DELETED",
ReplicationRunState::Deleting => "DELETING",
ReplicationRunState::Failed => "FAILED",
ReplicationRunState::Missed => "MISSED",
ReplicationRunState::Pending => "PENDING",
ReplicationRunState::Unknown(s) => s.as_ref(),
}
}
pub fn values() -> &'static [&'static str] {
&[
"ACTIVE",
"COMPLETED",
"DELETED",
"DELETING",
"FAILED",
"MISSED",
"PENDING",
]
}
}
impl AsRef<str> for ReplicationRunState {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct ReplicationJob {
pub replication_job_id: std::option::Option<std::string::String>,
pub server_id: std::option::Option<std::string::String>,
pub server_type: std::option::Option<crate::model::ServerType>,
pub vm_server: std::option::Option<crate::model::VmServer>,
pub seed_replication_time: std::option::Option<aws_smithy_types::DateTime>,
pub frequency: std::option::Option<i32>,
pub run_once: std::option::Option<bool>,
pub next_replication_run_start_time: std::option::Option<aws_smithy_types::DateTime>,
pub license_type: std::option::Option<crate::model::LicenseType>,
pub role_name: std::option::Option<std::string::String>,
pub latest_ami_id: std::option::Option<std::string::String>,
pub state: std::option::Option<crate::model::ReplicationJobState>,
pub status_message: std::option::Option<std::string::String>,
pub description: std::option::Option<std::string::String>,
pub number_of_recent_amis_to_keep: std::option::Option<i32>,
pub encrypted: std::option::Option<bool>,
pub kms_key_id: std::option::Option<std::string::String>,
pub replication_run_list: std::option::Option<std::vec::Vec<crate::model::ReplicationRun>>,
}
impl ReplicationJob {
pub fn replication_job_id(&self) -> std::option::Option<&str> {
self.replication_job_id.as_deref()
}
pub fn server_id(&self) -> std::option::Option<&str> {
self.server_id.as_deref()
}
pub fn server_type(&self) -> std::option::Option<&crate::model::ServerType> {
self.server_type.as_ref()
}
pub fn vm_server(&self) -> std::option::Option<&crate::model::VmServer> {
self.vm_server.as_ref()
}
pub fn seed_replication_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
self.seed_replication_time.as_ref()
}
pub fn frequency(&self) -> std::option::Option<i32> {
self.frequency
}
pub fn run_once(&self) -> std::option::Option<bool> {
self.run_once
}
pub fn next_replication_run_start_time(
&self,
) -> std::option::Option<&aws_smithy_types::DateTime> {
self.next_replication_run_start_time.as_ref()
}
pub fn license_type(&self) -> std::option::Option<&crate::model::LicenseType> {
self.license_type.as_ref()
}
pub fn role_name(&self) -> std::option::Option<&str> {
self.role_name.as_deref()
}
pub fn latest_ami_id(&self) -> std::option::Option<&str> {
self.latest_ami_id.as_deref()
}
pub fn state(&self) -> std::option::Option<&crate::model::ReplicationJobState> {
self.state.as_ref()
}
pub fn status_message(&self) -> std::option::Option<&str> {
self.status_message.as_deref()
}
pub fn description(&self) -> std::option::Option<&str> {
self.description.as_deref()
}
pub fn number_of_recent_amis_to_keep(&self) -> std::option::Option<i32> {
self.number_of_recent_amis_to_keep
}
pub fn encrypted(&self) -> std::option::Option<bool> {
self.encrypted
}
pub fn kms_key_id(&self) -> std::option::Option<&str> {
self.kms_key_id.as_deref()
}
pub fn replication_run_list(&self) -> std::option::Option<&[crate::model::ReplicationRun]> {
self.replication_run_list.as_deref()
}
}
impl std::fmt::Debug for ReplicationJob {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("ReplicationJob");
formatter.field("replication_job_id", &self.replication_job_id);
formatter.field("server_id", &self.server_id);
formatter.field("server_type", &self.server_type);
formatter.field("vm_server", &self.vm_server);
formatter.field("seed_replication_time", &self.seed_replication_time);
formatter.field("frequency", &self.frequency);
formatter.field("run_once", &self.run_once);
formatter.field(
"next_replication_run_start_time",
&self.next_replication_run_start_time,
);
formatter.field("license_type", &self.license_type);
formatter.field("role_name", &self.role_name);
formatter.field("latest_ami_id", &self.latest_ami_id);
formatter.field("state", &self.state);
formatter.field("status_message", &self.status_message);
formatter.field("description", &self.description);
formatter.field(
"number_of_recent_amis_to_keep",
&self.number_of_recent_amis_to_keep,
);
formatter.field("encrypted", &self.encrypted);
formatter.field("kms_key_id", &self.kms_key_id);
formatter.field("replication_run_list", &self.replication_run_list);
formatter.finish()
}
}
pub mod replication_job {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) replication_job_id: std::option::Option<std::string::String>,
pub(crate) server_id: std::option::Option<std::string::String>,
pub(crate) server_type: std::option::Option<crate::model::ServerType>,
pub(crate) vm_server: std::option::Option<crate::model::VmServer>,
pub(crate) seed_replication_time: std::option::Option<aws_smithy_types::DateTime>,
pub(crate) frequency: std::option::Option<i32>,
pub(crate) run_once: std::option::Option<bool>,
pub(crate) next_replication_run_start_time: std::option::Option<aws_smithy_types::DateTime>,
pub(crate) license_type: std::option::Option<crate::model::LicenseType>,
pub(crate) role_name: std::option::Option<std::string::String>,
pub(crate) latest_ami_id: std::option::Option<std::string::String>,
pub(crate) state: std::option::Option<crate::model::ReplicationJobState>,
pub(crate) status_message: std::option::Option<std::string::String>,
pub(crate) description: std::option::Option<std::string::String>,
pub(crate) number_of_recent_amis_to_keep: std::option::Option<i32>,
pub(crate) encrypted: std::option::Option<bool>,
pub(crate) kms_key_id: std::option::Option<std::string::String>,
pub(crate) replication_run_list:
std::option::Option<std::vec::Vec<crate::model::ReplicationRun>>,
}
impl Builder {
pub fn replication_job_id(mut self, input: impl Into<std::string::String>) -> Self {
self.replication_job_id = Some(input.into());
self
}
pub fn set_replication_job_id(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.replication_job_id = input;
self
}
pub fn server_id(mut self, input: impl Into<std::string::String>) -> Self {
self.server_id = Some(input.into());
self
}
pub fn set_server_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.server_id = input;
self
}
pub fn server_type(mut self, input: crate::model::ServerType) -> Self {
self.server_type = Some(input);
self
}
pub fn set_server_type(
mut self,
input: std::option::Option<crate::model::ServerType>,
) -> Self {
self.server_type = input;
self
}
pub fn vm_server(mut self, input: crate::model::VmServer) -> Self {
self.vm_server = Some(input);
self
}
pub fn set_vm_server(mut self, input: std::option::Option<crate::model::VmServer>) -> Self {
self.vm_server = input;
self
}
pub fn seed_replication_time(mut self, input: aws_smithy_types::DateTime) -> Self {
self.seed_replication_time = Some(input);
self
}
pub fn set_seed_replication_time(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.seed_replication_time = input;
self
}
pub fn frequency(mut self, input: i32) -> Self {
self.frequency = Some(input);
self
}
pub fn set_frequency(mut self, input: std::option::Option<i32>) -> Self {
self.frequency = input;
self
}
pub fn run_once(mut self, input: bool) -> Self {
self.run_once = Some(input);
self
}
pub fn set_run_once(mut self, input: std::option::Option<bool>) -> Self {
self.run_once = input;
self
}
pub fn next_replication_run_start_time(
mut self,
input: aws_smithy_types::DateTime,
) -> Self {
self.next_replication_run_start_time = Some(input);
self
}
pub fn set_next_replication_run_start_time(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.next_replication_run_start_time = input;
self
}
pub fn license_type(mut self, input: crate::model::LicenseType) -> Self {
self.license_type = Some(input);
self
}
pub fn set_license_type(
mut self,
input: std::option::Option<crate::model::LicenseType>,
) -> Self {
self.license_type = input;
self
}
pub fn role_name(mut self, input: impl Into<std::string::String>) -> Self {
self.role_name = Some(input.into());
self
}
pub fn set_role_name(mut self, input: std::option::Option<std::string::String>) -> Self {
self.role_name = input;
self
}
pub fn latest_ami_id(mut self, input: impl Into<std::string::String>) -> Self {
self.latest_ami_id = Some(input.into());
self
}
pub fn set_latest_ami_id(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.latest_ami_id = input;
self
}
pub fn state(mut self, input: crate::model::ReplicationJobState) -> Self {
self.state = Some(input);
self
}
pub fn set_state(
mut self,
input: std::option::Option<crate::model::ReplicationJobState>,
) -> Self {
self.state = input;
self
}
pub fn status_message(mut self, input: impl Into<std::string::String>) -> Self {
self.status_message = Some(input.into());
self
}
pub fn set_status_message(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.status_message = input;
self
}
pub fn description(mut self, input: impl Into<std::string::String>) -> Self {
self.description = Some(input.into());
self
}
pub fn set_description(mut self, input: std::option::Option<std::string::String>) -> Self {
self.description = input;
self
}
pub fn number_of_recent_amis_to_keep(mut self, input: i32) -> Self {
self.number_of_recent_amis_to_keep = Some(input);
self
}
pub fn set_number_of_recent_amis_to_keep(
mut self,
input: std::option::Option<i32>,
) -> Self {
self.number_of_recent_amis_to_keep = input;
self
}
pub fn encrypted(mut self, input: bool) -> Self {
self.encrypted = Some(input);
self
}
pub fn set_encrypted(mut self, input: std::option::Option<bool>) -> Self {
self.encrypted = input;
self
}
pub fn kms_key_id(mut self, input: impl Into<std::string::String>) -> Self {
self.kms_key_id = Some(input.into());
self
}
pub fn set_kms_key_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.kms_key_id = input;
self
}
pub fn replication_run_list(mut self, input: crate::model::ReplicationRun) -> Self {
let mut v = self.replication_run_list.unwrap_or_default();
v.push(input);
self.replication_run_list = Some(v);
self
}
pub fn set_replication_run_list(
mut self,
input: std::option::Option<std::vec::Vec<crate::model::ReplicationRun>>,
) -> Self {
self.replication_run_list = input;
self
}
pub fn build(self) -> crate::model::ReplicationJob {
crate::model::ReplicationJob {
replication_job_id: self.replication_job_id,
server_id: self.server_id,
server_type: self.server_type,
vm_server: self.vm_server,
seed_replication_time: self.seed_replication_time,
frequency: self.frequency,
run_once: self.run_once,
next_replication_run_start_time: self.next_replication_run_start_time,
license_type: self.license_type,
role_name: self.role_name,
latest_ami_id: self.latest_ami_id,
state: self.state,
status_message: self.status_message,
description: self.description,
number_of_recent_amis_to_keep: self.number_of_recent_amis_to_keep,
encrypted: self.encrypted,
kms_key_id: self.kms_key_id,
replication_run_list: self.replication_run_list,
}
}
}
}
impl ReplicationJob {
pub fn builder() -> crate::model::replication_job::Builder {
crate::model::replication_job::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 ReplicationJobState {
#[allow(missing_docs)] Active,
#[allow(missing_docs)] Completed,
#[allow(missing_docs)] Deleted,
#[allow(missing_docs)] Deleting,
#[allow(missing_docs)] Failed,
#[allow(missing_docs)] Failing,
#[allow(missing_docs)] PausedOnFailure,
#[allow(missing_docs)] Pending,
Unknown(String),
}
impl std::convert::From<&str> for ReplicationJobState {
fn from(s: &str) -> Self {
match s {
"ACTIVE" => ReplicationJobState::Active,
"COMPLETED" => ReplicationJobState::Completed,
"DELETED" => ReplicationJobState::Deleted,
"DELETING" => ReplicationJobState::Deleting,
"FAILED" => ReplicationJobState::Failed,
"FAILING" => ReplicationJobState::Failing,
"PAUSED_ON_FAILURE" => ReplicationJobState::PausedOnFailure,
"PENDING" => ReplicationJobState::Pending,
other => ReplicationJobState::Unknown(other.to_owned()),
}
}
}
impl std::str::FromStr for ReplicationJobState {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(ReplicationJobState::from(s))
}
}
impl ReplicationJobState {
pub fn as_str(&self) -> &str {
match self {
ReplicationJobState::Active => "ACTIVE",
ReplicationJobState::Completed => "COMPLETED",
ReplicationJobState::Deleted => "DELETED",
ReplicationJobState::Deleting => "DELETING",
ReplicationJobState::Failed => "FAILED",
ReplicationJobState::Failing => "FAILING",
ReplicationJobState::PausedOnFailure => "PAUSED_ON_FAILURE",
ReplicationJobState::Pending => "PENDING",
ReplicationJobState::Unknown(s) => s.as_ref(),
}
}
pub fn values() -> &'static [&'static str] {
&[
"ACTIVE",
"COMPLETED",
"DELETED",
"DELETING",
"FAILED",
"FAILING",
"PAUSED_ON_FAILURE",
"PENDING",
]
}
}
impl AsRef<str> for ReplicationJobState {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct Connector {
pub connector_id: std::option::Option<std::string::String>,
pub version: std::option::Option<std::string::String>,
pub status: std::option::Option<crate::model::ConnectorStatus>,
pub capability_list: std::option::Option<std::vec::Vec<crate::model::ConnectorCapability>>,
pub vm_manager_name: std::option::Option<std::string::String>,
pub vm_manager_type: std::option::Option<crate::model::VmManagerType>,
pub vm_manager_id: std::option::Option<std::string::String>,
pub ip_address: std::option::Option<std::string::String>,
pub mac_address: std::option::Option<std::string::String>,
pub associated_on: std::option::Option<aws_smithy_types::DateTime>,
}
impl Connector {
pub fn connector_id(&self) -> std::option::Option<&str> {
self.connector_id.as_deref()
}
pub fn version(&self) -> std::option::Option<&str> {
self.version.as_deref()
}
pub fn status(&self) -> std::option::Option<&crate::model::ConnectorStatus> {
self.status.as_ref()
}
pub fn capability_list(&self) -> std::option::Option<&[crate::model::ConnectorCapability]> {
self.capability_list.as_deref()
}
pub fn vm_manager_name(&self) -> std::option::Option<&str> {
self.vm_manager_name.as_deref()
}
pub fn vm_manager_type(&self) -> std::option::Option<&crate::model::VmManagerType> {
self.vm_manager_type.as_ref()
}
pub fn vm_manager_id(&self) -> std::option::Option<&str> {
self.vm_manager_id.as_deref()
}
pub fn ip_address(&self) -> std::option::Option<&str> {
self.ip_address.as_deref()
}
pub fn mac_address(&self) -> std::option::Option<&str> {
self.mac_address.as_deref()
}
pub fn associated_on(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
self.associated_on.as_ref()
}
}
impl std::fmt::Debug for Connector {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("Connector");
formatter.field("connector_id", &self.connector_id);
formatter.field("version", &self.version);
formatter.field("status", &self.status);
formatter.field("capability_list", &self.capability_list);
formatter.field("vm_manager_name", &self.vm_manager_name);
formatter.field("vm_manager_type", &self.vm_manager_type);
formatter.field("vm_manager_id", &self.vm_manager_id);
formatter.field("ip_address", &self.ip_address);
formatter.field("mac_address", &self.mac_address);
formatter.field("associated_on", &self.associated_on);
formatter.finish()
}
}
pub mod connector {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) connector_id: std::option::Option<std::string::String>,
pub(crate) version: std::option::Option<std::string::String>,
pub(crate) status: std::option::Option<crate::model::ConnectorStatus>,
pub(crate) capability_list:
std::option::Option<std::vec::Vec<crate::model::ConnectorCapability>>,
pub(crate) vm_manager_name: std::option::Option<std::string::String>,
pub(crate) vm_manager_type: std::option::Option<crate::model::VmManagerType>,
pub(crate) vm_manager_id: std::option::Option<std::string::String>,
pub(crate) ip_address: std::option::Option<std::string::String>,
pub(crate) mac_address: std::option::Option<std::string::String>,
pub(crate) associated_on: std::option::Option<aws_smithy_types::DateTime>,
}
impl Builder {
pub fn connector_id(mut self, input: impl Into<std::string::String>) -> Self {
self.connector_id = Some(input.into());
self
}
pub fn set_connector_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.connector_id = input;
self
}
pub fn version(mut self, input: impl Into<std::string::String>) -> Self {
self.version = Some(input.into());
self
}
pub fn set_version(mut self, input: std::option::Option<std::string::String>) -> Self {
self.version = input;
self
}
pub fn status(mut self, input: crate::model::ConnectorStatus) -> Self {
self.status = Some(input);
self
}
pub fn set_status(
mut self,
input: std::option::Option<crate::model::ConnectorStatus>,
) -> Self {
self.status = input;
self
}
pub fn capability_list(mut self, input: crate::model::ConnectorCapability) -> Self {
let mut v = self.capability_list.unwrap_or_default();
v.push(input);
self.capability_list = Some(v);
self
}
pub fn set_capability_list(
mut self,
input: std::option::Option<std::vec::Vec<crate::model::ConnectorCapability>>,
) -> Self {
self.capability_list = input;
self
}
pub fn vm_manager_name(mut self, input: impl Into<std::string::String>) -> Self {
self.vm_manager_name = Some(input.into());
self
}
pub fn set_vm_manager_name(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.vm_manager_name = input;
self
}
pub fn vm_manager_type(mut self, input: crate::model::VmManagerType) -> Self {
self.vm_manager_type = Some(input);
self
}
pub fn set_vm_manager_type(
mut self,
input: std::option::Option<crate::model::VmManagerType>,
) -> Self {
self.vm_manager_type = input;
self
}
pub fn vm_manager_id(mut self, input: impl Into<std::string::String>) -> Self {
self.vm_manager_id = Some(input.into());
self
}
pub fn set_vm_manager_id(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.vm_manager_id = input;
self
}
pub fn ip_address(mut self, input: impl Into<std::string::String>) -> Self {
self.ip_address = Some(input.into());
self
}
pub fn set_ip_address(mut self, input: std::option::Option<std::string::String>) -> Self {
self.ip_address = input;
self
}
pub fn mac_address(mut self, input: impl Into<std::string::String>) -> Self {
self.mac_address = Some(input.into());
self
}
pub fn set_mac_address(mut self, input: std::option::Option<std::string::String>) -> Self {
self.mac_address = input;
self
}
pub fn associated_on(mut self, input: aws_smithy_types::DateTime) -> Self {
self.associated_on = Some(input);
self
}
pub fn set_associated_on(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.associated_on = input;
self
}
pub fn build(self) -> crate::model::Connector {
crate::model::Connector {
connector_id: self.connector_id,
version: self.version,
status: self.status,
capability_list: self.capability_list,
vm_manager_name: self.vm_manager_name,
vm_manager_type: self.vm_manager_type,
vm_manager_id: self.vm_manager_id,
ip_address: self.ip_address,
mac_address: self.mac_address,
associated_on: self.associated_on,
}
}
}
}
impl Connector {
pub fn builder() -> crate::model::connector::Builder {
crate::model::connector::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 ConnectorCapability {
#[allow(missing_docs)] HyperVManager,
#[allow(missing_docs)] Scvmm,
#[allow(missing_docs)] SmsOptimized,
#[allow(missing_docs)] SnapshotBatching,
#[allow(missing_docs)] VSphere,
Unknown(String),
}
impl std::convert::From<&str> for ConnectorCapability {
fn from(s: &str) -> Self {
match s {
"HYPERV-MANAGER" => ConnectorCapability::HyperVManager,
"SCVMM" => ConnectorCapability::Scvmm,
"SMS_OPTIMIZED" => ConnectorCapability::SmsOptimized,
"SNAPSHOT_BATCHING" => ConnectorCapability::SnapshotBatching,
"VSPHERE" => ConnectorCapability::VSphere,
other => ConnectorCapability::Unknown(other.to_owned()),
}
}
}
impl std::str::FromStr for ConnectorCapability {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(ConnectorCapability::from(s))
}
}
impl ConnectorCapability {
pub fn as_str(&self) -> &str {
match self {
ConnectorCapability::HyperVManager => "HYPERV-MANAGER",
ConnectorCapability::Scvmm => "SCVMM",
ConnectorCapability::SmsOptimized => "SMS_OPTIMIZED",
ConnectorCapability::SnapshotBatching => "SNAPSHOT_BATCHING",
ConnectorCapability::VSphere => "VSPHERE",
ConnectorCapability::Unknown(s) => s.as_ref(),
}
}
pub fn values() -> &'static [&'static str] {
&[
"HYPERV-MANAGER",
"SCVMM",
"SMS_OPTIMIZED",
"SNAPSHOT_BATCHING",
"VSPHERE",
]
}
}
impl AsRef<str> for ConnectorCapability {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[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 ConnectorStatus {
#[allow(missing_docs)] Healthy,
#[allow(missing_docs)] Unhealthy,
Unknown(String),
}
impl std::convert::From<&str> for ConnectorStatus {
fn from(s: &str) -> Self {
match s {
"HEALTHY" => ConnectorStatus::Healthy,
"UNHEALTHY" => ConnectorStatus::Unhealthy,
other => ConnectorStatus::Unknown(other.to_owned()),
}
}
}
impl std::str::FromStr for ConnectorStatus {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(ConnectorStatus::from(s))
}
}
impl ConnectorStatus {
pub fn as_str(&self) -> &str {
match self {
ConnectorStatus::Healthy => "HEALTHY",
ConnectorStatus::Unhealthy => "UNHEALTHY",
ConnectorStatus::Unknown(s) => s.as_ref(),
}
}
pub fn values() -> &'static [&'static str] {
&["HEALTHY", "UNHEALTHY"]
}
}
impl AsRef<str> for ConnectorStatus {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct ValidationOutput {
pub validation_id: std::option::Option<std::string::String>,
pub name: std::option::Option<std::string::String>,
pub status: std::option::Option<crate::model::ValidationStatus>,
pub status_message: std::option::Option<std::string::String>,
pub latest_validation_time: std::option::Option<aws_smithy_types::DateTime>,
pub app_validation_output: std::option::Option<crate::model::AppValidationOutput>,
pub server_validation_output: std::option::Option<crate::model::ServerValidationOutput>,
}
impl ValidationOutput {
pub fn validation_id(&self) -> std::option::Option<&str> {
self.validation_id.as_deref()
}
pub fn name(&self) -> std::option::Option<&str> {
self.name.as_deref()
}
pub fn status(&self) -> std::option::Option<&crate::model::ValidationStatus> {
self.status.as_ref()
}
pub fn status_message(&self) -> std::option::Option<&str> {
self.status_message.as_deref()
}
pub fn latest_validation_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
self.latest_validation_time.as_ref()
}
pub fn app_validation_output(&self) -> std::option::Option<&crate::model::AppValidationOutput> {
self.app_validation_output.as_ref()
}
pub fn server_validation_output(
&self,
) -> std::option::Option<&crate::model::ServerValidationOutput> {
self.server_validation_output.as_ref()
}
}
impl std::fmt::Debug for ValidationOutput {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("ValidationOutput");
formatter.field("validation_id", &self.validation_id);
formatter.field("name", &self.name);
formatter.field("status", &self.status);
formatter.field("status_message", &self.status_message);
formatter.field("latest_validation_time", &self.latest_validation_time);
formatter.field("app_validation_output", &self.app_validation_output);
formatter.field("server_validation_output", &self.server_validation_output);
formatter.finish()
}
}
pub mod validation_output {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) validation_id: std::option::Option<std::string::String>,
pub(crate) name: std::option::Option<std::string::String>,
pub(crate) status: std::option::Option<crate::model::ValidationStatus>,
pub(crate) status_message: std::option::Option<std::string::String>,
pub(crate) latest_validation_time: std::option::Option<aws_smithy_types::DateTime>,
pub(crate) app_validation_output: std::option::Option<crate::model::AppValidationOutput>,
pub(crate) server_validation_output:
std::option::Option<crate::model::ServerValidationOutput>,
}
impl Builder {
pub fn validation_id(mut self, input: impl Into<std::string::String>) -> Self {
self.validation_id = Some(input.into());
self
}
pub fn set_validation_id(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.validation_id = input;
self
}
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 status(mut self, input: crate::model::ValidationStatus) -> Self {
self.status = Some(input);
self
}
pub fn set_status(
mut self,
input: std::option::Option<crate::model::ValidationStatus>,
) -> Self {
self.status = input;
self
}
pub fn status_message(mut self, input: impl Into<std::string::String>) -> Self {
self.status_message = Some(input.into());
self
}
pub fn set_status_message(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.status_message = input;
self
}
pub fn latest_validation_time(mut self, input: aws_smithy_types::DateTime) -> Self {
self.latest_validation_time = Some(input);
self
}
pub fn set_latest_validation_time(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.latest_validation_time = input;
self
}
pub fn app_validation_output(mut self, input: crate::model::AppValidationOutput) -> Self {
self.app_validation_output = Some(input);
self
}
pub fn set_app_validation_output(
mut self,
input: std::option::Option<crate::model::AppValidationOutput>,
) -> Self {
self.app_validation_output = input;
self
}
pub fn server_validation_output(
mut self,
input: crate::model::ServerValidationOutput,
) -> Self {
self.server_validation_output = Some(input);
self
}
pub fn set_server_validation_output(
mut self,
input: std::option::Option<crate::model::ServerValidationOutput>,
) -> Self {
self.server_validation_output = input;
self
}
pub fn build(self) -> crate::model::ValidationOutput {
crate::model::ValidationOutput {
validation_id: self.validation_id,
name: self.name,
status: self.status,
status_message: self.status_message,
latest_validation_time: self.latest_validation_time,
app_validation_output: self.app_validation_output,
server_validation_output: self.server_validation_output,
}
}
}
}
impl ValidationOutput {
pub fn builder() -> crate::model::validation_output::Builder {
crate::model::validation_output::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct ServerValidationOutput {
pub server: std::option::Option<crate::model::Server>,
}
impl ServerValidationOutput {
pub fn server(&self) -> std::option::Option<&crate::model::Server> {
self.server.as_ref()
}
}
impl std::fmt::Debug for ServerValidationOutput {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("ServerValidationOutput");
formatter.field("server", &self.server);
formatter.finish()
}
}
pub mod server_validation_output {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) server: std::option::Option<crate::model::Server>,
}
impl Builder {
pub fn server(mut self, input: crate::model::Server) -> Self {
self.server = Some(input);
self
}
pub fn set_server(mut self, input: std::option::Option<crate::model::Server>) -> Self {
self.server = input;
self
}
pub fn build(self) -> crate::model::ServerValidationOutput {
crate::model::ServerValidationOutput {
server: self.server,
}
}
}
}
impl ServerValidationOutput {
pub fn builder() -> crate::model::server_validation_output::Builder {
crate::model::server_validation_output::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct AppValidationOutput {
pub ssm_output: std::option::Option<crate::model::SsmOutput>,
}
impl AppValidationOutput {
pub fn ssm_output(&self) -> std::option::Option<&crate::model::SsmOutput> {
self.ssm_output.as_ref()
}
}
impl std::fmt::Debug for AppValidationOutput {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("AppValidationOutput");
formatter.field("ssm_output", &self.ssm_output);
formatter.finish()
}
}
pub mod app_validation_output {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) ssm_output: std::option::Option<crate::model::SsmOutput>,
}
impl Builder {
pub fn ssm_output(mut self, input: crate::model::SsmOutput) -> Self {
self.ssm_output = Some(input);
self
}
pub fn set_ssm_output(
mut self,
input: std::option::Option<crate::model::SsmOutput>,
) -> Self {
self.ssm_output = input;
self
}
pub fn build(self) -> crate::model::AppValidationOutput {
crate::model::AppValidationOutput {
ssm_output: self.ssm_output,
}
}
}
}
impl AppValidationOutput {
pub fn builder() -> crate::model::app_validation_output::Builder {
crate::model::app_validation_output::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq)]
pub struct SsmOutput {
pub s3_location: std::option::Option<crate::model::S3Location>,
}
impl SsmOutput {
pub fn s3_location(&self) -> std::option::Option<&crate::model::S3Location> {
self.s3_location.as_ref()
}
}
impl std::fmt::Debug for SsmOutput {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut formatter = f.debug_struct("SsmOutput");
formatter.field("s3_location", &self.s3_location);
formatter.finish()
}
}
pub mod ssm_output {
#[non_exhaustive]
#[derive(std::default::Default, std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Builder {
pub(crate) s3_location: std::option::Option<crate::model::S3Location>,
}
impl Builder {
pub fn s3_location(mut self, input: crate::model::S3Location) -> Self {
self.s3_location = Some(input);
self
}
pub fn set_s3_location(
mut self,
input: std::option::Option<crate::model::S3Location>,
) -> Self {
self.s3_location = input;
self
}
pub fn build(self) -> crate::model::SsmOutput {
crate::model::SsmOutput {
s3_location: self.s3_location,
}
}
}
}
impl SsmOutput {
pub fn builder() -> crate::model::ssm_output::Builder {
crate::model::ssm_output::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 OutputFormat {
#[allow(missing_docs)] Json,
#[allow(missing_docs)] Yaml,
Unknown(String),
}
impl std::convert::From<&str> for OutputFormat {
fn from(s: &str) -> Self {
match s {
"JSON" => OutputFormat::Json,
"YAML" => OutputFormat::Yaml,
other => OutputFormat::Unknown(other.to_owned()),
}
}
}
impl std::str::FromStr for OutputFormat {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(OutputFormat::from(s))
}
}
impl OutputFormat {
pub fn as_str(&self) -> &str {
match self {
OutputFormat::Json => "JSON",
OutputFormat::Yaml => "YAML",
OutputFormat::Unknown(s) => s.as_ref(),
}
}
pub fn values() -> &'static [&'static str] {
&["JSON", "YAML"]
}
}
impl AsRef<str> for OutputFormat {
fn as_ref(&self) -> &str {
self.as_str()
}
}